着信を受けた端末のアカウント? を取得したい

339 views
Skip to first unread message

木村文映

unread,
May 17, 2016, 6:39:34 AM5/17/16
to 日本Asteriskユーザ会
こんにちは

外線着信で複数の電話機を鳴らして、電話に出た電話機に割り振った内線番号を取得したい。
extension.conf で下記のようにHIKARINUMBER で着信すると 207 208 202 の内線が鳴ります。
ここで 207 で受けたと言うのを切断後に取得する事は出来ますか?

CALLERIDやEXTENでは、最終的に受けた内線番号が取得できませんよね

例>
exten => ${HIKARINUMBER} ,n,Dial(SIP/207&SIP/208&SIP/202,25,tTwW,r)





Masahiro Izu

unread,
May 19, 2016, 4:19:31 AM5/19/16
to 日本Asteriskユーザ会
お世話になっております。伊豆です。

2016年5月17日火曜日 19時39分34秒 UTC+9 木村文映:
DIALEDPEERNUMBERでAnswered Channelが取得できるのでうまく取り出せばいいかと
たとえば
temp=${CUT(${DIALEDPEERNUMBER},/,2)}

木村文映

unread,
May 20, 2016, 7:57:35 AM5/20/16
to 日本Asteriskユーザ会
お世話になっております 木村です

伊豆様の情報で期待している内線番号の取得する方法がわかりました。
ありがとうございました。


ただ、また新しい問題でつまずいています。
教えていただいて情報から下記のようにextension.confを書いたのですが、期待どおり動かないところが出てます。

やりたい事は通話録音をし、受話した電話機の内線番号を録音されたファイル名の先頭に付加したい。


●下記のように書いてます

exten => ${HIKARINUMBER} ,1,NoOp(${CALLERID(num)})
exten => ${HIKARINUMBER} ,n,Set(DISPNAME=${SHELL(/testdb4.pl ${CALLERID(num)})})
exten => ${HIKARINUMBER} ,n,Set(CALLERID(name)=${DISPNAME})

;通話録音用のファイル名を準備します
exten => ${HIKARINUMBER} ,n,Set(CALLFILENAME=${STRFTIME(${EPOCH},,${EXTEN}-%Y%m%d-%H%M%S)})
exten => ${HIKARINUMBER} ,n,Monitor(wav,${CALLFILENAME}-${CALLERID(num)},m)

exten => ${HIKARINUMBER} ,n,Dial(SIP/207&SIP/208,25,tTwW,r)
exten => ${HIKARINUMBER} ,n,Hangup

;仮に207の電話機が受話すれば下記のNAI変数に207が代入
exten => h,1,Set(NAI=${DIALEDPEERNUMBER})
exten => h,n,NoOp(${NAI})

;SRCNAIがMonitorで保存したファイル名
exten => h,n,Set(SRCNAI=${CALLFILENAME}-${CALLERID(num)}.wav)

;NEWNAIはSRCNAIに207-が付加されたファイル名
exten => h,n,Set(NEWNAI=${NAI}-${CALLFILENAME}-${CALLERID(num)}.wav)

;★ファイル名をリネーム
exten => h,n,System(mv /var/spool/asterisk/monitor/${SRCNAI} /var/spool/asterisk/monitor/${NEWNAI})})
exten => h,n,NoOp(${SYSTEMSTATUS})


しかし SYSTEMSTATUSには、APPERRORが返り、期待通りリネームされません
System(/bin/mv ・・・にしたりしてもダメでした。
このSystemを使う場合に制約があるのでしょうか?

木村文映

unread,
May 20, 2016, 8:22:58 PM5/20/16
to 日本Asteriskユーザ会
お世話になります

木村です

とりあえず現在までにわかった事。
monitorでmを付けている事から in と out の音声が合成されるわけですが、/var/spool/asterisk/monitor のフォルダを監視していると

xxxxxxxxxxx-in.wav
xxxxxxxxxxx-out.wav

と言うようにファイルが作られていました。(たぶん皆さま承知かと思いますが)

これがミックスされて xxxxxxxxx.wav として最終的に保存されるのですが、裏側でミックスしている最中は、ファイルはまだ書き込み中の
状態で、それを mv でリネームしようとしていて APPERROR  になっているようです。
とりあえず試しに
exten => h,n,System(sleep 5)
を入れて少し待たせるとSUCCESSしました。
ただこれだと適当なので、きちんとミックスされたファイルが完成したらリネームしたいのですが、うまい方法はありませんでしょうか?

★下記の通り
exten => h,n,System(sleep 5)

Hidehiko Hiwada

unread,
May 20, 2016, 9:55:09 PM5/20/16
to 木村文映, 日本Asteriskユーザ会
ひわだです。

MixMonitorを使われてはいかがでしょうか。これなら-in, -outに分かれないので多少は楽かと。
--
このメールは Google グループのグループ「日本Asteriskユーザ会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには asterisk-ug...@googlegroups.com にメールを送信してください。
このグループに投稿するには aster...@googlegroups.com にメールを送信してください。
https://groups.google.com/group/asterisk-ug からこのグループにアクセスしてください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/asterisk-ug/bff36b57-ea6e-4a55-8a36-ec6f71edc335%40googlegroups.com にアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。


木村文映

unread,
May 21, 2016, 5:44:40 AM5/21/16
to 日本Asteriskユーザ会, kimt...@gmail.com
お世話になります

木村です

ひわだ様が教えてくださった MixMonitorでSystemの件解決出来ました。

伊豆様の情報と合わせて目的達成出来ました。
大変ありがとうございました。

今回の目的は外線を受けた電話機で、電話対応が終わった後に、お客様の名前など聞き取りずらかった
場合に特番で再生したいと言う目的に為でした。

実際には特番に掛けると、その電話機で最後に通話したデータを最新としてソートしたファイル順に再生
するようにしています。


★とりあえず最終下記のようになりました。


exten => ${HIKARINUMBER} ,1,NoOp(${CALLERID(num)})
exten => ${HIKARINUMBER} ,n,Set(DISPNAME=${SHELL(/testdb4.pl ${CALLERID(num)})})
exten => ${HIKARINUMBER} ,n,Set(CALLERID(name)=${DISPNAME})

;通話録音用のファイル名を準備します
exten => ${HIKARINUMBER} ,n,Set(CALLFILENAME=${STRFTIME(${EPOCH},,${EXTEN}-%Y%m%d-%H%M%S)})
;exten => ${HIKARINUMBER} ,n,Monitor(wav,${CALLFILENAME}-${CALLERID(num)},m)
exten => ${HIKARINUMBER} ,n,MixMonitor(${CALLFILENAME}-${CALLERID(num)}.wav,b)


exten => ${HIKARINUMBER} ,n,Dial(SIP/207&SIP/208,25,tTwW,r)
exten => ${HIKARINUMBER} ,n,Hangup

;仮に207の電話機が受話すれば下記のNAI変数に207が代入
exten => h,1,Set(NAI=${DIALEDPEERNUMBER})
exten => h,n,NoOp(${NAI})

;SRCNAIがMonitorで保存したファイル名
exten => h,n,Set(SRCNAI=${CALLFILENAME}-${CALLERID(num)}.wav)

;NEWNAIはSRCNAIに207-が付加されたファイル名
exten => h,n,Set(NEWNAI=${NAI}-${CALLFILENAME}-${CALLERID(num)}.wav)

;★ファイル名をリネーム
Reply all
Reply to author
Forward
0 new messages