Общие принципы обработчика сценариев
Обработчик сценария в зависимости от типа сценария может быть запущен разными способами.
- IVR
- поступление входящего звонка;
- начало обработки звонка по задаче автоматического оповещения;
- звонок на внутренний номер, за которым назначен сценарий IVR;
- передача управления из одного сценария в другой;
- входящий звонок на задачу автоматической обработки;
- переключение оператором абонента на номер, за которым назначен сценарий IVR;
- переадресация на внешние номера с детальным указанием направлений;
- гибкая маршрутизация (Вход в АТС) при снятии трубки на любом внутреннем телефоне и переключениях;
- обработка вызовов, поступающих в момент ожидания завершения всех коммутаций при перезапуске сервера.
· Диалоговый
o начало обработки звонка по задаче приема звонков оператором;
o начало обработки звонка по задаче исходящего оповещения оператором;
o запрос оператору на дозвон в задаче с резервированием и запросом;
· Служебный
o по таймеру, по расписанию;
o после разрыва связи с внешней линией с передачей в сценарий собранного контента;
o в ходе отработки контрольных событий;
o вложенный запуск из других служебных сценариев;
o асинхронный параллельный запуск из любых сценариев с передачей кода сессии и значений всех переменных;
o исходящие текстовые задачи (также ICQ, e-mail и служебные действия);
o активация контрольного события;
o асинхронный запуск служебного сценария из других сценариев;
o набор номеров в менеджерах задач и автодозвона;
o преобразования строк.
В ходе обработки сценария сервер поочередно выполняет соответствующие команды или преобразования, которые определяются объектами. Все обработанные объекты выстраивается в одну последовательность. Очередной объект определяется результатами выполнения предшествующего ему объекта. Выполняемый в текущий момент времени объект – активный объект.
При реализации сценариев по задачам call-центра, у сценария появляется доступ к информации о текущей выполняемой задаче, а также доступ на чтение и/или запись к строке текущего абонента в прикрепленной к задаче таблице абонентов.
Ход обработки можно проследить на примере. Производится звонок по задаче на исходящее оповещение. К задаче прикреплена таблица с информацией об абонентах. Звонок был произведен на одного из них. В диалоговые формы заносится информация из полей таблицы, соответствующих этому абоненту, маршрутизация звонка происходит на основе имеющейся в БД информации, а также на основе введенной абонентом или оператором информации. Вся введенная информация попадает в ту же таблицу в другие поля, или перезаписывает имеющиеся. При автоматической обработке абоненту могут быть озвучены значения полей из таблицы. Вся полученная информация помимо прикрепленной таблицы может быть загружена во внешнюю БД в ходе реализации сценариев IVR или диалога с указанием параметров задачи, по которой производился звонок. Точно также сценарий диалога может всю имеющуюся информацию выгрузить наружу и запустить любое внешнее приложение, включая PHP и ASP.NET скрипты.
*