Отладка SIP протокола в Asterisk

Предположим, вы хотите увидеть какие SIP сообщения приходят от пользователя user001 и какие ему отсылаются ответные сообщения.
Для этого выполните следующую инструкцию:

1. Проверьте, что IP адрес пользователя не заблокирован fail2ban.
Узнать IP адрес пользователя можно, попросив его зайти по ссылке https://www.whatismyip.com/ и передать вам отображаемое значение.
Список заблокированных IP адресов находится в меню Сеть -> Таблицы файервола -> SIP deny -> Хосты.

2. Получите доступ к консоли сервера. Описано в разделе Как зайти на сервер под root

3. Включите отладку SIP для пользователя user001:

sudo asterisk -rx "sip set debug peer user001" 

Для снятия дампа таким способом нужно, чтоб Asterisk был известен IP адрес пользователя.
То есть, либо пользователь должен быть зарегистрирован, либо IP адрес пользователя должен быть сконфигурирован в настройках пользователя.

Если пользователь не зарегистрирован и IP адрес не сконфигурирован, то нужно узнать, с какого IP адреса приходят пакеты.
Узнать IP адрес пользователя можно, попросив его зайти по ссылке https://www.whatismyip.com/ и передать вам отображаемое значение.

Зная IP адрес, можно включить отладку следующим образом:

sudo asterisk -rx "sip set debug ip 192.168.1.1" 

Если вы хотите сделать отладку всех SIP сообщений (а не с определенного пира/IP адреса), выполните следующее:

sudo asterisk -rx "sip set debug on" 

Однако в этом случае, если через сервер идет много звонков, то поток сообщений будет большой.
И нужно довольно скоро отключить отладку, иначе на жестком диске закончится место.

4. Результаты можно просматривать на консоли Asterisk либо в файле.

Консоль Asterisk удобнее использовать, если вы хотите быстро посмотреть, приходит ли от клиента какие-то сообщения.
Однако консоль не позволяет производить поиск.

Файл удобнее использовать, если вы хотите выполнять поиск чего-либо в большом потоке сообщений.
Также файл удобнее использовать, если совместно с отладкой SIP выполняется отладка Asterisk (описано в разделе Отладка Asterisk)

5. Для предупреждения завершения места на жестком диске отключите отладку, когда закончили:

sudo asterisk -rx "sip set debug off" 

English translation