Formato de numero E.164: como SBCs normalizam numeros entre planos de discagem

Uma chamada falha na configuracao, ou o identificador de chamadas aparece errado, e quando voce analisa o trace encontra o problema: um lado enviou +14165551234, outro enviou 4165551234, e um terceiro enviou 0014165551234. Mesmo numero, tres formatos, e os dois sistemas tentando conectar a chamada nao conseguem concordar sobre qual esta correto. Essa e a realidade cotidiana do formato E.164. O padrao define uma unica forma canonica de escrever um numero de telefone internacional, mas as redes, PBXs e aplicacoes que trocam chamadas raramente enviam numeros nessa forma exata.
Neste artigo, vamos explicar o que um numero E.164 realmente e, por que os formatos divergem na producao e como um Controlador de Borda de Sessao (SBC) normaliza numeros entre planos de discagem incompativeis na borda do tronco.
O que o formato E.164 realmente e
E.164 e o plano de numeracao publica de telecomunicacoes internacional, definido pela Recomendacao ITU-T E.164. Ele atribui a cada numero de telefone na PSTN global uma unica representacao inequivoca, que e o que torna um numero discado em um pais alcancavel a partir de qualquer outro.
Um numero E.164 tem tres partes apos o + inicial. O Codigo de pais (CC) tem de um a tres digitos identificando o pais ou regiao, como 1 para o Plano de Numeracao Norte-Americano ou 44 para o Reino Unido. O Codigo de destino nacional (NDC) identifica uma operadora, regiao ou servico dentro desse pais, aproximadamente o que voce conhece como codigo de area. O Numero do assinante (SN) e a linha em si.
O numero completo, do codigo de pais ao numero do assinante, e limitado a 15 digitos. A forma canonica nao carrega espacos, hifens ou parenteses, entao +1 (416) 555-1234 e escrito +14165551234. Alguns exemplos mostram a segmentacao: o numero dos EUA +14165551234 e CC 1, NDC 416, SN 5551234; o numero do Reino Unido +442079460958 e CC 44, NDC 20, SN 79460958; o numero da Alemanha +498912345678 e CC 49, NDC 89, SN 12345678.
Um detalhe que confunde constantemente: o + inicial e uma convencao de notacao que significa “o prefixo internacional vai aqui”. Nao e um digito que voce disca. Em uma rede do Plano de Numeracao Norte-Americano (NANP), o + e tipicamente traduzido para 011; na maior parte do resto do mundo, e traduzido para 00. O + existe para que o numero escrito permaneca o mesmo independentemente de qual pais voce disca.
Anatomia de um numero E.164: o codigo de pais, o codigo de destino nacional e o numero do assinante somam no maximo 15 digitos, com o + como notacao para o prefixo internacional. Clique para ampliar.
Por que os formatos de numeros divergem no mundo real
E.164 e a forma canonica, mas os sistemas em uma rede em producao quase nunca trocam numeros E.164 limpos. Os formatos divergem por razoes previsiveis, e cada uma e um ponto onde uma chamada pode falhar.
Formato nacional versus formato internacional e a divisao mais comum. Um PBX configurado para um plano de discagem local emite um numero da forma como um assinante local discaria, frequentemente um numero nacional sem codigo de pais. Uma operadora do outro lado do tronco espera E.164 internacional completo. Nenhum dos dois esta errado; eles apenas descrevem a mesma linha de formas diferentes.
O prefixo internacional e sua propria fonte de incompatibilidade. Uma rede envia 00, outra envia 011, outra envia um + simples e outra nao envia nada e assume que o lado remoto vai adiciona-lo. Zeros iniciais adicionam outra complicacao: muitos numeros nacionais europeus carregam um 0 de tronco que precisa ser removido antes de adicionar o codigo de pais, entao o numero nacional do Reino Unido 020 7946 0958 se torna +442079460958, e nao +4402079460958.
O NANP tem uma particularidade propria. O digito 1 e simultaneamente o codigo de pais e o prefixo de longa distancia nacional, o que produz um fluxo constante de variantes com e sem o prefixo 1 do mesmo numero de dez digitos, todas discutivelmente validas dependendo do contexto. Adicione blocos de discagem direta a ramal (DID), ramais e codigos curtos que chegam em formatos nao E.164, e o resultado sao dois sistemas que falam SIP mas discordam sobre como um numero de telefone deve ser representado. Essa discordancia e o que quebra roteamento, exibicao de identificador de chamadas, retorno de chamada e a correspondencia de numeros da qual os sistemas de faturamento dependem.
Onde o numero fica em uma mensagem SIP
Antes de ver como um SBC corrige a incompatibilidade, e util saber onde o numero realmente esta. Em um SIP INVITE, o numero de telefone aparece como a parte de usuario de varios URIs: o Request-URI que direciona o roteamento, o cabecalho To, o cabecalho From comumente usado para identidade do chamador e cabecalhos de identidade como P-Asserted-Identity. Normalizar “o numero” significa reescrever essa parte de usuario de forma consistente nos campos SIP relevantes para roteamento e identidade em um determinado tronco.
Esta pagina e sobre a sequencia de digitos em si, o plano de numeracao e como ele e reformatado. A questao separada de qual cabecalho adicionar, remover ou reescrever, e como um Agente de Usuario Back-to-Back (B2BUA) controla cada perna, e abordada em detalhes em manipulacao de cabecalhos SIP com um SBC.
Como um SBC normaliza numeros entre planos de discagem
Um SBC fica na borda entre redes que usam formatos de numeros diferentes, e um dos seus trabalhos principais e normalizar a sequencia de digitos para que cada lado receba o formato esperado. Em vez de reconfigurar cada PBX e renegociar com cada operadora, voce normaliza uma vez, na borda. O trabalho se resume a algumas operacoes de manipulacao de digitos.
Adicao e remocao de prefixos e a base: adicionar um codigo de pais, inserir o + ou remover um 0 de tronco nacional para que um numero nacional se torne E.164 canonico. Traducao de prefixo internacional converte um 011 ou 00 vindo de uma rede no + que outra rede espera, e vice-versa no caminho de retorno. Tratamento de zeros iniciais remove ou mantem o zero de tronco nacional de acordo com as regras do pais em questao, razao pela qual a logica por pais e importante. Regras baseadas em padroes correspondem a um formato de numero e o reescrevem, de modo que qualquer numero chegando como 0 mais nove digitos em um determinado tronco pode ser reformatado em E.164 completo com uma unica regra em vez de uma entrada por numero.
A operacao que conecta tudo isso e o escopo. A normalizacao de numeros e aplicada por tronco, de modo que um tronco voltado para a operadora pode receber E.164 estrito enquanto um tronco de PBX legado no mesmo SBC recebe formato nacional, cada um governado por suas proprias regras sem interferir no outro. No ProSBC, cada tronco e um Ponto de Acesso de Rede (NAP), e seu mecanismo de roteamento configuravel e baseado em regras aplica normalizacao independentemente por NAP. Para implantacoes com tabelas de numeracao muito grandes, scripts de roteamento do ProSBC podem direcionar consultas de numeros e DIDs por meio de uma API HTTP, para que um plano de discagem grande fique em um sistema externo em vez de tabelas mantidas manualmente no SBC. A TelcoBridges traz mais de 20 anos de experiencia em implantacao SIP, e o ProSBC suporta ate 1.024 NAPs em uma unica instancia, que e o tipo de densidade de troncos onde a normalizacao por NAP deixa de ser uma conveniencia e se torna um requisito.
ENUM e portabilidade numerica na normalizacao
Duas consultas relacionadas dependem de ter um numero E.164 limpo, o que e parte do motivo pelo qual a normalizacao vem primeiro. O ENUM, definido na RFC 6116, mapeia um numero E.164 por meio de uma consulta DNS para informacoes de servico, como um URI roteavel, e essa consulta so funciona se o numero ja estiver na forma canonica E.164.
Consultas de portabilidade numerica local (LNP) funcionam da mesma forma: a consulta de numero portado usa o numero E.164 canonico como chave, entao um numero que nao foi normalizado nao pode ser consultado de forma confiavel. Os detalhes de como essas consultas LNP e MNP sao integradas ao caminho de roteamento sao um topico a parte; o ponto para a normalizacao e simplesmente que um numero E.164 canonico e o pre-requisito que ambas as consultas assumem.
Perguntas frequentes
O + faz parte do numero E.164?
Nao. O + e uma convencao de notacao indicando onde o prefixo internacional pertence. Ele nao e um dos 15 digitos e nao e discado literalmente; em uma linha NANP ele se torna 011, e na maior parte do mundo se torna 00.
Qual e o comprimento maximo de um numero E.164?
Quinze digitos, contando codigo de pais, codigo de destino nacional e numero do assinante juntos. O + nao e contado.
Qual e a diferenca entre formato E.164 e formato nacional?
E.164 e a representacao internacional completa com codigo de pais e a notacao +. O formato nacional (ou significativo) e como um assinante disca dentro do seu proprio pais, geralmente um prefixo de tronco 0 mais o numero nacional e sem codigo de pais. A mesma linha tem ambas as representacoes, e um SBC traduz entre elas.
Por que o identificador de chamadas exibe o numero errado em um SIP Trunk?
Geralmente porque o cabecalho From carrega o numero em um formato que o sistema receptor nao espera, como um numero nacional onde E.164 era esperado, ou um prefixo internacional extra. O numero nao esta errado; seu formato nao corresponde, que e exatamente o que a normalizacao corrige.
Um SBC altera o numero de telefone real?
Ele reescreve a representacao do numero, o prefixo, zeros iniciais e formato, para que cada lado veja a forma esperada. Ele nao altera para qual linha a chamada e destinada.
Reunindo tudo
E.164 da ao mundo uma unica forma canonica de escrever um numero de telefone, mas as redes que trocam chamadas enviam uma mistura constante de formatos nacionais, prefixos internacionais avulsos e variantes de zeros iniciais. O SBC e o lugar natural para reconcilia-los, porque ele ja esta na borda entre os sistemas que discordam. Normalize a sequencia de digitos uma vez, por tronco, e roteamento, identificador de chamadas e correspondencia de faturamento se alinham em cada fornecedor no caminho.
Teste a normalizacao de numeros nos seus proprios troncos
ProSBC e um SBC de nivel carrier, baseado em software, construido sobre arquitetura B2BUA completa, de modo que controla o formato do numero independentemente nas pernas de entrada e saida. Seu mecanismo de roteamento configuravel e baseado em regras aplica regras de normalizacao por NAP sem tocar no restante da sua implantacao, e scripts de roteamento podem direcionar grandes consultas de DID e numeros por meio de uma API HTTP em vez de planos de discagem mantidos manualmente.
O ProSBC Lab gratuito e autoatendimento oferece uma licenca permanente de tres sessoes em cerca de vinte minutos, o suficiente para testar regras de normalizacao contra seus proprios troncos de operadora e PBX antes de se comprometer com qualquer coisa. Para o contexto mais amplo, o guia de SIP Trunking e o pilar sob o qual estes detalhes de normalizacao se encontram.
Prefere avaliar por conta propria primeiro? Inicie seu teste gratuito de 30 dias.