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 Acontece a Tradução

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 número de destino (parte chamada) Para Chamadas MO: Traduzir ambos os números de origem e 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 a 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ália61900011
:AWAruba2977Nenhum00
:AXIlhas Åland3589-10000Delegas 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 Bouvet478Nenhum00Delegas para NO
:BWBotsuana2678Nenhum00
:BYBielorrússia37598810
:BZBelize5017Nenhum00
:CACanadá110Nenhum011NANP, delega para os EUA
:CCIlhas Cocos61900011Delegas para AU
:CDCongo DR2439000
: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çao5997-8Nenhum00
:CXIlha Christmas61900011Delegas 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 Ocidental2129000Delegas 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
:GGGuernsey4410000Delegas para GB
:GHGana2339000
:GIGibraltar3508Nenhum00
:GLGroenlândia2996Nenhum00
:GMGâmbia2207Nenhum00
:GNGuiné2249Nenhum00
:GPGuadalupe5909000
:GQGuiné Equatorial2409Nenhum00
:GRGrécia3010Nenhum00
:GSGeórgia do Sul5005Nenhum00Delegas para FK
:GTGuatemala5028Nenhum00
:GUGuam110Nenhum011NANP, delega para os EUA
:GWGuiné-Bissau2457Nenhum00
:GYGuiana5927Nenhum001
:HKHong Kong8528Nenhum001
:HMIlhas Heard e McDonald61900011Delegas para AU
:HNHonduras5048Nenhum00
:HRCroácia3859000
:HTHaiti5098Nenhum00
:HUHungria3690600
:IDIndonésia6210-120001
:IEIrlanda3539000
:ILIsrael9729000
:IMIlha de Man4410000Delegas para GB
:INÍndia9110000
:IOTerritório Britânico do Oceano Índico2467Nenhum00
:IQIraque96410000
:IRIrã9810000
:ISIslândia3547Nenhum00
:ITItália399-10Nenhum000 inicial mantido para linhas fixas
:JEJersey4410000Delegas 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-9000Delegas 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
:SGCingapura658Nenhum001
:SHSanta Helena2904-5Nenhum00
:SIEslovênia3868000
:SJSvalbard478Nenhum00Delegas 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 básicas do NANP
:UYUruguai5988000
:UZUzbequistão9989Nenhum810
:VACidade do Vaticano399-10Nenhum00Delegas 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
:YTMayotte2629000Delegas para RE
:ZAÁfrica do Sul279000
:ZMZâmbia2609000
:ZWZimbábue2639000

Comportamentos Especiais de Tradução

1. Remoção de Prefixos de Bloqueio CLI

Antes da tradução de formato, os prefixos de bloqueio 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 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 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 CLI → removidos e traduzidos
  • Números com formatação (espaços, traços) → E.164 limpa

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 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 (número local de 8 dígitos)
# Saída: 6161712345678 (incorreto - código de área duplo)
# Correção: Defina o código de área local 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 de código do país errado → 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
  • O número de origem é usado 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 à sua região de implantação
    • Teste minuciosamente antes da produção
  2. Configure o Código de Área Local Apropriado:

    • localAreaCode deve corresponder ao padrão de área 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ço especial (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úmero inesperados
    • Valide a saída E.164 em relação à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