Asterisk 電話 日誌

AsteriskとKX-UT136を使った小規模電話システム構築まで

Asterisk 名前表示と着信拒否

2017-07-27 18:09:17 | Asterisk
名前表示と着信拒否

voip-info.jpのAsterisk 13 サンプル設定ファイルの中に名前検索機能があります。
# asterisk -rx 'database put cidname 0312345678 "高橋隆雄"'
と入力すれば、登録されます。

一度にまとめて登録したいので、テキストファイルを作ってみました。

EXCELで、A1に電話番号、B1に名前を入れて、C1に

="asterisk -rx 'database put cidname "&A1&" "&""""&B1&""""&"'"

として、その部分をテキストファイル(namedata)に貼り付けて、
# nano /var/lib/asterisk/namedata
# sh namedata
としましたら、うまくいきました。正しいかどうかわかりませんが、問題ないようです。

asterisk -rx 'database show cidname'
と入力すれば、登録を確認できます。

着信すれば KX-UTの電話機に、漢字で表示されます。

続いて、着信拒否は、
asterisk -rx 'database put blacklist 0123456789 "拒否1"'
として、blacklistに登録すれば、拒否されます。
拒否後の動作は、extensions.confで変更も可能です。

asterisk -rx 'database show blacklist'
で、登録の確認ができます。

最新の画像もっと見る

3 コメント

コメント日が  古い順  |   新しい順
質問させてください! (せんちゃん)
2018-08-10 18:13:19
こんにちは。いつもブログ読ませていただき、大変参考になってます。ありがとうございます。

1点質問なのですが、KX-UT136で試してみたのですが、ディスプレイには番号のみ表示されただけでした。

extensions.confのincomingに何か記載が必要になりますでしょうか??
返信する
KX-UT136 名前表示 (返信)
2018-08-10 19:54:06
そうですね。そこは高橋隆雄さんが作られたマクロを利用しています。
Voip-infoに詳しい説明があります。
ブログの「Asterisk 構築 extensions.conf」の中にある、ひかり電話着信例のところにマクロがあります。

;ひかり電話着信例
exten => ${MYNUMBER1},1,NoOp(うちの代表番号)
exten => ${MYNUMBER1},n,GotoIf(${BLACKLIST()}?blacklisted)
exten => ${MYNUMBER1},n,SipAddHeader(P-Called-Party-ID:)
exten => ${MYNUMBER1},n,Macro(cidnamecheck)
exten => ${MYNUMBER1},n,Dial(${GROUP1},120)
exten => ${MYNUMBER1},n,Hangup
exten => ${MYNUMBER1},n(blacklisted),Answer()
exten => ${MYNUMBER1},n(loop),Zapateller()
exten => ${MYNUMBER1},n,Playback(ss-noservice)
exten => ${MYNUMBER1},n,Goto(loop)

上記4行目でcidnameを確認しています。

;CID(番号)から名前を取得するマクロ
;AstDBのcidnameに番号と名前を入れておくこと
[macro-cidnamecheck]

exten => s,1,NoOp(CID参照マクロ)
exten => s,n,Set(CIDNAME=${DB(cidname/${CALLERID(num)})})
exten => s,n,GotoIf($["${CIDNAME}" = ""]?noname)
exten => s,n,Set(CALLERID(name)=${CIDNAME})
exten => s,n,Goto(endmacro)
exten => s,n(noname),Set(CALLERID(name)=不明)
exten => s,n(endmacro),MacroExit



ひかり電話(pjsip)の場合は

;ひかり電話HGW用前処理
[from-hikari]

exten => s,1,NoOp(ひかり電話着番処理)
exten => s,n,Set(DESTNUM=${PJSIP_HEADER(read,To)})
exten => s,n,NoOp(着信To: ${DESTNUM})
;着信番号の桁数が異なる場合には以下の行を調整のこと
exten => s,n,Set(DESTNUM=${DESTNUM:1:10})
exten => s,n,NoOp(着信番号: ${DESTNUM})
exten => s,n,Goto(incoming,${DESTNUM},1)

これも必要だと思います。
返信する
ありがとうございます! (せんちゃん)
2018-08-12 10:25:47
ご教示ありがとうございます。早速試してみます!
返信する

コメントを投稿