FreePBXのカスタム宛先の例

こんにちはHabr!



この投稿の目的は、サンプルを使用して、Custom Destination(通常は/etc/asterisk/extensions_custom.confファイル内)を使用して、ユーザーが作成したカスタムコンテキストをFreePBXに登録する方法を示すことです。







多くの場合、FreePBXの標準機能は顧客のニーズを満たすのに十分です。 ただし、非常に具体的な要求があり、その実装のために異なるカスタムコンテキストを記述する必要がある場合があります。 そして、FreePBX管理パネルを介してこれらのコンテキストへの呼び出しを指示するタスクが発生するまで、すべてがうまくいくようです。 ここで、カスタム宛先機能が役立ちます!



例:



与えられた:

顧客が市内に2つの店舗を持っているとします。 それらの1つには、AsteriskNowを搭載したサーバーがあり、両方のストアの呼び出しを処理します。 顧客は、SIPプロバイダーから560560という形式の8チャネルの美しい数を購入しました。



市内には4つの地区があります。

Plyushkino-電話番号は33から始まります

Cheryomushka-電話番号は45から始まります

th-電話番号は77から始まります

ビーバー -電話番号は31から始まります



地理的には、図のように配置されています。





Plyushkinoエリアに1つの店舗があり、売り手のリンググループの数は600になります。

チェリョムシュカ地区にある別の店。売り手のリンググループの数は601になります。



挑戦する

潜在的な買い手からのすべての着信コールは、地理的に近い店舗で処理される必要があります。 たとえば、コールが312323から発信された場合、これは、発信者がそれぞれビーバーのエリアにいることを意味し、最も近い店舗はチェリョムシュカのエリアにあります 。 呼び出しは、売り手のリンググループ601の番号に向けられる必要があります



つまり お客様の発信者番号の最初の2桁に応じて、必要なリンググループに通話を転送する必要があります。



解決策

これを行うには、ファイル/etc/asterisk/extensions_custom.confにcheck-tel-location-magという名前で、次の形式の新しいコンテキストを追加します。

[check-tel-location-mag]

exten => s,1,Set(telnum=${CALLERID(num)})

exten => s,n,GotoIf($[ $["${telnum:0:2}" = "33"] | $["${telnum:0:2}" = "77"] ]?pluwki)

exten => s,n,GotoIf($[ $["${telnum:0:2}" = "31"] | $["${telnum:0:2}" = "45"] ]?ceremuska)

exten => s,n(pluwki),Goto(ext-group,600,1)

exten => s,n(ceremuska),Goto(ext-group,601,1)









これで、FreePBXで作成したコンテキストを登録できます。

これを行うには、次のものが必要です。

1. FreePBX管理パネル->ツール->カスタム宛先に移動します

カスタム宛先フィールドにコンテキストを入力します-check-tel-location-mag、s、1

必要に応じて残りのフィールドに入力します。





2. [変更を送信]をクリックします



これで、先ほど作成したカスタム宛先を選択できる番号560560への着信ルートを作成できます。





その結果、顧客は満足し、必要な機能を受け取ったので、カスタム宛先を作成する方法を学びました。



参照:

FreePBX拡張レジストリHOW-TO



All Articles