Анализ SIP-сообщений и RTP-потоков в Wireshark

Мы научились захватывать трафик с помощью tcpdump, и теперь у нас есть файл .pcap. Это «сырой» слепок сетевых событий. Чтобы превратить набор байтов в понятную историю звонка, воспользуемся Wireshark — индустриальным стандартом анализа протоколов. Инструмент незаменим, когда нужно доказать провайдеру, что проблема на его стороне, или понять, почему в трубке тишина.

Интерфейс Wireshark для инженера телефонии

В дампе могут быть тысячи пакетов. Чтобы не утонуть в них, используйте фильтр отображения. Введите sip || rtp в строку фильтра — это оставит только сигнализацию и медиа-данные.

Читать пакеты по одному утомительно. Для администратора Asterisk основной инструмент — VoIP Calls. Он группирует пакеты в структурированные сессии.

Как показано в Схеме 1, Wireshark выстраивает цепочку событий. Чтобы открыть это окно, перейдите в Telephony -> VoIP Calls. Выберите нужный вызов и нажмите Flow Sequence.

Анализ SIP и поиск ошибок в SDP

Анализ SIP позволяет проверить заголовки сообщений. Особое внимание уделите протоколу SDP (Session Description Protocol), который передается внутри SIP-пакетов (обычно в INVITE и 200 OK).

В SDP устройства договариваются о параметрах связи:

  1. На какой IP-адрес отправлять звук.
  2. Какой порт (RTP-порт) использовать.
  3. Какие кодеки применить.

Пример корректного согласования в SDP (секция Media Description):

m=audio 10124 RTP/AVP 8 0 101
c=IN IP4 203.0.113.10
a=rtpmap:8 PCMA/8000

Устройство сообщает: «Жду аудио на IP 203.0.113.10, порт 10124, кодек G.711 alaw».

Анализ медиа: RTP-поток и качество связи

Когда сигнализация отработала, начинается передача голоса. RTP-поток — это звук, нарезанный на мелкие пакеты. Оценить его качество можно в меню Telephony -> RTP -> RTP Streams.

Следите за тремя метриками:

  • Max Delta: максимальная задержка между пакетами. Если показатель нестабилен, звук будет прерывистым.
  • Max Jitter: дрожание фазы. В норме не превышает 30 мс.
  • Packet Loss: потеря пакетов. Даже 1–2% потерь заметны для кодека G.711.

Проведите диагностику звонка:

  1. Откройте pcap-файл в Wireshark.
  2. Перейдите в Telephony -> VoIP Calls.
  3. Нажмите Play Streams. Вы увидите графики звука в обоих направлениях.
  4. Нажмите кнопку воспроизведения. Если голос слышен — восстановление аудио прошло успешно. Если видите графики, но в динамиках тишина — проверьте, не зашифрован ли трафик (SRTP).

Работа с шифрованием

Современные транки часто используют TLS для сигнализации и SRTP для медиа. Без ключей Wireshark покажет только зашифрованную «кашу».

Для анализа таких вызовов нужно импортировать ключи в настройки протокола TLS (через ввод ключа сервера или файл SSLKEYLOGFILE). Мы разберем этот процесс в блоке по безопасности.

Теперь, когда вы умеете «видеть» трафик, пора переходить к практике. В следующей теме разберем, почему устройства не регистрируются и как пошагово лечить отсутствие звука, опираясь на знания о портах и Wireshark.

Понравился урок?

Сохраните прогресс и получите персональный курс по любой теме — без форм и паролей

Продолжить в Telegram