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

Папки, используемые 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.

/var/spool/asterisk/

Папка Asterisk spool имеет несколько подпапок, включая dictate/, meetme/, monitor/, outgoing/, system/, tmp/ и voicemail/ (рис. 3.4). Asterisk отслеживает папку outgoing на наличие текстовых файлов, содержащих информацию запросов вызовов. Эти файлы позволяют производить вызов, просто перемещая правильно структурированный файл в папку outgoing/.

Файлы вызовов, помещенные в папку outgoing/, могут содержать полезную информацию, такую как Context (Контекст), Extension (Расширение) и Priority (Приоритетность), соответственно которой должен начинаться ответ на вызов, или просто приложение и его аргументы.

Рис. 3.4. Структура папки /var/spool/asterisk/

Также в них можно задать переменные и определить код учетной записи для Call Detail Records (Записи параметров вызовов). Более подробная информация об использовании файлов вызовов представлено в главе 9. dictate/ - папка, в которой приложение Dictate() ищет файлы по умолчанию.

meetme/ - папка, в которой сохраняются записи конференций, организованных приложением MeetMe().

Записи, полученные с помощью любого приложения для записи «в одно касание» (флаги w и W для приложения Dial()), MixMonitor() или Monitor(), хранятся в папке monitor/.

Папка system/ используется приложением System() для временного хранения данных.

Папка tmp/, как это ни смешно, используется для хранения временной информации. Некоторым приложениям может потребоваться место для записи файлов перед копированием их окончательных версий в постоянное местоположение. Это предотвращает попытки одновременной записи и чтения файла разными процессами. Все сообщения голосовой почты и приветствия пользователя находятся в папке voicemail/. Для добавочных номеров, заданных в voicemail. conf и по крайней мере один раз зарегистрировавшихся в системе, в voicemail/ создаются подпапки.

/var/run/

Папка /var/run/ содержит идентификаторы процессов (Process ID, PID) для всех активных процессов системы, включая Asterisk (как определено в файле asterisk.conf). Обратите внимание, что в разных ОС для этих целей могут использоваться различные папки.

/var/log/asterisk/

Папка /var/log/asterisk/ является местом хранения журнала Asterisk. Редактируя файл logger.conf, находящийся в папке /etc/asterisk/, можно управлять типом информации, протоколируемой в различных файлах. Базовая конфигурация файла logger.conf рассматривается в приложении D.

/var/log/asterisk/cdr-csv

Папка /var/log/asterisk/cdr-csv используется для хранения записей параметров вызовов (CDR) в формате CSV (с разделяющими запятыми). По умолчанию информация хранится в файле Master.csv, но для отдельных учетных записей с помощью опции accountcode можно организовать хранение их CDR в отдельных файлах (подробнее об этом рассказывается в приложении А).