Asterisk™: будущее телефонии Второе издание
Шрифт:
• Запускается динамический загрузчик, то есть механизм, ответственный за загрузку модулей, описанных в файле modules.conf.
Это приложение начинается с детального обсуждения конфигурационного файла modules.conf. Затем кратко рассматриваются другие файлы, которые, возможно, вам придется сконфигурировать для своей системы Asterisk.
modules.conf
Файл modules.conf управляет тем, какие модули загружаются или не загружаются при запуске Asterisk. Описывается это с помощью структур load =>
Этот файл является ключевым компонентом для построения безопасной системы Asterisk: лучшей практикой считается загружать только необходимые модули.
Файл modules.conf всегда начинается с заголовка [modules] (модули). Asterisk может автоматически загружать все модули, содержащиеся в папке модулей, используя выражение autoload (автозагрузка), или загружать только те модули, которые указаны выражениями load =>. Мы рекомендуем вручную загружать только необходимые модули, но многие считают, что проще позволить Asterisk автоматически загрузить все, что она найдет в папке /usr/lib/asterisk/modules. После этого определенные модули можно исключить1 из загрузки с помощью выражений noload =>. Вот пример файла modules.conf:
[modules][modules] | |
autoload=no | задайте значение yes - и Asterisk будет |
загружать все модули, которые найдет | |
в папке /usr/lib/asterisk/modules |
load => res_adsi.so |
load => pbx_config.so ; Требует: ничего |
load => chan_iax2.so ; Требует: res_crypto.so, |
; res_features.so |
load => chan_sip.so ; Требует: res_features.so |
load => codec_alaw.so ; Требует: ничего |
load => codec_gsm.so ; Требует: ничего |
load => codec_ulaw.so ; Требует: ничего |
load => format_gsm.so ; Требует: ничего |
1 С появлением новой системы выбора компонентов сборки следовать лучшей практике необязательно, если в первую очередь выполняется сборка только необходимых модулей.
load => app_dial.so ; Требует: res_features.so, ; res_musiconhold.so
Поскольку мы предполагаем, что сборка Asterisk выполнена в Linux, имена всех используемых модулей заканчиваются расширением .so. Однако если вы выполнили сборку Asterisk в другой операционной системе, расширения будут другими.
На момент написания данной книги существует восемь типов модулей: ресурсы, приложения, коннекторы баз данных для хранения Call Detail Record, каналы, кодеки, форматы, модули АТС и самостоятельные функции. Остановимся на каждом из них в отдельности.
adsi.conf
Интерфейс сервисов для аналогового дисплея (Analog Display Services Interface, ADSI) был разработан для того, чтобы телефонные компании могли поставлять улучшенные сервисы по аналоговым телефонным сетям. В Asterisk этот
Приложение Voicemail требует наличия модуля res_adsi.so; однако необязательно, чтобы использовался файл adsi.conf. Информация об ADSI не является общедоступной. Документацию необходимо покупать у компании Telcordia.
adtranvofr.conf
До появления технологии Voice over IP некоторое время в качестве средства пакетной передачи голоса широко использовалась технология Voice over Frame Relay (VoFR - передача голоса по сетям с ретрансляцией кадров). Использование оборудования Adtran для поддержки VoFR - часть истории Asterisk.
Однако этот протокол больше не пользуется популярностью в сообществе, поэтому могут возникнуть трудности с его поддержкой.
agents.conf
Этот файл позволяет создавать агентов вашего центра обработки вызовов и управлять ими. Если используется приложение Queue, можно сконфигурировать настройки агентов для обработки очереди вызовов. Для настройки драйвера канала AGENT (агент) используется файл agents.conf.
Раздел [general] файла agents.conf в настоящее время содержит только два параметра. Параметр persistentagents (постоянно хранимые агенты) указывает Asterisk, должен ли сохраняться статус агентов, использующих возможность обратного вызова очередей, в локальной базе данных Asterisk. Если задано значение yes, регистрация удаленного агента будет сохраняться при перезагрузках системы (если только не будет удалена из базы данных какими-либо иными средствами). Параметр multiplelogin (множественная регистрация) говорит Asterisk о возможности регистрации множества агентов с одного добавочного номера.
Следующие параметры, заданные в разделе [agents] (агенты), используются для описания агентов и способа взаимодействия системы с ними. Настройки применяются ко всем агентам, но могут быть переопределены для отдельного агента его индивидуальными настройками:
maxlogintries
Максимальное число попыток, которое дается агенту, чтобы зарегистрироваться. Значение по умолчанию - 3.
autologoff
Принимает аргумент (в секундах), определяющий время ожидания ответа на вызов по каналу агента, по истечении которого агент будет признан недоступным и выгружен из системы.
autologoffunavail
Задается, чтобы выполнялась автоматическая выгрузка агентов из системы в случае возвращения приложением Dial статуса CHANUNAVAIL в результате попытки дозвониться до этого агента. Значение по умолчанию - no.
ackcall
Принимает аргументы yes и no. Если задано значение yes, агент с возможностью обратного вызова должен после регистрации подтверждать вход в систему нажатием кнопки #. Используется в сочетании с приложением AgentCallbackLogin.
endcall
Если задано значение yes, агент может разрывать соединение нажатием кнопки *. Значение по умолчанию - yes. Задайте no, чтобы Asterisk не выполняла никаких действий при нажатии кнопки * агентом.
wrapuptime
Можно задать этот параметр, чтобы обеспечить агентам некоторую паузу перед передачей им следующего вызова после завершения предыдущего. Эта настройка задается в миллисекундах.
musiconhold => класс
Принимает в качестве аргумента класс музыки во время ожидания. Эта настройка применяется ко всем агентам.