SMPP, explicado
SMPP (Short Message Peer-to-Peer) es el protocolo TCP abierto que transporta A2P SMS entre una aplicación — el ESME — y la SMSC de un operador móvil. El ESME abre un bind persistente, envía mensajes como submit_sm PDUs binarios y recibe confirmaciones de entrega a través del mismo socket.
Resumen de ¿Cómo funciona el protocolo SMPP?
Cómo funciona
- 1
Bind
El ESME abre una conexión TCP (idealmente TLS) y envía bind_transceiver con un system_id y contraseña. Puede realizar el bind como Transmitter, Receiver o Transceiver; un bind Transceiver sobre SMPP 3.4 es el estándar moderno.
Leer la respuesta completa - 2
Submit
Cada mensaje se envía como un PDU submit_sm, y el SMSC lo confirma con un submit_sm_resp que contiene un message_id. La ventana —cuántos PDUs pueden estar en tránsito sin confirmación— es lo que suele limitar el rendimiento real.
Leer la respuesta completa - 3
Recibir confirmaciones de entrega
Las confirmaciones de entrega llegan de forma asíncrona como PDUs deliver_sm en el mismo socket y se vinculan al mensaje original mediante el message_id.
Leer la respuesta completa - 4
Mantener la sesión activa
Un heartbeat enquire_link cada 30 segundos mantiene el bind activo, el cliente se reconecta con un backoff exponencial y el unbind cierra la sesión de forma limpia. Un submit fallido devuelve un command_status numérico para decodificar.
Leer la respuesta completa
Términos clave
Cada término tiene su propia página de respuesta con la explicación completa.
- ¿Qué es SMPP?SMPP (Short Message Peer-to-Peer) es el protocolo abierto estándar para el intercambio de SMS entre SMSC, ESME (External Short Message Entities) y agregadores.
- ¿Cómo funciona el protocolo SMPP?SMPP (Short Message Peer-to-Peer) es el protocolo TCP abierto que transporta SMS A2P entre una aplicación (ESME) y el SMSC de un operador móvil.
- ¿Qué es un ESME?ESME (External Short Messaging Entity) es el término SMPP para cualquier aplicación externa al SMSC que envía o recibe SMS.
- ¿Qué es un SMSC?Un SMSC (Centro de Servicio de Mensajes Cortos) es el componente de infraestructura principal de una red móvil que almacena, reenvía y entrega mensajes SMS entre dispositivos móviles y aplicaciones externas.
- ¿Cuál es el tamaño de la ventana SMPP ?La ventana representa la cantidad de PDU SMPP que un ESME puede tener en tránsito (enviadas pero aún no confirmadas) en una única conexión en cualquier momento.
- SMPP 3.4 frente a SMPP 5.0: qué ha cambiado y qué versión utilizarSMPP 3.4 (1999) sigue siendo el protocolo de interconexión SMS que se utiliza en casi todas las conexiones A2P en producción actualmente.
- ¿Qué es un DLR (confirmación de entrega)?Un DLR es la confirmación asíncrona de que un SMS se ha entregado (o no se ha entregado) en el terminal.
- ¿Qué es TPS (Transacciones por Segundo)?TPS (transacciones por segundo) —también llamado MPS o tasa de envío— es el límite de rendimiento de una cuenta o enlace de mensajería: cuántas PDU de SMS submit_sm acepta el SMSC por segundo antes de devolver…
- TLS 1.3 en la mensajería: qué ha cambiado y por qué es importante para SMPPTLS 1.3 (RFC 8446, 2018) reemplazó a TLS 1.2 con un protocolo de enlace más rápido, eliminó todos los algoritmos que habían sido vulnerados en la década anterior e hizo obligatorio el secreto directo.
Guías y lecturas adicionales
- ReferenciaDescripción general del protocolo SMPP
- ReferenciaOperaciones bind y estados de sesión en SMPP
- ReferenciaSMPP submit_sm: todos los campos obligatorios
- ReferenciaCódigos de error command_status de SMPP
- GuíaLista de verificación de integración SMPP
- ArtículoEl coste operativo de una integración SMS: binds, webhooks y modos de fallo
- ArtículoPlanificación del rendimiento de SMS y TPS: dimensionamiento de los recursos de SMPP para campañas de alto volumen
- ComparativaSMS API frente a SMPP
- Documentación para desarrolladoresIntegración de SMPP
- HerramientaBuscador de códigos de error SMPP
Preguntas frecuentes
¿Cuándo conviene elegir SMPP en lugar de REST?
Elija SMPP si envía de forma sostenida varios cientos de mensajes por segundo o necesita binds persistentes (la capacidad por bind se acuerda con su equipo de cuenta), si utiliza OTP con latencia crítica donde cada milisegundo cuenta, o si se integra en un ecosistema de operador/agregador que ya utiliza SMPP en todas partes. En los demás casos, una API REST SMS (sin límites de tasa fijos por cuenta en BroadNet) es más sencilla de operar y funciona a través de las mismas rutas.
Leer la respuesta completa¿Debería usar SMPP 5.0 para una nueva integración?
Casi nunca. Vincule SMPP 3.4 sobre TLS a menos que una contraparte específica requiera 5.0. La base instalada, las herramientas y el soporte de operadores se basan en 3.4, y 5.0 no ofrece ninguna ventaja en cuanto a la capacidad de entrega en rutas A2P comerciales.
Leer la respuesta completa¿SMPP 5.0 ofrece una mejor transmisión de mensajes que la versión 3.4?
No. La capacidad de entrega depende de la ruta del operador, no de la versión de SMPP. Las mejoras introducidas en la versión 5.0 (encabezados Unicode, TLV de facturación) se gestionan normalmente en la capa de aplicación sobre la versión 3.4.
Leer la respuesta completa¿Cómo puedo enviar texto en árabe o emojis a través de SMPP 3.4?
Establezca data_coding en UCS-2 (0x08) o incluya el cuerpo en un TLV message_payload. La versión 3.4 maneja bien el contenido Unicode; no necesita la versión 5.0 para ello.
Leer la respuesta completa¿Qué tipo de enlace y puerto debo usar?
La vinculación de transceptor mediante TLS es el estándar para A2P: envía mensajes submit_sm y recibe DLR en un mismo socket. BroadNet ofrece enlaces SMPP 3.4; el host, el puerto y las credenciales se proporcionan con su acceso de prueba.
Leer la respuesta completa