Formato E.164 de números telefónicos: cómo los SBC normalizan números entre planes de marcado

Una llamada falla en el establecimiento, o el identificador de llamadas muestra un número incorrecto, y cuando revisa la traza encuentra el problema: un lado envió +14165551234, otro envió 4165551234, y un tercero envió 0014165551234. El mismo número, tres formatos, y los dos sistemas que intentan conectar la llamada no logran ponerse de acuerdo en cuál es el correcto. Esta es la realidad cotidiana del formato E.164. El estándar define una única forma canónica de escribir un número telefónico internacional, pero las redes, PBX y aplicaciones que intercambian llamadas rara vez envían los números en esa forma exacta.
En este artículo, le explicaremos qué es realmente un número E.164, por qué los formatos divergen en producción, y cómo un controlador de borde de sesión (SBC) normaliza los números entre planes de marcado incompatibles en el borde de la troncal.
![]()
Qué es realmente el formato E.164
E.164 es el plan de numeración de telecomunicaciones públicas internacionales, definido por la Recomendación E.164 de la ITU-T. Le da a cada número telefónico en la PSTN global una única representación inequívoca, que es lo que hace que un número marcado en un país sea alcanzable desde cualquier otro.
Un número E.164 tiene tres partes después del + inicial. El código de país (CC) es de uno a tres dígitos que identifican el país o región, como 1 para el Plan de Numeración de América del Norte o 44 para el Reino Unido. El código de destino nacional (NDC) identifica un operador, región o servicio dentro de ese país, aproximadamente lo que se conoce como código de área. El número de abonado (SN) es la línea en sí.
El número completo, desde el código de país hasta el número de abonado, tiene un máximo de 15 dígitos. La forma canónica no lleva espacios, guiones ni paréntesis, por lo que +1 (416) 555-1234 se escribe +14165551234. Algunos ejemplos ilustran la segmentación: el número de EE. UU. +14165551234 es CC 1, NDC 416, SN 5551234; el número del Reino Unido +442079460958 es CC 44, NDC 20, SN 79460958; el número de Alemania +498912345678 es CC 49, NDC 89, SN 12345678.
Un detalle que genera confusión constantemente. El + inicial es una convención de notación que significa “el prefijo internacional va aquí.” No es un dígito que se marque. En una red del Plan de Numeración de América del Norte (NANP) el + se traduce típicamente a 011; en la mayor parte del resto del mundo se traduce a 00. El + existe para que el número escrito permanezca igual sin importar desde qué país se marque.
Anatomía de un número E.164: el código de país, el código de destino nacional y el número de abonado suman como máximo 15 dígitos, con el + como notación del prefijo internacional. Haga clic para ampliar.
Por qué los formatos de números telefónicos divergen en el mundo real
E.164 es la forma canónica, pero los sistemas en una red en producción casi nunca se entregan entre sí números E.164 limpios. Los formatos divergen por razones predecibles, y cada una es un punto donde una llamada puede fallar.
El formato nacional versus el formato internacional es la división más común. Una PBX configurada para un plan de marcado local emite un número de la forma en que un abonado local lo marcaría, a menudo un número nacional sin código de país. Un operador del otro lado de la troncal espera E.164 internacional completo. Ninguno de los dos está equivocado, simplemente describen la misma línea de manera diferente.
El prefijo internacional es su propia fuente de incompatibilidad. Una red envía 00, otra envía 011, otra envía un + sin prefijo, y otra no envía nada y asume que el extremo remoto lo agregará. Los ceros iniciales agregan una complicación adicional: muchos números nacionales europeos llevan un 0 de troncal que debe eliminarse antes de anteponer el código de país, por lo que el número nacional del Reino Unido 020 7946 0958 se convierte en +442079460958, no en +4402079460958.
El NANP tiene su propia particularidad. El dígito 1 es simultáneamente el código de país y el prefijo de larga distancia nacional, lo que produce un flujo constante de variantes con y sin el prefijo 1 del mismo número de diez dígitos, todas las cuales son probablemente válidas según el contexto. Si agrega bloques de marcación directa entrante (DID), extensiones y códigos cortos que llegan en formatos no E.164, el resultado son dos sistemas que ambos hablan SIP pero no se ponen de acuerdo en cómo debe verse un número telefónico. Ese desacuerdo es lo que rompe el enrutamiento, la visualización del identificador de llamadas, la rellamada y la coincidencia de números de la que dependen los sistemas de facturación.
Dónde se encuentra el número en un mensaje SIP
Antes de ver cómo un SBC corrige la incompatibilidad, es útil saber dónde se encuentra realmente el número. En un SIP INVITE, el número telefónico aparece como la parte de usuario de varias URI: la Request-URI que dirige el enrutamiento, el encabezado To, el encabezado From comúnmente utilizado para la identidad del llamante, y encabezados de identidad como P-Asserted-Identity. Normalizar “el número” significa reescribir esa parte de usuario de manera consistente en los campos SIP que importan para el enrutamiento y la identidad en una troncal determinada.
Esta página trata sobre la cadena de dígitos en sí, el plan de numeración y cómo se transforma. La cuestión separada de qué encabezado agregar, eliminar o reescribir, y cómo un agente de usuario back-to-back (B2BUA) controla cada segmento, se cubre en detalle en manipulación de encabezados SIP con un SBC.
Cómo un SBC normaliza números entre planes de marcado
Un SBC se ubica en el borde entre redes que usan diferentes formatos numéricos, y uno de sus trabajos principales es normalizar la cadena de dígitos para que cada lado reciba el formato que espera. En lugar de reconfigurar cada PBX y renegociar con cada operador, se normaliza una sola vez, en el borde. El trabajo se reduce a un puñado de operaciones de manipulación de dígitos.
La adición y eliminación de prefijos es la base: anteponer un código de país, agregar el +, o eliminar un 0 de troncal nacional para que un número nacional se convierta en E.164 canónico. La traducción de prefijos internacionales convierte un 011 o 00 que llega de una red en el + que otra red espera, y viceversa en la ruta de retorno. El manejo de ceros iniciales elimina o retiene el cero de troncal nacional según las reglas del país en cuestión, razón por la cual la lógica por país es importante. Las reglas basadas en patrones coinciden con una forma de número y la reescriben, de modo que cualquier número que llegue como 0 más nueve dígitos en una troncal determinada puede transformarse en E.164 completo con una sola regla en lugar de una entrada por número.
La operación que une todo esto es el alcance. La normalización de números se aplica por troncal, de modo que una troncal orientada al operador puede recibir E.164 estricto mientras que una troncal de PBX heredada en el mismo SBC recibe formato nacional, cada una gobernada por sus propias reglas sin interferir con la otra. En ProSBC cada troncal es un punto de acceso de red (NAP), y su motor de enrutamiento configurable y basado en reglas aplica la normalización de forma independiente por NAP. Para implementaciones con tablas de numeración muy grandes, los scripts de enrutamiento de ProSBC pueden ejecutar búsquedas de números y DID a través de una API HTTP, de modo que un plan de marcado extenso reside en un sistema externo en lugar de en tablas mantenidas manualmente en el SBC. TelcoBridges aporta más de 20 años de experiencia en implementaciones SIP, y ProSBC maneja hasta 1 024 NAP en una única instancia, que es el tipo de densidad de troncales donde la normalización por NAP deja de ser una conveniencia y se convierte en un requisito.
ENUM y portabilidad numérica en la normalización
Dos consultas relacionadas dependen de tener un número E.164 limpio, lo cual es parte de la razón por la que la normalización va primero. ENUM, definido en RFC 6116, mapea un número E.164 a través de una consulta DNS hacia información de servicio como un URI enrutable, y esa consulta solo funciona si el número ya está en forma E.164 canónica.
Las consultas de portabilidad numérica local (LNP) se comportan de la misma manera: la consulta de número portado utiliza el número E.164 canónico como su clave, por lo que un número que no ha sido normalizado no puede ser consultado de forma confiable. La mecánica de cómo esas consultas LNP y MNP se integran en la ruta de enrutamiento es un tema en sí mismo; el punto para la normalización es simplemente que un número E.164 canónico es el prerrequisito que ambas consultas asumen.
Preguntas frecuentes
¿El + es parte del número E.164?
No. El + es una convención de notación que indica dónde va el prefijo internacional. No es uno de los 15 dígitos y no se marca literalmente; en una línea NANP se convierte en 011, y en gran parte del mundo se convierte en 00.
¿Cuál es la longitud máxima de un número E.164?
Quince dígitos, contando el código de país, el código de destino nacional y el número de abonado juntos. El + no se cuenta.
¿Cuál es la diferencia entre el formato E.164 y el formato nacional?
E.164 es la representación internacional completa con código de país y la notación +. El formato nacional (o significativo) es cómo un abonado marca dentro de su propio país, a menudo un 0 de troncal más el número nacional y sin código de país. La misma línea tiene ambas representaciones, y un SBC traduce entre ellas.
¿Por qué el identificador de llamadas muestra el número incorrecto a través de una troncal SIP?
Generalmente porque el encabezado From lleva el número en un formato que el sistema receptor no espera, como un número nacional donde se asumía E.164, o un prefijo internacional adicional. El número no está dañado, su formato no coincide, que es exactamente lo que la normalización corrige.
¿Un SBC cambia el número telefónico real?
Reescribe la representación del número, el prefijo, los ceros iniciales y el formato, para que cada lado vea la forma que espera. No cambia a qué línea está destinada la llamada.
Integrando todo
E.164 le da al mundo una única forma canónica de escribir un número telefónico, pero las redes que intercambian llamadas envían una mezcla constante de formatos nacionales, prefijos internacionales dispersos y variantes de ceros iniciales. El SBC es el lugar natural para reconciliarlos, porque ya se encuentra en el borde entre los sistemas que no concuerdan. Normalice la cadena de dígitos una vez, por troncal, y el enrutamiento, el identificador de llamadas y la facturación se alinean en cada proveedor en la ruta.
Pruebe la normalización de números en sus propias troncales
ProSBC es un SBC de nivel operador, basado en software, construido sobre arquitectura B2BUA completa, por lo que controla el formato numérico de forma independiente en los segmentos entrante y saliente. Su motor de enrutamiento configurable y basado en reglas aplica reglas de normalización por NAP sin afectar el resto de su implementación, y los scripts de enrutamiento pueden ejecutar búsquedas extensas de DID y números a través de una API HTTP en lugar de planes de marcado mantenidos manualmente.
El ProSBC Lab gratuito y de autoservicio le proporciona una licencia permanente de tres sesiones en aproximadamente veinte minutos, lo cual es suficiente para probar reglas de normalización contra sus propias troncales de operador y PBX antes de comprometerse con nada. Para el contexto más amplio, la guía de troncales SIP es el pilar bajo el que se encuentran estos detalles de normalización.
¿Prefiere evaluar por su cuenta primero? Comience su prueba gratuita de 30 días.