В данном разделе задания по тестовому построению маршрутизации, SIP-диаграммам, отладке звонков.
Вопросы для разбора:
- Тестирование маршрутизации без совершения звонков через приложение и API.
- Тестирование путем совершения звонков.
- SIP-диаграмма: назначение, способ формирования, доступные форматы экспорта.
- Расположение логов основных SIP-ролей платформы.
- Wireshark, tcpdump и другие средства работы с сетевым трафиком.
- Подходы к диагностике проблемных кейсов: не проходит звонок, обрыв звонка, односторонняя слышимость, низкое качество голоса.
В ходе выполнения заданий темы будут освоены подходы к анализу отклонений - в вызовах, в сценариях IVR. С помощью лог-журналов, диаграммы вызовов, уведомлений, а также специального инструмента тестирования правил.
Задание 6.1. Диаграмма вызовов
Диаграмма вызовов
Диаграмма вызова обзорно строилась и в более ранних заданиях. Здесь будет получен практический опыт анализа диаграммы вызовов, включающих перевод, выделения из нее нескольких акторов и диалогов.
Диаграмма включает в себя SIP-пакеты всех связанных вызовов со всех узлов, где они обслуживались и фигурировали. Диаграмма строится на основании лог-журналов trn, соответственно требует включенного логирования trn (в конфигурационных параметров любых экземпляров SIP-ролей). Данные о замыкании (связях между различными диалогами и плечами) сохраняются в нерезервированной памяти микросервисов на 3 часа с момента совершения.
1. Совершите входящий вызов с провайдера:
- с маршрутизацией на сценарий IVR,
- в сценарии произведите перевод на сотрудника.
2. В приложении Отчеты обнаружьте вызов, постройте по нему диаграмму. Как охарактеризовать эту диаграмму, как и для чего ее использовать?
Задание 6.2. Тестирование правил
Тестирование правил
В ходе задания будет освоен инструмент тестирования правил без совершения звонков. К текущему моменту стенд уже приобрел обширное количество направлений и правил. Будет обнаружен механизм случайного выбора правила.
1. Создайте два правила маршрутизации с одинаковыми приоритетами, отличающиеся только тем, через какую учетную запись провайдера отправляется вызов на мобильный номер.
2. В приложении Настройки -> Маршрутизация -> Тестирование постройте:
- трейс маршрутизации вызова от сотрудника одного из доменов на внешний номер. Выполните построение несколько раз. Каков результат, почему?
- трейс маршрутизации вызова от сотрудника с выделенным внешним номером на городской номер, и на мобильный номер. Отличаются ли результаты, почему?
- трейс правил нормализации при вызове мобильного номера через провайдера, требующего подстановки специфических значений.
- трейс правил представления при вызове от сотрудника одного домена к сотруднику другого домена.
Задание 6.3. Лог-журналы
Лог-журналы
В ходе выполнения задания будут обнаружены лог-журналы узлов обслуживания телефонных вызовов, рассмотрена их структура. В дальнейшей работе сборка логов будет производиться точно, и будет безошибочно содержать исследуемый вызов/узел/время.
Обнаружив в ходе анализа диаграммы или какой-либо другой информации неверное поведение одного из узлов, предположим esg, достанем его лог-журналы.
Сами SIP-пакеты находятся в диаграмме, куда попадают из лог-журналов trn.
1. Подключитесь к серверу. Обнаружьте папку с лог журналами предполагаемого экземпляра микросервиса esg (в хосте по умолчанию: /opt/era*/log/esg..., в docker-контейнере: /var/log/era/esg...).
2. Познакомьтесь со структурой каталога лог-журналов и особенностями хранения лог-журналов: /logs/index.html
3. Авторизуйтесь под учетной записью администратора мастер-домена и откройте приложение "Настройки", раздел Система -> Лог журналы.
Инструмент позволяет просмотреть актуальное состояние лог-журналов, и скачать архив с выбранными журналами.
4. Скачайте все логи с нод, относящихся к обработке совершенного вызова.
Задание 6.4. Трассировка сценариев
В ходе выполнения задания будут освоены подходы к отладке сценариев - с помощью уведомлений и лог-журналов, где выводится информация о факте выполнения каждого компонента.
1. Установите для имеющегося сценария IVR логирование в режиме TRACE.
2. Добавьте в сценарий компонент "Уведомление"
- разместите туда тестовый текст;
- установите режим уведомления через API;
- укажите имя текущего авторизованного пользователя;
- включите режим сохранения в лог.
3. Сохраните сценарий, и не покидая вкладки совершите вызов в сценарий.
4. Уведомление отобразилось на вкладке открытого сценария. Какого оно цвета, почему?
5. Переключитесь в мастер-домен и в приложении Настройки -> Система -> Лог-журналы, найдите файл трассировки сценариев конкретного домена, скачайте его. Проанализируйте его содержание.
6. Измените в сценарии текст в компоненте уведомление. Выберите вкладку "Выражение" и наберите какую нибудь там белиберду.
7. Сохраните сценарий, и не покидая вкладки совершите вызов в сценарий.
8. Уведомление не отобразилось на вкладке открытого сценария. А что в лог-журнале?
Таким образом происходит отладка IVR сценариев слоя платформы.