wiki:AsteriskCIDLookup

発信者番号だけでなく発信者名からも検索する

「184」付きで発信された電話を受けると、CALLERIDは「"P" <asterisk>」ってなります。 これを「通知拒否」とかいうわかりやすい文字列に変更したい。 Asteriskには「LookupCIDName()」なんていう「アプリケーション」がある!が、 残念ながら、発信者番号から検索してくれるだけ。 さあどうする。

exten => s,1,Set(B=${CALLERID(number)})
exten => s,n,Set(CALLERID(number)=${CALLERID(name)})
exten => s,n,LookupCIDName()
exten => s,n,Set(CALLERID(number)=${B})
exten => s,n,LookupCIDName()
exten => s,n,Dial(SIP/3001&SIP/3009&SIP/3011&SIP/3014&SIP/3015)
exten => s,n,Hangup

こんな乱暴なことしても実は動いてしまう。 (うちの電話機の名前が書いてあるのは気にしないでください。)

もちろん、AstDBにデータを入れておくこと。

asterisk*CLI> database put cidname P Privacy

これで184の場合に「Privacy」って表示されます。 ここを日本語にしたいんだけど、AsteriskのCLIが日本語を通してくれないので悩み中。 そのうち解決します。

(2006/11/17)