BroadNet
Протоколы Ответ BroadNet

Как работает протокол SMPP?

Последнее обновление 2 мин чтенияПроверено инженерным отделом BroadNet
Быстрый ответ

SMPP (Short Message Peer-to-Peer) — это открытый протокол TCP, который обеспечивает передачу SMS-сообщений по принципу «один к одному» (A2P) между приложением — ESME — и SMSC мобильного оператора. ESME устанавливает постоянное соединение, отправляет сообщения в виде двоичных PDU submit_sm и получает подтверждения доставки обратно через тот же сокет. Версия 3.4 (1999) используется практически во всех коммерческих приложениях A2P; версия 5.0 существует, но используется крайне редко. SMPP является высокопроизводительной альтернативой REST SMS API.

Определение простым языкомНейтральный по отношению к поставщикуПроверено 2 октября 2026 г.
Схема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, шаг за шагом.

ESME устанавливает TCP-соединение (в идеале TLS) и отправляет bind_transceiver с system_id и паролем. После привязки он отправляет каждое сообщение как submit_sm PDU; SMSC подтверждает это отправкой submit_sm_resp, содержащей message_id. Подтверждения доставки поступают асинхронно в виде deliver_sm PDU на тот же сокет, сопоставляясь с message_id. Сигнал подтверждения enquire_link каждые 30 секунд поддерживает сессию активной, а unbind корректно её закрывает. См. /answers/what-is-smpp и /answers/what-is-esme.

§02

Типы и версии привязки

ESME может быть привязан как передатчик (только отправка), приемник (только прием) или приемопередатчик (оба в одном соединении). Приемопередатчик через SMPP 3.4 является современным вариантом по умолчанию. В SMPP 5.0 были добавлены заголовки, не содержащие символов Unicode, и поддержка широковещательной передачи данных по ячейкам, но почти никто его не использовал — подавляющее большинство пользователей используют версию 3.4. BroadNet принимает привязки SMPP 3.4; хост, порт и учетные данные предоставляются вместе с тестовым доступом. См. /answers/smpp-3-4-vs-5-0.

§03

Преимущества по сравнению с REST API

Установление постоянного соединения ничего не стоит за каждое сообщение, поэтому при постоянном объеме запросов SMPP использует примерно десятую часть ресурсов процессора и четверть пропускной способности по сравнению с HTTPS-запросами. Это единственный способ достичь задержки p99 менее 100 мс до SMSC — на критическом пути отсутствует HTTP-рукопожатие — и он передает DLR-сообщения обратно в реальном времени. См. /compare/sms-api-vs-smpp.

§04

Ограничения и подводные камни

SMPP — это бинарный протокол, с которым вам придётся работать: управление привязкой, переподключение с экспоненциальной задержкой, отслеживание порядковых номеров и сопоставление DLR по message_id (возвращается в шестнадцатеричном формате на некоторых SMSC, в десятичном — на других) — всё это ваша задача. Обработка ошибок лаконична — неудачная отправка возвращает числовой command_status, который вам нужно расшифровать. Используйте поиск /tools/smpp-error-codes, чтобы преобразовать эти коды в действие. Производственный SMPP-клиент — это многотысячестрочный код; лучше купить готовый, чем разрабатывать его самостоятельно.

§05

В каких случаях следует отдавать предпочтение SMPP перед REST?

Выбирайте SMPP, если вы стабильно отправляете несколько сотен сообщений в секунду или вам нужны постоянные bind-сессии (пропускная способность на bind согласовывается с вашей командой по работе с клиентами), используете критичные к задержке OTP, где каждая миллисекунда на счету, или интегрируетесь в экосистему операторов/агрегаторов, которая уже повсеместно поддерживает SMPP. В остальных случаях REST SMS API (в BroadNet нет фиксированных лимитов скорости на аккаунт) проще в эксплуатации и доставляет по тем же маршрутам. См. /developers/smpp и /products/sms-api.

§06

Какой порт использует протокол SMPP, и будет ли он использоваться в 2026 году?

В SMPP нет единого зарезервированного порта; исторически сложилось так, что порт по умолчанию для передачи текста в открытом виде — 2775, и операторы обычно предоставляют TLS через выделенный порт (BroadNet предоставляет свой порт TLS вместе с вашей учетной записью). И да — SMPP полностью актуален: это протокол, закрепленный в основе практически каждого договора на межсетевое соединение A2P, а BroadNet поддерживает более 1000 активных bind-сессий за 1000+ прямыми подключениями к операторам, передавая более 300 млн сообщений в день с вероятностью бесперебойной работы 99,99% с 2003 года.

BNАвтор статьи — инженерная команда BroadNet·Осуществляем обмен сообщениями операторского класса с 2003 года, штаб-квартира — в Дубае.·Редакционные стандарты
Создавайте с помощью этого

Нужна помощь с подключением?

Ниже представлены продукты и руководства по интеграции, которые позволяют реализовать эту концепцию. Если вы предпочитаете ознакомиться с процессом в режиме реального времени, наша команда инженеров принимает звонки в тот же день в рабочее время MENA .

Свяжитесь с нашей инженерной командой.
Источники

Первоисточники, на которые мы ссылаемся.

Органы стандартизации и регуляторы, упомянутые на этой странице. Открываются в новой вкладке.

Обратная связь

Был ли этот ответ полезен?

Ваш голос помогает нам определить приоритетность ответов, которые следует дополнить примерами, диаграммами и фрагментами кода.

Был ли этот ответ полезен?
Спасибо — принято к сведению. Мы будем поддерживать этот ответ.
Понял. Расскажите, чего не хватало — отправить короткое сообщение.

Как мы готовим и проверяем материалы

Вам всё ещё нужна помощь?

Поговорите с настоящим инженером о ваша сборка.

Мы отвечаем в течение одного рабочего дня, а производственные аккаунты получают круглосуточную поддержку. Наши инженеры-разработчики создают код, а не скрипты.

$ curl -X POST https://api.broadnet.me/sms/sendSms
SLA по времени ответа
Запросы на тестовый доступОтвет в течение 1 рабочего дня
Продакшн24 / 7 · < 15 min
NOC для операторов24 / 7 · дежурный инженер