In questo documento viene fornita una configurazione di esempio per la creazione di dial plan scalabili per una rete VoIP utilizzando le regole di conversione IOS. Quando si installano reti voce e dati integrate, un problema frequentemente riscontrato è la gestione dei piani di numerazione degli intervalli indiretti in posizioni diverse. A seconda del tipo di scambio, degli standard del protocollo di segnalazione e della posizione, il provider di servizi può passare intervalli di numeri simili alle apparecchiature dell'utente su ciascun sito remoto. Se queste chiamate vengono inoltrate a un sito centrale, potrebbe verificarsi una sovrapposizione nei numeri chiamati che provengono da ognuno dei siti remoti. Poiché il PBX prende la decisione di instradamento sulla base di numeri chiamati univoci, ciò potrebbe causare problemi con le code ACD (Automatic Call Distribution) sui sistemi PBX (Private Branch Exchange). Ad esempio, le chiamate provenienti da ciascun sito potrebbero dover essere indirizzate a determinati operatori che parlano la lingua locale da cui ha avuto origine la chiamata. Se i numeri chiamati da ciascun sito si sovrappongono, non c'è alcun modo di identificare l'origine di una chiamata, quindi il PBX non è in grado di indirizzare la chiamata alla coda ACD corretta.
Alcuni siti remoti possono essere forniti con un intervallo di numeri indiali a 2 cifre mentre altri siti possono avere intervalli indiali a 3 o 4 cifre, quindi i numeri chiamati potrebbero essere da [00 - 99] a [0000 - 9999]. Con questi intervalli di numeri, il router del sito principale necessita di configurazioni per gestire i piani di numerazione a 2, 3 e 4 cifre. Ciò potrebbe aumentare la complessità complessiva della configurazione del router.
La soluzione a questi problemi consiste nell'utilizzare le regole di conversione delle cifre di IOS in ogni sito remoto per anteporre le cifre all'intervallo di numeri che proviene dalla rete telefonica. In questo modo viene creato un piano di numerazione standard per tutta la rete del cliente e viene consentita l'aggiunta graduale di nuove sedi senza apportare modifiche di rilievo al resto della rete.
Nota: le regole di conversione delle cifre di Cisco IOS consentono agli utenti di modificare le cifre ANI (Automatic Number Identification) di una chiamata, ovvero il numero chiamante o le cifre DNIS (Dialed Number Identification Service) di una chiamata, ovvero il numero chiamato. Facoltativamente, i tipi di numerazione di questi campi possono anche essere modificati utilizzando le regole di conversione.
Nel caso di studio illustrato in questo documento, l'obiettivo è standardizzare il piano di numerazione. I suggerimenti includono:
Utilizzare un codice di accesso trunk.
Utilizzare un indicativo di località. Questo è un modo semplice per creare un codice di sito univoco per utilizzare l'indicativo di località PSTN (Public Switched Telephone Network) locale del sito remoto.
Espandere (riempire) il numero originale chiamato con zeri iniziali per ottenere un numero di estensione a 4 cifre.
I lettori devono essere a conoscenza di:
Configurazione di voice and pots dial-peer
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Router Cisco 3660 e 7206VXR con IOS versione 12.3(4)
Le regole di conversione IOS sono state introdotte nella versione 12.07XK1 di IOS e sono disponibili su tutte le piattaforme Cisco che supportano le porte vocali.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
In questa sezione viene utilizzato il case study: Esempio di "Calcutta (sito remoto)" per spiegare l'implementazione delle regole di traduzione. Per ulteriori informazioni, consultare il diagramma reticolare.
Nell'esempio riportato, il sito remoto (Calcutta) dispone di un trunk E1 che passa una stringa di composizione a 3 cifre comprese tra 000 e 999. Il router del sito principale accetta chiamate da più siti remoti che possono anche coprire l'intervallo tra 000 e 999.
Nel router di Calcutta vengono utilizzate regole di conversione per anteporre un codice del sito che identifica in modo univoco le chiamate da Calcutta (in base al numero chiamato) al PBX del sito principale. Ad esempio, la stringa di composizione dell'indicativo località "033" viene utilizzata come codice del sito. Inoltre, viene aggiunta una cifra del codice di accesso trunk per consentire la selezione di trunk specifici nel router del sito principale di destinazione. Queste istruzioni spiegano la procedura di traduzione nel router di Calcutta:
Numero originale chiamato (qualsiasi numero di 3 cifre nell'intervallo da 000 a 999)—" ... "
Numero chiamato tradotto—"1033... " cifra "1": codice di accesso trunk, cifre "033": codice del sito
Quando si effettua una chiamata dal sito di Calcutta, il router di Calcutta applica la regola di conversione applicata alla sua porta vocale POTS. È possibile verificare questa condizione nella configurazione della porta voce 1/0:1 del router Calcutta.
La regola di conversione viene applicata alla porta vocale da cui la chiamata arriva al router. Quando si riceve una chiamata dalla rete telefonica verso il router, il numero chiamato viene tradotto prima di essere associato su qualsiasi peer di composizione.
La regola di traduzione viene applicata come segue per il sito di Calcutta per il numero composto - 987 al sito principale.
Nel numero a 3 cifre chiamato - 987, la prima cifra - 9 dal LHS (lato sinistro) viene presa e confrontata nella regola di traslazione per sostituire le cifre.
Il numero di sostituzione per 9 nella regola di conversione è - 103309, questo numero è sostituito dalla prima cifra 9.
Dopo aver sostituito la prima cifra 9 con 103309, le restanti 2 cifre - 87 vengono anteposte alla cifra sostituita 103309 che diventa 10330987 e la chiamata viene instradata al dial peer voip come modello di destinazione - 10330... corrisponde.
Due siti remoti devono essere integrati nella rete. Il sito di New Delhi utilizza un intervallo indiale a 2 cifre, mentre il sito di Chennai utilizza un intervallo indiale a 4 cifre. Anteponendo un codice di accesso trunk e un codice del sito al numero chiamato, si dispone ora di un dial plan come segue:
Questo codice di accesso/sito trunk... | ...rappresenta questo dial plan |
---|---|
" 1011. " | Indicativo a 2 cifre con prefisso 011 |
" 1033... " | Indicativo a 3 cifre con prefisso 033 |
"1044.... " | Indicativo a 4 cifre con prefisso 044 |
Questo dial plan è composto da numeri di 6, 7 e 8 cifre, quindi possono essere standardizzati inserendo gli zeri iniziali nei numeri originali chiamati per fornire un codice di accesso a 1 cifra, un codice del sito a 3 cifre e un'estensione a 4 cifre:
Questo codice di accesso/sito trunk... | ...è tradotto in |
---|---|
" 1011. " | " 101100. " |
" 1033... " | " 10330... " |
"1044.... " | "1044...." |
Il piano numerico sul gateway/router del sito principale è ora composto da 8 cifre: (codice di accesso trunk a 1 cifra, codice del sito a 3 cifre e numero a 4 cifre con zeri iniziali). Una volta che la chiamata raggiunge il gateway/router del sito principale, il codice di accesso viene rimosso e le successive sette cifre vengono inviate al PBX.
In questo caso di studio ci sono tre siti remoti (New Delhi, Calcutta e Chennai) che indirizzano le chiamate VoIP al centro chiamate del sito principale. Il cliente richiede un sistema che indirizza le chiamate dalle sedi remote alla sede principale. Non è prevista la possibilità di effettuare chiamate di ritorno dal sito principale verso i siti remoti. Il gateway/router del sito principale dispone di 4 trunk che si connettono al Call Center PBX.
Nota: per ulteriori informazioni sui comandi menzionati in questo documento, usare lo strumento di ricerca dei comandi (solo utenti registrati).
Questo documento utilizza l'impostazione di rete mostrata nel diagramma qui:
Questo documento utilizza le configurazioni mostrate di seguito:
Nuova Delhi (intervallo indicizzato a 2 cifre) |
---|
!--- 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 cifre) |
---|
!--- 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 (intervallo indiale a 4 cifre) |
---|
! 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 |
Sito principale |
---|
!-- 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: poiché il PBX del sito principale non richiede il codice di accesso trunk, il router del sito principale lo rimuoverebbe. Pertanto, la chiamata viene identificata sul sito principale PBX da un codice di sito a 3 cifre e dall'estensione a 4 cifre. Il PBX avrebbe bisogno di alcune modifiche di configurazione per corrispondere a questo piano di numerazione, ma il vantaggio è che può riconoscere il codice del sito dal numero chiamato e instradare la chiamata a una particolare coda ACD impostata per ogni posizione. Quando arriva un richiamo da una particolare regione nazionale, viene indirizzato agli agenti che parlano la lingua locale.
Nota: Per ulteriori informazioni sui comandi, consultare lo strumento di ricerca dei comandi (solo utenti registrati).
Le informazioni contenute in questa sezione permettono di verificare che la configurazione funzioni correttamente.
Alcuni comandi show sono supportati dallo strumento Output Interpreter (solo utenti registrati); lo strumento permette di visualizzare un'analisi dell'output del comando show.
test translation-rule name-tag input-number - Utilizzato per verificare l'esecuzione delle regole di conversione su un tag name specifico. La sintassi di questo comando è descritta nella tabella seguente:
Sintassi | Descrizione |
---|---|
name-tag
|
Numero di tag di riferimento del set di regole. |
input-number
|
Stringa di input di cifre per cui viene eseguita una corrispondenza di pattern. |
show translation-rule [name-tag]: consente di visualizzare il contenuto delle regole configurate per un nome di traduzione specifico. Nella tabella seguente viene descritta la sintassi del comando:
Sintassi | Descrizione |
---|---|
name-tag
|
(Facoltativo) Numero di tag in base al quale viene fatto riferimento al set di regole |
Questo output è stato acquisito dal router di New Delhi, che mostra le regole di conversione applicate durante la composizione dal sito di New Delhi.
NewDelhi - Output |
---|
!-- 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# |
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
Nota: prima di usare i comandi di debug, consultare le informazioni importanti sui comandi di debug.
{detail} traduzione di debug | min} - Utilizzato per eseguire il debug delle tracce di conversione dei numeri con le opzioni descritte nella tabella seguente:
Opzione | Descrizione |
---|---|
detail |
Abilita una traccia di debug dettagliata. |
min |
Abilita una traccia di debug minima. |
NewDelhi - Output |
---|
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 |