Tradução de Números
📖 Voltar à Documentação Principal
A tradução de números converte números de telefone entre diferentes formatos para garantir uma formatação consistente E.164 em todo o sistema.
Documentação Relacionada
Documentação Principal
- 📋 README Principal - Visão geral e início rápido
- 🔧 Guia de Configuração - Configuração de tradução de números (
number_translate) - 🔧 Guia de Operações - Teste de tradução de números no Painel de Controle
Fluxo de Processamento de Chamadas
- 🔀 Configuração do Dialplan - Usando números traduzidos no dialplan (a tradução acontece primeiro)
- 👥 Interface Sh - A pesquisa Sh usa números traduzidos
- 💳 Cobrança Online - OCS recebe números traduzidos
- 📡 SS7 MAP - Consultas HLR usam números traduzidos
Serviços Relacionados
- ⚙️ Serviços Suplementares - Remoção de prefixos de bloqueio de CLI durante a tradução
- 📞 Correio de Voz - Números de correio de voz na tradução
Monitoramento
- 📊 Referência de Métricas - Métricas de tradução de números
Tradução de Números
A tradução de números converte números de telefone entre diferentes formatos (local, nacional, internacional) para garantir uma formatação consistente E.164 em todo o sistema.
O que é Tradução de Números?
A tradução de números normaliza números de telefone para o formato E.164 (padrão internacional) antes do processamento da chamada. Isso garante:
- Numeração consistente em todo o sistema
- Roteamento adequado para destinos on-net e off-net
- Compatibilidade com troncos SIP internacionais e redes IMS
Formato E.164: [Código do País][Número Nacional] (sem prefixo +, sem espaços)
- Exemplo:
61403123456(móvel da Austrália) - Exemplo:
16505551234(número dos EUA)
Quando a Tradução Ocorre
A tradução acontece:
- Antes das pesquisas Sh
- Antes das pesquisas HLR
- Antes da autorização OCS
- Antes que o XML do dialplan seja gerado
Para Chamadas MT: Traduzir o número de destino (parte chamada) Para Chamadas MO: Traduzir tanto os números de origem quanto de destino
Configuração
config :tas,
number_translate: %{
country_code: :PF, # Código do país ISO 3166-1 alpha-2
localAreaCode: "617" # Código de área padrão para números curtos
}
Parâmetros:
country_code: Código do país ISO como átomo (por exemplo,:AU,:US,:PF)localAreaCode: Código de área precedido a números locais curtos
Códigos de País Suportados
O TAS inclui lógica de tradução para estes países:
| Código do País | País | Formatos Suportados | Prefixo E.164 |
|---|---|---|---|
:AU | Austrália | 0NSN (10 dígitos), SN (8 dígitos), E.164 | 61 |
:US | Estados Unidos | NPANXXXXXX (10 dígitos), 1+NPANXXXXXX, E.164 | 1 |
:PF | Polinésia Francesa | Local (6 dígitos), Nacional (8 dígitos), E.164 | 689 |
Adicionando Novos Códigos de País: Entre em contato com seu engenheiro de integração para adicionar suporte a novos países.
Comportamentos Especiais de Tradução
1. Remoção de Prefixos de Bloqueio de CLI
Antes da tradução de formato, os prefixos de bloqueio de CLI são removidos:
Entrada: *67555123456
Passo 1: Remover *67 → 555123456
Passo 2: Traduzir → 1555123456 (se EUA)
2. Remoção de Parâmetros SIP
Parâmetros após ponto e vírgula são removidos:
Entrada: 61403123456;npdi;rn=+61400000000
Passo 1: Remover ;npdi;rn=... → 61403123456
Passo 2: Traduzir → 61403123456
3. Remoção de Caracteres Não-Dígitos
Todos os caracteres não-dígitos (exceto +) são removidos:
Entrada: +61 (403) 123-456
Passo 1: Remover formatação → +61403123456
Passo 2: Traduzir → 61403123456
Variáveis Definidas Após a Tradução
| Variável | Valor | Descrição |
|---|---|---|
destination_number | formato E.164 | Número de destino normalizado |
tas_destination_number | formato E.164 | Igual a destination_number (ambos definidos para compatibilidade) |
effective_caller_id_number | formato E.164 | Número de origem normalizado (chamadas MO) |
O que Acontece Quando a Tradução Falha
Cenário: Código do País Indefinido
config :tas, number_translate: %{country_code: :XX} # Inválido
Resultado: {:error, "Código do País Indefinido"} - chamada rejeitada
Cenário: Formato de Número Inválido
Entrada: "abc123" (contém letras)
Passo 1: Remover não-dígitos → "123"
Passo 2: Muito curto, não pode corresponder a nenhum padrão
Resultado: Pode passar como está ou ser rejeitado com base na lógica do dialplan
Melhor Prática: Sempre valide o provisionamento de assinantes com números E.164 corretos no HSS.
Testando a Tradução de Números
Testador de Tradução da Web UI (/translate):
- Navegue até
/translateno Painel de Controle - Selecione o código do país no dropdown
- Insira o número de teste em qualquer formato
- Veja a saída traduzida em E.164
- Teste múltiplos formatos para validar
Cenários de Teste Comuns:
- Códigos curtos locais → E.164
- Formato nacional (0NSN) → E.164
- Formato internacional (+CC) → E.164
- Números com prefixos de CLI ��� removidos e traduzidos
- Números com formatação (espaços, traços) → E.164 limpa
Solucionando Problemas de Tradução de Números
Problema: Chamadas falhando com "UNALLOCATED_NUMBER"
-
Verifique o formato do número traduzido:
- Use a ferramenta
/translatepara testar o número - Verifique se a saída corresponde ao formato E.164 esperado
- Confirme se o código do país e o código de área estão corretos
- Use a ferramenta
-
Verifique a pesquisa Sh:
- O número traduzido é usado para a consulta Sh
- Use
/sh_testcom o número traduzido - Verifique se o assinante existe com aquele MSISDN
-
Verifique as variáveis do dialplan:
- Revise os logs para o valor de
destination_number - Confirme se a tradução ocorreu antes do dialplan
- Revise os logs para o valor de
Problema: Código de área errado aplicado
# Configuração
config :tas, number_translate: %{
country_code: :AU,
localAreaCode: "617" # Errado para sua região
}
# Entrada: 12345678 (local de 8 dígitos)
# Saída: 6161712345678 (incorreto - código de área duplicado)
# Correção: Defina o localAreaCode correto para sua implantação
Problema: Números internacionais não reconhecidos
Verifique se o número inclui o código do país:
- ✅
+61403123456ou61403123456→ Reconhecido - ❌
0403123456na configuração errada do código do país → Roteado incorretamente
Comportamento de Tradução MO vs MT
Chamadas MT (Mobile Terminated):
- Apenas o número de destino (parte chamada) é traduzido
- O número de origem (chamador) é passado como está do SIP
- O destino é usado para a pesquisa Sh do assinante chamado
Chamadas MO (Mobile Originating):
- O número de destino (parte chamada) é traduzido
- O número de origem (parte chamadora) também é traduzido
- A origem é usada para a pesquisa Sh do assinante chamador
- Ambos os números são normalizados para registro consistente/CDR
Melhores Práticas
-
Use o Código do País Correto:
- Defina
country_codepara corresponder à região da sua implantação - Teste minuciosamente antes da produção
- Defina
-
Configure o Código de Área Local Apropriado:
localAreaCodedeve corresponder ao padrão da sua rede- Usado para números curtos sem código de área
-
Teste Todos os Formatos de Números:
- Local (códigos curtos)
- Nacional (formato 0NSN)
- Internacional (formato +CC)
- Números de serviços especiais (emergência, correio de voz)
-
Monitore os Logs de Tradução:
- Verifique erros de "Código do País Indefinido"
- Fique atento a formatos de números inesperados
- Valide a saída E.164 para corresponder às expectativas
-
Documente Seu Plano de Numeração:
- Defina quais formatos os assinantes usarão
- Teste cada formato na ferramenta
/translate - Treine a equipe de operações sobre os formatos esperados