Introduzione
In questo documento viene descritto come determinare e definire le regole di conversione vocale.
Prerequisiti
Requisiti
Nessun requisito specifico previsto per questo documento.
Componenti usati
Il documento può essere consultato per tutte le versioni software o hardware.
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.
Convenzioni
Per informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Premesse
La sintassi utilizzata nel documento è:
Sintassi |
Definizione |
precedenza regole /match pattern/ /replacement pattern/ |
/ — / delimita il numero intero. |
precedenza regole /match pattern/ /replacement pattern/ |
/ — / delimita il numero intero. |
Corrispondenza e sostituzione semplici
Esempio 1
In questo esempio la prima occorrenza del numero 123 viene sostituita con 456.
voice translation-rule 1
rule 1 /123/ /456/
Di seguito sono riportati alcuni esempi di regole di conversione della voce di test:
router#test voice translation-rule 1 123
Matched with rule 1
Original number: 123 Translated number: 456
router#test voice translation-rule 1 1234
Matched with rule 1
Original number: 1234 Translated number: 4564
router#test voice translation-rule 1 6123
Matched with rule 1
Original number: 6123 Translated number: 6456
router#test voice translation-rule 1 6123123
Matched with rule 1
Original number: 6123123 Translated number: 6456123
Original number type: none Translated number type: none
Original number plan: none Translated number plan: none
In questo esempio, la regola corrisponde alla prima occorrenza del numero che contiene il modello 123 in un punto qualsiasi del numero. In particolare, è possibile utilizzare l'inizio e la fine degli indicatori numerici. Questi esempi lo mostrano.
Esempio 2
Nell'esempio viene mostrato come sostituire qualsiasi occorrenza di 123 all'inizio di un numero con 456.
voice translation-rule 1
rule 1 /^123/ /456/
Questi sono esempi di regole per la traduzione vocale.
router#test voice translation-rule 1 123
Matched with rule 1
Original number: 123 Translated number: 456
router#test voice translation-rule 1 1234
Matched with rule 1
Original number: 1234 Translated number: 4564
router#test voice translation-rule 1 6123
6123 Didn't match with any of rules
Esempio 3
Se si desidera ottenere solo la corrispondenza di un numero esatto, specificare sia l'indicatore del numero iniziale che quello finale:
voice translation-rule 1
rule 1 /^123$/ /456/
router#test voice translation-rule 1 123
Matched with rule 1
Original number: 123 Translated number: 456
router#test voice translation-rule 1 1234
1234 Didn't match with any of rules
router#test voice translation-rule 1 6123
6123 Didn't match with any of rules
Criteri di ricerca con caratteri jolly
In queste tabelle vengono definite le combinazioni di caratteri jolly e caratteri jolly e vengono illustrati alcuni esempi.
Carattere jolly |
Definizione |
. |
Qualsiasi cifra singola |
Da 0 a 9,*,# |
Qualsiasi carattere specifico |
[0-9] |
Qualsiasi intervallo o sequenza di caratteri |
* |
Modifier: nessuna o più occorrenze |
+ |
Modificatore: trova una o più occorrenze |
? |
Modificatore: nessuna o una occorrenza |
Combinazione di caratteri jolly |
Definizione |
.* |
Qualsiasi cifra seguita da nessuna o più occorrenze. Questo include null o qualsiasi altra cifra. |
.+ |
Qualsiasi cifra seguita da nessuna o più occorrenze. Questo include null o qualsiasi altra cifra. |
^$ |
Nessuna cifra, Null |
Esempio 1
In questo esempio viene sostituito qualsiasi numero a cinque cifre che inizia con 40 con il numero 666000.
voice translation-rule 1
rule 1 /^40.../ /6666000/
router#test voice translation-rule 1 40123
Matched with rule 1
Original number: 40123 Translated number: 6666000
Esempio 2
In questo esempio tutti i numeri vengono sostituiti con 5554000.
voice translation-rule 2
rule 1 /.*/ /5554000/
router#test voice translation-rule 2 123
Matched with rule 1
Original number: 123 Translated number: 5554000
router#test voice translation-rule 2 86573
Matched with rule 1
Original number: 86573 Translated number: 5554000
router#test voice translation-rule 2 ""
Matched with rule 1
Original number: Translated number: 5554000
Esempio 3
In questo esempio tutti i numeri, tranne null, vengono sostituiti con 5554000.
voice translation-rule 2
rule 1 /.+/ /5554000/
router#test voice translation-rule 2 123
Matched with rule 1
Original number: 123 Translated number: 5554000
router#test voice translation-rule 2 ""
Didn't match with any of rules
Esempio 4
In questo esempio qualsiasi numero che inizia con una combinazione di zeri (0, 00 e così via) viene sostituito con 909.
voice translation-rule 5
rule 1 /^0+/ /909/
router#test voice translation-rule 5 0123456
Matched with rule 1
Original number: 0123456 Translated number: 909123456
router#test voice translation-rule 5 00123456
Matched with rule 1
Original number: 00123456 Translated number: 909123456
router#test voice translation-rule 5 000123456
Matched with rule 1
Original number: 000123456 Translated number: 909123456
router#test voice translation-rule 5 123456
123456 Didn't match with any of rules
Sezione numerica
È possibile utilizzare la sezione numerica quando è necessario copiare parti di un numero corrispondente nel numero di sostituzione. Il numero corrispondente viene suddiviso in set che è possibile mantenere o ignorare.
Carattere |
Descrizione |
\ |
Nel pattern di corrispondenza, indica dove suddividere il numero. |
\ |
Nel pattern di sostituzione, indica dove copiare gli insiemi da mantenere. |
( ) |
Indica gli insiemi da mantenere nel numero corrispondente. |
Utilizzo caratteri |
Descrizione |
(a\) |
Mantieni espressione a. |
b\ |
Ignora espressione b. |
\1 |
Copiare il primo set nel numero di sostituzione. |
Esempio generico
In questo esempio viene fornita una spiegazione generale.
/ (x\) y\ (z\) / /w\1\2/
Dividere il numero corrispondente in tre set di x, y e z. La barra rovesciata (\) indica le posizioni in cui suddividere il numero. Le parentesi quadre () indicano gli insiemi che si desidera riutilizzare nel pattern di sostituzione. Rappresenta cifre aggiuntive da inserire nel numero di sostituzione.
Il numero di sostituzione è un numero concatenato: wxz.
Esempio correlato
In questo esempio vengono forniti ulteriori dettagli:
voice translation-rule 1
rule 1 /^\(12\)3\(45\)$/ /6\1\2/
-
Serie 1: 12
-
Set 2: 45
-
Ignora: 3
router#test voice translation-rule 1 12345
Matched with rule 1
Original number: 12345 Translated number: 61245
Tipo di numero e piano
È possibile limitare le corrispondenze a un numero o a un tipo di piano specifico. È inoltre possibile modificare il piano o il tipo di sostituzione.
Esempio 1
In questo esempio, se un numero inizia con 4 e il tipo è nazionale, la regola aggiunge 90 come prefisso. Se il tipo è internazionale, la regola aggiunge 900 come prefisso.
voice translation-rule 7
rule 1 /^4/ /904/ type national national
rule 2 /^4/ /9004/ type international international
router#test voice translation-rule 7 493456567 type national
Matched with rule 1
Original number: 493456567 Translated number: 90493456567
Original number type: national Translated number type: national
Original number plan: none Translated number plan: none
router#test voice translation-rule 7 493456567 type international
Matched with rule 2
Original number: 493456567 Translated number: 900493456567
Original number type: international Translated number type: international
Original number plan: none Translated number plan: none
Ciò è utile quando le compagnie telefoniche (società di telecomunicazioni) rimuovono i codici di accesso ai numeri nazionali e internazionali. È possibile aggiungere il prefisso corretto utilizzando come base il tipo di numero.
Esempio 2
In questo esempio vengono modificati il tipo di numero e il piano.
voice translation-rule 8
rule 1 /^2\(...$\)/ /01779345\1/ type unknown national plan unknown isdn
Questa regola consente di trovare qualsiasi numero a quattro cifre che inizia con 2. La regola rimuove il 2, aggiunge il numero 01779345 come prefisso e imposta il piano su isdn e il tipo su national.
router#test voice translation-rule 8 2001 type unknown plan unknown
Matched with rule 1
Original number: 2001 Translated number: 01779345001
Original number type: unknown Translated number type: national
Original number plan: unknown Translated number plan: isdn
Rifiuta chiamate
Utilizzare refjectkeyword per rifiutare le chiamate corrispondenti. In questo esempio vengono rifiutate tutte le chiamate che iniziano con 234"
rule 1 reject /^234/
router#test voice translation-rule 10 1234
1234 Didn't match with any of rules
router#test voice translation-rule 10 2345
blocked on rule 1
Applica regole
Le regole di conversione vocale vengono applicate ai profili di conversione vocale. Questi profili vengono quindi applicati ai peer di composizione o alle porte vocali. I profili possono essere applicati ai dial peer VoIP o POTS o alle porte vocali e possono essere applicati alle chiamate in entrata o in uscita. Un profilo può convertire numeri chiamati, chiamanti o reindirizzati.
voice translation-rule 3
rule 1 /123/ /456/
voice translation-profile profile1
translate calling 3
dial-peer voice 10 pots
translation-profile outgoing profile1
Ulteriori esempi
Tronca i numeri fino alle ultime due cifre
rule 1 /^.*\(..\)/ /\1/
Si tratta di un numero diviso in un'istruzione set e in un'istruzione ignorata.
L'istruzione replacement specifica Set 1. Questa regola copia le ultime due cifre del numero.
router#test voice translation-rule 9 12345
Matched with rule 1
Original number: 12345 Translated number: 45
router#test voice translation-rule 9 123456
Matched with rule 1
Original number: 123456 Translated number: 56
Rimuovere le cifre indesiderate in un numero
Questo esempio è utile perché è noto che alcuni numeri di telefono inseriscono trattini nei numeri dei partecipanti chiamanti. Poiché ciò è contrario agli standard, il numero del chiamante viene ignorato. Il Telco invia i numeri di chiamata in due formati, con un trattino e talvolta con due. Nella regola di conversione vocale sono necessarie due regole. Inoltre, il primo formato può avere numeri di cinque o sei cifre dopo il trattino. È possibile soddisfare entrambe queste condizioni con una regola con il carattere '?' (nessuna o una occorrenza).
Caratteri speciali:
-
Il carattere trattino viene utilizzato per indicare un intervallo in uno schema di corrispondenza, ad esempio [0-9]. Per indicare in questa regola che si desidera trovare una corrispondenza con il carattere trattino, è necessario utilizzare il carattere '\' per eliminarne il significato. Ciò è dovuto al fatto che il trattino è un carattere speciale. I caratteri '\-' significano il trattino. La fine '\' indica che il numero è suddiviso in porzioni.
-
Se si digita?direttamente, Cisco IOS® considera una richiesta di assistenza. È necessario digitare Control-Vthen?.
voice translation-rule 12
rule 1 /^\(01...\)\-\(......?$\)/ /\1\2/
rule 2 /^\(0[12]..\)\-\(...\)\-\(....$\)/ /\1\2\3/
Regola 1: Il numero viene suddiviso in tre sequenze, con due insiemi da conservare.
-
Set 1: 01...
Ignora: -
Set 2: ....... o .....
Regola 2: Il numero viene suddiviso in cinque sequenze con tre insiemi da conservare.
-
Set 1: 0[12].
Ignora: -
Set 2: ...
Ignora: -
Set 3: ...
router#test voice translation-rule 12 "01208-333444"
Matched with rule 1
Original number: 01208-333444 Translated number: 01208333444
router#test voice translation-rule 12 "01208-72345"
Matched with rule 1
Original number: 01208-72345 Translated number: 0120872345
router#test voice translation-rule 12 "0161-333-4444"
Matched with rule 2
Original number: 0161-333-4444 Translated number: 01613334444
router#test voice translation-rule 12 "0208-123-4567"
Matched with rule 2
Original number: 0208-123-4567 Translated number: 02081234567
Informazioni correlate