Одним из протоколов отправки SMS-сообщений является SMPP. Он описывает процесс взаимодействия получателя сообщения, то есть smpp-клиента с smpp-сервером, используя при этом особую систему передачи данных.
Таким образом, протокол smpp обладает большими возможностями, которые, однако, сопряжены и с некоторыми особенностями использования и установки, которые мы и рассмотрим.
Для работы с протоколом SMPP необходимо иметь соответствующее ПО (SMPP-клиент, версии 3.4). При этом оборудование должно быть постоянно подсоединено к шлюзу компании «СМС-Агент». Для того чтобы отправка SMS через SMPP осуществлялась быстро и без задержек, все клиенты нашей фирмы проходят тест на совместимость оборудования. Это позволяет избавиться от многих технических сложностей еще на начальном этапе.
Кроме того, перед использованием протокола для проведения SMS-рассылок, пользователи могут провести тестовую отсылку СМС сообщений через SMPP, чтобы определиться с желаемой скоростью доставки.
Специалисты компании «СМС-Агент» всегда готовы предоставить консультацию по вопросам использования, подключения и тестирования сервиса SMPP, что упростит Вашу задачу.
| Значение | Описание |
|---|---|
| system_id | Зарегистрированное в системе имя пользователя |
| password | Пароль пользователя |
| Адрес | smpp.sms-agent.ru |
| Порт | 2775 |
| Порт | 3443 (Для шифрованного SSL-подключения) |
| Команда | Описание |
|---|---|
| BIND_TRANSMITTER | Подключиться как TRANSMITTER |
| BIND_TRANSCEIVER | Подключиться как TRANSCEIVER |
| SUBMIT_SM | Отправить сообщение |
| DELIVER_SM | Отправка Delivery Receipt сервером |
| BIND_TRANSMITTER | Проверка связи |
| UNBIND | Отключение |
| Параметр | Значения |
|---|---|
| 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 |
При установке подключения клиенту дается 10 секунд, что бы отправить команду BIND_TRANSMITTER или BIND_TRANSCEIVER. Иначе соединение будет разорвано сервером.
Клиент обязан отвечать на все пакеты отправленные сервером соответствующим resp пакетом в течение 1 минуты. Иначе соединение будет разорвано сервером без отсылки UNBIND.
После установки подключения и авторизации сервер будет отправлять ENQUIRE_LINK пакеты каждую минуту. На этот пакет клиент также обязан ответить в течение 1 минуты.
Есть две возможности получения статуса доставки по протоколу smpp (активный и пассивный). Пассивный вариант является предпочтительным.
Пассивный вариант предусматривает установку флага registered_delivery пакета SUBMIT_SM. После перехода сообщения в финальное состояние сервер отправит DELIVER_SM пакет с Delivery Receipt сообщением. Формат Delivery Receipt сообщения ниже.
Активный вариант предусматривает периодический опрос статуса сообщения отсылкой QUERY_SM.
"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) | Ошибка транспорта. При возникновении этой ошибки обратитесь в службу поддержки |
| 0x0433 (1075) | Недостаточно средств на счете |
Свяжитесь с нами и мы предоставим тестовый доступ!