Definição
SMPP (Short Message Peer-to-Peer) é um protocolo binário aberto sobre TCP que aplicações (ESMEs) e provedores de SMS usam para trocar SMS com uma SMSC. A versão 3.4 é a mais implantada.
Uma sessão SMPP começa com um bind (transmitter, receiver ou transceiver). Em seguida, o cliente envia mensagens com submit_sm e recebe mensagens de entrada e relatórios de entrega como deliver_sm. O enquire_link mantém a sessão ativa e o unbind a encerra.
Toda PDU tem um cabeçalho de 16 octetos: command_length, command_id, command_status e sequence_number. As respostas repetem o número de sequência, então muitas requisições podem estar em trânsito ao mesmo tempo (windowing), o que torna o SMPP eficiente para alto volume.
O SMPP é indicado para agregadores, revendedores e empresas que enviam grandes volumes ou que já têm software de SMS. Para a maioria dos desenvolvedores de aplicações, uma API HTTP de SMS é mais simples.
O protocolo base não tem criptografia, então as conexões devem rodar sobre TLS ou VPN, e é comum usar lista de IPs permitidos.
A OmniChannels.ai oferece SMPP 3.4 sobre TLS, com binds provisionados por conta.
Exemplo
bind_transceiver → bind_transceiver_resp → submit_sm → submit_sm_resp (message_id) → deliver_sm (comprovante) → deliver_sm_resp