Pular para o conteúdo principal

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

Fluxo de Processamento de Chamadas

Serviços Relacionados

Monitoramento


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ísPaísFormatos SuportadosPrefixo E.164
:AUAustrália0NSN (10 dígitos), SN (8 dígitos), E.16461
:USEstados UnidosNPANXXXXXX (10 dígitos), 1+NPANXXXXXX, E.1641
:PFPolinésia FrancesaLocal (6 dígitos), Nacional (8 dígitos), E.164689

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ávelValorDescrição
destination_numberformato E.164Número de destino normalizado
tas_destination_numberformato E.164Igual a destination_number (ambos definidos para compatibilidade)
effective_caller_id_numberformato E.164Nú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):

  1. Navegue até /translate no Painel de Controle
  2. Selecione o código do país no dropdown
  3. Insira o número de teste em qualquer formato
  4. Veja a saída traduzida em E.164
  5. 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"

  1. Verifique o formato do número traduzido:

    • Use a ferramenta /translate para 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
  2. Verifique a pesquisa Sh:

    • O número traduzido é usado para a consulta Sh
    • Use /sh_test com o número traduzido
    • Verifique se o assinante existe com aquele MSISDN
  3. Verifique as variáveis do dialplan:

    • Revise os logs para o valor de destination_number
    • Confirme se a tradução ocorreu antes do dialplan

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:

  • +61403123456 ou 61403123456 → Reconhecido
  • 0403123456 na 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

  1. Use o Código do País Correto:

    • Defina country_code para corresponder à região da sua implantação
    • Teste minuciosamente antes da produção
  2. Configure o Código de Área Local Apropriado:

    • localAreaCode deve corresponder ao padrão da sua rede
    • Usado para números curtos sem código de área
  3. 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)
  4. 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
  5. 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