Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Цель исходящего скрипта - обслуживать обратный звонок. Например, вызов из формы обратной связи с сайта/личного кабинета и пр.
Этапы организации услуги обратного вызова:
1. Создание исходящего ivr-скрипта.
Исходящие IVR-скрипты описывают логику работы callback вызова. Существует два базовых варианта использования исходящих ivr скриптов:
1.1 Соединение двух абонентов.
Для обычного соединения оператора и клиента можно воспользоваться следующим ivr-сценарием.
При этом в первом блоке connect необходимо соединиться с вызывающим абонентом (оператором), а во втором с вызываемым абонентом (клиентом). Исходящий ivr-скрипт также позволяет производить информирование обеих сторон (как раздельно так и одновременно) посредством блока playout. Для того, чтобы ivr-сценарий не завершился после соединения абонентов используется блок talk, который ожидает окончания разговора.
1.2 Соединение абонента и входящего ivr-скрипта.
В случае необходимости соединения клиента с входящим ivr-скриптом можно воспользоваться следующим сценарием:





В данном случае в блоке connect необходимо соединиться с вызываемым абонентом (клиентом) и после того как он снимет трубку его соединят с входящим ivr-скриптом.
Внимание! Если исходящий ivr-скрипт соединил двух абонентов, то дальнейшее соединение с входящим ivr-скриптом запрещено.
2. Клиенту, который предоставляет услугу Обратный вызов своим абонентам, необходимо создать виджет сервиса Сustom Сallback используя команды Управление виджетом сервиса "custom callback".
Виджет представляет собой карточку, которая содержит следующие данные:
номер - номер оператора;
имя - имя виджета;
скрипт - название ivr-скрипта; Ivr-скрипт может содержать вызовы как на Оператора, так и на Абонента.В ivr-скрипте можно настраивать проигрываемую информацию Оператору и Абоненту.
Пример:
Вызвать оператора Клиента;
Проиграть информацию о том, что был заказан Callback;
Играть оператору Клиента фоновую музыку;
Сделать вызов на Абонента;
При ответе Абонента: проиграть информацию Абоненту о том, что сработал Callback;
При ответе Абонента: проиграть информацию Абоненту о том, что он будет соединен с оператором.
описание - данное поле должно отображать информацию о назначении данного виджета.
При создании виджета генерируется идентификатор виджета (widget_id). Данный widget_id устанавливается Клиентом на свой сайт, где будет заполняться web-форма на заявку Обратного вызова.
3. Абоненту необходимо заполнить заявку на Обратный вызов в web-форме, предоставленной Клиентом, где Абонент должен указать:
номер – номер, на который будет произведен обратный вызов со стороны Оператора;
время - в указанное время будет произведен обратный вызов со стороны Оператора;
количество попыток - количество повторных обратных вызовов в случае не успешного звонка (опциональный параметр, по умолчанию равен 0);
время между попытками - время между повторными обратными вызовами. Опциональный параметр, по умолчанию равен 900000 мсек (15 минут).
4. Обработчик заявки на Обратный вызов вычисляет разницу в мс между текущим моментом времени и моментом времени, когда должен будет активироваться Сallback.
Затем обработчик через HTTP-запрос оправляет на систему CSS-17 следующие данные:
SUBSCRIBER_NUMBER - номер Абонента;
TIME - вычисленная разница по времени;
ATTEMPTS - количество попыток;
TIMEOUT - время между попытками;
WIDGET_ID - идентификатор widget.
Обработчик должен знать куда отправлять http-запрос:
HOST - хост Платформы;
PORT - порт Платформы;
DOMAIN - домен на котором сгенерирован widget.
HTTP-запрос: 
GET http://HOST:PORT/DOMAIN/service/custom_cb/WIDGET_ID?number=SUBSCRIBER_NUMBER&time=TIME&attempts=ATTEMPTS&timeout=TIMEOUT HTTP/1.1
Пример HTTP-запроса: 
GET http://localhost:8086/test.domain/service/custom_cb/054b4a0a684aa67c?number=102&time=1&attempts=1&timeout=10000 HTTP/1.1
Пример HTTP-запроса через curl: 
curl -G -d "number=102&time=1&attempts=1&timeout=10000" http://localhost:8086/d.local/service/custom_cb/054b4a0a684aa67c --verbose
или: 
curl -G http://localhost:8086/d.local/service/custom_cb/054b4a0a684aa67c?number=102\&time=1\&attempts=1\&timeout=10000 --verbose
5. Система CSS-17 получив HTTP-запрос, обрабатывает его по следующей схеме:
Включается таймер на Обратный вызов - промежуток времени, через который необходимо выполнить Сallback;
По истечении времени на таймере выполняется Обратный вызов по IVR-сценарию исходящего вызова указанному в виджете;
В случае не успешного соединения (со стороны Оператора или Абонента телефонный номер не отвечает, поступил сигнал занято и т.п.):
Если не использованы все попытки на повторное выполнение Обратного вызова, то включается таймер на повторный Сallback (используется попытка).
По истечении времени на таймере выполняется Обратный вызов по IVR-сценарию исходящего вызова указанному в виджете;
Если использованы все попытки, то Обратный вызов помечается как неудавшийся.






















  • Нет меток