携帯電話のコストを最適化するためのアスタリスクの構成

あなたとあなたの時間を無駄にしないために:このトピックではありません



これはすべて完全にグーグルであり、経験があれば忘れられない忘れられない記憶です。



最近、小規模なオフィスで自動電話交換を行うタスクがありました。

要件の1つは、モバイル通信に割り当てられた資金を最適に使用することでした。MTSからMTSのみへの呼び出し、BeelineからBeelineなどです。 多数のアスタリスクといくつかのロック解除された3Gモデムを使用することが決定されました。最適なレートのSIMカードがすでに存在していました。 加入者デバイスとして、従業員の職場のソフトフォンとVoIPゲートウェイに接続された通常の有線電話の両方を使用しました。



最初に行われたのは、国内の携帯電話会社のDEFコードを見つけて書き換えることです。 もちろん、すべてではなく、ビッグ3のみです。他のすべてのコールでは、TELE2を使用する予定でした。

次に、内部番号計画が作成されました。内部番号は4桁で、5から始まることが決定されました。



SIPから外界へのコールにはSIP着信コンテキストが割り当てられ、モデムから着信する外部コールにはそれぞれデータカード着信コンテキストが割り当てられました。 必要なモデムは、IMSI SIMカードのMCC / MNC(モバイル国コード/モバイルネットワークコード)プレフィックスを使用して決定されました。 ロシアのコードは250です。したがって、MTSにはMNC 25001、MegaFonには25002、Beelineには25099、Tele2には25020があります。



Ubuntu Linux 11.10 x86-64がソフトウェアプラットフォームとして使用されました。メモリが適切であれば、アスタリスク1.8が使用されます。 モデムを制御するために、chan_datacard 310番目のアセンブリが使用されました。



実際には、extensions.confの例です。

 [データカード着信]
 exten => sms、1、詳細($ {CALLERID(num)} $ {SMS}からの着信SMS)
 exten => sms、n、System(echo '$ {STRFTIME($ {EPOCH} ,,%Y-%m-%d%H:%M:%S)}-$ {DATACARD}-$ {CALLERID(num )}:$ {SMS} '>> /var/log/asterisk/sms.txt)
 exten => sms、n、Hangup()

 exten => ussd、1、Verbose(着信USSD:$ {USSD})
 exten => ussd、n、System(echo '$ {STRFTIME($ {EPOCH} ,,%Y-%m-%d%H:%M:%S)}-$ {DATACARD}:$ {USSD}' >> /var/log/asterisk/ussd.txt)
 exten => ussd、n、ハングアップ()

 exten => s、1、Dial(SIP / 5001 ,,)
 exten => s、n、Hangup()

 [一口着信]
 ; 携帯電話会社
 exten => _8913XXXXXXX、1、ダイヤル(データカード/ s:25001 / $ {EXTEN})
 exten => _8913XXXXXXX、n、ハングアップ
 exten => _8983XXXXXXX、1、ダイヤル(データカード/ s:25001 / $ {EXTEN})
 exten => _8983XXXXXXX、n、ハングアップ

 exten => _8923XXXXXXX、1、ダイヤル(データカード/ s:25002 / $ {EXTEN})
 exten => _8923XXXXXXX、n、ハングアップ

 exten => _8903XXXXXXX、1、ダイヤル(データカード/ s:25099 / $ {EXTEN})
 exten => _8903XXXXXXX、n、ハングアップ
 exten => _8905XXXXXXX、1、ダイヤル(データカード/ s:25099 / $ {EXTEN})
 exten => _8905XXXXXXX、n、ハングアップ

 exten => _89XXXXXXXXX、1、ダイヤル(データカード/ s:25020 / $ {EXTEN})
 exten => _89XXXXXXXXX、n、ハングアップ

 ; ローカル番号
 exten => _5XXX、1、ダイヤル(SIP / $ {EXTEN})
 exten => _5XXX、n、ハングアップ




chan_datacardの設定について少し。 310番目のアセンブリは、特定の論理デバイスにどのIMEI / IMSIが期待されるかを示すことにより、特定のポートからバインドを解除できます。 習慣から外れて、USB疑似端末にチューニングしました。



datacard.confの例

 [データカード0]
オーディオ= / dev / ttyUSB1; オーディオ接続用のttyポート。 デフォルト値なし
データ= / dev / ttyUSB2;  ATコマンド用のttyポート。 デフォルト値なし
コンテキスト=データカード着信
 autodeletesms = yes; 着信SMSを自動削除
 resetdatacard = yes; 初期化中にデータカードをリセット
 u2diag = 0;  U2DIAGパラメーターを設定します(0 =モデム機能を除くすべてを無効にします)
 usecallingpres = yes; 発信者番号表示を使用するかどうか
 callingpres = allowed_pa​​ssed_screen; 発信者番号表示を設定する




以上です!



チューニングと操作のニュアンス



そのような設定によって何が達成されますか? 加入者は、どのプレフィックスに移動するかを考える必要はありません。 実際、アスタリスク自体は、番号とその長さによって導かれ、コールをリダイレクトするインターフェイスを決定します。 十分な数のモデムと他の回線を使用すると、その方向の空きチャネルが常に提供されます。



特に3Gモデムに関しては、最新のAMDおよびCoreプロセッサのアスタリスクは50〜60のモデムでも十分に機能します。 確かに、これにはいくつかの条件を満たしている必要があります。





これはすべて、音声トラフィックがモデムを通過するときに、そのチップが集中的に加熱され、電力を消費するという事実によるものです。 あまりうまく組み立てられていないE1550が過熱して「落ち」ました-アスタリスクはしばらくの間それらを見ることを止めました。

しかし、E173は一般に「裸」での動作にはあまり適していません。E1550とは異なり、SIMカードスロットはスロットではなく請求書です。 洗濯ばさみでカードをリーダーの連絡先に押し付ける必要がありました。



それはすべて確かです。




All Articles