前編
ナンバープレート
したがって、FreeSWITCHを使用すると、多くの設定を調整できますが、番号付け計画で主なアクションが実行されます。 番号計画はconf / dialplan / *にあります。 通常、前処理はこのフォルダーからすべてのファイルを1つに収集します。 番号計画はコンテキストに分割されます。 つまり、SIPプロファイルの設定、ユーザー設定に従って、適切なコンテキストが選択され、コールがモジュールに従って処理されます(内線番号は「内線番号」としてロシア語に翻訳されますが、意味に対応しません)。
conf / dialplan / simple.xmlを作成し、そこに単純なNPコンテキストの例を配置します。
<?xml version="1.0" encoding="utf-8"?> <!-- http://wiki.freeswitch.org/wiki/Dialplan_XML --> <!-- include , XML --> <include> <!-- , ! --> <context name="simple"> <!-- , name , . --> <extension name="unloop"> <!-- condition - , , . - --> <condition field="$${unroll_loops}" expression="^true$"/> <!-- ? --> <condition field="${sip_looped_call}" expression="^true$"> <!-- , , . application. deflect, (originator) . --> <action application="deflect" data="${destination_number}"/> </condition> </extension> <extension name="testplay"> <!-- (destination_number). 7878 --> <condition field="destination_number" expression="^7878$"> <!-- --> <action application="answer"/> <!-- --> <action application="sleep" data="1000"/> <!-- --> <action application="playback" data="/opt/freeswitch/sounds/site/nikogo_net_doma.wav"/> <!-- --> <action application="hangup"/> </condition> </extension> </context> </include>
conf / directory / 1000.xmlファイルを編集し、user_contextをsimpleに設定します。 これは、FreeSWITCHに、ユーザー1000からの呼び出しを単純なコンテキストに従って処理する必要があることを伝えます。 ユーザー名1000、パスワード1234でサーバーに登録し、サーバーIPアドレスをレルムおよびサーバーアドレスとして設定します。 7878を呼び出してみてください(wavファイルを適切なアドレスに配置する必要があります。そうしないと、何も聞こえません)。
再生は、可能な番号計画アプリケーションの1つです。 プロジェクトwikiで可能なアクションの完全なリスト。
橋
非常に重要なアプリケーションはブリッジです。 これにより、別のユーザーがゲートウェイとの接続を確立できます。 一般的なビュー:
<action application = "bridge" data = "sofia / sip profile name / number @ server address or domain" />
同時に複数のアドレスにダイヤルするために呼び出すことができます:
<action application = "bridge" data = "sofia / internal / 1000 @ $$ {domain}、sofia / internal / 1000 @ $$ {domain}" />
順次:
<action application = "bridge" data = "sofia / internal / 1000 @ $$ {domain} | sofia / internal / 1000 @ $$ {domain}" />
「set」アプリケーションを使用して、変数call_timeoutを設定できます。これにより、呼び出し試行の時間が制限されます。
これで、この知識を活用して、ローカルユーザーへの呼び出し用に別のモジュール(拡張)を作成できます。
<extension name="testcall"> <condition field="destination_number" expression="^(10[01][0-9])$"> <!-- --> <action application="bridge" data="user/$1@$${domain}"/> <!-- --> <action application="hangup"/> </condition> </extension>
ここで、ブリッジアプリケーションパラメータ-user / $ 1 @ $$ {domain}が表示されます。 さらに詳しく調べてみましょう。$ 1は、条件で正規表現を計算した結果、つまり最初の括弧の内容です。 user-登録済みユーザーの呼び出しに使用される標準の宛先(エンドポイント)には、正しいドメインが必要です。
ユーザーの目的地に加えて、主要なポイントはソフィアです。 構文は次のとおりです。sofia/ profile / number @ host_address。 プロファイルパラメータは、アドレスとポートから呼び出しが行われる仮想SIPサーバーを設定します。
sofiaの2番目の使用例は、ゲートウェイを介してコールを送信することです:sofia / gateway / gateway_name / number。 たとえば、sipnet経由でモスクワに電話をかけるためのモジュール:
<extension name="moskow"> <condition field="destination_number" expression="^(8495\d{7})])$"> <!-- --> <action application="bridge" data="sofia/gateway/sipnet/$1"/> <!-- --> <action application="hangup"/> </condition> </extension>
今のところすべてです。 キットに付属している番号計画を調べ、wikiを読んでください。しかし、今のところは続編について考えます。