web-dev-qa-db-ja.com

番号の終わりに基づいて番号を一致させる方法は?

(FreePBXを使用して)Asterisk VoIPサーバーをセットアップしていますが、特定のパターンで終わるすべての番号を識別する必要があります。

これは、ルーティングの目的、つまり、発信トランクからのものか、内部電話からのものかを確認するために必要です。

たとえば、市内番号777777は、777777、01222777777、441222777777、00441222777777、または+441222777777と表示される場合があります。

いくつかの検索は私がそれを理解するのに役立ちませんでした。どうすればそれができますか?

2
Neil Townsend

FreePBXを使用している場合は、内部にアクセスして、以下のようなコンテキストを/etc/asterisk/extensions_custom.confに追加する必要があります。

[check-ending]
exten => _!,1,GotoIf($[${EXTEN:-6} = 777777]?gotcha)
exten => _!,n,Goto(inbound)
exten => _!,n,Hangup()
exten => _!,n(gotcha),Goto(inbound-from-777777)
exten => _!,n,Hangup()
exten => h,1,Hangup()

ここで、最後に6つのセブンがある場合、呼び出しはgotchaラベルに移動し、inbound-from-777777にリダイレクトされます。それ以外の場合は、さらに通過します。プランをダイヤルし、インバウンドにリダイレクトされます。

次に、asterisk -x "dialplan reload"を実行して、新しい構成をアスタリスクにロードします。その後、UIで、トランクのコールレシーバーとしてcheck-endingコンテキストを設定する必要があります(通常どおり)。

2
Misha Slyusarev