SMPP (Short Message Peer-to-Peer) es un protocolo abierto, binario y basado en TCP para intercambiar SMS entre una aplicación externa (ESME) y un centro de servicio de mensajes cortos (SMSC). Es la interfaz estándar para la mensajería A2P de alto rendimiento porque mantiene estado, tiene baja latencia y admite confirmaciones de entrega de forma nativa.
bind_transceiverAbrir y autenticar la sesiónbind_transceiver_respSesión aceptadasubmit_smEnviar un mensajesubmit_sm_respAceptado, ID de mensaje devueltodeliver_smConfirmación de entrega o mensaje entrantedeliver_sm_respConfirmadoenquire_linkKeepalive en estado de inactividad
Qué es SMPP y por qué existe
SMPP es un protocolo de aplicación de nivel 7 que permite a una aplicación de mensajería intercambiar mensajes cortos con un SMSC o una pasarela de enrutamiento. Mientras que una API REST resulta cómoda para volúmenes bajos, SMPP es una sesión binaria persistente que evita la sobrecarga de HTTP por mensaje, sostiene miles de mensajes por segundo en una sola conexión y transporta operaciones de envío, entrega, consulta, reemplazo y cancelación, además de confirmaciones de entrega asíncronas. Es agnóstico respecto a la red subyacente: el SMSC gestiona la entrega al terminal por SS7/MAP, SIGTRAN o IP. Publicado inicialmente por Aldiscon/Logica a finales de los años noventa, hoy lo mantiene el SMPP Developers Forum; la v3.4 (1999) sigue siendo la versión más desplegada.
El ESME y el SMSC
Los dos extremos son el ESME (External Short Message Entity, tu aplicación) y el SMSC (Short Message Service Centre, la pasarela del operador o agregador). El ESME abre una conexión TCP al puerto de escucha del SMSC (el 2775 registrado por la IANA para tráfico en claro) y se autentica mediante un bind. A pesar del nombre «peer-to-peer», la relación suele ser de cliente (ESME) a servidor (SMSC); cualquiera de los dos lados puede originar PDU una vez establecida la sesión, que es como el SMSC envía al ESME los mensajes originados en el móvil y las confirmaciones de entrega.
| Término | Significado |
|---|---|
| ESME | External Short Message Entity: la aplicación que se conecta (su remitente) |
| SMSC | Short Message Service Centre: la pasarela del operador/agregador |
| MC | Centro de mensajes: el término v5.0 que generaliza SMSC |
| MT | Mobile-Terminated: mensaje entregado a un terminal |
| MO | Mobile-Originated: mensaje enviado desde un terminal al ESME |
Modelo de sesión y transporte
SMPP se ejecuta sobre una única conexión TCP de larga duración. Tras el establecimiento TCP, el ESME envía una PDU bind; con un bind_resp correcto la sesión pasa a un estado enlazado y permanece abierta de forma indefinida, mantenida viva con PDU enquire_link periódicas. Las operaciones son pares de solicitud/respuesta correlacionados por sequence_number, y puede haber varias solicitudes pendientes a la vez (modo ventana / asíncrono) hasta un tamaño de ventana negociado. La sesión termina con un intercambio unbind o con el cierre de TCP. SMPP no tiene cifrado integrado; la confidencialidad se añade ejecutando la sesión sobre TLS.
Versiones: v3.3, v3.4 y v5.0
En la práctica importan tres versiones. La v3.3 es heredada y apenas se usa. La v3.4 introdujo el bind transceiver y los parámetros opcionales TLV, y es el estándar de facto de la industria hoy. La v5.0 es compatible con versiones anteriores respecto a la v3.4 y añade señalización de control de congestión, operaciones de difusión y estados de mensaje adicionales, pero está menos desplegada. La versión negociada se transporta en el campo interface_version del bind: 0x34 para la v3.4 y 0x50 para la v5.0.
| Valor | Versión |
|---|---|
| 0x33 o inferior | SMPP v3.3 o anterior |
| 0x34 | SMPP v3.4 |
| 0x50 | SMPP v5.0 |
Preguntas frecuentes
¿Se sigue usando SMPP en 2026?
Sí. SMPP sigue siendo el protocolo dominante para SMS A2P de alto volumen entre aplicaciones, agregadores y SMSC de operadores. Las API REST se sitúan sobre SMPP por comodidad, pero la interconexión con el operador es casi siempre SMPP sobre TCP, normalmente protegido con TLS.
¿Qué puerto utiliza SMPP?
El valor predeterminado registrado por la IANA es el puerto TCP 2775 para SMPP en claro. No existe un único puerto TLS estandarizado, así que los proveedores exponen un puerto independiente con TLS habilitado (por ejemplo, el 3550 o un puerto por cuenta) para los bind cifrados. Usa siempre el puerto que provisione tu proveedor.
¿Cuál es la diferencia entre SMPP y SMTP?
No tienen relación. SMTP transporta correo electrónico; SMPP transporta SMS entre aplicaciones y un SMSC. La similitud de las siglas causa confusión, pero los protocolos no comparten diseño, puertos ni formato de mensaje.
¿Necesito SMPP o basta con una API REST de SMS?
Una API REST es más sencilla y suficiente para volúmenes bajos o moderados y una integración rápida. SMPP demuestra su valor a alto rendimiento, donde una sesión binaria persistente ofrece menor latencia, mayor TPS sostenido y confirmaciones de entrega nativas y en tiempo real por la misma conexión.
Especificaciones de la fuente
Las normas publicadas en las que se basa esta página. Se abre en una pestaña nueva.