n SMS A2P sigue una ruta definida: tu aplicación se conecta a un SMSC o agregador mediante SMPP como ESME y emite un submit_sm; el SMSC almacena el mensaje, consulta el HLR del operador de destino para localizar el MSC que presta servicio al suscriptor, lo entrega al terminal (MT) y devuelve una confirmación de entrega a través de la misma cadena. Cada salto puede afectar negativamente a la entrega, la identificación del remitente o la confirmación de entrega.
¿Prefieres la versión resumida? Consulta nuestra respuesta sobre qué es un SMSC. Este artículo ofrece una explicación completa del tema.
El elenco de personajes
Antes de trazar el camino, conviene identificar los componentes y la función de cada uno. Tres acrónimos resumen la información clave: SMSC, ESME y HLR. Dos direcciones son importantes: MT y MO.
SMSC: el motor de almacenamiento y reenvío
El Centro de Servicio de Mensajes Cortos (SMSC) es el servidor del operador que recibe un mensaje, lo almacena y lo reenvía al destinatario; este nodo se define en torno al protocolo de transferencia de SMS en 3GPP TS 23.040. No se trata de un simple repetidor: retiene el mensaje hasta que el terminal esté disponible, lo reintenta dentro de un período de validez y genera el informe de estado. Al enviar un mensaje a través de un agregador, la comunicación se realiza con su SMSC (o con una pasarela frente a él); el operador receptor gestiona su propio SMSC, que realiza la entrega final.
ESME: su aplicación en la red
Una Entidad Externa de Mensajería Corta (ESME, por sus siglas en inglés) es cualquier aplicación que se conecta a un SMSC para enviar o recibir SMS: su servicio de OTP, su plataforma de campañas, su sistema de alertas. A través de SMPP, la ESME abre una sesión TCP persistente con un enlace (transmisor, receptor o transceptor) y luego emite submit_sm para enviar. El SMSC responde con submit_sm_resp que contiene un message_id y, posteriormente, envía deliver_sm de vuelta a la ESME para los mensajes entrantes y las confirmaciones de entrega. La ESME es el cliente; el SMSC es el servidor.
MT vs MO: ¿en qué dirección fluye el mensaje?
Mobile-Terminated (MT) es un mensaje entregado a un teléfono móvil, la dirección que sigue casi todo el tráfico A2P: una OTP, una alerta, una actualización de envío que llega a un teléfono. Mobile-Originated (MO) es un mensaje que un suscriptor envía desde un teléfono móvil, que es como las respuestas bidireccionales, las cancelaciones de suscripción por palabras clave y las solicitudes STOP llegan a su ESME como un deliver_sm. Una confirmación de entrega (DLR) sigue la ruta de retorno MT aunque el flujo regrese hacia usted.
| Componente | Función en el proceso de entrega |
|---|---|
| Aplicación / ESME | Su software se conecta al SMSC a través de SMPP y emite submit_sm para enviar mensajes MT. |
| SMSC (lado del agregador) | Acepta, valida y almacena el mensaje; selecciona una ruta hacia el operador de destino; devuelve el message_id y, posteriormente, el DLR. |
| Centro de interconexión/SMS | Transporta el mensaje entre el agregador y el operador de destino a través de uno o más saltos. |
| SMSC del operador de terminación | Recibe el mensaje en la red del operador y realiza la entrega final al suscriptor. |
| HLR | Base de datos de abonados domésticos; responde a la pregunta "¿dónde se presta servicio a este número ahora mismo?" con la dirección MSC/VLR que presta el servicio. |
| MSC / VLR | El conmutador que actualmente presta servicio al abonado; localiza el terminal y entrega el mensaje MT. |
| Teléfono (MS) | Recibe el mensaje y devuelve una confirmación que se convierte en la confirmación de entrega. |
Almacenamiento y reenvío: por qué existe el SMSC
Los SMS son asíncronos por diseño. El destinatario puede estar apagado, fuera de cobertura o en una llamada sin ventana de señalización disponible. En lugar de fallar, el SMSC acepta el mensaje, lo almacena y se encarga de su entrega; esto se conoce como almacenamiento y reenvío. Intenta la entrega y, si el suscriptor no está disponible, pone el mensaje en cola y lo reintenta según un cronograma hasta que la entrega se realiza correctamente o expira el período de validez del mensaje. Cuando la red indica posteriormente que el terminal está disponible de nuevo, se le pide al SMSC que lo intente una vez más. Esta durabilidad es la razón de ser de un centro de mensajes, y es por eso que un SMS "enviado" aún no es un SMS "entregado"; su flujo DLR debe mantener separados dos estados.
Rastrea un SMS A2P desde la aplicación al dispositivo móvil.
Aquí se describe el recorrido completo de un único mensaje MT (por ejemplo, una contraseña de un solo uso para iniciar sesión enviada desde un banco en Riad a un suscriptor en una red del CCG), desde su código hasta el teléfono y de vuelta.
- Su aplicación se autentica y abre una conexión SMPP con el agregador/SMSC como un ESME, y luego envía un mensaje submit_sm que contiene el MSISDN de destino, el ID del remitente, la codificación y el texto.
- El SMSC valida y almacena el mensaje, le asigna un ID de mensaje y lo devuelve en la respuesta submit_sm_resp. En este punto, el mensaje se acepta, no se entrega.
- El SMSC selecciona una ruta hacia el operador de destino; idealmente, una interconexión directa, o bien, una ruta a través de uno o más centros de SMS.
- El mensaje llega al SMSC del operador receptor en la red de destino.
- Ese SMSC consulta el HLR del operador (un MAP SendRoutingInfoForSM) para averiguar dónde se está prestando servicio actualmente al abonado: la dirección del MSC/VLR que le presta el servicio.
- El HLR devuelve la información de enrutamiento; el SMSC reenvía el mensaje (MT-ForwardSM) a ese MSC.
- El MSC que presta el servicio localiza el terminal a través de la red de radio y entrega el mensaje (la entrega MT).
- El terminal confirma la recepción; la confirmación se propaga de vuelta y el SMSC de destino genera una confirmación de entrega.
- La confirmación de entrega viaja de vuelta a través de la interconexión hasta el SMSC del agregador, que lo envía a su ESME como un deliver_sm (o un webhook) que contiene el message_id original y un estado final.
Los pasos de señalización 5 a 7 (la búsqueda en el HLR y el MT-ForwardSM al conmutador de servicio) se realizan dentro del núcleo SS7/Diameter del operador, utilizando las operaciones MAP de la red móvil. Aunque no se ven directamente, son la razón por la que un mensaje puede ser "aceptado" en milisegundos, pero tardar más en llegar a su destino: la red de destino debe localizar a un abonado en movimiento antes de poder entregarlo.
El HLR: localización de un abonado que se muda
El Registro de Ubicación de Origen (HLR) es la base de datos principal de la identidad de un suscriptor y su ubicación actual en su red de origen. Debido a que los usuarios se desplazan y cambian de central, el SMSC de destino no puede asumir dónde se presta servicio a un número; consulta al HLR, que devuelve el MSC/VLR de destino para que el mensaje pueda reenviarse a la central correcta. Esta es la misma consulta que se utiliza, de forma independiente, para la validación de números: una consulta al HLR indica si un número está activo, portado o en itinerancia antes de enviarlo. Cuando el enrutamiento es limpio, esta consulta es un único intercambio de señalización interno; cuando un mensaje atraviesa varias redes intermedias, la consulta solo se realiza después de todos esos saltos, lo que añade latencia y más puntos de fallo.
Rutas directas frente a agregación de múltiples saltos
La ruta descrita anteriormente es la ideal: su ESME a un SMSC que transfiere el mensaje mediante una interconexión directa al operador de destino. En la realidad, suele ser más larga. En una ruta de agregación de múltiples saltos, el mensaje pasa por una cadena de revendedores y concentradores SMS antes de llegar a la red de destino, y cada salto es un nodo que puede reescribir, retrasar o descartar información. Tres aspectos se degradan a medida que se acumulan los saltos:
- Fiabilidad: cada intermediario es otra cola, otro cortafuegos y otra parte cuya ruta hacia el operador puede ser una ruta gris que se bloquea sin previo aviso. Más saltos implican mayor variabilidad en la tasa de entrega.
- Preservación del identificador del remitente: los identificadores alfanuméricos del remitente y los encabezados registrados pueden ser sobrescritos o eliminados por un intermediario, por lo que un mensaje enviado con su marca puede llegar desde un número largo compartido; un riesgo real en los mercados del CCG donde los operadores requieren identificadores de remitente preregistrados.
- Fidelidad del DLR: una confirmación de entrega genuina del operador pierde significado en cada salto. Los intermediarios pueden devolver un estado de "entregado" a nivel de pasarela que solo significa "lo reenvié", no que el terminal lo recibió, por lo que su informe de estado deja de reflejar la realidad.
Por eso, el número de saltos entre su API y el operador de destino es la pregunta más útil que se le puede hacer a un proveedor. Una ruta directa conserva el ID del remitente, devuelve un DLR a nivel de operador y completa la secuencia HLR-a-dispositivo sin intermediarios. Los operadores y las empresas que necesitan ver la cadena completa (aceptada, enrutada, entregada, confirmada) confían en una vista ESME y CDR que concilia cada submit_sm con su DLR final, y en una pasarela SMSC de nivel de operador que termina el tráfico directamente en lugar de revenderlo.
BroadNet opera rutas directas desde 2003: 1,000+ conexiones de operadores en 200+ países (directo al operador en 86 de ellos) con un SLA de plataforma del 99,99 %, soportando hasta 30.000 SMS/seg por nodo. Si se vincula como ESME a través de SMPP o finaliza a través de nuestra pasarela SMSC, obtiene enrutamiento con confirmaciones de entrega a nivel de operador, no una cadena de múltiples saltos que reescribe silenciosamente su ID de remitente.
Preguntas frecuentes
¿Cómo entrega un SMS un servicio SMSC?
El SMSC utiliza el mecanismo de almacenamiento y reenvío: recibe y almacena el mensaje, luego consulta el HLR del operador de destino para encontrar el MSC/VLR que presta servicio al abonado. Reenvía el mensaje (MT-ForwardSM) a esa central, que localiza el terminal y lo entrega. Si el terminal no está disponible, el SMSC lo pone en cola y vuelve a intentarlo dentro del período de validez del mensaje, generando finalmente una confirmación de entrega.
¿Qué es un ESME?
Una ESME (Entidad Externa de Mensajería Corta) es cualquier aplicación que se conecta a un SMSC para enviar o recibir SMS: un servicio de OTP, una plataforma de campañas, un sistema de alertas. Se vincula al SMSC a través de SMPP como cliente y emite submit_sm para enviar mensajes que terminan en el móvil, mientras que el SMSC envía deliver_sm para las respuestas entrantes y las confirmaciones de entrega. En resumen: la ESME es su software en la red.
¿Qué ruta sigue un SMS A2P desde la aplicación hasta el dispositivo móvil?
La aplicación se vincula a un agregador/SMSC como ESME y envía el mensaje submit_sm. El SMSC almacena el mensaje y lo enruta —directamente o a través de concentradores SMS— al SMSC del operador de destino. Este SMSC consulta el HLR para obtener el MSC de servicio, reenvía el mensaje y la central de conmutación localiza el terminal (entrega MT). El terminal devuelve la confirmación de entrega a través de la misma cadena.
Referencias
- 3GPP — TS 23.040, Realización técnica del Servicio de Mensajes Cortos (SMS): 3gpp.org
- SMPP: especificación del protocolo peer-to-peer de mensajes cortos (ESME-to-SMSC): smpp.org
- BroadNet — qué es un SMSC y la guía de integración SMPP.
- BroadNet — Plataforma ESME y CDR y la pasarela SMSC.
