Обрывы в сценарии IVR. Методика поиска неисправности
Одна из наиболее распространенных проблем, возникающих при настройке Oktell - обрывы во время входящих звонков. Проявляется это например следующим образом: клиент звонит по номеру телефона, слышит голосовое приветствие, после чего в трубке звучат короткие гудки. По логике администратора клиент должен был соединиться с оператором, но этого не произошло. Эта статья о том, как найти причину неисправности.
Не хватает соединения между компонентами.
Возникает из-за спешки при создании сценария, нагромождения элементов в одном месте. Соединения могут быть не видны из-за подписей компонентов, названий переходов (рис.1).
Решение - проверить каждое соединение, разместить компоненты более удобным способом.
Рис.1
Логическая ошибка.
Наиболее распространенными считаются:
- в компоненте "переключение на номер" происходит вызов несуществующего номера.
- в компоненте "переключение на номер" не заданы ветки "переход, занято", "переход, отсутствует".
- в компоненте "меню" не задан переход по ветке "переход, прочее". Обрыв будет в случае, если аргумент не подходит ни под одно предустановленное значение.
- в компоненте "сравнение" не задан переход по ветке правда (по ветке ложь).
- компоненты "web-запрос", "sql-запрос" отрабатывают с ошибкой.
Решение - воспользоваться кнопкой "проверить" в разделе "сохранение", вручную проверить логику сценария.
Рис.2
Анализ сервисного лога.
Во время работы Oktell записывает каждое действие в специализированный текстовый файл. Это помогает разобраться с поиском причин неисправности, локализовать и устранить проблему. Во время выполнения любого вида сценария (IVR, служебный, диалоговый) в сервисном логе оставляется запись о прохождения каждого компонента.
Данный лог располагается, как правило, по следующему пути: C:\Program Files (x86)\oktell\Server\Log\Service. При открытии рекомендуется использовать программу Notepad++.
Уточните в какой момент времени возник разрыв. Найдите в сервисном логе запуск IVR сценария. (например, по фразе "IVR: loaded")
Рис.3
Если сценарий запустился, значит он должен где-то закончиться. Поиск можно проводить по номеру линии (см. рисунок). Таким образом, проведя поиск можно найти следующую фразу: "IVR local general finished by null object" или "IVR Stopped". Главная опасность на этом шаге - перепутать один сценарий с другим, поэтому проверяйте, что IVR закончился именно на той же линии, на которой и начался.
Рис.4
Если подняться немного выше, то можно найти причину по которой остановился (некорректно отработал) IVR сценарий. Это поможет вам продиагностировать проблему.
Однако, методика поиска проблемы по номеру линии не будет работать во время переключения. В таком случае необходимо понимать, на какой линии запускается сценарий переключения, с кем коммутируется линия и анализировать поведение сценариев на линии собеседника. Понять с кем произошла коммутация поможет фраза "is commutating to".
12:10:00:713 4780 13001 - 13001 is commutating to 17001, Mode=FULL, Conv=0