Интеграция по SMPP

Подключение происходит через наш SMS-шлюз, с помощью которого можно отправлять сообщения по протоколу SMPP версий 3.4 и 5.0.

Адрес SMPP-сервера: smpp.unibell.ru

Порт: 5070

Поддерживаются подключения в режиме BOUND_TRX.

Множественные подключения

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

Отправка SMS-сообщения

Для отправки SMS-сообщения используйте команду SUBMIT_SM согласно спецификации.

Поддерживаются следующие кодировки:

  • 7-битная GSM для латинского текста с поддержкой европейских символов (data_coding=0);
  • 8-битная ISO-8859-1 (ASCII) для латинского текста или бинарных данных (data_coding = 1);
  • UCS2 (UCS-2BE или UTF-16BE) для национальных алфавитов (data_coding=8).

Для SMS-сообщения поле esm_class в SUBMIT_SM должно быть равно 0.

Скорость передачи не должна превышать 100 сообщений в секунду, в случае превышения лимита в SUBMIT_SM_RESP будет возвращаться ошибка THROTTLING. При необходимости более высокой скорости отправки должно быть организовано несколько входящих подключений с разными логинами.

При автоматическом возврате статуса в команде DELIVER_SM передаются стандартные TLV-параметры:

ПараметрОписание
receipted_message_idИдентификатор SMS-сообщения
message_stateСтатус SMS-сообщения (подробнее см. Message state)
network_error_codeКод ошибки (подробнее см. Коды ошибок в статусе)

Отправка HLR-запроса

Для отправки HLR-запроса используйте команду SUBMIT_SM. Значение полей sourceAddr и shortMessage должны быть HLR.

Результат запроса приходит в обычном DELIVER_SM, который можно получить по SMPP-подключению, где передаются стандартные TLV-параметры:

ПараметрОписание
receipted_message_idИдентификатор HLR-запроса
message_stateСтатус HLR-запроса (подробнее см. Message state)
network_error_codeКод ошибки (подробнее см. Коды ошибок в статусе)

Статусы в message_state

ЗначениеMessage stateОписание
1EVROUTEСообщение находится в состоянии доставки (в пути)
2DELIVEREDСообщение доставлено получателю
3EXPIREDИстек срок действия сообщения, оно не может быть доставлено
4DELETEDСообщение было удалено
5UNDELIVERABLEСообщение не может быть доставлено
6ACCEPTEDСообщение принято (например, вручную прочитано от имени абонента службой поддержки)
7UNKNOWNСообщение находится в недействительном/неизвестном состоянии
8REJECTEDСообщение отклонено

Коды ошибок в статусе

Возможные коды ошибок в статусе SMS-сообщений или HLR-запросов (значения networkErrCode).

КодНазваниеОписание
0Нет ошибкиАбонент существует и доступен
1Абонент не существуетУказанный номер телефона не существует
6Абонент не в сетиТелефон абонента отключен или находится вне зоны действия сети
11Нет услуги SMSОзначает, что абонент не может принять SMS-сообщение. Например, услуга не подключена, или абонент находится в роуминге, где не активирован прием сообщений, или у оператора абонента не налажен обмен SMS с текущим роуминговым оператором. Также это может быть городской номер без приема сообщений
12Ошибка в телефоне абонентаНе удается доставить сообщение абоненту из-за ошибки в телефонном аппарате или SIM-карте
13Абонент заблокированВозникает, например, если на счету абонента нулевой или отрицательный баланс, и он находится в роуминге, или заблокирован оператором за продолжительную неуплату либо добровольно самим абонентом. Также данная ошибка может возвращаться при повреждении SIM-карты либо неправильном вводе PIN и PUK-кодов SIM-карты
21Нет поддержки сервисаАппарат абонента не поддерживает работу с данной услугой (сервисом)
На этой странице