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 a 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 a 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 (ex: :AU, :US, :PF)
  • localAreaCode: Código de área precedido aos números locais curtos

Códigos de País Suportados​

O TAS inclui lógica de tradução para 248 países e territórios, cobrindo todos os códigos ISO 3166-1 alpha-2 com serviço telefônico.

CódigoPaís/TerritórioPrefixo E.164Comprimento NacionalTroncoIDDNotas
:ACIlha da Ascensão2475Nenhum00
:ADAndorra3766-9Nenhum00
:AEEmirados Árabes Unidos9719000
:AFAfeganistão939000
:AGAntígua e Barbuda110Nenhum011NANP, delega para os EUA
:AIAnguila110Nenhum011NANP, delega para os EUA
:ALAlbânia3559000
:AMArmênia3748000
:AOAngola2449Nenhum00
:ARArgentina5410000
:ASSamoa Americana110Nenhum011NANP, delega para os EUA
:ATÁustria4310-13000
:AUAustrália6190001113 xx xx (6+ dígitos) e 1300/1800 xxx xxx (10+ dígitos) recebem 61 como prefixo e são cortados para 6/10 dígitos; 190x premium fica sem prefixo
:AWAruba2977Nenhum00
:AXIlhas Aland3589-10000Delegam para FI
:AZAzerbaijão9949000
:BABósnia e Herzegovina3878000
:BBBarbados110Nenhum011NANP, delega para os EUA
:BDBangladesh88010000
:BEBélgica328-9000
:BFBurkina Faso2268Nenhum00
:BGBulgária3599000
:BHBahrein9738Nenhum00
:BIBurundi2578Nenhum00
:BJBenin2298Nenhum00
:BLSão Bartolomeu5909000
:BMBermudas110Nenhum011NANP, delega para os EUA
:BNBrunei6737Nenhum00
:BOBolívia5918Nenhum00
:BQBonaire/Sint Eustatius/Saba5997Nenhum00
:BRBrasil5510-11000
:BSBahamas110Nenhum011NANP, delega para os EUA
:BTButão9758Nenhum00
:BVIlha Bouvet478Nenhum00Delega para NO
:BWBotsuana2678Nenhum00
:BYBielorrússia37598810
:BZBelize5017Nenhum00
:CACanadá110Nenhum011NANP, delega para os EUA
:CCIlhas Cocos61900011Delegam para AU
:CDRepública Democrática do Congo2439000
:CFRepública Centro-Africana2368Nenhum00
:CGRepública do Congo2429Nenhum00
:CHSuíça419000
:CICosta do Marfim22510Nenhum00
:CKIlhas Cook6825Nenhum00
:CLChile569000
:CMCamarões2379Nenhum00
:CNChina8611Nenhum00
:COColômbia5710000
:CRCosta Rica5068Nenhum00
:CUCuba5380119
:CVCabo Verde2387Nenhum00
:CWCuraçau5997-8Nenhum00
:CXIlha Christmas61900011Delegam para AU
:CYChipre3578Nenhum00
:CZRepública Tcheca4209Nenhum00
:DEAlemanha4910-12000
:DJDjibuti2538Nenhum00
:DKDinamarca458Nenhum00
:DMDominica110Nenhum011NANP, delega para os EUA
:DORepública Dominicana110Nenhum011NANP, delega para os EUA
:DZArgélia2139000
:ECEquador5939000
:EEEstônia3727-8Nenhum00
:EGEgito2010000
:EHSaara Ocidental2129000Delegam para MA
:EREritreia2917000
:ESEspanha349Nenhum00
:ETEtiópia2519000
:FIFinlândia3589-10000
:FJFiji6797Nenhum00
:FKIlhas Malvinas5005Nenhum00
:FMMicronésia6917Nenhum011
:FOIlhas Faroe2986Nenhum00
:FRFrança339000
:GAGabão2417Nenhum00
:GBReino Unido4410000
:GDGranada110Nenhum011NANP, delega para os EUA
:GEGeórgia9959000
:GFGuiana Francesa5949000
:GGGuernsey4410000Delegam para GB
:GHGana2339000
:GIGibraltar3508Nenhum00
:GLGroenlândia2996Nenhum00
:GMGâmbia2207Nenhum00
:GNGuiné2249Nenhum00
:GPGuadalupe5909000
:GQGuiné Equatorial2409Nenhum00
:GRGrécia3010Nenhum00
:GSGeórgia do Sul5005Nenhum00Delegam para FK
:GTGuatemala5028Nenhum00
:GUGuam110Nenhum011NANP, delega para os EUA
:GWGuiné-Bissau2457Nenhum00
:GYGuiana5927Nenhum001
:HKHong Kong8528Nenhum001
:HMIlhas Heard e McDonald61900011Delegam para AU
:HNHonduras5048Nenhum00
:HRCroácia3859000
:HTHaiti5098Nenhum00
:HUHungria3690600
:IDIndonésia6210-120001
:IEIrlanda3539000
:ILIsrael9729000
:IMIlha de Man4410000Delegam para GB
:INÍndia9110000
:IOTerritório Britânico do Oceano Índico2467Nenhum00
:IQIraque96410000
:IRIrã9810000
:ISIslândia3547Nenhum00
:ITItália399-10Nenhum000 inicial mantido para linhas fixas
:JEJersey4410000Delegam para GB
:JMJamaica110Nenhum011NANP, delega para os EUA
:JOJordânia9629000
:JPJapão81100010
:KEQuênia25490000
:KGQuirguistão9969000
:KHCamboja8558-90001
:KIQuiribati6865Nenhum00
:KMComores2697Nenhum00
:KNSão Cristóvão e Nevis110Nenhum011NANP, delega para os EUA
:KPCoreia do Norte85010000
:KRCoreia do Sul829-100001
:KWKuwait9658Nenhum00
:KYIlhas Cayman110Nenhum011NANP, delega para os EUA
:KZCazaquistão7108810
:LALaos85610000
:LBLíbano9618000
:LCSanta Lúcia110Nenhum011NANP, delega para os EUA
:LILiechtenstein4237Nenhum00
:LKSri Lanka949000
:LRLibéria2317-9Nenhum00
:LSLesoto2668Nenhum00
:LTLituânia3708800
:LULuxemburgo3529Nenhum00
:LVLetônia3718Nenhum00
:LYLíbia2189000
:MAMarrocos2129000
:MCMônaco3778-9Nenhum00
:MDMoldávia3738000
:MEMontenegro3828000
:MFSão Martinho5909000
:MGMadagascar2619000
:MHIlhas Marshall6927Nenhum011
:MKMacedônia do Norte3898000
:MLMali2238Nenhum00
:MMMianmar958-10000
:MNMongólia9768Nenhum001
:MOMacau8538Nenhum00
:MPIlhas Marianas do Norte110Nenhum011NANP, delega para os EUA
:MQMartinica5969000
:MRMauritânia2228Nenhum00
:MSMontserrat110Nenhum011NANP, delega para os EUA
:MTMalta3568Nenhum00
:MUMaurício2308Nenhum00
:MVMaldivas9607Nenhum00
:MWMaláui2659000
:MXMéxico5210Nenhum00
:MYMalásia609-10000
:MZMoçambique2589Nenhum00
:NANamíbia2649000
:NCNova Caledônia6876Nenhum00
:NENíger2278Nenhum00
:NFIlha Norfolk6725-6Nenhum00
:NGNigéria234100009
:NINicarágua5058Nenhum00
:NLPaíses Baixos319000
:NONoruega478Nenhum00
:NPNepal97710000
:NRNauru6747Nenhum00
:NUNiue6834Nenhum00
:NZNova Zelândia648-9000
:OMOmã9688Nenhum00
:PAPanamá5078Nenhum00
:PEPeru519000
:PFPolinésia Francesa6898Nenhum00
:PGPapua Nova Guiné6758Nenhum05
:PHFilipinas6310000
:PKPaquistão9210000
:PLPolônia489Nenhum00
:PMSão Pedro e Miquelon5086Nenhum00
:PNIlhas Pitcairn648-9000Delegam para NZ
:PRPorto Rico110Nenhum011NANP, delega para os EUA
:PSPalestina9709000
:PTPortugal3519Nenhum00
:PWPalau6807Nenhum011
:PYParaguai5959000
:QACatar9748Nenhum00
:REReunião2629000
:RORomênia409000
:RSSérvia3819000
:RURússia7108810
:RWRuanda2509000
:SAArábia Saudita9669000
:SBIlhas Salomão6775-7Nenhum00
:SCSeicheles2487Nenhum00
:SDSudão2499000
:SESuécia469000
:SGSingapura658Nenhum001
:SHSanta Helena2904-5Nenhum00
:SIEslovênia3868000
:SJSvalbard478Nenhum00Delegam para NO
:SKEslováquia4219000
:SLSerra Leoa2328000
:SMSan Marino37810Nenhum00
:SNSenegal2219Nenhum00
:SOSomália2528Nenhum00
:SRSuriname5977Nenhum00
:SSSudão do Sul2119000
:STSão Tomé e Príncipe2397Nenhum00
:SVEl Salvador5038Nenhum00
:SXSint Maarten17217Nenhum00
:SYSíria9639000
:SZEswatini2688Nenhum00
:TCIlhas Turks e Caicos110Nenhum011NANP, delega para os EUA
:TDChade2358Nenhum00
:TGTogo2288Nenhum00
:THTailândia6690001
:TJTajiquistão9929Nenhum810
:TKTokelau6904Nenhum00
:TLTimor-Leste6707-8Nenhum00
:TMTurcomenistão99388810
:TNTunísia2168Nenhum00
:TOTonga6765-7Nenhum00
:TRTurquia9010000
:TTTrinidad e Tobago110Nenhum011NANP, delega para os EUA
:TVTuvalu6885Nenhum00
:TWTaiwan88690002
:TZTanzânia2559000
:UAUcrânia3809000
:UGUganda2569000
:USEstados Unidos110Nenhum011Regras base NANP
:UYUruguai5988000
:UZUzbequistão9989Nenhum810
:VACidade do Vaticano399-10Nenhum00Delegam para IT
:VCSão Vicente e Granadinas110Nenhum011NANP, delega para os EUA
:VEVenezuela5810000
:VGIlhas Virgens Britânicas110Nenhum011NANP, delega para os EUA
:VIIlhas Virgens dos EUA110Nenhum011NANP, delega para os EUA
:VNVietnã849-10000
:VUVanuatu6785-7Nenhum00
:WFWallis e Futuna6816Nenhum00
:WSSamoa6855-7Nenhum0
:XKKosovo3838000
:YEIémen9679000
:YTMayotte2629000Delegam para RE
:ZAÁfrica do Sul279000
:ZMZâmbia2609000
:ZWZimbábue2639000

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 Numéricos

Todos os caracteres não numéricos (exceto +) são removidos:

Entrada:  +61 (403) 123-456
Passo 1: Remover formatação → +61403123456
Passo 2: Traduzir → 61403123456

4. Truncamento de Overdial (números não geográficos da AU)

Números australianos 13 e 1300/1800 são frequentemente discados como palavras com mais dígitos do que o número possui; a rede ignora os dígitos extras, assim como a tradução:

Entrada:  18007383773 (1800 REVERSE)
Passo 1: Reconhecer número 1800 → manter os primeiros 10 dígitos
Passo 2: Traduzir → 611800738377

Variáveis Definidas Após a Tradução​

VariávelValorDescrição
número_destinoformato E.164Número de destino normalizado
número_destino_tasformato E.164Igual a número_destino (ambos definidos para compatibilidade)
número_id_chamador_efetivoformato 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 Interface Web (/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 E.164 traduzida
  5. Teste vários 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
  • Números não geográficos nacionais (AU 13/1300/1800) → E.164

Soluç��o de Problemas na Tradução de Números​

Problema: Chamadas falhando com "NÚMERO_NÃO_ALOCADO"

  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 esse MSISDN
  3. Verifique as variáveis do dialplan:

    • Revise os logs para o valor de número_destino
    • 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 (número local de 8 dígitos)
# Saída: 6161712345678 (incorreto - código de área duplicado)
# Correção: Defina o código de área correto para sua implementaçã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):

  • Número de destino (parte chamada) traduzido
  • Número de origem (parte chamadora) também traduzido
  • Fonte utilizada para a pesquisa Sh do assinante chamador
  • Ambos os números normalizados para registro consistente/CDR

Melhores Práticas​

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

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

    • localAreaCode deve corresponder à área padrão da sua rede
    • Usado para números curtos sem código de área
  3. Teste Todos os Formatos de Número:

    • Local (códigos curtos)
    • Nacional (formato 0NSN)
    • Internacional (formato +CC)
    • Números de serviços especiais (emergência, correio de voz)
  4. Monitore os Registros de Tradução:

    • Verifique erros de "Código de País Indefinido"
    • Fique atento a formatos de número inesperados
    • Valide a saída E.164 para garantir que corresponda à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