Сценарии IVR

Сценарии голосовой обработки — IVR — автоматически обрабатывают звонки. От остальных типов сценариев они отличаются одним: IVR управляет линией, назначенной ему при поступлении звонка. Отсюда и его возможности: завершить соединение, скоммутировать вызов, проиграть и записать звук, принять DTMF-сигналы с телефона абонента.

Обработчик IVR всегда привязан к конкретному звонку и конкретной линии. В системе одновременно работает столько обработчиков IVR, сколько обслуживается линий — каждый со своей.

Когда запускается IVR-сценарий

  • поступление входящего звонка — главный сценарий;
  • начало обработки звонка по задаче автоматического исходящего оповещения;
  • входящий звонок на задачу автоматической обработки;
  • звонок на внутренний номер, за которым назначен сценарий IVR;
  • передача управления из одного сценария в другой;
  • переключение оператором абонента на номер, за которым назначен сценарий IVR;
  • переадресация на внешние номера с детальным указанием направлений;
  • гибкая маршрутизация («Вход в АТС») при снятии трубки на любом внутреннем телефоне и при переключениях;
  • обработка вызовов, поступающих в момент ожидания завершения всех коммутаций при перезапуске сервера — чтобы блокировать новые коммутации.

«Старт» и «Поднять трубку»: почему их два

В каждом новом сценарии IVR редактор сразу создаёт два соединённых связью объекта — «Старт» и «Поднять трубку». Это не заготовка, а напоминание о том, как устроен обработчик.

Состояние линии в начале сценарияЧто делает обработчик
Трубка не поднята — только для внешних линий Начинает со «Старта» и идёт последовательно по переходам.
Трубка уже поднята После «Старта» выполняет безусловный переход к «Поднять трубку», пропуская все компоненты между ними. Дальше — последовательно по переходам.
Как этим пользуются Между «Стартом» и «Поднять трубку» ставят компоненты, которые решают, отвечать ли на звонок вообще: проверку чёрного списка, расписания, лимита линий. При входящем звонке они отработают, при уже поднятой трубке — будут пропущены, и это ровно то поведение, которое нужно. Оба объекта можно и удалить, если логика сценария того требует.

Передача управления между сценариями

При передаче управления из одного IVR-сценария в другой передаётся параметр, а все переменные, существующие под одним именем в обоих сценариях, сохраняют свои значения.

Что происходит при переключении оператором Если оператор переключает абонента на сценарий IVR набором внутреннего номера, оператор сначала сам попадает в обработку сценарием. Переключение затем производится на текущий выполняемый сценарий — не на тот, что был запущен изначально после набора номера, — и в него повторно передаётся тот же параметр.

Это даёт оператору возможность перед переключением проделать в сценарии некоторые действия за абонента.

Главный сценарий

Чтобы система принимала входящие внешние вызовы, один из сценариев нужно назначить главным: раздел «Администрирование. Сценарии», выбрать сценарий в списке и назначить главным.

Сценарий должен быть сохранён на сервере Если главный сценарий сохранён только локально, доступ к нему будет заблокирован, и все входящие вызовы останутся без ответа. Проверяйте это после каждой правки главного сценария.

Главным может быть только один сценарий IVR. Но из него компонентом «Запуск сценария» в режиме вложенного могут получать управление любые другие IVR-сценарии.

Свой главный сценарий может быть назначен и каждому проекту — он получает управление, когда другой IVR-сценарий выполняет «Вход в проект» соответствующим компонентом.

Назначать номера можно только на те сценарии IVR, которые хранятся в общей папке.

Сколько объектов держать в одном сценарии

Рекомендуемый предел — 100 объектов Серверу и обработчику безразлично, насколько сценарий объёмен и структурирован: ограничение чисто человеческое. Крупные сценарии рекомендуется делить по выполняемым задачам и собирать из вложенных — так логика читается, правки делаются быстро, а готовые законченные блоки с одним входом можно переиспользовать.

Служебные переменные

Служебные переменные доступны только в компоненте «Присвоение значения переменной» и только как приёмник значения. Через них сценарий сообщает обслуживающим сервисам, чем закончилась обработка. По умолчанию все они равны −1, что означает «не учитывать».

Статус звонка

Применяется в голосовых задачах, работающих в автоматическом режиме через IVR-сценарии. Принудительно устанавливает состояние звонка: 0 — неудача, 1 — успех.

Если переменная не заполнена или сброшена — то есть содержит любое значение, кроме 0 и 1, — решение принимается стандартным образом, по установленному в задаче времени коммутации.

Пользовательский статус звонка

Тоже для автоматических голосовых задач. Устанавливает пользовательский результат звонка числовым кодом — вместо того, чтобы оператор выбирал его в стоп-форме.

Оператор перебивает сценарий Если в ходе сценария происходит переключение на пользователя или оператора и в конце звонка показывается стоп-форма, применён будет результат, установленный оператором в ней, а не заданный сценарием.

Приоритет очереди

Действует при переключениях с использованием очереди. По умолчанию берётся из поля «Приоритет по умолчанию» в разделе «Общие настройки. Менеджер очередей». Значение — любое целое число.

Меньше число — выше приоритет Это единственное, что стоит запомнить про приоритеты: «максимальный приоритет» — это наименьшее число. Приоритет применяют для VIP-клиентов, руководителей организации и подобных случаев.

Как это работает при размещении и выемке:

  • При постановке в очередь задачи или номера объект встаёт согласно приоритету в конец своей группы — последним среди всех объектов того же приоритета в этой очереди.
  • При выемке, если очередей несколько — скажем, на одного оператора назначено несколько задач и номеров, — среди всех объектов выбирается дольше всех ожидающий из тех, у кого приоритет максимальный.

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

Режим FLASH

Определяет режим переключения на текущий IVR-сценарий.

ЗначениеРежимЧто происходит
0 Рестарт Стандартный режим: текущий обработчик завершается, сценарий перезапускается с начала от имени переключаемой линии.
1 Подмена Обслуживаемая линия подменяется в текущей сессии обработчика. Начавшееся переключение не прерывается, но на телефоне вызываемого абонента не обновляются данные вызывающего.

Подмена линии возможна только на компонентах «Переключение внутреннее», «Переключение внешнее» и «Вход в задачу».

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