для компьютерной телефонии. 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/ находятся специальные сценарии, которые могут взаимодействовать с Asterisk через различные встроенные приложения AGI. Подробнее об AGI рассказывается в главе 8.
Папка firmware/ содержит встроенное ПО для различных совместимых с Asterisk устройств. В настоящее время в этой папке имеется только подпапка iax/, в которой находится двоичное отображение встроенного ПО для IAXy производства Digium.
Приложения, которые соединяются с каналами, поддерживающими изображения, ищут папку images/. Большинство каналов не поддерживают передачу изображений, поэтому эта папка используется редко. Однако если появится больше устройств, поддерживающих и использующих изображения, эта папка станет более значимой.
Asterisk может использовать систему открытых/закрытых ключей для аутентификации равноправных участников сети, которые соединяются с модулем, используя цифровую подпись RSA. Если поместить открытый ключ такого участника сети в свою папку keys/, этот участник сети сможет быть аутентифицирован каналами, поддерживающими данный метод (такими, как каналы IAX2). Закрытый ключ никогда не предоставляется. Справедливо и обратное: вы можете предоставить свой открытый ключ равноправным участникам сети, что позволит вам проходить аутентификацию с использованием своего закрытого ключа. И открытый, и закрытый ключи - файлы с расширениями .pub и .key соответственно - хранятся в папке keys/.
Если Asterisk сконфигурирована на воспроизведение музыки при ожидании, приложения, использующие эту функцию, ведут поиск файлов в формате MP3 в папке mohmp3/. Asterisk несколько требовательна к форматированию МР3-файлов, поэтому следует использовать кодирование с постоянной скоростью передачи данных (constant bitrate, CBR) и удалять теги ID3 из файлов.
Все доступные для 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 (Приоритетность), соответственно которой должен начинаться ответ на вызов, или просто приложение и его аргументы.
Также в них можно задать переменные и определить код учетной записи для 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 в отдельных файлах (подробнее об этом рассказывается в приложении А).
AsteriskNOW™
В следующих разделах дается последовательное введение в программный продукт AsteriskNOW, который предоставляет собой завершенную систему офисной АТС и графическое окно настройки конфигурации - все в одном!
Что такое AsteriskNOW
AsteriskNOW - это программное устройство с открытым исходным кодом, специализированный дистрибутив Linux, включающий Asterisk, графический пользовательский интерфейс (GUI) Asterisk и все