Definición
SMPP (Short Message Peer-to-Peer) es un protocolo binario abierto sobre TCP que las aplicaciones (ESME) y los proveedores de SMS usan para intercambiar SMS con un SMSC. La versión 3.4 es la más implantada.
Una sesión SMPP empieza con un bind (transmisor, receptor o transceptor). Después, el cliente envía mensajes con submit_sm y recibe los mensajes entrantes y los informes de entrega (DLR) como deliver_sm. enquire_link mantiene viva la sesión y unbind la cierra.
Cada PDU tiene una cabecera de 16 octetos: command_length, command_id, command_status y sequence_number. Las respuestas repiten el número de secuencia, de modo que puede haber muchas solicitudes en curso a la vez (windowing), y eso es lo que hace a SMPP eficiente para grandes volúmenes.
SMPP es adecuado para agregadores, revendedores y empresas que envían grandes volúmenes o que ya cuentan con software de SMS. Para la mayoría de los desarrolladores de aplicaciones, una API HTTP de SMS es más sencilla.
El protocolo base no tiene cifrado, por lo que las conexiones deben ir sobre TLS o una VPN, y es habitual usar listas de IP permitidas.
OmniChannels.ai ofrece SMPP 3.4 sobre TLS con binds aprovisionados por cuenta.
Ejemplo
bind_transceiver → bind_transceiver_resp → submit_sm → submit_sm_resp (message_id) → deliver_sm (DLR) → deliver_sm_resp