Asterisk: ngrep, sipgrep, protocol diagram

от автора

Это небольшая заметка о паре утилит, которые использую время от времени для работы с астериском (для отладки телефонии и просмотра SIP пакетов). Многие коллеги не знают о более простых утилитах, которые могли бы сэкономить минутку-другую рабочего времени.

Далее речь пойдет о ngrep, sipgrep, js-sequence-diagrams

SIP

Иногда требуется быстро проанализировать: а что там у нас уходит в REGISTER пакете? Или INVITE ушел, а был ли ответ?

Всем известные программы wireshark и tcpdump снимают дампы, в которых можно найти информацию о всех пакетах, которые проходили на нужном интерфейсе в сети, а также проанализировать эти пакеты и найти сеансы.

Но tcpdump слишком низкоуровневый, а wireshark громоздок, зачастую весь такой функционал не требуется. Поэтому можно воспользоваться ngrep или sipgrep, и решить проблему, не привлекая тяжелую артиллерию.

ngrep
Нередко эта утилита уже есть в системе, но если нет, то легко ставится из пакетов вашего дистрибутива. Позволяет в режиме реального времени посмотреть куда у вас что идет по трафику.

Отфильтровать SIP-пакеты можно так:

ngrep -q -d any -p -W byline port 5060 

А так можно отфильтровать пакеты, где есть слово REGISTER (т.е. сюда попадут и пакеты REGISTER и ответы на них)

ngrep -q -d any -p -W byline REGISTER 

Поскольку ngrep это больше про сеть, чем про SIP, то есть еще другие примеры применения.

sipgrep

Похож на ngrep, только позволяет смотреть трафик SIP протокола: например, есть опции для поиска в определенных полях пакета — To, From, Contact, есть подсветка некоторых значений.

Покажет весь SIP-трафик:

sipgrep -d any 

Покажет трафик To: 101 с отчетом по сессиям:

sipgrep -d any -t 101 -G 

Больше информации об установке и использовании на странице проекта.

Конечно, не всегда проблемы связи исчерпываются проблемами с сигнализацией SIP. Если есть проблемы с RTP, потерями пакетов, бульканием голоса, то здесь уже стоит использовать более мощные инструменты (у проекта Kamailio есть страничка, посвященная инструментам анализа SIP и RTP).

Диаграмма протокола

Иногда необходимо не анализировать существующие пакеты, а нарисовать диаграмму протокола, чтобы представить где как какой пакет ходит, типа такой:

Для этого удобно воспользоваться страничкой js-sequence-diagrams, диаграмма пишется словами, а затем преобразуется в понятную картинку, ее можно приложить в таск-трекер к задаче или добавить в документацию.

Надеюсь, что эта информация кому-нибудь также пригодится в работе.
А какими утилитами пользуетесь вы?

ссылка на оригинал статьи http://habrahabr.ru/post/274919/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *