Структура запроса#
Взаимодействие с платформой#
Взаимодействие сервиса Платформы RCS с сервисом Партнера осуществляется на базе SMPP-протокола (версия 3.4).
Для отправки сообщения абоненту сервис Партнёра устанавливает соединение с сервером Сервис-провайдера
и передает пакет submit_sm, который содержит все необходимые параметры сообщения, в т.ч. TLV-параметры (опционально).
Сервис-провайдер принимает пакет, обрабатывает его, отправляет сообщение абоненту и отвечает Партнёру пакетом submit_sm_resp.
Для получения статуса доставки используются отдельные пары пакетов deliver_sm и deliver_sm_resp (см. Сервис получения статусов доставки).
Для достижения максимальной производительности при отправке сообщений от Партнёра к Сервис-провайдеру рекомендуется:
использовать двухсокетный SMPP (transmitter/receiver);
использовать несколько параллельных соединений с одним логином допустимо, но следует учитывать, что с точки зрения SMPP-сервера они все равнозначны;
и отчёт о доставке может быть отправлен не в тот физический сокет, откуда на сервер передавалась исходная PDU
submit_sm;при отправке длинных сообщений передавать все сообщение целиком в одном PDU с использованием
message_payload;вести отправку сообщений в асинхронном режиме с ограниченным буфером передачи:
отправлять в сокет следующую PDU
submit_sm, не ожидая полученияsubmit_sm_respна предыдущую;при этом нужно следить, чтобы общее количество отправленных в сокет PDU, на которые ответы ещё не получены, не превышало установленных значений (в зависимости от качества сетевого канала между клиентом и сервером. Рекомендуемый диапазон данного значения: от 5 до 50).
Установка соединения#
bind_transmitter / bind_receiver / bind_transceiver.system_type;interface_version;addr_ton;addr_npi;address_range;source_addr_ton;source_addr_npi;dest_addr_ton;dest_addr_npi.
bind_transmitter_resp / bind_receiver_resp / bind_transceiver_resp.Код ошибки |
Описание |
|---|---|
0x00 |
Успешная аутентификация. |
0x0F |
Неверный идентификатор сервиса (логин). |
0x0E |
Неверный пароль. |
0x05 |
Превышен лимит количества одновременно доступных активных соединений с сервером. |
0x0D |
Попытка соединения с неразрешенного IP-адреса. |
Поддержание соединения#
enquire_link. Сервер посылает пакет enquire_link раз в минуту, если за этот период по соединению не было никакого трафика.enquire_link_resp) сервер разрывает соединение без отправки пакета unbind.enquire_link и ожидать незамедлительного ответа enquire_link_resp.Повторная обработка сообщений#
Если сервис Партнёра не отвечает на запросы Сервис-провайдера:
Сервис помечается как «неработающий». Все сообщения, поступившие Сервис-провайдеру и предназначенные для данного сервиса, помещаются в очередь отложенных. Сервис будет неработающим, пока Партнер не подключится заново.
Всем абонентам, обратившимся к неработающему сервису, высылается сообщение о недоступности сервиса и задержке в оказании услуг (только в случае, если для сервиса настроена подобная опция).
Количество попыток отправки сообщения указывается в настройках интеграционного подключения, в параметре «Макс. кол-во попыток отправить МО-сообщение», который может принимать любое целое значение. Если значение не указано или равно 0, то система будет пытаться произвести отправку, пока не истечет время жизни сообщения.