Short Message Peer-to-Peer (SMPP) es un lenguaje fundamental que permite la transmisión de mensajes de texto. Funciona como el protocolo rector a través del cual las ESME o Entidades Externas de Mensajes Cortos, que engloban las aplicaciones de mensajería de texto para empresas y los dispositivos IoT celulares, interactúan con los dispositivos móviles que utilizan Servicios de Mensajes Cortos (SMS).
SMPP facilita el flujo de comunicaciones SMS a través del Centro de Servicios de Mensajes Cortos (SMSC) de un proveedor de red. Para establecer una conexión entre los ordenadores y el centro de servicios, se requiere un sistema intermediario, como una pasarela SMS o una pasarela SMPP. Posteriormente, la pasarela y el SMSC utilizan el protocolo SMPP para gobernar sus interacciones.
¿Cuál es la mecánica del SMPP?
Cuando un dispositivo o una aplicación con SMS quiere enviar un mensaje de texto, inicia una sesión SMPP con el Centro de Mensajes (MC) o el Centro de Servicios de Mensajes Cortos (SMSC) de un operador de telefonía móvil. Durante esta sesión, el dispositivo y el Centro de Mensajes se comunican utilizando el protocolo SMPP.
La comunicación entre el dispositivo y el Centro de Mensajes se realiza a través de Unidades de Datos de Protocolo (PDUs). Las PDU se utilizan para empaquetar e intercambiar comandos y respuestas entre las dos entidades. Definen la naturaleza de la comunicación SMS, como por ejemplo si el ESME está enviando o recibiendo un mensaje.
El Centro de Mensajes actúa como mediador, aceptando o rechazando la transmisión SMS en nombre del destinatario. Si en la comunicación interviene una pasarela, ésta también actúa como mediadora, transmitiendo información hacia y desde el Centro de Mensajes.
Tipos de sesiones SMPP
Las sesiones SMPP pueden clasificarse en cuatro tipos:
El transmisor (TX) es iniciado por el ESME para enviar mensajes SMS a un dispositivo móvil, así como para cancelar mensajes enviados previamente.
El receptor (RX) se utiliza para recibir mensajes SMS iniciados por el propio dispositivo móvil.
El transceptor (TRX) permite a los ESME enviar y recibir mensajes SMS. Sin embargo, la primera versión de SMPP no admite este tipo de sesión.
Outbind Session representa una sesión SMPP iniciada por el MC.
Unidades de datos de protocolo (PDU)
Las PDU encapsulan los comandos y respuestas intercambiados entre el SMSC y el MC, siguiendo el protocolo definido. Al principio de cada sesión, se emite un comando «bind» para especificar la naturaleza de la interacción. Por ejemplo, para iniciar una sesión de transmisor, el SMSC envía una PDU con el comando «bind_transmitter». Esta PDU inicial incluye la identificación del ESME, el tipo, la contraseña y la versión de SMPP empleada, lo que permite al MC interpretar los comandos y determinar las PDU compatibles. La dirección de la comunicación SMS también se define en las PDU. Por ejemplo, si un ESME pretende enviar un mensaje de texto, el SMSC envía una solicitud «submit_sm» al MC.
Versiones de SMPP
La versión de SMPP empleada debe definirse explícitamente durante cada sesión, ya que determina los métodos de interacción permitidos entre las dos entidades. Hay tres versiones de SMPP:
SMPP v3.3
SMPP v3.4
SMPP v5.0
Aplicaciones de SMPP en IoT
Algunas aplicaciones notables de SMPP en IoT incluyen monitorización medioambiental en tiempo real, sistemas de seguridad domésticos inteligentes, gestión de flotas, seguimiento de activos y gestión remota de dispositivos. Con SMPP, los dispositivos IoT pueden enviar alertas críticas, recibir comandos, transmitir actualizaciones de datos y establecer comunicación bidireccional, mejorando la funcionalidad y conectividad de los ecosistemas IoT.