このドキュメントでは、IOS の変換ルールを使用して VoIP ネットワークのスケーラブルなダイヤル プランを作成するための設定例を紹介します。統合された音声とデータ ネットワークを導入すると、1 つの問題がよく発生します。それは、さまざまな場所で内線ダイヤリングの範囲の番号計画を管理する方法です。交換、シグナリング プロトコルの標準、ロケーションのタイプによって、サービス プロバイダーは、各リモート サイトの加入者の機器に同じような番号範囲を渡す可能性があります。これらのコールが中央サイトに戻されれば、リモート サイトのそれぞれから発信された着信者番号に重複部分がある可能性があります。PBX は一意の着信者番号に基づいてルーティング決定を行うため、構内交換機(PBX)システムの自動着信呼分配(ACD)のキューに問題を起こす可能性があります。たとえば、各サイトからのコールは、コールの発信元の現地の言語を話す特定のオペレータに送る必要が生じる場合がります。各サイトからの着信者番号に重複部分がある場合、コールの発信元を識別する方法がないため、PBX は正しい ACD のキューにコールをルーティングできません。
一部のリモート サイトには 2 桁の内線ダイヤリングの範囲を割り当て、他のサイトには 3 桁または 4 桁の内線ダイヤリングの範囲を割り当てる場合があります。それで、着信者番号は [00 ~ 99] や [0000 ~ 9999] になります。これらの数値の範囲を扱うため、本社サイトのルータでは、2 桁、3 桁、4 桁の番号を扱う番号計画の構成が必要です。これはルータ設定をより複雑にします。
この問題を解決するために、電話網から入る番号範囲の前に数字を追加する IOS の番号トランスレーション ルールを各リモート サイトで使用します。これにより顧客のネットワーク全体に適用できる標準番号計画を作成でき、ネットワークの他の部分に大きな変更を加えずに徐々に新しいサイトを追加できます。
注:Cisco IOSの番号変換ルールを使用すると、ユーザはコールの自動番号識別(ANI)番号(発信番号)または着信番号であるコールの着信番号識別サービス(DNIS)番号を操作できます。加えて、これらのフィールドの番号付けタイプもトランスレーション ルールを使用して変更できます。
このドキュメントに記載するケース スタディの目標は番号計画を標準化することです。提案は次のとおりです。
トランク アクセス コードを使用します。
サイト(エリア コード)を使用します。一意のサイト コードとして、リモート サイトの公衆電話交換網(PSTN)エリア コードを使用すると便利です。
内線番号を 4 桁にするために元の着信者番号に先行ゼロを付け加えます。
以下の専門知識が必要です。
音声と POTS ダイヤル ピアの設定
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
IOS バージョン 12.3(4) を実行する Cisco 3660 および 7206VXR ルータ
IOS トランスレーション ルールは Cisco IOS ソフトウェア リリース 12.07XK1 で導入され、音声ポートをサポートするすべてのシスコ プラットフォームで使用できます。
このマニュアルの情報は、特定のラボ環境に置かれたデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。実稼動中のネットワークで作業をしている場合、実際にコマンドを使用する前に、その潜在的な影響について理解しておく必要があります。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
この項では以下のケース スタディを使用します。トランスレーション ルールの実装を説明する「コルカタ(リモート サイト)」の例。詳細についてはネットワーク図を参照してください。
この例では、リモートサイト(Calcutta)に000 ~ 999の範囲の3桁のダイヤル文字列を渡すE1トランクがあります。メインサイトルータは、000 ~ 999の範囲をカバーする複数のリモートサイトからのコールを受け入れます。
トランスレーション ルールにより、コルカタのルータではコルカタからメイン サイト PBX へのコールであることを一意に識別するサイト コード(着信者番号に基づいて)を先頭に追加します。この例では、エリア コードのダイヤル文字列 「033」をサイト コードとして使用します。また、トランク アクセス コードの桁も追加され、宛先のメイン サイトのルータで特定のトランクの選択に用いられます。以下はコルカタのルータ上で変換手順を示します。
元の着信者番号(000 から 999 の 3 桁の数字の範囲):「...」
変換された着信者番号:「1033...」。ここで数字「1」はトランクのアクセス コード、数字「033」はサイト コード
コルカタのサイトから発信されると、コルカタのルータは POTS 音声ポートのトランスレーション ルールを適用します。これはコルカタのルータの音声ポート 1/0:1 の設定で確認できます。
ルータの音声ポートに着信すると、トランスレーション ルールが適用されます。着信が電話網からルータへの場合、着信者番号はダイヤル ピアを照合する前に変換されます。
メイン サイトへの着信番号が 987 の場合、トランスレーション ルールがコルカタ サイトで次のように適用されます。
3 桁の番号 987 のうち最初の桁、LHS(左側)の 9 はトランスレーション ルールで置き換えられます。
トランスレーション ルールによる 9 の置換数値は 103309 で、最初の数字 9 がこの番号に置き換えられます。
最初の数字 9 を 103309 に置き換え、残りの 2 桁 87 と合わせると 10330987 になり、これで 10330... のパターン条件に合う VoIP ダイヤル ピアに宛先としてルーティングされます。
さらに 2 つのリモート サイトをネットワークに統合する必要があるとします。ニューデリー サイトは 2 桁の内線ダイヤリングの範囲、チェンナイ サイトが 4 桁の内線ダイヤリングの範囲を使用します。トランク アクセス コードとサイト コードを先頭に付加すると、次のようなダイヤル プランになります。
トランク アクセス/サイト コード | ..このダイヤルプランを表します |
---|---|
「1011..」 | エリア コード 011 と 2 桁の内線ダイヤリング番号 |
「1033...」 | エリア コード 033 と 3 桁の内線ダイヤリング番号 |
「1044.... " | エリア コード 044 と 4 桁の内線ダイヤリング番号 |
このダイヤル プランは 6 桁、7 桁、8 桁の番号で構成されるので、着信者番号の先頭にゼロの桁を追加して、1 桁のアクセス コード、3 桁のサイト コード、4 桁の内線番号に標準化できます。
このトランクアクセス/サイトコード… | ..変換される |
---|---|
「1011..」 | 「101100..」 |
「1033...」 | 「10330...」 |
「1044.... " | 「1044...." |
これで、メイン サイト ゲートウェイ/ルータの番号計画は 8 桁の一貫性のある番号になります。(1 桁のトランク アクセスコード、3 桁のサイト コード、先行ゼロで 4 桁になっている着信者番号)。 発信がメイン サイトのゲートウェイ/ルータに達すると、アクセス コードが削除され、後続の 7 桁が PBX に送信されます。
このケース スタディでは、メイン サイトのコール センターに VoIP コールを送信する 3 つのリモート サイト(ニューデリー、コルカタおよびチェンナイ)があります。顧客の要求はリモート サイトからメイン サイトに発信するシステムです。メイン サイトからリモート サイトへのリターン コールの機能はありません。メイン サイトのルータ/ゲートウェイにはコール センター PBX に接続する 4 つのトランクがあります。
注:この文書で使用されているコマンドの詳細を調べるには、「Command Lookup ツール」を使用してください(登録ユーザのみ)。
このドキュメントでは次の図に示すネットワーク設定を例にあげています。
このドキュメントで使用する設定を次に示します。
ニューデリー(2 桁の内線ダイヤリングの範囲) |
---|
!--- Only relevant "IOS translation rule" output is presented ! translation-rule 1 !-- The "1" above is the tag for the set. rule 0 ^0. 1011000 rule 1 ^1. 1011001 rule 2 ^2. 1011002 rule 3 ^3. 1011003 rule 4 ^4. 1011004 rule 5 ^5. 1011005 rule 6 ^6. 1011006 rule 7 ^7. 1011007 rule 8 ^8. 1011008 rule 9 ^9. 1011009 ! !-- These rules replace the first digit of a 2-digit number with the corresponding !-- translation. The router looks for a 2-digit number starting with a leading [0-9]. !-- The caret, "^" ensures the match only happens at the start of the digit string !-- rather than any occurrence in a digit string. This ensures the router makes the !-- translation only for the leading digits. By default, if an explicit match is made !-- on a digit (in this case the first digit) the router replaces it with the new !-- digits. Therefore, to keep the original numbering, the matched digit needs to be !-- replaced with the same digit at the end of the modified string. Once the call !-- comes in, the called number prepended with 101100 followed by the !-- original 2 digits. ! voice-port 1/0:1 translate called 1 cptone IN compand-type a-law ! !-- The translation rule is applied to the voice port where the !-- call comes in to the router. When a call comes in from the !-- telephone network towards the router, the called number !-- is translated before it is matched on any dial peers. ! dial-peer voice 100 voip destination-pattern 101100.. session target ipv4:main site IP address ip precedence 5 dtmf-relay h245-alphanumeric ! !-- The VoIP dial peer needs to be configured to match on the new numbering plan |
コルカタ(3 桁の内線ダイヤリングの範囲) |
---|
!--- Only relevant output is presented ! translation-rule 1 rule 0 ^0.. 103300 rule 1 ^1.. 103301 rule 2 ^2.. 103302 rule 3 ^3.. 103303 rule 4 ^4.. 103304 rule 5 ^5.. 103305 rule 6 ^6.. 103306 rule 7 ^7.. 103307 rule 8 ^8.. 103308 rule 9 ^9.. 103309 ! !-- The router looks for a 3-digit called number in the range 000 - 999. It !-- then prepends 10330 to this number before making a match on any other dial peers. !-- Note: rules are executed before incoming POTS dial peer matching takes place. ! voice-port 1/0:1 translate called 1 !-- The translation rule is applied to the voice port: cptone IN compand-type a-law ! dial-peer voice 100 voip destination-pattern 10330... session target ipv4:main site IP address ip precedence 5 dtmf-relay h245-alphanumeric ! !-- The VoIP dial peer needs to be configured to match on the new numbering plan. |
チェンナイ(4 桁の内線ダイヤリングの範囲) |
---|
! translation-rule 11 rule 0 ^0... 10440 rule 1 ^1... 10441 rule 2 ^2... 10442 rule 3 ^3... 10443 rule 4 ^4... 10444 rule 5 ^5... 10445 rule 6 ^6... 10446 rule 7 ^7... 10447 rule 8 ^8... 10448 rule 9 ^9... 10449 ! !-- The router looks for a 4-digit called !-- number in the range 0000 - 9999. !-- It then prepends 1044 to this number !-- before making a match on any other dial peers. ! voice-port 1/0:1 translate called 1 cptone IN compand-type a-law ! !-- The translation rule is applied to the voice port: dial-peer voice 100 voip destination-pattern 1044…. session target ipv4:main site IP address ip precedence 5 dtmf-relay h245-alphanumeric ! !-- The VoIP dial peer needs to be configured to match on the new numbering plan |
メイン サイト |
---|
!-- By default, in POTS dial peers, matched digits get stripped off after a dial !-- peer is matched. Then, the remaining digits are outputed to the PSTN/PBX. dial-peer voice 20 pots description - Call Center voice port 2/0 destination-pattern 1....... port 2/0:1 ! dial-peer voice 21 pots description - Call Center voice port 2/1 destination-pattern 1....... port 2/1:1 ! dial-peer voice 30 pots description - Call Center voice port 3/0 destination-pattern 1....... port 3/0:1 ! dial-peer voice 31 pots description - Call Center voice port 3/1 destination-pattern 1....... port 3/1:1 ! !-- The trunk access code (leading 1) can be used to route the call out the Main Site !-- router towards the Call-Center PBX. This digit is stripped off and the following !-- 7 digits are sent to the external PBX. A single dial peer for each active voice !-- port on the main site gateway router directs calls from the remote sites to !-- the PBX. |
注:メインサイトPBXにはトランクアクセスコードが不要なため、メインサイトルータによって除去されます。したがって、メイン サイト PBX では 3 桁のサイト コードと 4 桁の内線番号として識別されます。この番号計画では PBX にいくらかの設定変更が必要ですが、着信者番号からサイト コードを識別して地域ごとに設定された特定の ACD キューにコールをルーティングできるメリットがあります。コールが特定の国や地域から来ると、その言語を話すエージェントに転送されます。
注: コマンドの詳細については、Command Lookup Tool(登録ユーザ専用)を参照してください。
ここでは、設定が正しく機能していることを確認するために使用する情報を示します。
一部の show コマンドはアウトプット インタープリタ ツールによってサポートされています(登録ユーザ専用)。このツールを使用することによって、show コマンド出力の分析結果を表示できます。
test translation-rule name-tag input-number:特定の名前タグでのトランスレーション ルールの実行をテストするために使用します。このコマンドの構文を次の表に記載します。
構文 | 説明 |
---|---|
name-tag
|
ルール セットを参照するタグ番号。 |
input-number
|
パターン マッチングを行う番号の入力文字列。 |
show translation-rule [name-tag]:特定の変換名に設定されているルールの内容を表示するために使用します。このコマンドの構文を次の表に記載します。
構文 | 説明 |
---|---|
name-tag
|
(オプション)ルール セットを参照するタグ番号。 |
以下の出力はニューデリー ルータから取得したものです。ニューデリー サイトからダイヤル中に適用される変換ルールを示しています。
ニューデリー:出力 |
---|
!-- It is possible to confirm the translation rules are working: ! ! NewDelhi# test translation-rule 1 99 !-- Original called number is "99" The replaced number: 10110099 !-- Translated to 8 digits NewDelhi# show translation-rule 1 Translation rule address: 0x64ADC2A8 Tag name: 1 Translation rule in_used 1 **** Xrule rule table ******* Rule : 0 in_used state: 1 Match pattern: ^0. Sub pattern: 1011000 **** Xrule rule table ******* Rule : 1 in_used state: 1 Match pattern: ^1. Sub pattern: 1011001 **** Xrule rule table ******* Rule : 2 in_used state: 1 Match pattern: ^2. Sub pattern: 1011002 **** Xrule rule table ******* Rule : 3 in_used state: 1 Match pattern: ^3. Sub pattern: 1011003 **** Xrule rule table ******* Rule : 4 in_used state: 1 Match pattern: ^4. Sub pattern: 1011004 **** Xrule rule table ******* Rule : 5 in_used state: 1 Match pattern: ^5. Sub pattern: 1011005 **** Xrule rule table ******* Rule : 6 in_used state: 1 Match pattern: ^6. Sub pattern: 1011006 **** Xrule rule table ******* Rule : 7 in_used state: 1 Match pattern: ^7. Sub pattern: 1011007 **** Xrule rule table ******* Rule : 8 in_used state: 1 Match pattern: ^8. Sub pattern: 1011008 **** Xrule rule table ******* Rule : 9 in_used state: 1 Match pattern: ^9. Sub pattern: 1011009 NewDelhi# |
ここでは、設定のトラブルシューティングに使用できる情報を示します。
注:debugコマンドを発行する前に、『debugコマンドの重要な情報』を参照してください。
debug translation {detail | min} :次の表に示すオプションを使用して、番号変換トレースをデバッグするために使用します。
オプション | 説明 |
---|---|
detail |
詳細なデバッグ トレースを有効にします。 |
min |
最小デバッグ トレースを有効にします。 |
ニューデリー:出力 |
---|
NewDelhi#debug translation detail xrule detail tracing is enabled *Apr 4 04:52:57.124: xrule_checking *Apr 4 04:52:57.124: xrule_checking calling , called *Apr 4 04:52:57.124: xrule_checking peer_tag 0, direction 1, protocol 6 *Apr 4 04:52:57.124: xrule_translation *Apr 4 04:52:57.124: xrule_translation callednumber , strlen 0 *Apr 4 04:52:57.124: xrule_translation callednumber null xruleCalledTag=1 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 0, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^0. *Apr 4 04:52:57.124: dpMatchString match_tmp 0, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 0,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 0 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 1, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^1. *Apr 4 04:52:57.124: dpMatchString match_tmp 1, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 1,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 1 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 2, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^2. *Apr 4 04:52:57.124: dpMatchString match_tmp 2, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 2,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 2 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 3, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^3. *Apr 4 04:52:57.124: dpMatchString match_tmp 3, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 3,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 3 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 4, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^4. *Apr 4 04:52:57.124: dpMatchString match_tmp 4, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 4,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 4 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 5, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^5. *Apr 4 04:52:57.124: dpMatchString match_tmp 5, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 5,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 5 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 6, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^6. *Apr 4 04:52:57.124: dpMatchString match_tmp 6, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 6,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 6 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 7, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^7. *Apr 4 04:52:57.124: dpMatchString match_tmp 7, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 7,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 7 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 8, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^8. *Apr 4 04:52:57.124: dpMatchString match_tmp 8, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 8,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 8 *Apr 4 04:52:57.124: xrule_translation called Callparms Numpertype 0x81, match_type 0x0 *Apr 4 04:52:57.124: xrule_translation Xrule index 9, Numpertype 0x9 *Apr 4 04:52:57.124: dpMatchString, target_number null, match_number ^9. *Apr 4 04:52:57.124: dpMatchString match_tmp 9, match_len 1 *Apr 4 04:52:57.124: dpMatchString beginning_replace 1, match_tmp 9,target null *Apr 4 04:52:57.124: dpMatchString: len 4 *Apr 4 04:52:57.124: xrule_translation there was no match index 9 *Apr 4 04:52:57.124: xrule_translation Return rc = -4 any_match 0 *Apr 4 04:52:57.124: xrule_checking Return rc = -4 *Apr 4 04:52:59.396: xrule_checking *Apr 4 04:52:59.396: xrule_checking calling , called 9 *Apr 4 04:52:59.396: xrule_checking peer_tag 0, direction 1, protocol 6 *Apr 4 04:52:59.396: xrule_translation *Apr 4 04:52:59.396: xrule_translation callednumber 9, strlen 1 *Apr 4 04:52:59.396: xrule_translation callednumber 9 xruleCalledTag=1 *Apr 4 04:52:59.396: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.396: xrule_translation Xrule index 0, Numpertype 0x9 *Apr 4 04:52:59.396: dpMatchString, target_number 9, match_number ^0. *Apr 4 04:52:59.396: dpMatchString match_tmp 0, match_len 1 *Apr 4 04:52:59.396: dpMatchString beginning_replace 1, match_tmp 0,target 9 *Apr 4 04:52:59.396: dpMatchString: len 1 *Apr 4 04:52:59.396: xrule_translation there was no match index 0 *Apr 4 04:52:59.396: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.396: xrule_translation Xrule index 1, Numpertype 0x9 *Apr 4 04:52:59.396: dpMatchString, target_number 9, match_number ^1. *Apr 4 04:52:59.396: dpMatchString match_tmp 1, match_len 1 *Apr 4 04:52:59.396: dpMatchString beginning_replace 1, match_tmp 1,target 9 *Apr 4 04:52:59.396: dpMatchString: len 1 *Apr 4 04:52:59.396: xrule_translation there was no match index 1 *Apr 4 04:52:59.396: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.396: xrule_translation Xrule index 2, Numpertype 0x9 *Apr 4 04:52:59.396: dpMatchString, target_number 9, match_number ^2. *Apr 4 04:52:59.396: dpMatchString match_tmp 2, match_len 1 *Apr 4 04:52:59.396: dpMatchString beginning_replace 1, match_tmp 2,target 9 *Apr 4 04:52:59.396: dpMatchString: len 1 *Apr 4 04:52:59.396: xrule_translation there was no match index 2 *Apr 4 04:52:59.396: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.396: xrule_translation Xrule index 3, Numpertype 0x9 *Apr 4 04:52:59.396: dpMatchString, target_number 9, match_number ^3. *Apr 4 04:52:59.396: dpMatchString match_tmp 3, match_len 1 *Apr 4 04:52:59.396: dpMatchString beginning_replace 1, match_tmp 3,target 9 *Apr 4 04:52:59.396: dpMatchString: len 1 *Apr 4 04:52:59.396: xrule_translation there was no match index 3 *Apr 4 04:52:59.396: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.396: xrule_translation Xrule index 4, Numpertype 0x9 *Apr 4 04:52:59.396: dpMatchString, target_number 9, match_number ^4. *Apr 4 04:52:59.396: dpMatchString match_tmp 4, match_len 1 *Apr 4 04:52:59.396: dpMatchString beginning_replace 1, match_tmp 4,target 9 *Apr 4 04:52:59.396: dpMatchString: len 1 *Apr 4 04:52:59.396: xrule_translation there was no match index 4 *Apr 4 04:52:59.396: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.396: xrule_translation Xrule index 5, Numpertype 0x9 *Apr 4 04:52:59.396: dpMatchString, target_number 9, match_number ^5. *Apr 4 04:52:59.396: dpMatchString match_tmp 5, match_len 1 *Apr 4 04:52:59.396: dpMatchString beginning_replace 1, match_tmp 5,target 9 *Apr 4 04:52:59.396: dpMatchString: len 1 *Apr 4 04:52:59.396: xrule_translation there was no match index 5 *Apr 4 04:52:59.400: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.400: xrule_translation Xrule index 6, Numpertype 0x9 *Apr 4 04:52:59.400: dpMatchString, target_number 9, match_number ^6. *Apr 4 04:52:59.400: dpMatchString match_tmp 6, match_len 1 *Apr 4 04:52:59.400: dpMatchString beginning_replace 1, match_tmp 6,target 9 *Apr 4 04:52:59.400: dpMatchString: len 1 *Apr 4 04:52:59.400: xrule_translation there was no match index 6 *Apr 4 04:52:59.400: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.400: xrule_translation Xrule index 7, Numpertype 0x9 *Apr 4 04:52:59.400: dpMatchString, target_number 9, match_number ^7. *Apr 4 04:52:59.400: dpMatchString match_tmp 7, match_len 1 *Apr 4 04:52:59.400: dpMatchString beginning_replace 1, match_tmp 7,target 9 *Apr 4 04:52:59.400: dpMatchString: len 1 *Apr 4 04:52:59.400: xrule_translation there was no match index 7 *Apr 4 04:52:59.400: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.400: xrule_translation Xrule index 8, Numpertype 0x9 *Apr 4 04:52:59.400: dpMatchString, target_number 9, match_number ^8. *Apr 4 04:52:59.400: dpMatchString match_tmp 8, match_len 1 *Apr 4 04:52:59.400: dpMatchString beginning_replace 1, match_tmp 8,target 9 *Apr 4 04:52:59.400: dpMatchString: len 1 *Apr 4 04:52:59.400: xrule_translation there was no match index 8 *Apr 4 04:52:59.400: xrule_translation called Callparms Numpertype 0x0, match_type 0x0 *Apr 4 04:52:59.400: xrule_translation Xrule index 9, Numpertype 0x9 *Apr 4 04:52:59.400: dpMatchString, target_number 9, match_number ^9. *Apr 4 04:52:59.400: dpMatchString match_tmp 9, match_len 1 *Apr 4 04:52:59.400: dpMatchString beginning_replace 1, match_tmp 9,target 9 *Apr 4 04:52:59.400: dpMatchString 0. target 9,match_tmp 9,match_len 1 *Apr 4 04:52:59.400: replace_string *Apr 4 04:52:59.400: replace_string match ^9., replace 1011009 *Apr 4 04:52:59.400: translation_format replace_rule ^9., strip_proceeding 0 *Apr 4 04:52:59.400: replace_string match_tmp ^9., strip_proceeding 0 *Apr 4 04:52:59.400: replace_string match_tmp 9 *Apr 4 04:52:59.400: replace_string direction 1, callparty 2 *Apr 4 04:52:59.400: replace_string direction 1, callparty 2, target 9 *Apr 4 04:52:59.400: replace_string match_tmp 9,replace 1011009 *Apr 4 04:52:59.400: replace_string0.replace19,target,current,match_tmp *Apr 4 04:52:59.400: replace_string0.1 compare_len 1,match_len 1 *Apr 4 04:52:59.400: replace_string 3. replace1 9, compare_len 1 *Apr 4 04:52:59.400: replace_string 4. replace1 1,compare_len 0,replace 011009 *Apr 4 04:52:59.400: replace_string 4. replace1 10,compare_len -1,replace 11009 *Apr 4 04:52:59.400: replace_string 4. replace1 101,compare_len -2,replace 1009 *Apr 4 04:52:59.400: replace_string 4. replace1 1011,compare_len -3,replace 009 *Apr 4 04:52:59.400: replace_string 4. replace1 10110,compare_len -4,replace 09 *Apr 4 04:52:59.400: replace_string 4. replace1 101100,compare_len -5,replace 9 *Apr 4 04:52:59.400: replace_string 4. replace1 1011009,compare_len -6,replace *Apr 4 04:52:59.400: replace_string 5. replace1 1011009, compare_len -6,match_l en 1 *Apr 4 04:52:59.400: replace_string 6. replace1 1011009,compare_len -6,current *Apr 4 04:52:59.400: replace_string buffer 1011009 *Apr 4 04:52:59.400: xrule_translation index 9,xrule_number 1011009, callparty 2 *Apr 4 04:52:59.400: xrule_translation Return rc = 0 any_match 0 *Apr 4 04:52:59.400: xrule_checking Return rc = 0 *Apr 4 04:53:00.156: xrule_checking *Apr 4 04:53:00.156: xrule_checking calling 4444, called 10110099 *Apr 4 04:53:00.156: xrule_checking peer_tag 100, direction 2, protocol 0 *Apr 4 04:53:00.156: xrule_checking Return rc = -5 NewDelhi#debug translation min *Apr 4 02:37:17.045: xrule_checking *Apr 4 02:37:17.045: xrule_translation *Apr 4 02:37:17.045: xrule_translation callednumber , strlen 0 *Apr 4 02:37:17.045: xrule_translation callednumber null xruleCalledTag=1 *Apr 4 02:37:19.457: xrule_checking *Apr 4 02:37:19.457: xrule_translation *Apr 4 02:37:19.457: xrule_translation callednumber 9, strlen 1 *Apr 4 02:37:19.457: xrule_translation callednumber 9 xruleCalledTag=1 *Apr 4 02:37:19.457: dpMatchString 0. target 9,match_tmp 9,match_len 1 *Apr 4 02:37:19.457: replace_string *Apr 4 02:37:19.461: replace_string0.replace19,target,current,match_tmp *Apr 4 02:37:19.461: replace_string0.1 compare_len 1,match_len 1 *Apr 4 02:37:19.461: replace_string 3. replace1 9, compare_len 1 *Apr 4 02:37:19.461: replace_string 4. replace1 1,compare_len 0,replace 011009 *Apr 4 02:37:19.461: replace_string 4. replace1 10,compare_len -1,replace 11009 *Apr 4 02:37:19.461: replace_string 4. replace1 101,compare_len -2,replace 1009 *Apr 4 02:37:19.461: replace_string 4. replace1 1011,compare_len -3,replace 009 *Apr 4 02:37:19.461: replace_string 4. replace1 10110,compare_len -4,replace 09 *Apr 4 02:37:19.461: replace_string 4. replace1 101100,compare_len -5,replace 9 *Apr 4 02:37:19.461: replace_string 4. replace1 1011009,compare_len -6,replace *Apr 4 02:37:19.461: replace_string 5. replace1 1011009, compare_len -6,match_l en 1 *Apr 4 02:37:19.461: replace_string 6. replace1 1011009,compare_len -6,current *Apr 4 02:37:19.461: replace_string buffer 1011009 *Apr 4 02:37:19.461: xrule_translation index 9,xrule_number 1011009, callparty 2 *Apr 4 02:37:19.841: xrule_checking |