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

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

- Канонический URL: https://www.broadnet.me/ru/reference/smpp-protocol-overview
- Язык: ru
- Последнее обновление: 2026-07-18
- Издатель: BroadNet (https://www.broadnet.me)

Что такое SMPP, как устроена сессия ESME↔SMSC, чем отличаются v3.4 и v5.0 и почему он остаётся стандартом для высокопроизводительной A2P-рассылки SMS.

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

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

## 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*

| Термин | Значение |
|---|---|
| ESME | External Short Message Entity — подключающееся приложение (ваш отправитель) |
| SMSC | Центр коротких сообщений — шлюз оператора/агрегатора |
| MC | Центр сообщений — термин версии 5.0, обобщающий SMSC |
| MT | Mobile-Terminated — сообщение, доставленное на мобильное устройство |
| MO | Mobile-Originated — сообщение, отправленное с мобильного устройства на ESME |

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

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

## Версии: 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 или более ранней |
| 0x34 | SMPP v3.4 |
| 0x50 | SMPP 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 и штатные отчёты о доставке в реальном времени по тому же соединению.

## Источники

- [SMPP v3.4 specification (Issue 1.2)](https://smpp.org/SMPP_v3_4_Issue1_2.pdf)
- [SMPP v5.0 specification](https://smpp.org/SMPP_v5.pdf)
- [3GPP TS 23.040 — SMS technical realization](https://www.3gpp.org/dynareport/23040.htm)

## См. также

- [Что такое SMPP?](https://www.broadnet.me/ru/answers/what-is-smpp)
- [Структура PDU в SMPP](https://www.broadnet.me/ru/reference/smpp-pdu-anatomy)
- [SMSC-шлюз (операторам)](https://www.broadnet.me/ru/operators/smsc-gateway)
- [Продукт SMS API](https://www.broadnet.me/ru/products/sms-api)
- [Документация для разработчиков](https://www.broadnet.me/ru/developers)
