本文檔提供使用IOS轉換規則為VoIP網路建立可擴展撥號方案的配置示例。安裝整合語音和資料網路時,經常遇到的一個問題是如何管理不同位置的各個範圍的編號計畫。根據交換的型別、信令協定標準甚至位置,服務提供商可以將相似的號碼範圍傳遞給每個遠端站點的使用者裝置。如果這些呼叫被路由回中心站點,則來自每個遠端站點的被叫號碼可能存在重疊。由於PBX根據唯一的被叫號碼做出路由決策,這可能導致專用交換機(PBX)系統上的自動呼叫分配(ACD)隊列出現問題。例如,可能需要將來自每個站點的呼叫定向到特定操作員,這些操作員會講呼叫源自的本地語言。如果來自每個站點的被叫號碼重疊,則無法識別呼叫的來源,因此PBX無法將呼叫路由到正確的ACD隊列。
某些遠端站點可能具有2位數的獨立號碼範圍,而其他站點可能具有3或4位數的獨立號碼範圍,因此被叫號碼可能介於[00 - 99]到[0000 - 999]之間。對於這些編號範圍,主站點路由器需要配置才能處理2位、3位和4位編號方案。這可能會增加路由器配置的整體複雜性。
這些問題的解決方法是在每個遠端站點使用IOS數字轉換規則,將數字附加到電話網路的號碼範圍內。然後,這將建立客戶整個網路的標準編號方案,並允許逐步新增新站點,而無需對網路的其餘部分進行重大更改。
注意:Cisco IOS數字轉換規則允許使用者操作呼叫的自動號碼識別(ANI)數字,即呼叫的呼叫號碼,或被叫號碼的被叫號碼識別服務(DNIS)數字。或者,也可以使用轉換規則修改這些欄位的編號型別。
在本文檔中提供的案例研究中,目標是標準化編號方案。建議包括:
使用中繼訪問代碼。
使用站點(區域)代碼。這是建立唯一站點代碼以使用遠端站點的本地公共交換電話網路(PSTN)區域代碼的簡單方法。
用前導零展開(墊出)原始被叫號碼,生成一個4位分機號。
讀者應瞭解:
配置語音和POTS撥號對等體
本文中的資訊係根據以下軟體和硬體版本:
運行IOS版本12.3(4)的Cisco 3660和7206VXR路由器
IOS轉換規則是在IOS版本12.07XK1中引入的,在支援語音埠的所有思科平台上都可以使用。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您在即時網路中工作,請確保在使用任何命令之前瞭解其潛在影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本節使用案例研究:「Calcutta(遠端站點)」示例說明了轉換規則的實施。如需詳細資訊,請參閱網路圖表。
在我們的示例中,遠端站點(加爾各答)有一個E1中繼,它會傳遞一個000到999之間的3位數撥號字串。主站點路由器接受來自多個遠端站點的呼叫,這些站點可能也涵蓋了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將優先於替換的數字103309(變為10330987),呼叫將路由到voip撥號對等體,作為目標模式 — 10330.....匹配。
還需要將兩個遠端站點整合到網路中。新德里站點使用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位被叫號碼(用前導零填充)。 一旦呼叫到達主站點網關/路由器,訪問代碼會被刪除,後續的七位數字將被傳送到PBX。
在此案例研究中,有三個遠端站點(新德里、加爾各答和金奈)將VoIP呼叫定向到主站點呼叫中心。客戶要求系統只能將呼叫從遠端站點引導至主站點。主站點向遠端站點回撥呼叫沒有設定。主站點網關/路由器有4個連線到呼叫中心PBX的中繼。
注意:要查詢有關本文檔中使用的命令的其他資訊,請使用命令查詢工具(僅限註冊客戶)。
本檔案使用圖中所示的網路設定:
本檔案使用如下所示的組態:
新德里(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不需要中繼訪問代碼,主站點路由器會將其剝離。因此,呼叫通過3位站點代碼和4位分機被識別到主站點PBX。PBX需要做出一些配置更改以匹配此編號計畫,但優點是它可以從被叫號碼識別站點代碼,並將呼叫路由到為每個位置設定的特定ACD隊列。當呼叫從一個特定國家地區進入時,會定向到使用當地語言的座席。
附註: 如需命令的詳細資訊,請參閱命令查詢工具(僅限註冊客戶)。
本節提供的資訊可用於確認您的組態是否正常運作。
輸出直譯器工具(僅供註冊客戶使用)支援某些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 |