Este documento proporciona una configuración de muestra para crear planes de marcación con posibilidades de ampliación para una red VoIP usando reglas de traducción IOS. Cuando se instalan redes de integradas de voz y datos, un problema frecuente es cómo administrar los planes de numeración de los rangos de marcación entrante en diferentes ubicaciones. Dependiendo del tipo de intercambio, los estándares de protocolo de señalización e, incluso, la ubicación, el proveedor de servicio podría pasar rangos de números similares al equipo suscriptor en cada sitio remoto. Si estas llamadas se están ruteando de vuelta a un sitio central, podría haber un solapamiento en los números a los que se llama originados en cada uno de los sitios remotos. Dado que el PBX toma la decisión de ruteo en función de los números únicos a los que se llama, esto podría provocar problemas con las colas de distribución automática de llamadas (ACD) en los sistemas de central telefónica privada (PBX). Por ejemplo, es posible que haya que dirigir las llamadas de cada sitio a operadores determinados que hablen el idioma local de donde se originó la llamada. Si los números a los que se llama desde cada sitio se solapan, no hay ninguna manera de identificar el origen de una llamada y, por lo tanto, el PBX no puede rutear la llamada a la cola ACD correcta.
Algunos sitios remotos pueden tener un rango de números indial de 2 dígitos, mientras que otros pueden tener intervalos de marcación de 3 o 4 dígitos, por lo que los números llamados pueden estar entre [00 - 99] y [0000 - 9999]. Con estos rangos de números, el router del sitio principal necesitaría configuraciones para manejar planes de numeración de 2, 3 y 4 dígitos. Esto podría aumentar la complejidad general de la configuración del router.
La solución a estos problemas es utilizar reglas de traducción de dígitos IOS en cada sitio remoto para anteponer dígitos al rango de números que viene de la red telefónica. A continuación, se crea un plan de numeración estándar en toda la red del cliente y se permite agregar nuevos sitios gradualmente sin que se produzcan cambios importantes en el resto de la red.
Nota: Las reglas de traducción de dígitos de Cisco IOS permiten a los usuarios manipular los dígitos de identificación automática de números (ANI) de una llamada que son los dígitos del número que llama o del Servicio de identificación de números marcados (DNIS) de una llamada que es el número al que se llama. Opcionalmente, los tipos de numeración de estos campos también se pueden modificar mediante las reglas de traducción.
En el estudio de caso presentado en este documento, el objetivo es estandarizar el plan de numeración. Entre las sugerencias se incluyen las siguientes:
Utilice un código de acceso troncal.
Utilice un código de sitio (área). Se trata de una forma sencilla de crear un código de sitio único para utilizar el código de área de la red telefónica pública conmutada (PSTN) local del sitio remoto.
Expanda (pad out) el número al que se llamó original con ceros iniciales para producir un número de extensión de 4 dígitos.
Los lectores deben tener conocimiento de:
Configuración de voice y pots dial-peer
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Routers Cisco 3660 y 7206VXR que ejecutan IOS versión 12.3(4)
Las reglas de traducción del IOS se introdujeron en la versión 12.07XK1 del IOS y están disponibles en todas las plataformas de Cisco que soportan puertos de voz.
La información que se presenta en este documento se originó a partir de dispositivos dentro de un ambiente de laboratorio específico. All of the devices used in this document started with a cleared (default) configuration. Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener un comando antes de ejecutarlo.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Esta sección utiliza el caso práctico: Ejemplo "Calcuta (sitio remoto)" para explicar la implementación de las reglas de traducción. Refiérase al Diagrama de Red para obtener más información.
En nuestro ejemplo, el sitio remoto (Calcuta) tiene un tronco E1 que pasa una cadena de marcado de 3 dígitos en el rango de 000 a 999. El router del sitio principal acepta llamadas de varios sitios remotos que también pueden abarcar el rango de 000 a 999.
Las reglas de traducción se utilizan en el router Calcuta para anteponer un código de sitio que identifica de forma única las llamadas de Calcuta (según el número llamado) al PBX del sitio principal. Por ejemplo, la cadena de marcado de código de área "033" se utiliza como código de sitio. Además, se agrega un dígito de código de acceso troncal para permitir la selección de troncales específicos en el router del sitio principal de destino. Estas sentencias ilustran el procedimiento de traducción en el router Calcuta:
Número al que se llama original (cualquier 3 dígitos en el rango de 000 a 999)—" ... "
Número de llamada traducido: "1033... " dígito "1": código de acceso troncal, dígitos "033": código del sitio
Cuando se realiza una llamada desde el sitio Calcuta, el router Calcuta aplica la regla de traducción aplicada en su puerto de voz POTS . Puede verificar esto en la configuración de puerto de voz 1/0:1 del router Calcuta.
La regla de traducción se aplica al puerto de voz en el que entra la llamada al router. Cuando una llamada llega desde la red telefónica hacia el router, el número llamado se traduce antes de que coincida en cualquier par de marcado.
La regla de traducción se aplica de la siguiente manera para el sitio Calcuta para el número marcado - 987 al sitio principal.
En el número de 3 dígitos llamado - 987, el primer dígito - 9 del LHS (lado izquierdo) se toma y compara en la regla de traducción para reemplazar los dígitos.
El número de reemplazo para 9 en la regla de traducción es - 103309, este número se reemplaza para el primer dígito 9.
Después de reemplazar el primer dígito 9 por 103309, los 2 dígitos restantes - 87 se anteponen al dígito reemplazado 103309 que se convierte en 10330987 y la llamada se rutea al par de marcado voip como patrón de destino - 10330... coincidencias.
Es necesario integrar dos sitios remotos más en la red. El sitio de Nueva Delhi utiliza un rango de marcación ininterrumpida de 2 dígitos mientras que el sitio de Chennai utiliza un rango de marcación ininterrumpida de 4 dígitos. Al anteponer un código de acceso troncal y un código de sitio al número al que se llama, ahora tiene un plan de marcación del siguiente modo:
Este código de acceso/sitio del enlace troncal... | ...representa este plan de marcación |
---|---|
" 1011.. " | Marcación indial de 2 dígitos con un código de área de 011 |
"1033... " | Marcación indial de 3 dígitos con un código de área de 033 |
"1044.... " | Marcación indial de 4 dígitos con un código de área de 044 |
Este plan de marcación consta de números de 6, 7 y 8 dígitos, por lo que se pueden estandarizar con los números originales marcados con ceros iniciales para proporcionar un código de acceso de 1 dígito, código de sitio de 3 dígitos y extensión de 4 dígitos:
Este código de acceso/sitio del enlace troncal... | ...se traduce a |
---|---|
" 1011.. " | " 101100.. " |
"1033... " | "10330... " |
"1044.... " | "1044...." |
El plan de números en el gateway/router del sitio principal ahora es coherente con 8 dígitos: (código de acceso troncal de 1 dígito, código de sitio de 3 dígitos y número llamado de 4 dígitos con ceros iniciales). Una vez que la llamada llega al gateway/router del sitio principal, el código de acceso se elimina y los siete dígitos subsiguientes se envían al PBX.
En este caso práctico hay tres sitios remotos (Nueva Delhi, Calcuta y Chennai) que dirigen las llamadas VoIP al centro de llamadas del sitio principal. El requisito del cliente es un sistema que sólo dirija las llamadas desde sitios remotos al sitio principal. No hay ninguna disposición para devolver llamadas desde el sitio principal hacia los sitios remotos. El gateway/router del sitio principal tiene 4 líneas troncales que se conectan al centro de llamadas PBX.
Nota: Para encontrar información adicional sobre los comandos usados en este documento, utilice la Command Lookup Tool (sólo clientes registrados) .
Este documento utiliza la configuración de red que se muestra en el diagrama aquí:
Este documento usa las configuraciones detalladas aquí:
Nueva Delhi (intervalo de marcación entrante de 2 dígitos) |
---|
!--- 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 |
Calcuta (intervalo de marcación entrante de 3 dígitos) |
---|
!--- 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. |
Chennai (intervalo de marcación entrante de 4 dígitos) |
---|
! 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 |
Sitio principal |
---|
!-- 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. |
Nota: Dado que el PBX del sitio principal no requiere el código de acceso troncal, el router del sitio principal lo quitaría. Por lo tanto, la llamada se identifica con el PBX del sitio principal mediante un código de sitio de 3 dígitos y la extensión de 4 dígitos. El PBX necesitaría algunos cambios de configuración para coincidir con este plan de numeración, pero la ventaja es que puede reconocer el código del sitio del número llamado y rutear la llamada a la cola ACD determinada configurada para cada ubicación. Cuando una llamada llega de una región nacional en particular, se dirige a los agentes que hablan el idioma local.
Nota: Para obtener más información sobre los comandos, consulte Command Lookup Tool (sólo clientes registrados).
En esta sección encontrará información que puede utilizar para confirmar que su configuración esté funcionando correctamente.
La herramienta Output Interpreter (sólo para clientes registrados) permite utilizar algunos comandos “show” y ver un análisis del resultado de estos comandos.
test translation-rule name-tag input-number : se utiliza para probar la ejecución de las reglas de traducción en una etiqueta de nombre específica. La sintaxis de este comando se describe en esta tabla:
Sintaxis | Descripción |
---|---|
name-tag
|
El número de etiqueta por el que se hace referencia al conjunto de reglas. |
input-number
|
Cadena de entrada de dígitos para la que se realiza una coincidencia de patrones. |
show translation-rule [name-tag]: se utiliza para mostrar el contenido de las reglas que se han configurado para un nombre de traducción específico. La sintaxis de este comando se describe en esta tabla:
Sintaxis | Descripción |
---|---|
name-tag
|
(Opcional) Número de etiqueta al que se hace referencia al conjunto de reglas |
Esta salida se capturó del router de Nueva Delhi que muestra las reglas de traducción aplicadas mientras se marca desde el sitio de Nueva Delhi.
Nueva Delhi - Salida |
---|
!-- 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# |
En esta sección encontrará información que puede utilizar para solucionar problemas de configuración.
Nota: Antes de ejecutar un comando debug, consulte Información Importante sobre Comandos Debug.
debug translation {detail | min} : se utiliza para depurar seguimientos de traducción de números con las opciones descritas en esta tabla:
Opción | Descripción |
---|---|
detail |
Habilita un seguimiento de depuración detallado. |
min |
Habilita un seguimiento de depuración mínimo. |
Nueva Delhi - Salida |
---|
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 |