8-800-333-16-50
Россия
8-812-313-24-88
Санкт-Петербург
8-495-225-50-36
Москва

SMPP протокол

 

SMPP протокол (Short message peer-to-peer protocol - протокол соединения равноправных узлов для передачи коротких сообщений),
Протокол SMPP создан для подключения по API и служит для передачи сообщений типа SMS, USSD и других типов, в системах VAS

Используемые Режимы подключения:
Режим Передатчик (Transmitter) работает режим только для отправки сообщений (SUBMIT_SM пакетов) на SMS центр и для получения соответствующих ответов. Прием входящих сообщений не доступен;
Режим Приемник (Receiver) работает только на прием входящих сообщений (DELIVER_SM пакетов) и отправку соответствующих ответов от SMPP клиента на SMS центр. Отправка сообщений не доступна;

Подключение к SMPP шлюзу SigmaSMS обеспечивает независимость от скорости канала связи, что позволяет SMPP клиенту обмениваться данными  с SMPP сервером при  самых высоких показателях производительности. Соединение по протоколу SMPP для массовой рассылки sms является наиболее предпочтительным.

Для настройки API через SMPP протокол необходимо зарегистрироваться в системе SigmaSMS или обратиться к нашим специалистам любым удобным способом

Содержание

  • Параметры подключения
  • Правила работы с SMPP подключением
  • Параметры отправки сообщения (SUBMIT_SM)
  • Получение статуса доставки сообщения
  • Формат Delivery Receipt
  • Зарезервированные коды ошибок
  • Полная версия спецификации SMPP 3.4
  • Пример для SMPP API на PHP
  • Пример для SMPP API на Java
  • Смотрите также:

    Протоколы

    протокол HTTP
    протокол SMTP
    протокол XML
    протокол SOAP

    Справочники

  • Модуль для 1С
  • Разрешенные символы в имени отправителя
  • Определение длины сообщения
  • Использование регулярных выражений
  • Параметры подключения

    • system_id — зарегистрированное в системе имя пользователя вида XXXX.X
    • password — пароль пользователя
    • Адрес — api.sigmasms.ru
    • Порт — 8056

    Внимание: Вам необходимо прислать список IP адресов, с которых Вы будете подключаться, перед тем как начать использовать SMPP протокол.
    Поддерживаемые команды


    Команда

    Описание

    BIND_TRANSMITTER

    Подключиться как TRANSMITTER

    BIND_TRANSCEIVER

    Подключиться как TRANSCEIVER

    SUBMIT_SM

    Отправить сообщение

    QUERY_SM

    Запросить статус сообщения

    DELIVER_SM

    Отправка Delivery Receipt сервером

    ENQUIRE_LINK

    Проверка связи

    GENERIC_NAK

    Ошибочная команда

    UNBIND

    Отключение

    На не поддерживаемые команды сервер будет отвечать GENERIC_NAK сообщением с кодом ошибки ESME_RINVCMDID.

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

    При установке подключения клиенту дается 10 секунд, что бы отправить команду BIND_TRANSMITTER или BIND_TRANSCEIVER. Иначе соединение будет разорвано сервером.
    Клиент обязан отвечать на все пакеты отправленные сервером соответствующим resp пакетом в течение 1 минуты. Иначе соединение будет разорвано сервером без отсылки UNBIND.
    После установки подключения и авторизации сервер будет отправлять ENQUIRE_LINK пакеты каждую минуту. На этот пакет клиент также обязан ответить в течение 1 минуты.
    Одновременно возможно только одно подключение от одного имени пользователя. На все дополнительные подключения будет отправлена ошибка (0x00000005 ESME Already in Bound State). Если необходимо сделать несколько подключений для одного кабинета, для каждого необходимо создать отдельного пользователя и использовать его подключение.
    Если при отправке в пакете Submit_sm установлен флаг registered_delivery, то статус сообщения будет возвращен только в подключение, установленное от имени пользователя, отправившего сообщения.

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


    Параметр

    Значения

    source_addr_ton

    0x01 (для номеров) или 0x00 (для остального)

    source_addr_npi

    0x01 (для номеров) или 0x05 (для остального)

    dest_addr_ton

    0x01

    dest_addr_npi

    0x01

    esm_class

    0x00 или 0x40 при использовании UDH

    registered_delivery

    0x00 или 0x01

    data_coding

    0x01 - ASCII или 0x08 - UCS2

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

    Есть две возможности получения статуса доставки (активный и пассивный). Пассивный вариант является предпочтительным.
    Пассивный вариант предусматривает установку флага 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

    Сообщение отвергнуто

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


    Код

    Описание

    0x0400 (1024)

    Кодировка не распознана

    0x0401 (1025)

    Слишком большой текст сообщения. Максимальная длина не должна превышать 160 байт.

    0x0402 (1026)

    Ошибка регистрации сообщения на отправку. При возникновении этой ошибки обратитесь в службу поддержки.

    0x0403 (1027)

    Не прошла проверка текста сообщения на наличие недопустимых слов и/или фраз

    0x0404 (1028)

    Отправитель или получатель в черном списке

    0x0453 (1107)

    Сработало ограничение по отправке одинакового текста на один и тот же номер в течение небольшого
    промежутка времени. Обратитесь в поддержку, если хотите отключить или уменьшить период.

    0x043C (1084)

    Нет доступного тарифа для запрашиваемого направления.

    0x043F (1087)

    Нет подходящего тарифа у вышестоящего контрагента.

    0x045A (1114)

    Политика маршрутизации не найдена.

    0x0446 (1094)

    Ошибка транспорта. При возникновении этой ошибки обратитесь в службу поддержки.

    0x433 (1075)

    Недостаточно средств на счете.

    Полная версия спецификации SMPP 3.4

    Полную спецификацию SMPP версии 3.4, включая расшифровку ошибок , Вы можете скачать, перейдя по этим ссылкам:
    smpp34_rus.pdf (RUS)
    smpp34.pdf (EN)

    Выбирайте лучшее

    Персональный
    менеджер
    Забота о каждом клиенте
    Провайдер
    с лицензией
    Ответственность за свое дело
    Прямые
    подключения
    Гарантируем качество СМС рассылки
    Удобный
    личный кабинет
    Быстрый старт. Online отчеты
    Низкие
    цены
    Надежность, качество, экономичная цена
    Получить коммерческое предложение

    Оставьте свои контактные данные. С вами свяжется наш менеджер и подробно расскажет о стоимости и возможностях СМС рассылки.