Анализ 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 устройства договариваются о параметрах связи:
- На какой IP-адрес отправлять звук.
- Какой порт (RTP-порт) использовать.
- Какие кодеки применить.
Пример корректного согласования в 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.
Проведите диагностику звонка:
- Откройте pcap-файл в Wireshark.
- Перейдите в
Telephony->VoIP Calls. - Нажмите
Play Streams. Вы увидите графики звука в обоих направлениях. - Нажмите кнопку воспроизведения. Если голос слышен — восстановление аудио прошло успешно. Если видите графики, но в динамиках тишина — проверьте, не зашифрован ли трафик (SRTP).
Работа с шифрованием
Современные транки часто используют TLS для сигнализации и SRTP для медиа. Без ключей Wireshark покажет только зашифрованную «кашу».
Для анализа таких вызовов нужно импортировать ключи в настройки протокола TLS (через ввод ключа сервера или файл SSLKEYLOGFILE). Мы разберем этот процесс в блоке по безопасности.
Теперь, когда вы умеете «видеть» трафик, пора переходить к практике. В следующей теме разберем, почему устройства не регистрируются и как пошагово лечить отсутствие звука, опираясь на знания о портах и Wireshark.
Понравился урок?
Сохраните прогресс и получите персональный курс по любой теме — без форм и паролей
Продолжить в Telegram