Este documento descreve como determinar e definir regras de conversão de voz.
Não existem requisitos específicos para este documento.
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
A sintaxe usada neste documento é:
| Sintaxe |
Definição |
| rule precedence /match pattern/ /replacement pattern/ |
/ — /delimita o número inteiro. |
| rule precedence /match pattern/ /replacement pattern/ |
/ — /delimita o número inteiro. |
Este exemplo substitui a primeira ocorrência do número 123 por 456.
voice translation-rule 1 rule 1 /123/ /456/
Estes são exemplos de regras de conversão de voz de teste:
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
Neste exemplo, a regra corresponde à primeira ocorrência do número que contém o padrão 123 em qualquer lugar do número. Especificamente, você pode usar os indicadores de início e fim de número. Estes exemplos mostram isso.
Este exemplo mostra como substituir qualquer ocorrência de 123 no início de um número por 456.
voice translation-rule 1 rule 1 /^123/ /456/
Estes são exemplos de regras de conversão de voz de teste.
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
Se quiser apenas a correspondência de um número exato, especifique os indicadores de número inicial e final:
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
Essas tabelas definem combinações de curinga e curinga e mostram alguns exemplos.
| Curinga |
Definição |
| . |
Qualquer dígito único |
| 0 a 9,*,# |
Qualquer caractere específico |
| [0-9] |
Qualquer intervalo ou sequência de caracteres |
| * |
Modificador — corresponde a nenhuma ou mais ocorrências |
| + |
Modificador — corresponde a uma ou mais ocorrências |
| ? |
Modificador — corresponde a nenhuma ou a uma ocorrência |
| Combinação de Curinga |
Definição |
| .* |
Qualquer caractere único seguido por nenhuma ou mais ocorrências. Isso significa que ele pode corresponder a uma string vazia, um caractere único ou uma sequência de muitos caracteres (exceto pelo caractere de nova linha, por padrão). |
| .+ |
Qualquer caractere único seguido por uma ou mais ocorrências. Exceto para caractere de nova linha, por padrão. |
| ^$ |
Sem dígitos, nulo |
Este exemplo substitui qualquer número de cinco dígitos que comece com 40 pelo número 6666000.
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
Este exemplo substitui todos os números por 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
Este exemplo substitui todos os números, exceto nulo, por 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
Este exemplo substitui qualquer número que comece com uma combinação de zeros (0, 00 e assim por diante) por 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
Você pode usar a fatia numérica quando precisar copiar partes de um número correspondente para o número de substituição. Divida o número correspondente em conjuntos que você pode manter ou ignorar.
| Caractere |
Descrição |
| \ |
No padrão de correspondência, indica onde dividir o número. |
| \ |
No padrão de substituição, indica onde copiar os conjuntos a serem mantidos. |
| ( ) |
Indica quais conjuntos no número correspondente devem ser mantidos. |
| Uso de caracteres |
Descrição |
| (a\) |
Mantenha a expressão a. |
| b\ |
Ignore a expressão b. |
| \1 |
Copie o primeiro conjunto no número de substituição. |
Este exemplo fornece uma explicação geral.
/ (x\) y\ (z\) / /w\1\2/
Divida o número correspondente em três conjuntos de x, y e z. A barra invertida (\) indica os locais para dividir o número. Os colchetes () indicam quais conjuntos você deseja reutilizar no padrão de substituição. O valor representa dígitos adicionais a serem inseridos no número de substituição.
O conjunto 1 se torna expressionx.
O conjunto 2 se torna expressionz.
Expressão ignorada.
O número substituto é um número concatenado: wxz.
Este exemplo fornece mais detalhes:
voice translation-rule 1 rule 1 /^\(12\)3\(45\)$/ /6\1\2/
Conjunto 1: 12
Conjunto 2: 45
Ignorar: 3
router#test voice translation-rule 1 12345 Matched with rule 1 Original number: 12345 Translated number: 61245
Você pode restringir as correspondências a determinado número ou tipos de plano. Além disso, você pode alterar o tipo ou plano de substituição.
Neste exemplo, se um número começa com 4 e o tipo é nacional, a regra adiciona 90 como um prefixo. Se o tipo for internacional, a regra adicionará 900 como o prefixo.
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
Isso é útil quando as empresas de telefonia (Telcos) removem códigos de acesso em números nacionais e internacionais. Você pode adicionar o prefixo correto com o tipo de número como base.
Este exemplo altera o tipo de número e o plano.
voice translation-rule 8 rule 1 /^2\(...$\)/ /01779345\1/ type unknown national plan unknown isdn
Essa regra corresponde a qualquer número de quatro dígitos que comece com 2. A regra remove o 2, adiciona o número 01779345 como um prefixo e define o plano como isdn e o tipo como 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
Use a palavra-chave ject para rejeitar chamadas correspondentes. Este exemplo rejeita todas as chamadas que começam com 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
As regras de tradução de voz são aplicadas aos perfis de tradução de voz. Esses perfis são então aplicados a peers de discagem ou portas de voz. Os perfis podem ser aplicados a peers de discagem VoIP ou POTS ou portas de voz e podem ser aplicados a chamadas de entrada ou de saída. Um perfil pode converter números Chamados, Chamando ou Redirecionando.
voice translation-rule 3 rule 1 /123/ /456/ voice translation-profile profile1 translate calling 3 dial-peer voice 10 pots translation-profile outgoing profile1
rule 1 /^.*\(..\)/ /\1/
Este é um número dividido em um conjunto e uma instrução ignorada.
Ignorado: ^.* Nenhum ou mais dígitos do início do número
Conjunto 1: ... dois dígitos
A instrução de substituição especifica o Conjunto 1. Esta regra copia os dois últimos dígitos do número.
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
Este exemplo é útil porque certas Telcos são conhecidas por inserir hífens nos números da parte chamadora. Como isso é contra os padrões, faz com que o número da parte chamadora seja ignorado. A Telco envia os números de chamada em dois formatos, com um hífen e, às vezes, com dois. Duas regras são necessárias na regra de conversão de voz. Além disso, o primeiro formato pode ter cinco ou seis números de dígitos após o hífen. Você pode fazer a correspondência dessas duas condições com uma regra com o '?' (não corresponde a nenhuma ocorrência ou a uma ocorrência).
Caracteres especiais:
O caractere de hífen é usado para indicar um intervalo em um padrão de correspondência, por exemplo [0-9]. Para indicar nesta regra que você deseja corresponder no caractere de hífen, é necessário usar o caractere '\' para escapar de seu significado. Isso ocorre porque o caractere de hífen é um caractere especial. Os caracteres '\-' realmente significam hífen. O final '\' indica que o número está dividido aqui.
Se você digitar?diretamente, o Cisco IOS® considerará que é uma solicitação de ajuda. Você deve digitarControl-Vthen?.
voice translation-rule 12 rule 1 /^\(01...\)\-\(......?$\)/ /\1\2/ rule 2 /^\(0[12]..\)\-\(...\)\-\(....$\)/ /\1\2\3/
Regra 1: O número é dividido em três sequências, com dois conjuntos a serem mantidos.
Conjunto 1: 01...
Ignorar: -
Conjunto 2: ......or.....
Regra 2: O número é dividido em cinco sequências com três conjuntos a serem mantidos.
Conjunto 1: 0[12].
Ignorar: -
Conjunto 2: ...
Ignorar: -
Conjunto 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
| Revisão | Data de publicação | Comentários |
|---|---|---|
4.0 |
29-May-2026
|
Recertificação |
2.0 |
13-Nov-2023
|
Atualizado para Formatação e Ortografia. |
1.0 |
10-Aug-2004
|
Versão inicial |