名前表示と着信拒否
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'
で、登録の確認ができます。
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'
で、登録の確認ができます。
1点質問なのですが、KX-UT136で試してみたのですが、ディスプレイには番号のみ表示されただけでした。
extensions.confのincomingに何か記載が必要になりますでしょうか??
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)
これも必要だと思います。