이 문서에서는 IOS 변환 규칙을 사용하여 VoIP 네트워크에 대해 확장 가능한 다이얼 플랜을 생성하기 위한 샘플 컨피그레이션을 제공합니다.통합 음성 및 데이터 네트워크를 설치할 때 자주 발생하는 한 가지 문제는 여러 위치에 있는 개별 범위의 번호 지정 계획을 관리하는 방법입니다.통신 사업자는 교환 유형, 신호 프로토콜 표준 및 짝수 위치에 따라 각 원격 사이트의 가입자 장비에 비슷한 번호 범위를 전달할 수 있습니다.이러한 통화가 중앙 사이트로 다시 라우팅되는 경우 각 원격 사이트에서 시작되는 전화 번호가 중복될 수 있습니다.PBX는 고유한 전화번호로 라우팅 결정을 내리므로 PBX(Private Branch Exchange) 시스템의 ACD(Automatic Call Distribution) 대기열에 문제가 발생할 수 있습니다.예를 들어, 각 사이트의 통화는 통화가 시작된 지역의 현지 언어를 사용하는 특정 운영자에게 전달되어야 할 수 있습니다.각 사이트의 전화 번호가 겹치면 통화 발신지를 식별할 수 있는 방법이 없으므로 PBX는 통화를 올바른 ACD 대기열로 라우팅할 수 없습니다.
일부 원격 사이트에는 2자리 개별 번호 범위가 제공될 수 있으며 다른 사이트에는 3자리 또는 4자리 개별 범위가 있을 수 있으므로 [00 - 99]에서 [0000 - 9999]까지의 전화 번호가 있을 수 있습니다.이러한 번호 범위를 사용할 경우 기본 사이트 라우터는 2, 3 및 4자리 번호 지정 계획을 처리하기 위한 컨피그레이션이 필요합니다.이로 인해 라우터 컨피그레이션이 전반적으로 복잡해질 수 있습니다.
이러한 문제의 해결 방법은 각 원격 사이트에서 IOS 숫자 변환 규칙을 사용하여 전화 네트워크에서 오는 번호 범위에 숫자를 추가하는 것입니다.그런 다음 고객의 네트워크에 표준 번호 지정 계획을 수립하며, 네트워크의 나머지 부분에 큰 변경 없이 새로운 사이트를 점차적으로 추가할 수 있습니다.
참고: Cisco IOS DIGIT 변환 규칙을 사용하면 사용자가 전화 번호인 통화의 발신 번호 또는 DNIS(Dialed Number Identification Service) 자릿수인 자동 번호를 조작할 수 있습니다.선택적으로, 이러한 필드의 번호 지정 유형을 변환 규칙을 사용하여 수정할 수도 있습니다.
이 문서에 제시된 사례 연구에서는 번호 지정 계획을 표준화하는 것을 목표로 합니다.제안 사항은 다음과 같습니다.
트렁크 액세스 코드를 사용합니다.
사이트(영역) 코드를 사용합니다.이렇게 하면 원격 사이트의 로컬 PSTN(Public Switched Telephone Network) 지역 코드를 사용할 수 있는 고유한 사이트 코드를 쉽게 만들 수 있습니다.
앞에 0이 있는 원래 호출된 번호를 확장하여 4자리 내선 번호를 생성합니다.
독자는 다음과 같은 내용을 숙지해야 합니다.
음성 및 포트 다이얼 피어 구성
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
IOS 버전 12.3(4)을 실행하는 Cisco 3660 및 7206VXR 라우터
IOS 변환 규칙은 IOS 버전 12.07XK1에 도입되었으며 음성 포트를 지원하는 모든 Cisco 플랫폼에서 사용할 수 있습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.라이브 네트워크에서 작업하는 경우, 사용하기 전에 모든 명령의 잠재적인 영향을 이해해야 합니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
이 섹션에서는 사례 연구를 사용합니다."Calcutta (remote site)" 예는 변환 규칙의 구현을 설명합니다.자세한 내용은 네트워크 다이어그램을 참조하십시오.
이 예에서는 원격 사이트(Calcutta)에 000~999 범위의 3자리 다이얼 문자열을 전달하는 E1 트렁크가 있습니다. 주 사이트 라우터는 000~999 범위의 여러 원격 사이트로부터 오는 통화를 수락합니다.
변환 규칙은 Calcutta 라우터에서 콜커타로부터(수신 번호 기준) 주 사이트 PBX로 통화를 고유하게 식별하는 사이트 코드를 접두사로 추가하는 데 사용됩니다.예를 들어, 지역 코드 다이얼 문자열 "033"은 사이트 코드로 사용됩니다.또한 목적지 주 사이트 라우터에서 특정 트렁크를 선택할 수 있도록 트렁크 액세스 코드 숫자가 추가됩니다.다음 문은 Calcutta 라우터의 변환 절차를 설명합니다.
원래 전화 번호(000~999 범위의 3자리) - " ... "
변환된 전화 번호—"1033... "숫자 "1":트렁크 액세스 코드, 숫자 "033":사이트 코드
Calcutta 사이트에서 전화를 걸면 Calcutta 라우터는 POTS 음성 포트에 적용된 변환 규칙을 적용합니다.Calcutta 라우터의 음성 포트 1/0:1 컨피그레이션에서 이를 확인할 수 있습니다.
변환 규칙은 통화가 라우터로 들어오는 음성 포트에 적용됩니다.전화 네트워크에서 라우터로 통화가 수신되면 모든 다이얼 피어에서 통화하기 전에 통화 번호가 변환됩니다.
변환 규칙은 전화 건 번호 987에 대한 Calcta 사이트에 대해 기본 사이트에 다음과 같이 적용됩니다.
3자리 숫자 987에서 LHS(Left Hand Side)의 첫 번째 숫자-9가 숫자 교체에 대해 변환 규칙에서 사용되고 비교됩니다.
변환 규칙에서 9의 대체 번호는 - 103309이며, 이 번호는 첫 번째 숫자 9에 대해 교체됩니다.
첫 번째 숫자 9를 103309로 바꾼 후 나머지 두 자리 - 87은 10330987이 되는 103309의 앞에 추가되고 통화가 대상 패턴(103330..)으로 voip 다이얼 피어로 라우팅됩니다. 일치.
두 개의 원격 사이트를 네트워크에 통합해야 합니다.뉴델리 사이트는 2자리 개별 범위를 사용하는 반면, 첸나이 사이트는 4자리 개별 범위를 사용합니다.트렁크 액세스 코드 및 사이트 코드를 호출된 번호로 미리 전송하면 다음과 같이 다이얼 플랜이 제공됩니다.
이 트렁크 액세스/사이트 코드... | ...이 다이얼 플랜을 나타냅니다. |
---|---|
" 1011.. " | 지역 번호가 011인 2자리 숫자 |
" 1033.. " | 지역 번호 033의 3자리 숫자 개별 |
"1044..." | 지역 번호 044의 4자리 숫자 개별 |
이 다이얼 플랜은 6자리, 7자리 및 8자리 숫자로 구성되므로 원래 전화 번호를 선행 0으로 패딩하여 1자리 액세스 코드, 3자리 사이트 코드 및 4자리 내선 번호를 제공하여 표준화할 수 있습니다.
이 트렁크 액세스/사이트 코드... | ...다음으로 변환됨 |
---|---|
" 1011.. " | " 101100.. " |
" 1033.. " | " 10330.. " |
"1044..." | "1044...." |
이제 메인 사이트 게이트웨이/라우터의 번호 계획은 8자리 일치합니다.(1자리 트렁크 액세스 코드, 3자리 사이트 코드, 4자리 숫자로 리딩 제로가 채워져 있음) 통화가 메인 사이트 게이트웨이/라우터에 도달하면 액세스 코드가 제거되고 이후 7자리 숫자가 PBX로 전송됩니다.
이 사례 연구에는 VoIP 통화를 주 사이트 콜 센터로 안내하는 3개의 원격 사이트(New Delhi, Calcutta 및 Chennai)가 있습니다.고객의 요구 사항은 원격 사이트에서 기본 사이트로 통화를 전송하는 시스템이어야 합니다.기본 사이트에서 원격 사이트로 다시 돌아오는 통화에 대한 프로비저닝은 없습니다.메인 사이트 게이트웨이/라우터에는 콜 센터 PBX에 연결되는 트렁크 4개가 있습니다.
참고: 이 문서에 사용된 명령에 대한 추가 정보를 찾으려면 명령 조회 도구(등록된 고객만 해당)를 사용합니다.
이 문서에서는 다이어그램에 표시된 네트워크 설정을 사용합니다.
이 문서에서는 다음과 같은 구성을 사용합니다.
뉴델리(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 |
Calcutta(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 대기열로 통화를 라우팅할 수 있다는 장점이 있습니다.특정 국가 지역에서 전화가 오면 현지 언어를 사용하는 상담원에게 전달됩니다.
참고: 명령에 대한 자세한 내용은 명령 조회 도구(등록된 고객만 해당)를 참조하십시오.
이 섹션에서는 컨피그레이션이 제대로 작동하는지 확인하는 데 사용할 수 있는 정보를 제공합니다.
일부 show 명령은 출력 인터프리터 툴 에서 지원되는데(등록된 고객만), 이 툴을 사용하면 show 명령 출력의 분석 결과를 볼 수 있습니다.
test translation-rule name-tag input-number - 특정 이름 태그에서 변환 규칙의 실행을 테스트하는 데 사용됩니다.이 명령의 snytax는 다음 표에 설명되어 있습니다.
구문 | 설명 |
---|---|
name-tag
|
규칙 집합이 참조되는 태그 번호입니다. |
input-number
|
패턴 일치를 수행하는 자릿수의 입력 문자열입니다. |
show translation-rule [name-tag]—특정 변환 이름으로 구성된 규칙의 내용을 표시하는 데 사용됩니다.이 명령의 구문은 다음 표에 설명되어 있습니다.
구문 | 설명 |
---|---|
name-tag
|
(선택 사항) 규칙 집합이 참조되는 태그 번호 |
이 출력은 뉴델리 사이트에서 다이얼하는 동안 적용된 변환 규칙을 보여주는 NewDelhi 라우터에서 캡처되었습니다.
뉴델리 - 출력 |
---|
!-- 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 명령을 실행하기 전에 디버그 명령에 대한 중요 정보를 참조하십시오.
디버그 변환 {세부 정보 | 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 |