Todo lo que vale la pena saber, nada que no lo sea.
Por qué la versión 3.4 ganó la base de usuarios instalados
SMPP 3.4 se lanzó al mismo tiempo que el SMS A2P despegaba. Todos los principales proveedores de SMSC desarrollaron implementaciones 3.4 robustas y estables. El protocolo es pequeño (unos 30 tipos de PDU, ocho comandos que se envían), se comprende bien y funciona sin problemas con NAT y cortafuegos. Veintisiete años después, la especificación SMPP 3.4 sigue siendo el protocolo principal en todos los contratos de interconexión A2P.
Lo que añadió la versión 5.0
SMPP 5.0 mejoró varios aspectos: incluyó la compatibilidad nativa con UTF-8 en el message_payload, un registro de service_type adecuado, broadcast_sm, query_broadcast_sm y cancel_broadcast_sm para difusión celular, TLV de facturación opcionales y un control de congestión más estricto con congestion_state. También introdujo el concepto de máquinas de estado de mensajes que el SMSC puede gestionar en nombre del ESME.
¿Por qué casi nadie usa la versión 5.0?
Tres razones. Primero, los proveedores de SMSC no recibieron pago por actualizar, ya que los operadores ya contaban con pilas 3.4 en funcionamiento. Segundo, el caso de uso de difusión celular al que apuntaba la versión 5.0 se dirigió a centros de difusión celular (CBC) dedicados, no a SMSC. Tercero, los problemas que solucionó la versión 5.0 (manejo de Unicode, TLV de facturación) generalmente se resuelven en la capa de aplicación con TLV sobre la versión 3.4. El resultado: en BroadNet tenemos un enlace 5.0 en producción. Tenemos más de 1000 enlaces 3.4 activos.
Consejos prácticos
Conéctese como transceptor a través de SMPP 3.4, con TLS en el puerto proporcionado con su cuenta. Usa submit_sm con message_payload TLV para mensajes largos (en lugar de la concatenación UDH) cuando el SMSC receptor lo admita. Negocia enquire_link cada 30 segundos y desvincula correctamente. Si tu agregador impone la versión 5.0, pregunta por qué; no hay ninguna ventaja en la capacidad de entrega en las rutas A2P comerciales.
SMPP 3.4 frente a SMPP 5.0 de un vistazo
| SMPP 3.4 | SMPP 5.0 | |
|---|---|---|
| Lanzamiento | 1999 | 2003 |
| Base instalada de producción | Casi todos los binds A2P | Poco frecuente — rara vez se implementa |
| Encabezado Unicode nativo | — | |
| Soporte de Cell Broadcast | — | |
| Control de congestión | Básico | Señalización congestion_state |
| Beneficio de entregabilidad | Referencia | Ninguno en rutas A2P comerciales |
| Recomendado hoy | Sí — transceiver sobre TLS | Solo si la contraparte lo exige |