Todo lo que vale la pena saber, nada que no lo sea.
Cómo funciona SMPP, paso a paso
El ESME abre una conexión TCP (idealmente TLS) y envía un mensaje bind_transceiver con un system_id y una contraseña. Una vez vinculado, envía cada mensaje como una PDU submit_sm; el SMSC confirma la recepción con un submit_sm_resp que contiene un message_id. Las confirmaciones de entrega llegan de forma asíncrona como PDU deliver_sm en el mismo socket, con el message_id correspondiente. Un latido enquire_link cada 30 segundos mantiene la sesión activa, y unbind la cierra correctamente. Consulte /answers/what-is-smpp y /answers/what-is-esme.
Tipos y versiones de enlace
Un ESME se enlaza como transmisor (solo envío), receptor (solo recepción) o transceptor (ambos en una misma conexión). El modo transceptor sobre SMPP 3.4 es el predeterminado actual. SMPP 5.0 añadió encabezados Unicode-clean y compatibilidad con difusión celular, pero casi nadie lo implementó; la base instalada es mayoritariamente 3.4. BroadNet acepta enlaces SMPP 3.4; el host, el puerto y las credenciales se proporcionan con su acceso de prueba. Véase /answers/smpp-3-4-vs-5-0.
Ventajas sobre una API REST
Una vez establecida, la vinculación persistente no tiene costo por mensaje, por lo que, a un volumen sostenido, SMPP utiliza aproximadamente una décima parte de la CPU y una cuarta parte del ancho de banda de HTTPS por solicitud. Es la única forma de alcanzar una latencia p99 inferior a 100 ms a un SMSC (no hay protocolo de enlace HTTP en la ruta crítica) y transmite los DLR en tiempo real. Consulte /compare/sms-api-vs-smpp.
Limitaciones y posibles problemas
SMPP es un protocolo binario que usted debe operar: la gestión de enlaces, la reconexión con retroceso exponencial, el seguimiento del número de secuencia y la coincidencia de DLR por message_id (devuelto en hexadecimal en algunos SMSC, decimal en otros) son responsabilidad suya. El manejo de errores es conciso: un envío fallido devuelve un command_status numérico que debe decodificar. Utilice la búsqueda /tools/smpp-error-codes para convertir esos códigos en una acción. Un cliente SMPP de nivel de producción es una base de código de miles de líneas; es mejor comprarlo que desarrollarlo.
¿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. Consulte [/developers/smpp](/developers/smpp) y [/products/sms-api](/products/sms-api).
¿Qué puerto utiliza SMPP y se seguirá utilizando en 2026?
SMPP no tiene un único puerto reservado; el 2775 es el puerto predeterminado histórico para texto plano y los operadores suelen exponer TLS en un puerto dedicado (BroadNet proporciona su puerto TLS con su cuenta). Y sí, SMPP está completamente actualizado: es el protocolo principal de prácticamente todos los contratos de interconexión A2P, y BroadNet opera más de 1000 enlaces activos detrás de 1000+ conexiones de operadores, transmitiendo más de 300 millones de mensajes al día con un tiempo de actividad del 99,99 % desde 2003.