SMPP

SMPP (Short Message Peer-to-Peer) – это протокол связи, который используется для передачи SMS-сообщений между различными участниками системы мобильной связи, такими как операторы мобильной связи, поставщики услуг SMS и разработчики программного обеспечения. SMPP обеспечивает надежный и эффективный способ обмена сообщениями между различными компонентами системы и используется для доставки большого объема SMS-сообщений.

Является открытым протоколом в телекоммуникационной отрасли, который разработан специально, чтобы обеспечить гибкий интерфейс для обмена SMS-сообщениями между прикладными SMS-платформами (ESME), маршрутизаторами (RE) и центрами службы коротких сообщений (SMSC).

SMPP часто используют третьи лица, такие как поставщики дополнительных услуг, новостные агентства, для передачи SMS сообщений — часто массово. По данному протоколу можно передавать SMS, EMS, уведомления голосовой почты, сотовое радиовещание, WAP-сообщения, USSD сообщения и пр. Из-за своей универсальности, заключающейся в поддержке сетей GSMUMTS, IS-95 (CDMA), CDMA2000, ANSI-136 (TDMA) и подобных, SMPP является наиболее широко используемым протоколом для обмена короткими сообщениями за пределами сетей ОКС7 (SS7).

SMPP использует модель работы клиент-сервер. Центр сообщений (SMSC), как правило, выступает в качестве сервера, ожидая подключения от клиента — ESME. Когда SMPP используется для SMS пиринга, отправляющий MC обычно выступает в качестве клиента.

Протокол основан на обмене пар запрос-ответ PDU (блоков данных протокола или пакетах) на 4м уровне(сетевая модель OSI ,TCP сессии или X25 SVC3). Общеизвестный порт, назначенный IANA для SMPP при работе над TCP является 2775, но часто используются произвольные номера портов.

Перед обменом сообщений, должна быть отправлена и подтверждена команда привязки. Команда привязки определяет, в каком направлении можно будет отправлять сообщения; bind_transmitter позволяет клиенту только отправлять сообщения на сервер, bind_receiver означает, что клиент будет только получать сообщения, и bind_transceiver (введен в SMPP 3.4) позволяет передавать сообщения в обоих направлениях. При отправке команды привязки, ESME должен себя идентифицировать с помощью параметров system_id, system_type и password; address_range предназначен для указания адреса ESME, но обычно, передается пустым. Так же, в команде привязки есть interface_version, в котором указывают версию протокола, который будет использоваться во время сессии.

Обмен сообщениями может быть синхронным, где каждый узел ожидает ответа на каждый PDU или асинхронный, где множественные запросы могут быть отправлены без ожидания ответа; количество неподтвержденных запросов называется «окно»; для наилучшего взаимодействия, обе стороны должны иметь идентичные настройки размера окна.

Для протокола SMPP имеются некоторые ограничения:

1. Длина сообщения: максимальная длина текстового сообщения, которое может быть отправлено через протокол SMPP, часто ограничена, например, до 160 символов для сообщений SMS. Для длинных сообщений может потребоваться их разделение на несколько частей.
2. Частота отправки: провайдеры могут устанавливать ограничения на частоту отправки сообщений через протокол SMPP, чтобы предотвратить перегрузку и защитить сеть от спама.
3. Аутентификация: для использования протокола SMPP часто требуется аутентификация, например, с помощью пароля или ключа доступа.
4. Типы сообщений: некоторые провайдеры могут ограничивать типы сообщений, которые можно отправлять через протокол SMPP, например, запрещая рекламные или спам-сообщения.
5. Секьюрити: для обеспечения безопасности данные, передаваемые по протоколу SMPP, могут быть зашифрованы или требовать использования безопасных каналов связи.

Некоторые программы, которые могут работать с протоколом SMPP: Kannel, Ozeki NG SMS Gateway, Communigate Pro, SMPPSim, JSMPP, NowSMS и др.

Обсуждение закрыто.