SMPP (Short Message Peer-to-Peer) es el protocolo del sector de las telecomunicaciones que se usa para intercambiar SMS entre aplicaciones, gateways SMS, agregadores y SMSC de operadores. Funciona sobre una conexión TCP persistente, llamada bind, y transporta mensajes, informes de entrega y respuestas entrantes en paquetes binarios compactos llamados PDU. La versión 3.4 es la que usan la mayoría de las rutas.
¿Qué es SMPP?
El protocolo SMPP es un estándar abierto, desarrollado en los años noventa, para enviar y entregar mensajes cortos fuera de la señalización propia de la red móvil. Define dos papeles: el ESME (External Short Messaging Entity), que es el cliente, como su plataforma o gateway; y el SMSC (Short Message Service Center), que es el servidor, como el centro de mensajería de un operador o de un agregador. Casi todas las rutas SMS A2P wholesale se entregan por SMPP. La versión 3.4 es el estándar de facto; la versión 5.0 existe pero es mucho menos común.
¿Cómo funciona SMPP?
El cliente abre una conexión TCP con el servidor (el puerto 2775 es el predeterminado habitual), se autentica con un system ID y una contraseña, y mantiene la sesión abierta. Después, los mensajes, los acuses de entrega y los paquetes de keep-alive circulan en ambos sentidos por ese bind hasta que uno de los lados lo cierra.
- Bind. El cliente envía una petición de bind con sus credenciales y el tipo de bind.
- Envío. Cada mensaje sale como una PDU
submit_smcon la dirección de origen (sender ID), el número de destino, la codificación de datos y el texto. El servidor responde consubmit_sm_resp, que contiene un ID de mensaje o un código de error. - Entrega. Los acuses de entrega y las respuestas originadas en el móvil vuelven como PDU
deliver_sm, que el cliente confirma. - Keep-alive. Las PDU
enquire_linkcada 30 a 60 segundos mantienen sana la sesión y detectan los enlaces caídos. - Unbind. Cualquiera de los lados cierra la sesión limpiamente con
unbind.
Los códigos de error de las respuestas (por ejemplo destino inválido o limitación de frecuencia) se enumeran en códigos de error SMPP, y los estados de los acuses de entrega en códigos de estado DLR de SMS.
¿Qué tipos de bind SMPP existen?
| Tipo de bind | Sentido | Uso típico |
|---|---|---|
| Transmitter (TX) | El cliente solo envía mensajes | Conexiones de envío separadas |
| Receiver (RX) | El cliente solo recibe DLR y respuestas | Conexiones de recepción separadas |
| Transceiver (TRX) | Ambos sentidos en una sola conexión | La configuración más común en las rutas actuales |
Los proveedores limitan el número de binds por cuenta y los mensajes por segundo (TPS) por bind. Vea binds SMPP y TPS.
¿Qué es un servidor SMPP?
Un servidor SMPP es el lado que acepta los binds: el SMSC de un operador, la plataforma de un agregador o un gateway que revende rutas a sus propios clientes. Un revendedor suele cumplir ambos papeles: un servidor SMPP para sus clientes y conexiones cliente SMPP hacia sus rutas superiores. Software de gateway como Kannel y Jasmin puede desempeñar estos papeles. Las herramientas para probar cualquiera de los dos lados se tratan en herramientas cliente y servidor SMPP.
SMPP en telecomunicaciones: ¿para qué se usa?
- Conectar plataformas A2P y proveedores CPaaS con agregadores y operadores.
- Interconexiones SMS de carrier a carrier en wholesale.
- Remitentes de gran volumen (bancos, proveedores de OTP) que necesitan capacidad y acuses rápidos.
- Recibir SMS entrantes en short codes y números largos.
Vea qué es un agregador SMS A2P para saber dónde se sitúa SMPP en la cadena.
SMPP vs HTTP API
SMPP mantiene una conexión abierta y encadena los mensajes, así que gestiona grandes volúmenes con poca sobrecarga y devuelve los acuses en tiempo real. Una HTTP API es más fácil de integrar (una petición por mensaje, webhooks para los informes) y encaja con apps de volumen moderado. Los revendedores y las plataformas suelen elegir SMPP; los equipos de producto suelen empezar con HTTP. Comparación completa: SMPP vs HTTP para SMS y qué es una API SMS.
Parámetros SMPP clave que hay que configurar bien
- TON/NPI de la dirección de origen: indica al servidor si el remitente es alfanumérico, internacional o nacional.
- data_coding: 0 para el alfabeto GSM predeterminado en la mayoría de las rutas, 8 para UCS-2 (Unicode). Vea GSM-7 frente a Unicode.
- registered_delivery: debe activarse para pedir acuses de entrega.
- Mensajes largos: se envían con UDH o con parámetros SAR. Vea SMS largos concatenados.
- Seguridad: SMPP 3.4 no tiene cifrado incorporado, así que las conexiones suelen ir por VPN, lista blanca de IP o túnel TLS.
Cómo conseguir rutas SMPP
VoIPMatcher consigue rutas SMS A2P por SMPP a través de sus carriers y las gestiona, con binds y TPS dimensionados para su tráfico. Solicite una ruta SMPP.
Preguntas frecuentes
¿Qué puerto usa SMPP?
SMPP funciona sobre TCP, y el puerto 2775 es el predeterminado más habitual. En la práctica, cada proveedor le da su propio host, puerto, system ID y contraseña, y el puerto puede ser otro. Las conexiones suelen restringirse por lista blanca de IP y, como SMPP 3.4 no tiene cifrado incorporado, muchos enlaces van por una VPN o un túnel TLS.
¿Qué diferencia hay entre SMPP 3.4 y SMPP 5.0?
SMPP 3.4 es la versión que usa casi cualquier ruta SMS. SMPP 5.0 añadió funciones como los mensajes de difusión, información de control de congestión y más parámetros opcionales, pero su adopción ha sido limitada. Cuando un proveedor dice SMPP sin indicar versión, asuma 3.4, y confirme detalles como el soporte de TLV y el formato de los acuses antes de integrar.
¿Es seguro SMPP?
No por sí mismo. SMPP 3.4 envía las credenciales y el contenido de los mensajes sin cifrar, así que debe ir por una VPN, un túnel TLS o al menos una conexión privada con una lista blanca de IP estricta. Use contraseñas robustas y únicas por bind y restrinja cada cuenta a las direcciones de origen y los destinos que necesita.
¿Qué es un ESME en SMPP?
ESME significa External Short Messaging Entity: el lado cliente de una conexión SMPP. Es la aplicación, plataforma o gateway que hace bind con un SMSC o servidor SMPP para enviar mensajes y recibir acuses de entrega. Una plataforma de reventa actúa como SMSC para sus clientes y como ESME hacia sus rutas superiores.
¿Necesito SMPP para enviar SMS?
No. La mayoría de las aplicaciones envían SMS mediante una HTTP API, que es más sencilla de integrar. SMPP es preferible cuando envía mucho volumen, necesita acuses con baja latencia, revende rutas a otros clientes o se conecta directamente con carriers y agregadores. Muchos proveedores ofrecen ambos, así que puede empezar con HTTP y pasar a SMPP más adelante.
¿Necesita una ruta?
Envíe el destino, el tipo de ruta y la tarifa objetivo. Le respondemos con lo que podemos ofrecer.