Протокол SMPP v.3.4 для рассылки SMS

Протокол SMPP v.3.4 для рассылки SMS

Для использования данного вида интеграции Вам необходимо зарегистрироваться на серверной платформе Stream Telecom, либо зарегистрироваться через менеджера компании. При регистрации Вам присваивается логин, и тестовое имя отправителя SMS Info, которое будет автоматически удалено, после того как Вы запросите новое имя.

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

Функции

Необходимые настройки SMPP-клиента, для подключения:

Используемый Протокол: SMPP 3.4;

Адрес SMSC: smpp.szk-info.ru

Порт SMSC: 2222 (резервный порт подключения 3700)

Логин/Пароль:выдается индивидуально каждому партнеру при подключении;

Тип подключения: TRANSCEIVER;

Значения для TON и NPI

Набор символов для сообщений, формирование склеенных сообщений

- Default Alphabet (GSM 3.38), 7-bit characters - maximum of 160 characters; - Latin 1 (ISO-8859-1), 8-bit characters - limit is 140 characters; - Unicode (UTF16/USC-2), 16-bit characters - limit is 70 characters;

Кодировка для сообщений на латинице: GSM 03.38, длина одного сообщения 160 символов. Запрещенные символы: ^,,\,[,],

Кодировка для сообщений на кириллице: UTF16, длина одного SMS сообщения составляет 70 символов:

Примечание: Для корректного отображения текста, необходимо указание - Data coding: 0x08 - SMPP Data Coding Scheme: UCS2 (ISO/IEC-10646) (0x08), а также формирование текста в UTF-16ВE (big endian)

Отправка длинных (склеенных) сообщений возможна с использованием UDH или message_payload;

Примечание: Message_payload – один из опциональных SMPP 3.4 TLV (tag-length-value) параметров, поддерживаемых SMPP сервером. Применяется, например, приотправке сообщений более 254 октетов;‘Messagelength:0’;Optionalparametermessage_payload(0x0424);

При отправке SMS с UDH необходимо установить соответствующее значение ESM_class=0x40, DCS устанавливается согласно тексту и может быть UCS2 (ISO/IEC-10646) (0x08) для Unicode кодировки и DCS=0x00 для GSM-default кодировки.

UDH представляет собой следующее:

1 октет - уникальный для данной группы SMS номер

1 октет - количество SMS для склейки

1 октет - порядковый номер SMS

При формировании длинных сообщений больше 160 символов латиницей и 70 кириллицей, длина сообщения составляет:

Латиница - Default Alphabet (GSM 3.38)

1 SMS - 160 символов;

2 SMS - 153 * 2 = 306 симв.;

3 SMS - 459 симв. и т.д.

Кириллица - Unicode (UTF-16ВE)

1 SMS - 70 символов;

2 SMS - 67 *2 = 134 симв.;

3 SMS - 201 симв.;

4 SMS - 268 и т.д.

Примечение: согласно спецификации для таких сообщений накладываются определенные ограничения на длину каждой составляющейSMS, т.е. здесь UDH всегда имеет 8-битную структуру, и соответственно длина текстовой части SMS не должна превышать 134 октетов (140-6). Т.е. в GSM-default длина текста каждого SMSв несжатом виде должна быть не более 153 символов (134*8/7=153), а в юникоде 67 символов (134 /2=67).

Дополнительные параметры

- Таймаут: 1 минута;

- Задержка в случае неудачного переподключения: 1 минута;

- Верификация соединения (enquire_link PDU): 60 сек.;

Примечание: Enquire_link'и обязательны. Если клиент подключается к нам transmitter'ом мы ожидаем от него enquire_link'и, при их отсутствии в течение 2 минут – связь считается нарушенной и принудительно рвется.

Номер абонента всегда должен начинаться с «7» для абонентов России, использовани «8» для отправки по России недопустимо.

Скорость передачи SMS не более 50 SMS в секунду.

Указание адреса, происходит в международном формате, использование специальных символов, таких как «+», ведущих нулей – недопустимо.

Для буквенно-цифрового адреса – ограничение 11 символов;

Получение конечных статусов

В submit_sm PDU – необходимо выставить флаг registered_delivery = 0x01 (в SMPP по умолчанию 0x01), тогда будут приходить Deliver_sm PDU c информацией о доставке.

В таких пакетах (в отличие от обычных Deliver_sm) поле esm_class будет выставлено в 0x3c.

В поле receipted_message_id будет выставлено то значение, которое вы получили в submit_sm_resp от нашей платформы. В поле strong>receipted_message_state будет выставлен статус доставки по протоколу smpp.

Таким образом, deliver_sm PDU – содержит следующую информацию:

Operation: Deliver_sm (0x00000005)

Message type: 0x0f

Здесь в Optional parameters указывается - Message state: DELIVERED (2)

SMSC identifier: напр.: 23456789

В поле Message, присутствуют значения submit date и done date

message_state значение «2» - «Message is delivered to destination»

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

Особенностей PDU нет, они определяются протоколом. Формат DR соответствует формату:

📎📎📎📎📎📎📎📎📎📎