Что такое SMPP

Обновлено и опубликовано Опубликовано:

SMPP —
простыми словами

протокол для обмена короткими сообщениями между приложением и SMS-центром оператора связи.

SMPP расшифровывается как Short Message Peer-to-Peer Protocol. Он появился в 1990-х годах и с тех пор остается основным способом, которым компании отправляют SMS большими объемами — коды подтверждения, уведомления банков, рассылки от интернет-магазинов.

В обмене участвуют два узла. SMSC — центр коротких сообщений на стороне оператора, он принимает подключения. ESME (External Short Message Entity) — приложение на стороне бизнеса, которое подключается к SMSC и отправляет или принимает сообщения. Между ними устанавливается постоянное соединение, поэтому SMPP работает быстрее, чем HTTP API, где на каждое сообщение открывается новый запрос.

Протокол базируется на обмене PDU — пакетами данных строго определенного бинарного формата. Каждый PDU состоит из заголовка и набора параметров, а транспортом служит TCP/IP.

Режимы подключения. SMPP-сессия открывается в одном из трех режимов.

  • Transmitter (TX). Только отправка сообщений на SMSC.
  • Receiver (RX). Только прием входящих сообщений и статусов доставки.
  • Transceiver (TRX). Одновременно отправка и прием в рамках одного соединения.

Версии протокола. Действующий стандарт — SMPP 3.4, его поддерживает подавляющее большинство операторов и SMS-агрегаторов. Версия 3.4 добавила TLV-параметры (Tag-Length-Value) для расширения набора полей без изменения базовой структуры PDU, а также режим Transceiver. Есть и более новая версия — SMPP 5.0, но на практике она встречается редко.

Кодировка сообщений. За кодирование текста отвечает поле Data Coding Scheme (DCS). Оно указывает, каким алфавитом закодировано сообщение — стандартным 7-битным GSM-алфавитом, 8-битным набором или UCS-2 для сообщений с эмодзи и не латинских языков.

Безопасность соединения. По умолчанию SMPP передает данные в открытом виде. Для защищенного подключения используется SMPP over TLS — тот же протокол, но поверх TLS-туннеля, что закрывает канал от перехвата логина, пароля и содержимого сообщений.

Часто SMPP сравнивают с HTTP API для отправки SMS.

  • SMPP держит постоянное соединение, HTTP API открывает новое на каждый запрос.
  • SMPP лучше подходит для больших объемов и высокой скорости отправки.
  • HTTP API проще в настройке — достаточно GET или POST-запроса к API провайдера.
  • SMPP дает больше контроля над статусами доставки в реальном времени.

Для подключения обычно нужны данные от оператора или агрегатора: адрес SMSC, порт, логин и пароль. На стороне приложения для работы с протоколом используют готовые SMPP-клиенты — библиотеки, которые берут на себя сборку и разбор PDU, не заставляя реализовывать бинарный формат вручную.

Подробнее о SMPP на Википедии.



Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

Blu-Ray   Aptly   GitLab   DFS   HTTP/2   Хостинг   Prometheus   Контроллер домена   Proxmox VE   CI/CD   Bareos   Бэд-сектор   1С:Предприятие   Жесткий диск   Pacemaker   Ping   Jenkins   Тачпад   Flash Player   SOCKS  
.....

Реклама