Найти в Дзене
СОЛЯРИС

WireShark - самый полезный инструмент в IP-телефонии. Трассировки, дампы. Часть 1

Крайне удобным инструментом в изучении IP-телефонии является бесплатный WireShark. Его можно скачать с официального сайта и пользоваться совершенно свободно.

На сегодняшний день термины IP-телефония и SIP-телефония - тождественные синонимы, как мы уже описывали в этой статье. Хотя раньше SIP-телефония входило в множество IP-телефония. Но SIP-протокол вытеснил из телефонии все остальные протоколы, и сам стал множеством, плодя в себе подмножества протоколов. Тем не менее природа у него общая - это поток UDP, который в отличии от TCP не требует подтверждения отправки и приема пакетов. То есть, пакеты уходят от источника в сторону адресата, а дойдут или нет - никого не волнует. На первый взгляд это не самый удачный способ взаимодействия между двумя узлами, но он в два раза уменьшает трафик, а значит требует меньшую полосу пропускания. Да еще и снижает уровень задержки голоса до минимума.

Давайте рассмотрим стандартную сессию регистрации SIP-клиента на SIP-сервере. По-русски говоря, это когда вы подключаете IP-телефон к АТС, как в этом видео. Подслушаем, как говорится, беседу между этими двумя узлами. Снимать трассировку WireShark можно с коммутатора, куда подключены устройства. Для этого нужно будет зазеркалировать порт АТС или телефона. Подключить ПК к этому зеркальному порту и запустить трассировщик WireShark. Но мы поступим проще. У нас есть АТС W&T-NS. В этих станциях трассировщик уже встроен. Его нужно просто запустить.

-2

Выставляем физический порт. Он у нас WAN. Если знаете IP-адрес устройства, можно вписать. Хотя это поле - необязательное, такой фильтр позволит существенно сократить трассировку. Если не знаете адреса - ничего страшного. Сможете отфильтровать необходимые сообщения прямо в интерфейсе WireShark. Но мы знаем номер цифрового порта 5060, который по умолчанию использует SIP-протокол, его мы выставить можем. Только имейте в виду, что и этот порт может быть другим. Итак, вод диалог:

-3

Он же трассировка, он же дамп. Что мы видим в первой строке:

Source - источник пакета. IP-адрес нашего телефона, который шлет пакет регистрации.

Destination - адресат пакета. IP адрес нашей АТС, куда приходит пакет регистрации.

Protocol - интерфейс взаимодействия. По сути - язык общения.

Info - строка сообщения, с которой мы и будем работать.

Во второй строке источник и адресат меняются местами. То есть АТС отвечает телефону. И так далее.

Этот диалог можно изучить подробнее. Для этого правой кнопкой мыши щелкнем по первому сообщению и выберем опцию отслеживать UDP-поток

-4

У нас откроется удобный диалог, где каждая строчка расшифровывается и разворачивается на подробное сообщение

-5
-6

Расшифруем этот диалог:

REGISTER sip:192.168.77.24;transport=UDP SIP/2.0 - Запрос на регистрацию по указанному адресу

Via: SIP/2.0/UDP 192.168.177.231:64884;branch=z9hG4bK-524287-1---f829aac3d39807be;rport - определяем протокол, источник и порт

Contact: <sip:6001@192.168.177.231:64884;rinstance=8a77582fe97ca4b0;transport=UDP>

Поле контакта. 6001 - наш абонент (внутренний номер, он же логин), далее его адрес.

To: <sip:6001@192.168.77.24;transport=UDP> - поле регистрации. Прописывается абонент и адрес АТС.

From: <sip:6001@192.168.77.24;transport=UDP>;tag=d270851b - поле from. Абонент представляется

Далее АТС отвечает:

SIP/2.0 401 Unauthorized - говорит, что пока такой клиент не авторизован на АТС

Абонент шлет повторный пакет, не будем его расшифровывать. На что АТС ему отвечает:

SIP/2.0 200 OK - сообщение об успешной регистрации. Частный случай. Здесь не обязательно должно быть 200ОК, здесь может быть 403Forbiden или любое другое сообщение причины, почему абонент не может быть зарегистрирован. Но 200ОК - это единственное правильное сообщение о регистрации. Если его нет, ищите причину: неправильный логин, пароль, порт, адрес и т.д.

Таким образом происходит регистрация не только IP-телефонов с АТС, но еще и самой АТС с SIP-сервером провайдера или другой АТС, в случае их объединения.

В следующей части мы поговорим о дампе непосредственно вызова.