Как отслеживать звонки и диалплан в консоли asterisk?

Есть вопросы по консольным командам asterisk, никак не могу нагуглить как в консоли делаются некоторые вещи.
1. Команда "dialplan show" выводит либо весь диалплан, либо один из его контекстов. А как вывести только те правила диалплана, которые применимы к конкретному номеру?
2. Как в консоли включить трассировку или как это называется какого-то определённого номера?
  • Вопрос задан
  • 1998 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sparkit
То что вы спрашиваете насколько мне известно сделать в консоли нельзя (трассировку номера через диалплан) или крайне проблемно (SIP дамп).
Но исходя из ваших же комментариев к вопросу можно предложить инструменты которые помогут получить похожий результат.

1. Можно выделить конкретный звонок из общей массы в логах Asterisk с помощью callid (не путайте с SIP хедером Call-ID). Вот тут есть дополнительная информация по нему:
https://wiki.asterisk.org/wiki/display/AST/Unique+...
Зная callid и grep вы без проблем выделите нужную вам информацию.

2. Зафиксировать SIP траффик можно либо в консоли Asterisk либо воспользовавшись внешними инструментами. Внешние инструменты удобней как в плане фильтрации так и в плане фиксации трафика. Лучше всего вам подойдёт sngrep. Например для фиксации любого SIP трафика в котором есть конкретный номер можно воспользоваться командойsudo sngrep XXXXXXXXXXX где XXXXXXXXXXX замените на нужный вам номер. Если в номере не уверены но знаете с какого ip ждать пакеты можете отфильтровать по ip адресу sudo sngrep host XXX.XXX.XXX.XXX где XXX.XXX.XXX.XXX замените на нужный ip. Можно достичь такого же результата используя связку tcpdump + wireshark. Ну и в консоли можно использовать команды sip set debug {on|off|ip|peer} / pjsip set logger {on|off|host} или sip set history {on|off} / pjsip set history {on|off|clear} но поскольку вывод этих команд будет примешан к остальному выводу Asterisk то при большой нагрузке это может быть не самый удобный способ.

3. Вы уточняли в коментарии как проверить текущий уровень вывода отладочной информации. Это можно сделать командой в консоли Asterisk core show settings и найдя в выводе строчку "Debug level".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы