Introdução
Este documento descreve como determinar e definir regras de conversão de voz.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
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.
Conventions
Consulte Convenções de Dicas Técnicas da Cisco para obter informações sobre convenções de documentos.
Informações de Apoio
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. |
Correspondência e substituição simples
Exemplo 1
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.
Exemplo 2
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
Exemplo 3
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
Correspondência de Padrões com Curingas
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 dígito seguido por nenhuma ou mais ocorrências. Isso inclui nulo ou qualquer outro dígito. |
.+ |
Qualquer dígito seguido por nenhuma ou mais ocorrências. Isso inclui nulo ou qualquer outro dígito. |
^$ |
Sem dígitos, nulo |
Exemplo 1
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
Exemplo 2
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
Exemplo 3
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
Exemplo 4
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
Fatia Numérica
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. |
Exemplo Genérico
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 número substituto é um número concatenado: wxz.
Exemplo relacionado
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
Tipo de Número e Plano
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.
Exemplo 1
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.
Exemplo 2
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
Esta 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
Rejeitar chamadas
Use a palavra-chave jectpara 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
Aplicar regras
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
Exemplos Adicionais
Truncar números até os dois últimos dígitos
rule 1 /^.*\(..\)/ /\1/
Este é um número dividido em um conjunto e uma instrução ignorada.
O demonstrativo 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
Remover dígitos indesejados em um número
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 corresponder essas duas condições com uma regra com o caractere '?' (corresponder a nenhuma 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.
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
Informações Relacionadas