Определение
SMPP (Short Message Peer-to-Peer) — это открытый бинарный протокол поверх TCP. Приложения (ESME) и SMS-провайдеры используют его для обмена SMS с SMSC. Наиболее распространена версия 3.4.
SMPP-сессия начинается с bind (transmitter, receiver или transceiver). Затем клиент отправляет сообщения командой submit_sm, а входящие сообщения и отчёты о доставке получает как deliver_sm. Команда enquire_link поддерживает сессию активной, а unbind закрывает её.
У каждого PDU есть заголовок из 16 октетов: command_length, command_id, command_status и sequence_number. В ответах возвращается тот же порядковый номер, поэтому одновременно может быть «в полёте» много запросов (windowing). Именно это делает SMPP эффективным при больших объёмах.
SMPP подходит агрегаторам, реселлерам и компаниям, которые отправляют большие объёмы SMS или уже используют SMS-программное обеспечение. Большинству разработчиков приложений проще работать с HTTP SMS API.
В базовом протоколе нет шифрования, поэтому соединения следует выполнять через TLS или VPN. Часто также используется список разрешённых IP-адресов (IP allow-listing).
OmniChannels.ai предоставляет SMPP 3.4 поверх TLS, а bind-подключения настраиваются для каждого аккаунта отдельно.
Пример
bind_transceiver → bind_transceiver_resp → submit_sm → submit_sm_resp (message_id) → deliver_sm (receipt) → deliver_sm_resp