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:

Ключи запуска 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

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

Рассмотрим некоторые примеры. Запустить 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 не нужен, если не требуется, чтобы система предоставляла подробную информацию о происходящем. В сильно загруженной системе этот вывод может перекрывать другую выводимую в консоли информацию.