Обрывы в сценарии IVR. Методика поиска неисправности

Материал из Oktell
Перейти к: навигация, поиск

Наверх

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

Не хватает соединения между компонентами.

Возникает из-за спешки при создании сценария, нагромождения элементов в одном месте. Соединения могут быть не видны из-за подписей компонентов, названий переходов (рис.1).

Решение - проверить каждое соединение, разместить компоненты более удобным способом.


Рис.1

Обрывывсценариях1.PNG


Логическая ошибка.

Наиболее распространенными считаются:

  • в компоненте "переключение на номер" происходит вызов несуществующего номера.
  • в компоненте "переключение на номер" не заданы ветки "переход, занято", "переход, отсутствует".
  • в компоненте "меню" не задан переход по ветке "переход, прочее". Обрыв будет в случае, если аргумент не подходит ни под одно предустановленное значение.
  • в компоненте "сравнение" не задан переход по ветке правда (по ветке ложь).
  • компоненты "web-запрос", "sql-запрос" отрабатывают с ошибкой.

Решение - воспользоваться кнопкой "проверить" в разделе "сохранение", вручную проверить логику сценария.


Рис.2

Обрывывсценариях2.PNG


Анализ сервисного лога.

Во время работы Oktell записывает каждое действие в специализированный текстовый файл. Это помогает разобраться с поиском причин неисправности, локализовать и устранить проблему. Во время выполнения любого вида сценария (IVR, служебный, диалоговый) в сервисном логе оставляется запись о прохождения каждого компонента.

Данный лог располагается, как правило, по следующему пути: C:\Program Files (x86)\oktell\Server\Log\Service. При открытии рекомендуется использовать программу Notepad++.

Уточните в какой момент времени возник разрыв. Найдите в сервисном логе запуск IVR сценария. (например, по фразе "IVR: loaded")


Рис.3

Обрывывсценариях3.PNG


Если сценарий запустился, значит он должен где-то закончиться. Поиск можно проводить по номеру линии (см. рисунок). Таким образом, проведя поиск можно найти следующую фразу: "IVR local general finished by null object" или "IVR Stopped". Главная опасность на этом шаге - перепутать один сценарий с другим, поэтому проверяйте, что IVR закончился именно на той же линии, на которой и начался.


Рис.4

Обрывывсценариях4.PNG


Если подняться немного выше, то можно найти причину по которой остановился (некорректно отработал) IVR сценарий. Это поможет вам продиагностировать проблему.

Однако, методика поиска проблемы по номеру линии не будет работать во время переключения. В таком случае необходимо понимать, на какой линии запускается сценарий переключения, с кем коммутируется линия и анализировать поведение сценариев на линии собеседника. Понять, с какой линией произошла коммутация поможет фраза "is commutating to".

12:10:00:713    4780   13001 - 13001 is commutating to 17001, Mode=FULL, Conv=0

У каждого сценария есть свой уникальный номер в сервисном логе, по которому можно смотреть выполнение этого сценария. Заключается он в квадратных скобках около фразы "IVR object". Поиск также можно вести по этому номеру.

12:10:00:589     872   13001 - [100] IVR object (102,4) Стоп 1
12:10:00:589     872   13001 - [100] IVR local general finished by null object
12:10:00:589     872   13001 - [100] IVR Stopped