BroadNet
SMPPОсновы

Обзор протокола SMPP

Обновлено 3 мин чтенияна основе стандартов
Прямой ответ

SMPP (Short Message Peer-to-Peer) — это открытый двоичный протокол на базе TCP для обмена SMS между внешним приложением (ESME) и центром обслуживания коротких сообщений (SMSC). Это стандартный интерфейс для высокопроизводительной A2P-рассылки, потому что он сохраняет состояние сессии, имеет низкую задержку и штатно поддерживает отчёты о доставке.

СхемаSMPP-сессия между вашей платформой и BroadNet
Ваша платформа (ESME)
BroadNet SMSC
Одно постоянное TCP/TLS-соединение
  1. bind_transceiverОткрыть и аутентифицировать сессию
  2. bind_transceiver_respСессия принята
  3. submit_smОтправить сообщение
  4. submit_sm_respПринято, возвращен ID сообщения
  5. deliver_smПодтверждение доставки или входящее сообщение
  6. deliver_sm_respПодтверждено
  7. enquire_linkKeepalive в режиме ожидания
§01

Что такое SMPP и зачем он нужен

SMPP — это прикладной протокол уровня 7, позволяющий приложению обмениваться короткими сообщениями с SMSC или маршрутизирующим шлюзом. Там где REST API удобен при малых объёмах, SMPP представляет собой постоянную двоичную сессию, которая исключает накладные расходы HTTP на каждое сообщение, выдерживает тысячи сообщений в секунду на одном соединении и поддерживает операции отправки, доставки, запроса, замены и отмены, а также асинхронные отчёты о доставке. Он не зависит от нижележащей сети — SMSC берёт на себя доставку до абонента по SS7/MAP, SIGTRAN или IP. Впервые опубликованный компанией Aldiscon/Logica в конце 1990-х, сегодня он сопровождается форумом разработчиков SMPP; версия v3.4 (1999) остаётся самой распространённой.

§02

ESME и SMSC

Два участника обмена — это ESME (External Short Message Entity, ваше приложение) и SMSC (Short Message Service Centre, шлюз оператора или агрегатора). ESME открывает TCP-соединение с прослушивающим портом SMSC (зарегистрированный в IANA порт 2775 для незашифрованного трафика) и проходит аутентификацию командой bind. Несмотря на название «peer-to-peer», отношения обычно строятся по схеме клиент (ESME) — сервер (SMSC); после установления сессии любая из сторон может инициировать PDU, за счёт чего SMSC передаёт обратно на ESME сообщения от абонентов (MO) и отчёты о доставке.

Роли в сессии SMPP
ТерминЗначение
ESMEExternal Short Message Entity — подключающееся приложение (ваш отправитель)
SMSCЦентр коротких сообщений — шлюз оператора/агрегатора
MCЦентр сообщений — термин версии 5.0, обобщающий SMSC
MTMobile-Terminated — сообщение, доставленное на мобильное устройство
MOMobile-Originated — сообщение, отправленное с мобильного устройства на ESME
§03

Модель сессии и транспорт

SMPP работает поверх одного долгоживущего TCP-соединения. После TCP-рукопожатия ESME отправляет PDU bind; при успешном bind_resp сессия переходит в связанное (bound) состояние и остаётся открытой неограниченно долго, поддерживаясь периодическими PDU enquire_link. Операции представляют собой пары запрос/ответ, коррелируемые по sequence_number, и одновременно может быть несколько незавершённых запросов (оконный / асинхронный режим) в пределах согласованного размера окна. Сессия завершается обменом unbind или закрытием TCP. У SMPP нет встроенного шифрования; конфиденциальность обеспечивается запуском сессии поверх TLS.

§04

Версии: v3.3, v3.4 и v5.0

На практике важны три версии. v3.3 устарела и применяется редко. v3.4 ввела bind типа transceiver и опциональные параметры TLV и сегодня является фактическим отраслевым стандартом. v5.0 обратно совместима с v3.4 и добавляет сигнализацию управления перегрузкой, операции широковещательной рассылки и дополнительные состояния сообщения, но распространена меньше. Согласованная версия передаётся в поле interface_version команды bind: 0x34 для v3.4 и 0x50 для v5.0.

Значения interface_version
ЗначениеВерсия
0x33 или нижеSMPP версии 3.3 или более ранней
0x34SMPP v3.4
0x50SMPP v5.0
Часто задаваемые вопросы

Часто задаваемые вопросы

Используется ли SMPP в 2026 году?

Да. SMPP остаётся доминирующим протоколом для высокообъёмной A2P-рассылки SMS между приложениями, агрегаторами и SMSC операторов. REST API строятся поверх SMPP для удобства, но межсетевое взаимодействие со стороны оператора почти всегда использует SMPP поверх TCP, как правило защищённый TLS.

Какой порт использует SMPP?

Зарегистрированное в IANA значение по умолчанию — TCP-порт 2775 для незашифрованного SMPP. Единого стандартизированного порта для TLS нет, поэтому провайдеры выделяют отдельный порт с поддержкой TLS (например, 3550 или порт под учётную запись) для зашифрованных подключений. Всегда используйте порт, выданный вашим провайдером.

В чём разница между SMPP и SMTP?

Это не связанные протоколы. SMTP передаёт электронную почту; SMPP передаёт SMS между приложениями и SMSC. Похожие сокращения вызывают путаницу, но протоколы не имеют общей архитектуры, портов и формата сообщений.

Нужен ли мне SMPP или достаточно REST SMS API?

REST API проще и вполне подходит для малых и средних объёмов и быстрой интеграции. SMPP оправдывает себя при высокой пропускной способности, где постоянная двоичная сессия даёт меньшую задержку, более высокий устойчивый TPS и штатные отчёты о доставке в реальном времени по тому же соединению.

Ссылки

Технические характеристики источника

На этой странице представлены опубликованные стандарты, на которых они основаны. (Открывается в новой вкладке)

BNПоддерживается инженерной командой BroadNet·Обмен сообщениями операторского класса с 2003 года.
Прикрепите это к проводу

Разработано с использованием реального SMPP подключения и REST API.

Запросите тестовый доступ с реальными тестовыми ключами: сначала отправьте их на свой подтвержденный номер, а затем, после утверждения вашей личности отправителя и маршрутов, переходите к использованию в производственной среде более чем в 200 странах.