Dieses Dokument enthält eine Beispielkonfiguration zum Erstellen skalierbarer Wählpläne für ein VoIP-Netzwerk mithilfe von IOS-Übersetzungsregeln. Bei der Installation integrierter Sprach- und Datennetzwerke besteht ein häufig auftretendes Problem darin, wie die Nummernpläne der indialen Bereiche an verschiedenen Standorten verwaltet werden können. Je nach Art des Austauschs, Signalisierungsprotokollstandards und sogar dem Standort kann der Service Provider ähnliche Nummernbereiche an die Geräte des Teilnehmers an jedem Remote-Standort weiterleiten. Wenn diese Anrufe an einen zentralen Standort zurückgeleitet werden, kann es zu Überschneidungen bei den angerufenen Nummern kommen, die von den einzelnen Remote-Standorten ausgehen. Da das PBX die Routing-Entscheidung auf der Grundlage eindeutiger angerufener Nummern trifft, kann dies Probleme bei der automatischen Anrufverteilung (ACD) auf PBX-Systemen (Private Branch Exchange) verursachen. Anrufe von den einzelnen Standorten müssen z. B. an bestimmte Operatoren weitergeleitet werden, die die Sprache sprechen, von der aus der Anruf stammt. Wenn sich die angerufenen Nummern der einzelnen Standorte überschneiden, gibt es keine Möglichkeit, den Ursprung eines Anrufs zu identifizieren. Daher kann das PBX-System den Anruf nicht an die richtige ACD-Warteschlange weiterleiten.
Einige Remote-Standorte verfügen möglicherweise über einen zweistelligen Nummernbereich, während andere Standorte einen dreistelligen oder vierstelligen Nummernbereich haben. Die angerufenen Nummern können also zwischen [00 - 99] und [000 - 999] liegen. Bei diesen Nummernbereichen benötigt der Router am Hauptstandort Konfigurationen für 2-, 3- und 4-stellige Nummernpläne. Dies kann die Router-Konfiguration insgesamt komplexer machen.
Die Lösung für diese Probleme ist die Verwendung von IOS-Ziffernübersetzungsregeln an jedem Remote-Standort, um Ziffern dem Nummernbereich vorzustellen, der aus dem Telefonnetz kommt. Dadurch wird ein standardmäßiger Nummernplan für das gesamte Kundennetzwerk erstellt, und neue Standorte können schrittweise ohne größere Änderungen am übrigen Netzwerk hinzugefügt werden.
Hinweis: Cisco IOS-Ziffernübersetzungsregeln ermöglichen die Bearbeitung der automatischen Rufnummernidentifizierungsziffern eines Anrufs, bei dem es sich um die anrufende Nummer oder die DNIS-Nummer (Dialed Number Identification Service)-Ziffern eines Anrufs handelt, bei dem es sich um die angerufene Nummer handelt. Wahlweise können die Nummerierungstypen dieser Felder auch mithilfe der Übersetzungsregeln geändert werden.
In der in diesem Dokument vorgestellten Fallstudie soll der Nummernplan standardisiert werden. Zu den Vorschlägen gehören:
Verwenden Sie einen Trunk-Zugriffscode.
Verwenden Sie einen Standort-(Bereich-)Code. Dies ist eine einfache Möglichkeit, einen eindeutigen Standortcode zu erstellen, um die Ortsvorwahl für das öffentliche Telefonnetz (PSTN) des Remote-Standorts zu verwenden.
Erweitern Sie die ursprüngliche angerufene Nummer mit führenden Nullen, um eine vierstellige Durchwahlnummer zu erstellen.
Leser sollten über folgende Fähigkeiten verfügen:
Konfigurieren von Voice- und POT-DFÜ-Peers
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Cisco 3660- und 7206VXR-Router mit IOS-Version 12.3(4)
IOS-Übersetzungsregeln wurden in IOS-Version 12.07XK1 eingeführt und sind auf allen Cisco Plattformen verfügbar, die Sprach-Ports unterstützen.
Die in diesem Dokument enthaltenen Informationen wurden aus Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Sie in einem Live-Netzwerk arbeiten, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen, bevor Sie es verwenden.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
In diesem Abschnitt wird die Fallstudie verwendet: Beispiel "Calcutta (Remote-Standort)", um die Implementierung für Übersetzungsregeln zu erläutern. Weitere Informationen finden Sie im Netzwerkdiagramm.
In unserem Beispiel verfügt der Remote-Standort (Kalkutta) über einen E1-Trunk, der eine dreistellige Wählzeichenfolge im Bereich von 000 bis 999 übergibt. Der Router am Hauptstandort akzeptiert Anrufe von mehreren Remote-Standorten, die auch den Bereich von 000 bis 999 abdecken können.
Übersetzungsregeln werden im Calcutta-Router verwendet, um einen Standortcode vorzustellen, der Anrufe aus Kalkutta (basierend auf der angerufenen Nummer) eindeutig an das PBX-System am Hauptstandort identifiziert. Beispielsweise wird die Ortscode-Wählzeichenfolge "033" als Standortcode verwendet. Darüber hinaus wird eine Code-Ziffer für den Trunk-Zugriff hinzugefügt, um die Auswahl bestimmter Trunks am Ziel-Router am Hauptstandort zu ermöglichen. Diese Anweisungen veranschaulichen das Übersetzungsverfahren im Calcutta-Router:
Ursprüngliche angerufene Nummer (beliebige 3 Ziffern im Bereich von 000 bis 999)—" ... "
Übersetzte angerufene Nummer:"1033... "Ziffer 1": Trunk-Zugriffscode, Ziffern "033": Standortcode
Wenn ein Anruf vom Standort in Kalkutta getätigt wird, wendet der Calcutta-Router die Übersetzungsregel an, die in seinem POTS-Sprach-Port angewendet wird. Sie können dies in der Konfiguration des Calcutta-Routers mit dem Sprach-Port 1/0:1 überprüfen.
Die Übersetzungsregel wird auf den Sprach-Port angewendet, an dem der Anruf am Router eingeht. Wenn ein Anruf aus dem Telefonnetz zum Router eingeht, wird die angerufene Nummer übersetzt, bevor sie auf allen DFÜ-Peers abgeglichen wird.
Die Übersetzungsregel wird für den Kalkutta-Standort für die gewählte Nummer - 987 für den Hauptstandort angewendet.
In der angerufenen dreistelligen Zahl 987 wird die erste Ziffer 9 von der LHS-Seite (linke Hand) genommen und in der Übersetzungsregel zum Ersetzen der Ziffern verglichen.
Die in der Übersetzungsregel festgelegte ersetzt die Nummer 9 durch die Nummer 103309. Diese Nummer wird in der ersten Ziffer 9 ersetzt.
Nachdem die erste Ziffer 9 durch 103309 ersetzt wurde, werden die verbleibenden 2 Ziffern - 87 der ersetzten Ziffer 103309 vorangestellt, die zu 10330987 wird, und der Anruf wird an den VoIP-DFÜ-Peer als Zielmuster weitergeleitet - 10330.. Übereinstimmungen.
Zwei weitere Remote-Standorte müssen in das Netzwerk integriert werden. Der Standort Neu-Delhi verwendet einen zweistelligen indialen Bereich, während der Standort Chennai einen vierstelligen indialen Bereich verwendet. Indem Sie der angerufenen Nummer einen Trunk-Zugriffscode und einen Standortcode voranstellen, haben Sie nun einen Wählplan wie folgt:
Dieser Trunk-Zugriff/Standortcode.. | ...stellt diesen Wählplan dar. |
---|---|
" 1011. " | Zweistellige Ziffer mit der Ortsvorwahl 011 |
" 1033... " | 3-stellige Ziffer mit der Ortsvorwahl 033 |
" 1044... " | 4-stellige Ziffer mit der Ortsvorwahl 044 |
Dieser Wählplan besteht aus 6-, 7- und 8-stelligen Nummern. Sie können also standardisiert werden, indem Sie die ursprünglichen angerufenen Nummern mit führenden Nullen versehen, um einen einstelligen Zugriffscode, einen dreistelligen Standortcode und eine vierstellige Durchwahl zu erhalten:
Dieser Trunk-Zugriff/-Standortcode.. | ...wird übersetzt in |
---|---|
" 1011. " | " 101100.. " |
" 1033... " | " 10330... " |
" 1044... " | " 1044.." |
Der Nummernplan am Gateway/Router des Hauptstandorts umfasst jetzt konsistente 8 Ziffern: (1-stelliger Trunk-Zugriffscode, 3-stelliger Standortcode und 4-stellige angerufene Nummer mit führenden Nullen kombiniert). Wenn der Anruf das Gateway/den Router des Hauptstandorts erreicht hat, wird der Zugriffscode entfernt, und die folgenden sieben Ziffern werden an das PBX-System gesendet.
In dieser Fallstudie gibt es drei Remote-Standorte (Neu-Delhi, Kalkutta und Chennai), die VoIP-Anrufe an das Call Center am Hauptstandort weiterleiten. Der Kunde benötigt ein System, das nur Anrufe von Remote-Standorten an den Hauptstandort weiterleitet. Es ist keine Rückruffunktion für Anrufe vom Hauptstandort an die Remote-Standorte vorgesehen. Das Gateway/Router des Hauptstandorts verfügt über 4 Trunks, die mit dem Call Center PBX verbunden sind.
Hinweis: Um weitere Informationen zu den in diesem Dokument verwendeten Befehlen zu erhalten, verwenden Sie das Command Lookup Tool (nur registrierte Kunden).
In diesem Dokument wird die Netzwerkeinrichtung verwendet, die im Diagramm hier gezeigt wird:
In diesem Dokument werden die folgenden Konfigurationen verwendet:
Neu-Delhi (zweistelliger Nummernbereich) |
---|
!--- 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 |
Kalkutta (3-stelliger Indialbereich) |
---|
!--- 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 (4-stelliger Nummernbereich) |
---|
! 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 |
Hauptstandort |
---|
!-- 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. |
Hinweis: Da das PBX-System am Hauptstandort den Trunk-Zugriffscode nicht benötigt, wird dieser vom Router am Hauptstandort entfernt. Aus diesem Grund wird der Anruf an das PBX-System am Hauptstandort durch einen dreistelligen Standortcode und die vierstellige Durchwahl identifiziert. Das PBX-System benötigt einige Konfigurationsänderungen, um diesen Nummernplan zu erfüllen. Der Vorteil besteht jedoch darin, dass es den Standortcode von der angerufenen Nummer erkennen und den Anruf an die für jeden Standort eingerichtete ACD-Warteschlange weiterleiten kann. Wenn ein Anruf aus einer bestimmten nationalen Region eingeht, wird er an Mitarbeiter weitergeleitet, die die Landessprache sprechen.
Hinweis: Weitere Informationen zu Befehlen finden Sie im Command Lookup Tool (nur registrierte Kunden).
Dieser Abschnitt enthält Informationen, mit denen Sie überprüfen können, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Bestimmte show-Befehle werden vom Output Interpreter Tool unterstützt (nur registrierte Kunden), mit dem Sie eine Analyse der show-Befehlsausgabe anzeigen können.
Test translation-Rule name-tag input-number - Wird zum Testen der Ausführung der Übersetzungsregeln für ein bestimmtes Name-Tag verwendet. Die snytax für diesen Befehl wird in der folgenden Tabelle beschrieben:
Syntax | Beschreibung |
---|---|
name-tag
|
Die Tag-Nummer, auf die der Regelsatz verwiesen wird. |
input-number
|
Die Eingabezeichenfolge der Ziffern, für die eine Musterzuordnung durchgeführt wird. |
show translation-Rule [name-tag]: Diese wird zur Anzeige des Inhalts der Regeln verwendet, die für einen bestimmten Übersetzungsnamen konfiguriert wurden. Die Syntax für diesen Befehl wird in der folgenden Tabelle beschrieben:
Syntax | Beschreibung |
---|---|
name-tag
|
(Optional) Die Tag-Nummer, auf die der Regelsatz verweist |
Diese Ausgabe wurde vom NewDelhi-Router erfasst, der die Übersetzungsregeln anzeigt, die beim Wählen von der NewDelhi-Site angewendet wurden.
NewDelhi - Ausgabe |
---|
!-- 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# |
Dieser Abschnitt enthält Informationen zur Fehlerbehebung in Ihrer Konfiguration.
Hinweis: Bevor Sie Debugbefehle ausgeben, informieren Sie sich unter Wichtige Informationen über Debug-Befehle.
Debug Translation {detail | min} —Wird zum Debuggen von Zahlenübersetzungsspuren mit den in dieser Tabelle beschriebenen Optionen verwendet:
Option | Beschreibung |
---|---|
detail |
Aktiviert eine detaillierte Debugverfolgung. |
min |
Aktiviert eine minimale Debugverfolgung. |
NewDelhi - Ausgabe |
---|
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 |