CLI (command-line interface) Asterisk

Опции сценария запуска Asterisk (для FreeBSD: /usr/local/etc/rc.d/asterisk)

service asterisk <опция> Эквивалент для ввода вручную
start asterisk
stop killall asterisk
restart stop; start
reload asterisk -rx "reload"
status ps aux / grep asterisk

Команды CLI:

  • sip show registry - проверяет зарегистрироваться ли Asterisk, например на сервере провайдера VoIP
  • sip show peers - посмотреть пользователей
  • sip show user 1001 - вывести информацию о пользователе 1001
  • CLI> dialplan show - видеть диалпиры
  • CLI> dialplan reload - перегрузить диалпиры, после изменений
  • CLI> core show applications - Получить список приложений, загруженных в вашем сервере Asterisk IP-PBX (IP-АТС) — свободное решение компьютерной телефонии. Эти приложения используются в плане набора (Настройка Asterisk extensions.conf).
  • CLI> sip show channels - посмотреть какие кодеки используются в текущих вызовах SIP. Для IAX будет :iax2 show channels
  • CLI> sip show channelstats - выводит список всех активных SIP каналов
  • CLI> core show channels [verbose|count]- выводит список всех активных каналов
  • CLI> core show translation recalc 10 - какие кодеки известны Asterisk
  • CLI> core show settings - выводит параметры с которыми собран Asterisk

Ключи запуска CLI Asterisk

Расположение файлов Asterisk в Linux

/etc/asterisk - расположение конфигурации;
/usr/lib/asterisk/modules - место хранения модулей Asterisk;
/var/lib/asterisk/ - здесь находятся дополнительные файлы asterisk (звуки, agi-скрипты, картинки и т. д.).

Двоичный файл Asterisk по умолчанию располагается по адресу /usr/sbin/asterisk. Если запустить файл /usr/sbin/asterisk, Asterisk загрузится как программа-демон. Существует также несколько ключей, которые позволяют (повторно) запускать CLI Asterisk, задавать степень детальности вывода CLI и создавать дампы ядра в случае сбоя Asterisk (для отладки с помощью gdb). Чтобы увидеть все возможные опции, запустите Asterisk с ключом -h:

# /usr/sbin/asterisk -h

Вот список наиболее часто используемых опций:

  • -c Консоль. Эта опция обеспечит запуск Asterisk как пользовательского процесса (не сервера) и предоставит окно командной строки Asterisk. Она пригодится при настройке параметров запуска, но не должна использоваться при нормальной работе системы (если Asterisk уже выполняется, эта опция не сработает и будет выдано сообщение об ошибке).
  • -v Детальность сообщений. Используется для определения степени детальности сообщений, выводимых при отладке с помощью CLI. Чем выше значение v, тем более детальными будут сообщения.
  • -g Дамп ядра. При неожиданном сбое Asterisk этот ключ обусловил бы создание файла ядра для последующей его трассировки с помощью gdb. Обычно этот ключ не используется в производственной эксплуатации, а применяется только в том случае, если пишется код для Asterisk и требуется отладить все возникающие сбои.
  • -r Удаленный. Используется для удаленного повторного подключения к уже выполняющемуся процессу Asterisk. (Процесс является удаленным с позиции консоли, подключающейся к нему, но фактически процесс выполняется локально на том же компьютере. Это не имеет ничего общего с подключением к удаленному процессу по сети с использованием, например, протокола IP, поскольку такое взаимодействие не поддерживается.) Это самая распространенная опция. Именно она использовалась бы для соединения с Asterisk в системе, в которой она выполняется как программа-демон/сервис, запущенная в момент запуска системы.
  • -x "<команда CLI>" Выполнить. Использование этой команды в сочетании с опцией -r позволяет выполнять команду CLI без необходимости подключения к CLI и ввода команды вручную. В качестве примера можно привести команду на повторный запуск, для инициации которого при шлось бы ввести в командной строке asterisk -rx "reload".

Рассмотрим некоторые примеры. Запустить Asterisk как пользовательскую программу (потому что выполняется настройка конфигурационного файла и придется запускать и останавливать выполнение несколько раз) и задать уровень детальности сообщений 3 можно, используя следующую команду:

    # /usr/sbin/asterisk -cvvv

Если процесс Asterisk уже выполняется (например, если Asterisk сконфигурирована как часть процесса запуска системы), используется ключ восстановления соединения:

    # /usr/sbin/asterisk -vvvr

Если требуется, чтобы Asterisk выводила файл ядра после сбоя, при запуске Asterisk можно использовать ключ -g:

    # /usr/sbin/asterisk -g

Чтобы выполнить команду, не подключаясь к CLI и не вводя ее (возможно, для того, чтобы использовать ее в сценарии), можно применять ключ -x в сочетании с ключом -r:

/usr/sbin/asterisk -rx "restart now"
/usr/sbin/asterisk -rx "database show"
/usr/sbin/asterisk -rx "sip show peers"
asterisk -rx "module show"

Если возникают сбои и хотелось бы записывать информацию в файл отладки, используется следующая команда:

    # /usr/sbin/asterisk -vvvvc | tee /tmp/debug.log

Обратите внимание, что ключ v не нужен, если не требуется, чтобы система предоставляла подробную информацию о происходящем. В сильно загруженной системе этот вывод может перекрывать другую выводимую в консоли информацию.

PQ VPS сервера в 28+ странах.