発信者番号だけでなく発信者名からも検索する
「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)
