サービスプロバイダがSIP設定を行う場合、アスタリスクは必要な処理を行います。
しかし、ブラック/ホワイトリストサービスを持つのは奇妙な解決策です。
dndやその他のオプションについては、必要な結果が得られるかどうか確認してください。
それでもアスタリスクを使用することを決定した場合は、以下のファイルを設定する必要があります:
- /etc/asterisk/sip.conf - 地元の携帯電話のためのSIPプロバイダーと設定の登録。 NAT設定(extrern_ipとlocalnet)を使用して単一のイーサネットインターフェイスで行うことができます
- /etc/asterisk/extensions.conf - ダイヤルプランを設定してブラックリストに追加する必要があります。したがって、着信呼処理のための1つのコンテキストブロックと、ハンドセットからの外部呼び出しのための1つのコンテキストブロックが存在する。
携帯電話のフロダーについては、AGIスクリプトを作成する必要があります。私はそれがフローターではないことを確認し、発信者が押した1から9の乱数を要求することによってそれを行います。正解がない場合、その番号はブラックリストに追加されています。私は回線が応答するときにいくつかのDTMFコードを追加するフロダに会った。しかし、それはシステムではありません。ここには、人間であることを確認するように要求するコードのサンプルがあります。まず、何が必要なのかを説明する招待状を出します。第2のストリーム - 数字の音声表現そのもの。
$pattern = rand(1,9);
$agi->execAgi('ANSWER');
$agi->execAgi('STREAM FILE antispam/confirm ""');
$agi->execAgi('STREAM FILE antispam/digits/'.$pattern.' ""');
$agi->verbose('Checking reality of user with digit '.$pattern);
$reply = $agi->execAgi('WAIT FOR DIGIT 4000');
$x=$reply['result'];
このチェックの後、渡されたすべての数字がホワイトリストに追加されます。もちろん、curlやその他のLinuxバイナリを使った簡単なbashデーモンを作成することでブラックリストを更新することもできます。最後に、オペレータが着信トラフィックを支払う場合、トラフィックを増やすために音声を再生することは良いことです。
Google Fiberには[着信拒否]オプションがありますが、それはすべてかどうかです。私は私の家にぶつからないように迷惑メールの通話を維持するために、コミュニティ更新されたブラックリストが必要です私が「こんにちは」やスパマーと言った後に終了する通話に応答します。私はこれには新しいですが、GFが私が言及した以外の特定のSIP「設定」を提供するのを見ていません。彼らは「発信者IDを有効にした発信者のみ」を持っていますが、それはあまり役に立ちません。 – richardun