Фоновый сценарий медиа-взаимодействия

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

Зачем он нужен

Фоновый сценарий умеет воспроизводить звук, записывать его и принимать DTMF независимо от того, запущен ли основной сценарий на этом канале. А основной в это же время может пытаться переключить вызов, в том числе с ожиданием в очередях.

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

Ровно то же работает, когда фоновый сценарий назначен «Мелодией ожидания» в общих настройках или в задаче.

Что фоновому сценарию недоступно

Эти компоненты просто пропускаются Не работают и молча проходятся мимо: «Положить трубку» — завершение звонка; «Поднять трубку» — отправка ответов в линию; любые переключения; вход в задачу; создание конференции и подключение к ней; факсимильная передача.

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

Работают: компоненты воспроизведения, приёма DTMF, записи, а также все служебные компоненты, общие для всех типов сценариев.

Как запустить

  • из другого IVR-сценария, работающего основным, — компонентом «Запуск сценария» в режиме «Фоновое медиа-взаимодействие»;
  • вместо мелодии ожидания в стандартных режимах работы системы — настраивается в разделе «Общие настройки. Музыкальное сопровождение» и на вкладке «Дополнительно» в параметрах голосовых задач.

Что фоновому сценарию доступно

  • полноценное фоновое воспроизведение, в том числе последовательное случайное проигрывание файлов из указанного каталога;
  • сессионные переменные звонка;
  • при запуске в рамках задачи — функции, определяющие проект, задачу и индекс абонента в списке.

Когда фоновый сценарий завершается

Шесть событий, любое из которых его останавливает:

  • обработчик дошёл до последнего компонента;
  • из основного сценария запущен другой фоновый сценарий;
  • завершилось выполнение основного сценария;
  • непосредственно перед коммутацией с другим каналом или конференцией — приходит SIP-ответ 180 Ringing, 183 Session Progress или 200 OK;
  • из основного сценария остановлено фоновое воспроизведение;
  • в основном сценарии началось любое медиа-взаимодействие — компоненты воспроизведения и записи.

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

Чего не стоит делать в фоновом сценарии

Никаких длинных блокирующих операций Компоненты, способные надолго занять поток-обработчик без возможности прервать исполнение, — длительные запросы в базу данных, отправка почты и подобные — в фоновом сценарии нежелательны. Абонент в этот момент слушает тишину, а прервать операцию нечем.

Всё, что может занять время, выносите в асинхронный служебный сценарий: он отработает параллельно и не задержит фоновое воспроизведение.