BroadNet
Numeração e identificaçãoEncaminhamento de números

ENUM: mapear números E.164 em URIs

Atualizado em 5 min de leituraBaseado em padrões
Resposta direta

O ENUM (IETF RFC 6116) mapeia um número E.164 em URIs de internet usando o DNS. Os dígitos do número são invertidos, separados por pontos e sufixados com e164.arpa para formar um domínio; os registos NAPTR nesse nome transportam regras de regexp que reescrevem o número em URIs SIP, tel ou outros, permitindo a um motor de encaminhamento resolver um número de telefone num serviço acessível.

§01

O que o ENUM resolve

O ENUM (E.164 Number to URI Mapping) faz a ponte entre o plano de numeração telefónica e o sistema de nomes da internet. Um chamador ou uma aplicação detém um número E.164, mas uma rede VoIP ou IMS precisa de um URI — um endereço SIP, um tel URI, um email ou um endpoint web — para efetivamente alcançar o destino. O ENUM, definido na IETF RFC 6116 (que tornou obsoleta a RFC 3761), usa o DNS existente para publicar, por número, o conjunto de URIs e serviços em que esse número se resolve. Em vez de uma base de dados e um protocolo dedicados, o ENUM reutiliza a infraestrutura global, em cache e delegada do DNS para responder a 'dado este número de telefone, que endpoints de internet o servem, e em que ordem de preferência?'.

§02

De E.164 a um nome de domínio

A transformação de número em domínio consultável é mecânica e definida pela RFC 6116. Pegue no número E.164 completo, remova todos os carateres que não sejam dígitos (incluindo o '+'), inverta a ordem dos dígitos, coloque um ponto entre cada dígito e acrescente o sufixo de domínio 'e164.arpa'. O resultado é um nome de domínio totalmente qualificado que o DNS consegue resolver. Inverter os dígitos espelha a forma como o DNS delega a partir do rótulo mais significativo para a direita, pelo que o intervalo de números de um país pode ser delegado como uma zona DNS, tal como uma zona reversa de IP. O domínio apex e164.arpa é a árvore designada pelo IETF para o ENUM público.

E.164 → domínio e164.arpa (RFC 6116)text
E.164 number : +44 20 7946 0123
Digits only  : 442079460123
Reverse      : 321064972044
Dot-separate : 3.2.1.0.6.4.9.7.0.2.4.4
Append apex  : 3.2.1.0.6.4.9.7.0.2.4.4.e164.arpa

→ DNS query for NAPTR records at that name
§03

Registos NAPTR e reescrita por regexp

Os dados que o ENUM devolve residem em registos de recurso NAPTR (Naming Authority Pointer). Cada NAPTR transporta um Order e uma Preference que ordenam as alternativas, Flags (tipicamente 'u', indicando que a saída é um URI terminal), um campo Service que nomeia o enumservice (por exemplo, E2U+sip, E2U+tel, E2U+email) e um Regexp que reescreve o número consultado no URI de destino. Um resolver avalia o regexp — uma substituição POSIX sobre o número E.164 original — para produzir o URI final, e depois um motor de encaminhamento experimenta os resultados na sequência de Order/Preference. Isto permite a um número publicar vários endpoints acessíveis com uma ordem de fallback definida, tudo como dados DNS comuns.

Registos NAPTR ENUM (RFC 6116)text
$ORIGIN 3.2.1.0.6.4.9.7.0.2.4.4.e164.arpa.
  IN NAPTR 10 100 "u" "E2U+sip"   "!^.*$!sip:user@sip.example.net!" .
  IN NAPTR 20 100 "u" "E2U+tel"   "!^.*$!tel:+442079460123!"       .
  IN NAPTR 30 100 "u" "E2U+email" "!^.*$!mailto:user@example.net!"  .

Fields: Order Pref Flags Service  Regexp  Replacement
§04

ENUM público (de utilizador) vs privado (de infraestrutura)

O ENUM é implementado em dois modos muito diferentes. O ENUM público ou 'de utilizador' publica os mapeamentos na árvore e164.arpa globalmente delegada, com adesão opcional por titular do número, de modo que qualquer pessoa pode resolver um número nos endpoints que o seu dono escolheu anunciar — isto teve uma adoção real limitada devido a preocupações de confiança, privacidade e modelo de negócio. O ENUM privado, 'de operador' ou 'de infraestrutura' corre o mesmo mecanismo técnico dentro do DNS próprio de um operador ou de um IPX, e não sob o e164.arpa público, não sendo visível para a internet. É no ENUM de infraestrutura que o ENUM ganha realmente valor: os operadores usam-no internamente para encaminhar números para pares SIP, resolver números portados e interligar VoIP sem expor dados de assinantes.

ENUM público vs privado
AspetoENUM público (utilizador)ENUM privado (infraestrutura)
Árvore DNSPúblico e164.arpaDNS interno da Operadora/IPX
Quem aprovisionaO titular do número (opt-in)A operadora / interconexão
VisibilidadeResolvível globalmentePrivado, não visível na internet
Uso principalPontos de extremidade publicados pelo utilizadorEncaminhamento VoIP/SIP de operadoras, portabilidade
AdoçãoLimitadoAmplamente difundido dentro de operadoras/IPX
§05

O ENUM no encaminhamento de VoIP e SIP

Numa rede SIP ou IMS, o ENUM é o resolver de número em URI que se coloca à frente do encaminhamento. Quando uma chamada tem de sair do mundo do plano de numeração e entrar no mundo SIP, o motor de encaminhamento realiza uma consulta ENUM sobre o número E.164 de destino e, em caso de acerto, encaminha para o URI SIP devolvido — muitas vezes o session border controller de outro operador — em vez de sair para a PSTN. Isto mantém as chamadas originadas em IP on-net e IP de ponta a ponta sempre que possível, reduzindo custos e preservando a qualidade da média. Combinado com dados de portabilidade de números, o ENUM de infraestrutura permite a um operador resolver um número marcado no ingresso SIP da rede de serviço correta, mesmo depois de o número ter sido portado.

Perguntas frequentes

Perguntas frequentes

O que é o ENUM?

O ENUM (E.164 Number to URI Mapping), definido na IETF RFC 6116, usa o DNS para mapear um número de telefone em URIs de internet como endereços SIP ou tel. Reutiliza a infraestrutura global e delegada do DNS para que um motor de encaminhamento possa resolver um número de telefone nos endpoints e serviços que esse número alcança.

Como se transforma um número E.164 num domínio ENUM?

Remova todos os carateres que não sejam dígitos, incluindo o '+', inverta a ordem dos dígitos, coloque um ponto entre cada dígito e acrescente 'e164.arpa'. Por exemplo, +442079460123 torna-se 3.2.1.0.6.4.9.7.0.2.4.4.e164.arpa. Inverter os dígitos alinha o número com a delegação do DNS, do rótulo mais significativo para a direita.

O que é um registo NAPTR no ENUM?

Um registo NAPTR (Naming Authority Pointer) guarda cada mapeamento: um Order e uma Preference para ordenar alternativas, Flags (normalmente 'u' para um URI terminal), um campo Service que nomeia o enumservice (E2U+sip, E2U+tel) e um Regexp que reescreve o número no URI de destino. Os resultados são experimentados na sequência de Order/Preference.

Qual é a diferença entre ENUM público e privado?

O ENUM público (de utilizador) publica os mapeamentos na árvore e164.arpa globalmente delegada, com adesão opcional por titular do número, e teve uma adoção limitada. O ENUM privado (de infraestrutura/operador) corre o mesmo mecanismo dentro do DNS próprio de um operador ou IPX, invisível para a internet, e é amplamente usado no encaminhamento interno de VoIP/SIP e na portabilidade.

Como é que o ENUM ajuda a encaminhar chamadas VoIP?

Um motor de encaminhamento SIP ou IMS consulta o ENUM sobre o número E.164 de destino e, em caso de acerto, encaminha para o URI SIP devolvido — muitas vezes o SBC de outro operador — mantendo a chamada IP de ponta a ponta em vez de sair para a PSTN. Com dados de portabilidade, o ENUM de infraestrutura resolve um número na rede de serviço correta mesmo depois da portação.

Que RFC define o ENUM?

A IETF RFC 6116 é a atual aplicação Dynamic Delegation Discovery System (DDDS) para o mapeamento E.164-para-URI; tornou obsoleta a anterior RFC 3761. Em conjunto com a framework DDDS e o tipo de registo NAPTR, a RFC 6116 especifica a construção do domínio e164.arpa e a reescrita por regexp que produz os URIs de destino.

Referências

Especificações de origem

Os padrões publicados nos quais esta página se baseia. Abre num novo separador.

BNMantido pela equipa de engenharia BroadNet·Mensagens de nível de operadora desde 2003
Coloque-o no fio.

Construa com uma vinculação SMPP real e uma API REST.

Solicite acesso de teste com chaves de teste reais: envie primeiro para o seu próprio número verificado e, em seguida, passe para o ambiente de produção em mais de 200 países assim que a sua identidade de remetente e rotas forem aprovadas.