オフィスでは、携帯電話への発信通話にGSMゲートウェイを使用しています。 しかし、タスクは、ユーザーがどこにも電話をかけないように、外部ルートアスタリスクの番号の範囲を制限することでした。 つまり、地域の携帯電話ネットワークへの発信通信のみを許可します。
さらに、モバイルオペレーターのDEFコードのパブリックリストを使用して、アスタリスクへの発信呼び出しのダイヤルパターンのアップグレードを自動化する方法を読むことができます。
FreePBX 2.10.1.1ディストリビューションで実行されている
Asterisk 1.8.6.0サーバーは
自動化さ
れました 。
そのため、まず最初に、分析可能なモバイルオペレーターのDEFコードのリストをどこかに取得する必要がありました。
Rossvyazサイトにはこの情報があり、定期的に更新されていることがわかりました。
したがって、
このリンクを使用すると、モバイルオペレーターのDEFコードの最新の更新されたリストをhtml形式で取得できます。
後でダイヤルパターンの更新をcrontabにプッシュしたいので、bashでこのhtml-kuを解析することにしました。
まあ、bashはワードプロセッシングに便利だと言っているわけではないので、Dial Patternsの主な翻訳機能はawkで書かれています。
そのため、あらゆる種類のgrepおよびsedコマンドを使用してhtml処理をロードした後、次の形式の区切り文字付きのcsvファイルを取得します。
913;0000000;0199999;200000; ; 913;0600000;0699999;100000; ; 913;2000000;2099999;100000; ; 913;3700000;3999999;300000; ;
最初の列: DEFコード
2列目と3列目:強調表示された数値の範囲(開始と終了)
4列目:割り当てられた番号の総数
5列目:演算子
6列目:地域
その後のこの種のビューは、一般にawk言語を使用して行われた主なタスクである
ダイヤルパターン形式に変換する必要がありました。 スクリプトの出力はリストでした:
901458XXXX 901459XXXX 903049XXXX 903076XXXX 90390[0-6]XXXX 90393XXXXX 90399[7-9]XXXX 90509[4-5]XXXX
ダイヤルパターンを作成した後、FreePBXデータベースに読み込まれ、アプリケーションはcurlを介してFreePBXの構成に適用されます。 (
!!!注意!!テンプレートが適用されるルートのIDを知る必要があります。データベーステーブルに記録されるデータは純粋に個々のものです。したがって、必要なものに正確に注意してください)
スクリプト自体は、すべての操作データを実行し、サーバー上のスケジューラーに書き込むことができます。
PS:スクリプトと関数は、理想的で汎用性があると主張していません。 ただし、必要に応じて、必要に応じて簡単にリメイクできます。