最近、複数の謎の電話番号から定期的に着信が有り、ググると勧誘電話だったり無言電話だったりするみたいなので、久しぶりにAsteriskをいじって、該当番号からの着信を留守電直行させて電話機を鳴らさないようにする設定にチャレンジ。すぐ忘れること請け合いなので覚え書き。
ズバリそのまんまなBLACKLIST関数を使います。まずAsteriskのCLIを起動し、ブラックリスト用データベースに番号を追加。
database put blacklist 03xxxxxxxx "Mugon"
「Updated database successfully」と出ればOK。最後の”Mugon”は番号毎のメモなのでなんでもいいみたいです。後でなんの番号だったか思い出せるようなものを適当に。
データベースから番号を削除するには、
database del blacklist 03xxxxxxxx
でOK。
登録済みの番号を一覧するには、
database show blacklist
です。動作確認用に自分の携帯電話番号などを入れたのを消し忘れてないか確認しましょう。σ(^^)は消したつもりが消えてなかったということがありました。
で、着信時にこのデータベースを使って条件分岐させるには、extensions.confで例えばこんな感じ。
exten => ${NTTNUMBER},1,GotoIf(${BLACKLIST()}?103)
我が家では元々103行以降に留守電(voicemail)設定が書いてあったので、そこにジャンプさせるようにしました。Hangupでも良かったかもですが、まぁ一応メッセージ残す余地くらいは与えようかと。extensions.confを書き換えたらCLIでreloadを忘れないこと。