Отладка SIP протокола в Asterisk
Если Вам необходимо увидеть SIP сообщения приходящие от пира, и какие сообщения отсылает Ваш сервер ему, то на сервере надо выполнить следующую команду: "asterisk -rx "sip set debug peer SIPuserID"" SIPuserID соответственно меняете на имя SIP аккаунт пользователя. Здесь важно учесть, что сервер Asterisk должен знать IP пользователя, другими словами пользователь должен быть зарегистрирован или у него в настройках должен быть прописал IP.
Если Вам известен IP пользователя, но неизвестно имя пользователя, то можно воспользоваться командой "asterisk -rx "sip set debug ip 192.168.1.1"
". Для просмотрах всех отправляемых/получаемых SIP сообщений выполните "asterisk -rx "sip set debug on"
".
Просмотреть результат выполнения можно двумя вариантами:
Консольный вариант. Заходим в CLI консоль командой: "asterisk -r
". Данный способ быстрой, но на мой взгляд не очень удобный, так как лог бежит быстро и нет возможности поиска. Такой способ подходит для определения приходят ли сообщения вообще.
Файл лог. Открываем файл логов asterisk /var/log/asterisk/messages и смотрим в нём всё что нам необходимо. При необходимости можем скопировать файл и часть файла.
После завершения просмотра SIP сообщений не забудьте отключить отладку командой: "asterisk -rx "sip set debug off"
". В случае, если не получается выполнить какую либо команду из-за нехватки прав, перед командой пишите "sudo".
Отладка плана набора (DialPlan) в Asterisk
Для запуска отладки плана набора или DialPlan выполните команду: "asterisk -rx "core set verbose 3"
" Уровень verbose говорит asterisk насколько подробно ему сообщать о своих действия, уровня 3 вполне достаточно для анализа прохождения звонка. После запуска отладки сделайте звонок и все сведения о нём попадут в файл логов /var/log/asterisk/messages. По файлу выполните поиск номера, нас интересует строка, которая начинается с Executing. В этой сроке будут описаны действия из файл extensions.conf. Продолжайте поиск пока не дойдете до последней инструкции, в ней скорее всего и есть ошибка.
Так же после отладки не забываем отключить её. "asterisk -rx "core set verbose off"
" или "asterisk -rx "core set verbose 0"
".
Вот пожалуй все действия, которые помогут Вам решить проблему со звонками.