Отправка диагностической информации на SIP сервер в сообщении BYE после завершения звонка

Поддерживается в версии Softphone.Pro 4.9 и выше.

Softphone.Pro может отправлять диагностическую информацию о звонке на SIP-сервер после завершения звонка. Эту информацию можно просматривать на SIP-сервере в реальном времени, или сохранять в лог с целью дальнейшей обработки.

Отправка диагностической информации поддерживается только для звонков, завершённых на стороне Softphone.Pro.

Настройка отправки информации

1. Закройте Softphone.Pro.

2. Откройте файл конфигурации SoftphonePro.ini в текстовом редакторе и в разделе AppSettings найдите параметр SendEndOfCallStatistics. Измените его значение на 1.

3. Сохраните изменения и запустите Softphone.Pro.

Пример отправки информации

Диагностическая информация отправляется в заголовке P-RTP-Stat сообщения BYE, отправляемого приложением Softphone.Pro после завершения звонка оператором.

Пример такого сообщения:

BYE sip:pbxdomain:5060 SIP/2.0
Via: SIP/2.0/UDP 127.0.0.1:52150;rport;branch=z9hG4bKPj4d4e824874a248059054c7bf75162090
Max-Forwards: 70
From: ;tag=6c2ed5c456ef4f93aec2a14970fa3ba3
To: ;tag=49d6bde5-07a2-49ea-b90c-bc805fdf68e6
Call-ID: 79c00fcf332647ada26da7726271511b
CSeq: 10964 BYE
User-Agent: SoftphonePro 4.9.0.0
P-RTP-Stat: PS=246, OS=39360, PR=242, OR=38720, PL=0, JI=180, LA=0, DU=5
Content-Length:  0

Диагностическая информация, отправляемая в заголовке P-RTP-Stat, состоит из нескольких полей:

  • PS - Packets Sent, количество отправленных пакетов;
  • OS - Octets Sent, количество отправленных байт;
  • PR - Packets Received, количество полученных пакетов;
  • OR - Octets Received, количество полученных байт;
  • PL - Packets Lost, количество потерянных пакетов;
  • JI - Jitter, отклонение от среднего уровня задержки (джиттер);
  • LA - Round Trip Delay, время приёма-передачи сигнала (в миллисекундах);
  • DU - Call Duration, длительность звонка, в секундах.

Данная информация может быть полезна при решении проблем с качеством связи IP телефонии. Подробнее о рекомендуемых для работы Softphone.Pro значениях данных метрик вы можете прочитать в статье по ссылке.

Анализ диагностической информации на АТС в реальном времени

Например, для анализа в реальном времени вы можете использовать утилиту sngrep. Данная утилита позволяет захватывать SIP пакеты, поступающие на АТС, в реальном времени. Это может быть полезно для просмотра статистики звонков отдельного сотрудника.

Пример просмотра статистики в сообщении BYE:

Скриншот sngrep

Логирование диагностической информации на АТС

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

Например, захватить пакеты с нужным заголовком и записать информацию в текстовый файл вы можете с использованием утилиты sipgrep.

Пример команды:

sipgrep -l 'P-RTP-Stat:' -M | grep --line-buffered -P -o '(^U ).*(\.\d{6})|^From:.*>|^To:.*>|^P-RTP-Stat:.*' >> stats.log

Данная команда захватит все пакеты, содержащие заголовок P-RTP-Stat, и запишет в файл stats.log время получения пакета, номер А, номер Б и заголовок с диагностической информацией. В дальнейшем вы можете обрабатывать этот файл, извлекая из него информацию в удобном для вас виде.

Пример содержимого файла stats.log:

Итоговый файл лога, полученный sipgrep



ТАКЖЕ ПО ТЕМЕ

Блог Yes, we DID: 5 VoIP-терминов, которые заставят вас улыбнуться