Литмир - Электронная Библиотека
Содержание  
A
A

Команды консоли

Двоичный файл 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"

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

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

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

Папки, используемые Asterisk

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

/etc/asterisk/

В папке /etc/asterisk/ располагаются конфигурационные файлы Asterisk. Однако один файл, zaptel.conf, находится в папке /etc/. Аппаратные средства Zaptel изначально были разработаны Джимом Диксоном (Jim Dixon), сотрудником компании Zapata Telephony Group, как подходящее и доступное по цене оборудование для компьютерной телефонии. Asterisk использует это оборудование, но любое другое ПО также может воспользоваться устройствами и драйверами Zaptel. Поэтому конфигурационный файл zaptel.conf вынесен из папки /etc/ asterisk/.

/usr/lib/asterisk/modules/

В папке /usr/lib/asterisk/modules/ располагаются все загружаемые модули Asterisk. В этой папке находятся различные приложения, кодеки, форматы и каналы, используемые Asterisk. По умолчанию Asterisk загружает все эти модули при запуске системы. Любые неиспользуемые модули можно отключить в файле modules.conf, но при этом необходимо помнить, что некоторые модули необходимы Asterisk или являются зависимостями других модулей. Попытка загрузить Asterisk без этих модулей приведет к ошибке при запуске.

/var/lib/asterisk

В папке /var/lib/asterisk/ находится файл astdb и ряд подпапок. Файл astdb содержит информацию локальной базы данных Asterisk, что несколько напоминает реестр Microsoft Windows. База данных Asterisk - простая реализация на базе версии 1 Berkeley BD. Один из исходных файлов Asterisk, db.c, информирует, что эта версия была выбрана по следующей причине: «Реализация DB3 создана по альтернативной лицензии, несовместимой с общедоступной лицензией (General Public License, GPL). Таким образом, чтобы не усложнять лицензирование Asterisk, было решено использовать версию 1, поскольку она выпущена по лицензии BSD».

Папка /var/lib/asterisk/ включает следующие подпапки: agi-bin/

В папке agi-bin/ находятся специальные сценарии, которые могут взаимодействовать с Asterisk через различные встроенные приложения AGI. Подробнее об AGI рассказывается в главе 8. firmware/

Папка firmware/ содержит встроенное ПО для различных совместимых с Asterisk устройств. В настоящее время в этой папке имеется только подпапка iax/, в которой находится двоичное отображение встроенного ПО для IAXy производства Digium.

images/

Приложения, которые соединяются с каналами, поддерживающими изображения, ищут папку images/. Большинство каналов не поддерживают передачу изображений, поэтому эта папка используется редко. Однако если появится больше устройств, поддерживающих и использующих изображения, эта папка станет более значимой. keys/

Asterisk может использовать систему открытых/закрытых ключей для аутентификации равноправных участников сети, которые соединяются с модулем, используя цифровую подпись RSA. Если поместить открытый ключ такого участника сети в свою папку keys/, этот участник сети сможет быть аутентифицирован каналами, поддерживающими данный метод (такими, как каналы IAX2). Закрытый ключ никогда не предоставляется. Справедливо и обратное: вы можете предоставить свой открытый ключ равноправным участникам сети, что позволит вам проходить аутентификацию с использованием своего закрытого ключа. И открытый, и закрытый ключи - файлы с расширениями .pub и .key соответственно - хранятся в папке keys/. mohmp3/

Если Asterisk сконфигурирована на воспроизведение музыки при ожидании, приложения, использующие эту функцию, ведут поиск файлов в формате MP3 в папке mohmp3/. Asterisk несколько требовательна к форматированию МР3-файлов, поэтому следует использовать кодирование с постоянной скоростью передачи данных (constant bitrate, CBR) и удалять теги ID3 из файлов. sounds/

Все доступные для Asterisk голосовые сообщения находятся в папке sounds/. Основные сообщения, поставляемые с Asterisk, объединены в файл sounds.txt, размещающийся в папке исходного кода Asterisk. Дополнительные подсказки находятся в файле sounds-extra. txt, расположенном в той папке, в которую ранее в этой главе был извлечен из архива пакет asterisk-sounds.

23
{"b":"282856","o":1}