Обрывы в сценарии IVR. Методика поиска неисправности — различия между версиями
(не показана одна промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | [[Решение проблем|Наверх]] | |
− | + | __TOC__ | |
− | + | Одна из наиболее распространенных проблем, возникающих при настройке '''Oktell''' - обрывы во время входящих звонков. Проявляется это например следующим образом: клиент звонит по номеру телефона, слышит голосовое приветствие, после чего в трубке звучат короткие гудки. По логике администратора клиент должен был соединиться с оператором, но этого не произошло. Эта статья о том, как найти причину неисправности. | |
+ | ===Не хватает соединения между компонентами.=== | ||
+ | |||
+ | Возникает из-за спешки при создании сценария, нагромождения элементов в одном месте. Соединения могут быть не видны из-за подписей компонентов, названий переходов (рис.1). | ||
+ | |||
+ | '''Решение''' - проверить каждое соединение, разместить компоненты более удобным способом. | ||
+ | |||
+ | |||
+ | <p style="text-align:center;">Рис.1</p> | ||
[[Файл:Обрывывсценариях1.PNG | center]] | [[Файл:Обрывывсценариях1.PNG | center]] | ||
− | |||
− | + | ===Логическая ошибка.=== | |
− | + | Наиболее распространенными считаются: | |
− | * в компоненте " | + | * в компоненте "'''переключение на номер'''" происходит вызов несуществующего номера. |
− | * в компоненте " | + | * в компоненте "'''переключение на номер'''" не заданы ветки "'''переход, занято'''", "'''переход, отсутствует'''". |
− | * | + | * в компоненте "'''меню'''" не задан переход по ветке "'''переход, прочее'''". Обрыв будет в случае, если аргумент не подходит ни под одно предустановленное значение. |
− | + | * в компоненте "'''сравнение'''" не задан переход по ветке правда (по ветке ложь). | |
+ | * компоненты "'''web-запрос'''", "'''sql-запрос'''" отрабатывают с ошибкой. | ||
+ | |||
+ | '''Решение''' - воспользоваться кнопкой "'''проверить'''" в разделе "'''сохранение'''", вручную проверить логику сценария. | ||
+ | |||
+ | |||
+ | <p style="text-align:center;">Рис.2</p> | ||
[[Файл:Обрывывсценариях2.PNG | center]] | [[Файл:Обрывывсценариях2.PNG | center]] | ||
− | 3. | + | |
+ | ===Анализ сервисного лога.=== | ||
+ | |||
+ | Во время работы '''Oktell''' записывает каждое действие в специализированный текстовый файл. Это помогает разобраться с поиском причин неисправности, локализовать и устранить проблему. Во время выполнения любого вида сценария (IVR, служебный, диалоговый) в сервисном логе оставляется запись о прохождения каждого компонента. | ||
+ | |||
+ | Данный лог располагается, как правило, по следующему пути: '''C:\Program Files (x86)\oktell\Server\Log\Service'''. При открытии рекомендуется использовать программу [http://notepad-plus-plus.org/ Notepad++]. | ||
+ | |||
+ | Уточните в какой момент времени возник разрыв. Найдите в сервисном логе запуск IVR сценария. (например, по фразе "'''IVR: loaded'''") | ||
+ | |||
+ | |||
+ | <p style="text-align:center;">Рис.3</p> | ||
+ | [[Файл:Обрывывсценариях3.PNG | center]] | ||
+ | |||
+ | |||
+ | Если сценарий запустился, значит он должен где-то закончиться. Поиск можно проводить по номеру линии (см. рисунок). Таким образом, проведя поиск можно найти следующую фразу: "'''IVR local general finished by null object'''" или "'''IVR Stopped'''". Главная опасность на этом шаге - перепутать один сценарий с другим, поэтому проверяйте, что IVR закончился именно на той же линии, на которой и начался. | ||
+ | |||
+ | |||
+ | <p style="text-align:center;">Рис.4</p> | ||
+ | [[Файл:Обрывывсценариях4.PNG | center]] | ||
+ | |||
+ | |||
+ | Если подняться немного выше, то можно найти причину по которой остановился (некорректно отработал) 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 |
Текущая версия на 10:17, 8 августа 2014
Содержание
Одна из наиболее распространенных проблем, возникающих при настройке 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
У каждого сценария есть свой уникальный номер в сервисном логе, по которому можно смотреть выполнение этого сценария. Заключается он в квадратных скобках около фразы "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