Плохая слышимость во время звонка. Потери RTP пакетов
Операторы Call-центра периодически сообщают о плохой слышимости собеседника во время разговора. В такой ситуации необходимо в первую очередь уяснить где происходит потеря голосовых rtp-пакетов. Для этого надо выгрузить файл записи из Oktell и прослушать его.
- Если в файле записи также наблюдаются "заикания" голоса, это обозначает что в Октелл rtp-пакеты уже приходят с потерям, а значит проблему нужно искать в интернет соединении.
- Если в файле записи никаких "заиканий" не наблюдается, но оператор плохо слышит собеседника, значит проблему нужно искать в локальной сети между телефоном и сервером Октелл.
В данной статье рассматривается проблема в интернет соединении от провайдера. Далее рассказывается методика определения количества потерь rtp пакетов с помощью программы wireshark. Wireshark - программный инструмент для анализа сетевого трафика. С его помощью можно проанализировать rtp-пакеты, просмотреть работу sip протокола, а также многое другое.
Шаг 1. Включить wireshark, чтобы он сохранил все исходящие и входящие пакеты во время разговора. Для этого необходимо выбрать нужный интерфейс. Для этого в главном окне необходимо выбрать раздел Interface List и выделить необходимый интерфейс. Далее нажмите на Options.
Раздел Capture Filter - называется фильтром захвата. Wireshark будет захватывать только те пакеты, которые указаны в этом фильтре. Если нажать непосредственно на саму кнопку Capture Filter вам будут показаны различные предустановленные варианты захвата. Нам понадобиться udp-протокол, введите его в поле ввода.
В этом окне также вы можете нажать Capture Files и выбрать в какой файл будут сохраняться результаты. Если поставить галочку Use multiple files, то можно выбрать кольцевую схему сохранения, дробление файлов (например, по 200 мегабайт) и условие окончания захвата (например, после 1 гигабайта информации). После выбранных настроек нажмите кнопку Старт.
Шаг 2. Получив сведения, о том, что во время звонка была плохая слышимость, подождите когда он завершится и отключить Wireshark. Теперь задача заключается в том, чтобы найти этот разговор в программе. Для этого нам нужен Call-id (идентификатор коммутации). Получить его мы сможем, зная время, номер линии или зная телефон собеседника. Для этого мы воспользуемся канальным логом /server/Log/Hardware/Sip/Ваша_дата/Номер_линии. Также нам понадобится лог сип-транзакций /server/Log/Hardware/Sip/trn_ваша_дата.
Зная время и номер мы можем найти в канальном логе следующую строчку, содержащую INVITE, копируем ее с помощью Ctrl+c. Также немного ниже мы можем увидеть на какой порт пришел запрос.
Откройте лог trn и с помощью поиска Ctrl+F (вставьте скопированное с помощью Ctrl+v) найдите данный запрос (убедитесь, что время совпадает). Скопируйте значение Call-id.
Шаг 3. Найдите разговор в wireshark.