Сценарий фонового медиа-взаимодействия
Каждый канал может обслуживаться только в одном IVR-сценарии в силу специфики медиа-взаимодействия. Исключением является запуск дублирующего фонового IVR сценария медиа-взаимодействия. Вне зависимости от того, запущен ли основной сценарий IVR, обслуживающий конкретный канал, сценарий медиа-взаимодействия способен проводить системные служебные действия, а также воспроизведение, запись, получение DTMF-сигнала. При этом основной сценарий (если он запущен) может производить попытки переключения, в том числе и с ожиданием в очередях. Все это время абонент будет слышать то, что происходит в фоновом сценарии. Аналогичным образом абонент может взаимодействовать с фоновым сценарием, если он назначен в качестве «Мелодии ожидания» в общих настройках или в задаче.
Итак, рассмотрим первый вариант. Совершается входящий звонок, и чтобы клиент не слушал обычные гудки, заменяем их на Сценарий фонового медиа-взаимодействия с возможность ходить по данному сценарию, то есть переключения между мелодиями, играющими в сценарии.
Пример №1:
Рассмотрим элементы нашего сценария.
Воспроизведение звукового файла
Символ прерывания нужен для того, при вводе с клавиатуры абонента указанной последовательности проигрывание прекращается, и управление переходит к следующему компоненту. 0 - прослушать все заново, 1 - переключиться на следующую запись, для данного случая.
Буфер, переменная куда сохраняется данный символ прерывания. Переменную называем Буфер Чтобы ходить по сценарию, используем компонент Меню с сохранением в него нашей переменной Буфер и значениями, которые мы выставили в Символе прерывания.
В Аргумент записываем нашу переменную Буфер. В Значения наши значения из Символа прерывания.
Пауза нужна нам в данном случае для красивой и понятной связки компонентов.
Создание Сценарий фонового медиа-взаимодействия закончено. Теперь давайте посмотрим как его вложить в главный сценарий и чтобы он запустился при входящем звонке.
Тип запуска выбираем Фоновое медиа-взаимодействие.
Сценарий выбираем наш сценарий (имя ему я дал "Голос")
Сценарий фонового медиа-взаимодействия можно изменять как вам угодно, в зависимости, что вы хотите получить. Можете проиграть число, или записать то что говорит абонент пока ждет ответа. Можно использовать все сразу эти компоненты вместе в одном сценарии.
Пример №2:
Пример №3:
Фоновый IVR сценарий не имеет возможности завершать звонок (компонент «Положить трубку»), отправлять ответы в линию (компонент «Поднять трубку»), осуществлять переключения, вход в задачу, создание и подключение в конференции, факсимильная передача. Эти компоненты при работе сценария сразу пропускаются. В фоновом сценарии способны работать компоненты воспроизведения, приема DTMF, записи, а также все служебные компоненты, общие для всех типов сценариев. Общие компоненты сценариев
Сценарий может быть запущен из другого IVR-сценария, работающего в качестве основного (компонент Запуск сценария с установленным режимом Фоновое медиа-взаимодействие). Также он может быть запущен вместо мелодии ожидания в стандартных режимах работы системы. Настройка производится в разделе Общие настройки. Музыкальное сопровождение и на вкладке Дополнительно при редактировании параметров голосовых задач.
В рамках фонового сценария полноценно может использоваться фоновое воспроизведение, в том числе с последовательным случайным воспроизведением файлов из указанного каталога.
Поддерживает глобальные переменные сессии звонка.
При запуске в рамках задачи имеет доступ к функциям, определяющим проект, задачу, индекс абонента в списке.
Завершает выполнение в нескольких случаях:
- Обработчик дошел до последнего компонента.
- Из основного сценария запущен другой фоновый сценарий.
- Завершилось выполнение основного сценария.
- Непосредственно перед коммутацией с другим каналом или конференцией.
- При остановке фонового воспроизведения из основного сценария.
- При любом медиа-взаимодействии в основном сценарии (компоненты воспроизведения и записи).
При осуществлении перевода основного IVR сценария с использованием Flash-удержания медиа-сценарий не прекращает выполнения вплоть до наступления одного из вышеперечисленных событий.
Не рекомендуется использовать в сценарии компоненты, способные на долгое время задержать поток-обработчик без возможности прервать исполнение до завершения, например длительные запросы в БД, отправка почты и т.д. Вместо этого лучше использовать асинхронные служебные сценарии.