Formato de número E.164: como SBCs normalizam números entre planos de discagem

Uma chamada falha na configuração, ou o identificador de chamadas aparece errado, e quando você analisa o trace encontra o problema: um lado enviou +14165551234, outro enviou 4165551234, e um terceiro enviou 0014165551234. Mesmo número, três formatos, e os dois sistemas tentando conectar a chamada não conseguem concordar sobre qual está correto. Essa é a realidade cotidiana do formato E.164. O padrão define uma única forma canônica de escrever um número de telefone internacional, mas as redes, PBXs e aplicações que trocam chamadas raramente enviam números nessa forma exata.
Neste artigo, vamos explicar o que um número E.164 realmente é, por que os formatos divergem na produção e como um Controlador de Borda de Sessão (SBC) normaliza números entre planos de discagem incompatíveis na borda do tronco.
O que o formato E.164 realmente é
E.164 é o plano de numeração pública de telecomunicações internacional, definido pela Recomendação ITU-T E.164. Ele atribui a cada número de telefone na PSTN global uma única representação inequívoca, que é o que torna um número discado em um país alcançável a partir de qualquer outro.
Um número E.164 tem três partes após o + inicial. O Código de país (CC) tem de um a três dígitos identificando o país ou região, como 1 para o Plano de Numeração Norte-Americano ou 44 para o Reino Unido. O Código de destino nacional (NDC) identifica uma operadora, região ou serviço dentro desse país, aproximadamente o que você conhece como código de área. O Número do assinante (SN) é a linha em si.
O número completo, do código de país ao número do assinante, é limitado a 15 dígitos. A forma canônica não carrega espaços, hífens ou parênteses, então +1 (416) 555-1234 é escrito +14165551234. Alguns exemplos mostram a segmentação: o número dos EUA +14165551234 é CC 1, NDC 416, SN 5551234; o número do Reino Unido +442079460958 é CC 44, NDC 20, SN 79460958; o número da Alemanha +498912345678 é CC 49, NDC 89, SN 12345678.
Um detalhe que confunde constantemente: o + inicial é uma convenção de notação que significa “o prefixo internacional vai aqui”. Não é um dígito que você disca. Em uma rede do Plano de Numeração Norte-Americano (NANP), o + é tipicamente traduzido para 011; na maior parte do resto do mundo, é traduzido para 00. O + existe para que o número escrito permaneça o mesmo independentemente de qual país você disca.
Anatomia de um número E.164: o código de país, o código de destino nacional e o número do assinante somam no máximo 15 dígitos, com o + como notação para o prefixo internacional. Clique para ampliar.
Por que os formatos de números divergem no mundo real
E.164 é a forma canônica, mas os sistemas em uma rede em produção quase nunca trocam números E.164 limpos. Os formatos divergem por razões previsíveis, e cada uma é um ponto onde uma chamada pode falhar.
Formato nacional versus formato internacional é a divisão mais comum. Um PBX configurado para um plano de discagem local emite um número da forma como um assinante local discaria, frequentemente um número nacional sem código de país. Uma operadora do outro lado do tronco espera E.164 internacional completo. Nenhum dos dois está errado; eles apenas descrevem a mesma linha de formas diferentes.
O prefixo internacional é sua própria fonte de incompatibilidade. Uma rede envia 00, outra envia 011, outra envia um + simples e outra não envia nada e assume que o lado remoto vai adicioná-lo. Zeros iniciais adicionam outra complicação: muitos números nacionais europeus carregam um 0 de tronco que precisa ser removido antes de adicionar o código de país, então o número nacional do Reino Unido 020 7946 0958 se torna +442079460958, e não +4402079460958.
O NANP tem uma particularidade própria. O dígito 1 é simultaneamente o código de país e o prefixo de longa distância nacional, o que produz um fluxo constante de variantes com e sem o prefixo 1 do mesmo número de dez dígitos, todas discutivelmente válidas dependendo do contexto. Adicione blocos de discagem direta a ramal (DID), ramais e códigos curtos que chegam em formatos não E.164, e o resultado são dois sistemas que falam SIP mas discordam sobre como um número de telefone deve ser representado. Essa discordância é o que quebra roteamento, exibição de identificador de chamadas, retorno de chamada e a correspondência de números da qual os sistemas de faturamento dependem.
Onde o número fica em uma mensagem SIP
Antes de ver como um SBC corrige a incompatibilidade, é útil saber onde o número realmente está. Em um SIP INVITE, o número de telefone aparece como a parte de usuário de vários URIs: o Request-URI que direciona o roteamento, o cabeçalho To, o cabeçalho From comumente usado para identidade do chamador e cabeçalhos de identidade como P-Asserted-Identity. Normalizar “o número” significa reescrever essa parte de usuário de forma consistente nos campos SIP relevantes para roteamento e identidade em um determinado tronco.
Esta página é sobre a sequência de dígitos em si, o plano de numeração e como ele é reformatado. A questão separada de qual cabeçalho adicionar, remover ou reescrever, e como um Agente de Usuário Back-to-Back (B2BUA) controla cada perna, é abordada em detalhes em manipulação de cabeçalhos SIP com um SBC.
Como um SBC normaliza números entre planos de discagem
Um SBC fica na borda entre redes que usam formatos de números diferentes, e um dos seus trabalhos principais é normalizar a sequência de dígitos para que cada lado receba o formato esperado. Em vez de reconfigurar cada PBX e renegociar com cada operadora, você normaliza uma vez, na borda. O trabalho se resume a algumas operações de manipulação de dígitos.
Adição e remoção de prefixos é a base: adicionar um código de país, inserir o + ou remover um 0 de tronco nacional para que um número nacional se torne E.164 canônico. Tradução 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 mantém o zero de tronco nacional de acordo com as regras do país em questão, razão pela qual a lógica por país é importante. Regras baseadas em padrões correspondem a um formato de número e o reescrevem, de modo que qualquer número chegando como 0 mais nove dígitos em um determinado tronco pode ser reformatado em E.164 completo com uma única regra em vez de uma entrada por número.
A operação que conecta tudo isso é o escopo. A normalização de números é 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 próprias regras sem interferir no outro. No ProSBC, cada tronco é um Ponto de Acesso de Rede (NAP), e seu mecanismo de roteamento configurável e baseado em regras aplica normalização independentemente por NAP. Para implantações com tabelas de numeração muito grandes, scripts de roteamento do ProSBC podem direcionar consultas de números 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 experiência em implantação SIP, e o ProSBC suporta até 1.024 NAPs em uma única instância, que é o tipo de densidade de troncos onde a normalização por NAP deixa de ser uma conveniência e se torna um requisito.
ENUM e portabilidade numérica na normalização
Duas consultas relacionadas dependem de ter um número E.164 limpo, o que é parte do motivo pelo qual a normalização vem primeiro. O ENUM, definido na RFC 6116, mapeia um número E.164 por meio de uma consulta DNS para informações de serviço, como um URI roteável, e essa consulta só funciona se o número já estiver na forma canônica E.164.
Consultas de portabilidade numérica local (LNP) funcionam da mesma forma: a consulta de número portado usa o número E.164 canônico como chave, então um número que não foi normalizado não pode ser consultado de forma confiável. Os detalhes de como essas consultas LNP e MNP são integradas ao caminho de roteamento são um tópico à parte; o ponto para a normalização é simplesmente que um número E.164 canônico é o pré-requisito que ambas as consultas assumem.
Perguntas frequentes
O + faz parte do número E.164?
Não. O + é uma convenção de notação indicando onde o prefixo internacional pertence. Ele não é um dos 15 dígitos e não é discado literalmente; em uma linha NANP ele se torna 011, e na maior parte do mundo se torna 00.
Qual é o comprimento máximo de um número E.164?
Quinze dígitos, contando código de país, código de destino nacional e número do assinante juntos. O + não é contado.
Qual é a diferença entre formato E.164 e formato nacional?
E.164 é a representação internacional completa com código de país e a notação +. O formato nacional (ou significativo) é como um assinante disca dentro do seu próprio país, geralmente um prefixo de tronco 0 mais o número nacional e sem código de país. A mesma linha tem ambas as representações, e um SBC traduz entre elas.
Por que o identificador de chamadas exibe o número errado em um SIP Trunk?
Geralmente porque o cabeçalho From carrega o número em um formato que o sistema receptor não espera, como um número nacional onde E.164 era esperado, ou um prefixo internacional extra. O número não está errado; seu formato não corresponde, que é exatamente o que a normalização corrige.
Um SBC altera o número de telefone real?
Ele reescreve a representação do número, o prefixo, zeros iniciais e formato, para que cada lado veja a forma esperada. Ele não altera para qual linha a chamada é destinada.
Reunindo tudo
E.164 dá ao mundo uma única forma canônica de escrever um número 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 é o lugar natural para reconciliá-los, porque ele já está na borda entre os sistemas que discordam. Normalize a sequência de dígitos uma vez, por tronco, e roteamento, identificador de chamadas e correspondência de faturamento se alinham em cada fornecedor no caminho.
Teste a normalização de números nos seus próprios troncos
ProSBC é um SBC de nível carrier, baseado em software, construído sobre arquitetura B2BUA completa, de modo que controla o formato do número independentemente nas pernas de entrada e saída. Seu mecanismo de roteamento configurável e baseado em regras aplica regras de normalização por NAP sem tocar no restante da sua implantação, e scripts de roteamento podem direcionar grandes consultas de DID e números por meio de uma API HTTP em vez de planos de discagem mantidos manualmente.
O ProSBC Lab gratuito e autoatendimento oferece uma licença permanente de três sessões em cerca de vinte minutos, o suficiente para testar regras de normalização contra seus próprios troncos de operadora e PBX antes de se comprometer com qualquer coisa. Para o contexto mais amplo, o guia de SIP Trunking é o pilar sob o qual estes detalhes de normalização se encontram.
Baixe grátis o Runbook de troubleshooting de voz
Um PDF de 22 páginas revisado pelo suporte técnico da TelcoBridges, com as primeiras verificações para os 9 sintomas de voz mais comuns, 14 códigos de resposta SIP explicados e 3 formas de capturar um trace de chamada.
Ao enviar este formulário, suas informações serão processadas de acordo com nossa Política de Privacidade.
Prefere avaliar por conta própria primeiro? Crie seu laboratório gratuito.