SMPP-сервер, подключение по протоколу SMPP

Одним из протоколов отправки SMS-сообщений является SMPP. Он описывает процесс взаимодействия получателя сообщения, то есть smpp-клиента с smpp-сервером, используя при этом особую систему передачи данных.

Взяв за основу отправку CMC-сообщений через протокол SMPP, Вы получите возможность:

  1. Использовать различные текстовые форматы, а также wap push смс;
  2. Отсылать не только короткие, но и длинные тексты;
  3. Получать подробные отчеты о доставленных и отложенных смс;
  4. Обмениваться сообщениями в двустороннем формате;
  5. Выбирать скорость отправки.

Таким образом, протокол smpp обладает большими возможностями, которые, однако, сопряжены и с некоторыми особенностями использования и установки, которые мы и рассмотрим.

Особенности работы с SMPP

Для работы с протоколом SMPP необходимо иметь соответствующее ПО (SMPP-клиент, версии 3.4). При этом оборудование должно быть постоянно подсоединено к шлюзу компании «СМС-Агент». Для того чтобы отправка SMS через SMPP осуществлялась быстро и без задержек, все клиенты нашей фирмы проходят тест на совместимость оборудования. Это позволяет избавиться от многих технических сложностей еще на начальном этапе.

Кроме того, перед использованием протокола для проведения SMS-рассылок, пользователи могут провести тестовую отсылку СМС сообщений через SMPP, чтобы определиться с желаемой скоростью доставки.

Специалисты компании «СМС-Агент» всегда готовы предоставить консультацию по вопросам использования, подключения и тестирования сервиса SMPP, что упростит Вашу задачу.

Подключение по SMPP протоколу

Значение Описание
system_id Зарегистрированное в системе имя пользователя
password Пароль пользователя
Адрес smpp.sms-agent.ru
Порт 2775
Порт 3443 (Для шифрованного SSL-подключения)

Поддерживаемые команды по протоколу SMPP

Команда Описание
BIND_TRANSMITTER Подключиться как TRANSMITTER
BIND_TRANSCEIVER Подключиться как TRANSCEIVER
SUBMIT_SM Отправить сообщение
DELIVER_SM Отправка Delivery Receipt сервером
BIND_TRANSMITTER Проверка связи
UNBIND Отключение

Параметры отправки сообщения (SUBMIT_SM) по SMPP

Параметр Значения
source_addr_ton 0x01 (для номеров) или 0x05 (для остального)
source_addr_ton 0x01 (для номеров) или 0x05 (для остального)
dest_addr_ton 0x01
dest_addr_ton 0x01
esm_class 0x00 или 0x40 при использовании UDH
registered_delivery 0x00 или 0x01
data_coding 0x01 - ASCII или 0x08 - UCS2

Правила работы с SMPP подключением

При установке подключения клиенту дается 10 секунд, что бы отправить команду BIND_TRANSMITTER или BIND_TRANSCEIVER. Иначе соединение будет разорвано сервером.

Клиент обязан отвечать на все пакеты отправленные сервером соответствующим resp пакетом в течение 1 минуты. Иначе соединение будет разорвано сервером без отсылки UNBIND.

После установки подключения и авторизации сервер будет отправлять ENQUIRE_LINK пакеты каждую минуту. На этот пакет клиент также обязан ответить в течение 1 минуты.

Получение статуса доставки сообщения

Есть две возможности получения статуса доставки по протоколу smpp (активный и пассивный). Пассивный вариант является предпочтительным.

Пассивный вариант предусматривает установку флага registered_delivery пакета SUBMIT_SM. После перехода сообщения в финальное состояние сервер отправит DELIVER_SM пакет с Delivery Receipt сообщением. Формат Delivery Receipt сообщения ниже.

Активный вариант предусматривает периодический опрос статуса сообщения отсылкой QUERY_SM.

Формат Delivery Receipt

"id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:E Text: . . . . . . . . ."

Поле Описание
id ID сообщения
sub Количество отправленных сообщений
dlvrd Количество доставленных сообщений
submit date Время отправки сообщения
done date Время перехода сообщение в финальное состояние
stat Статус сообщения (расшифровка статусов см. ниже)
err Может содержать код ошибки в случае не доставки сообщения
text Первые 20 байт сообщения
Статус Описание
delivrd Доставлено
expired Не доставлено из-за истечения периода ожидания доставки
deleted Удалено
undeliv Не может быть доставлено
acceptd Принято на обработку
unknown Статус не известен (поле err может содержать код ошибки)
rejectd Сообщение отвергнуто

Зарезервированные коды ошибок при SMPP соединении

Статус Описание
0x0400 (1024) Кодировка не распознана
0x0401 (1025) Слишком большой текст сообщения. Максимальная длина не должна превышать 160 байт
0x0402 (1026) Ошибка регистрации сообщения. При возникновении этой ошибки обратитесь в службу поддержки
0x0403 (1027) Не прошла проверка текста сообщения на наличие недопустимых слов и/или фраз
0x0404 (1028) Отправитель или получатель в черном списке
0x0453 (1107) Сработало ограничение по отправке одинакового текста на один и тот же номер
0x043C (1084) Нет доступного тарифа для запрашиваемого направления
0x043F (1087) Нет подходящего тарифа у вышестоящего контрагента
0x045A (1114) Политика маршрутизации не найдена
0x0446 (1094) Ошибка транспорта. При возникновении этой ошибки обратитесь в службу поддержки
0x0433 (1075) Недостаточно средств на счете
form-icon

Подпишитесь на рассылку новостей

Некорректные данные
Некорректные данные
Подписаться
Нажимая на кнопку «Оставить заявку» вы соглашаетесь
с Политикой обработки персональных данных
Голосовые сообщения (Voice)

Популярный вид оповещения клиентов уже доступен для вас

Подробнее

Требуется качественный SMPP-шлюз?

Свяжитесь с нами и мы предоставим тестовый доступ!

Это обязательное поле
Это обязательное поле
Это обязательное поле
Оставить заявку
Нажимая на кнопку «Оставить заявку» вы соглашаетесь
с Политикой обработки персональных данных