Какие файлы необходимы для основной настройки Asterisk?
asterisk.conf
Файл конфигурации asterisk.conf позволяет настроить различные параметры, которые могут повлиять на работу Asterisk.
- Местоположение, права доступа и владельца сокета, которые используется для подключения удаленной консоли управления сервером.
- Местоположение различных директорий, используемых сервером Asterisk для определения местоположения файлов конфигурации, библиотек, скриптов и место, где будут создаваться лог фалы.
- Параметры командной строки запуска сервера, используемые по умолчанию
Существует образец файла asterisk.conf включенный в исходник Asterisk. Файл asterisk.conf находится в папке /etc/asterisk. При необходимости скопируйте исходный файл и переименуйте его.
cp asterisk.conf asterisk_orig.conf
Далее можно приступать к редактированию.
Файл выглядит таким образом:
[directories] – расположение директорий Asterisk, необязательно изменять astetcdir => /etc/asterisk –расположение конфигурационных файлов astmoddir => /usr/lib/asterisk/modules–расположение загруженных модулей astvarlibdir => /var/lib/asterisk- расположение переменных Astrerisk astdbdir=> /var/lib/asterisk- расположение внутренней базы данных Asterisk (AstDB) astkeydir=> /var/lib/asterisk- расположение ключей шифрования astdatadir=> /var/lib/asterisk – расположение системных данных, например звуковых файлов astagidir => /var/lib/asterisk/agi-bin- расположение сценариев AGI astspooldir => /var/spool/asterisk- расположение таких файлов, как, голосовая почта, записи вызовов, история вызовов astrundir => /var/run/asterisk- место записи сокетов управления Unix, ID процессов(PID) astlogdir => /var/log/asterisk – место хранения лог файлов. astsbindir => usr/sbin- демон Asterisk, так же содержится скрипт перезапускающий Asterisk, если программа «вылетела» - safe_asterisk [options]- настройка глобальных параметров для запуска приложений Asterisk, описание каждого параметра есть в самом файле asterisk.conf verbose = 3 debug = 3 alwaysfork= yes nofork= yes quiet = yes timestamp = yes execincludes = yes console = yes highpriority = yes initcrypto = yes nocolor = yes dontwarn = yes dumpcore = yes languageprefix = yes systemname = my_system_name autosystemname = yes mindtmfduration= 80 maxcalls = 10 maxload = 0.9 maxfiles = 1000 minmemfree = 1 cache_record_files = yes record_cache_dir = /tmp transmit_silence = yes transcode_via_sln = yes runuser = asterisk rungroup = asterisk lightbackground= yes forceblackbackground= yes defaultlanguage = en documentation_language = en_US hideconnect = yes lockconfig = no stdexten = gosub live_dangerously = no [files]- опции необходимые для управления сокетом Asterisk astctlpermissions = 0660 – устанавливает разрешение на доступ к сокету Asterisk astctlowner = root – создатель сокета Asterisk astctlgroup = apache – группа сокета Asterisk astctl = asterisk.ctl – названиефайласокета Asterisk [compat]- раздел позволяет «откатывать» некоторые модули к предыдущей версии Astrisk pbx_realtime = 1.6 res_agi = 1.6 app_set = 1.6
modules.conf
Файл расположен в папке /etc/asterisk. Данный файл не является обязательным к настройке, но без загрузки модулей Asterisk не будет выполнять своего функционала. Если в файле modules.conf указано autoload=yes, то Asterisk будет загружать все модули из каталога /usr/lib/asterisk/module.
При необходимости модули можно включать и отключать от загрузки. Это необходимо делать для ускорения работы Asterisk или при отсутствии необходимости в том или ином модуле.
Файле modules.conf можно встретить такие параметры:
autoload – загрузка всех модулей, находящихся в каталоге /usr/lib/asterisk/module. По умолчанию, autoload = yes
preload – необходимость загрузки, определенного модуля, до начала загрузки остальных модулей, т.е. приоритет загрузки
load – загрузка модулей по отдельности. Используется, если autoload = no
noload –не загружать определенный модуль. Используется, если autoload = yes
require – делает тоже самое, что и load, но в данном случае Asterisk будет закрываться, если модуль не загрузится по какой-то причине
preload—require — делает тоже самое, что и preload, но в данном случае Asterisk будет закрываться, если модуль не загрузится по какой-то причине
indications.conf
В разных странах используются различные звуки(тоны), такие как гудок, сигнал занятости линии, контроля посылки вызова и так далее. Файл indiications.conf определяет параметры этих звуков, при необходимости эти звуки можно отредактировать.
В файле имеется строчка
[general]country=en
Изменяем эту строчку и вместо en пишем ru, теперь тоны соответствуют российским стандартам.
Если необходимо в ручную подправить звуки, то листаем файл вниз и находим:
[ru] ; References: ; http://www.minsvyaz.ru/site.shtml?id=1806 ; http://www.aboutphone.info/lib/gost/45-223-2001.html description = Russian Federation / ex Soviet Union ringcadence = 1000,4000 dial = 425 busy = 425/350,0/350 ring = 425/1000,0/4000 congestion = 425/175,0/175 callwaiting = 425/200,0/5000 record = 1400/400,0/15000 info = 950/330,1400/330,1800/330,0/1000 dialrecall = 425/400,0/40 stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100
Правим необходимые параметры.
musiconhold.conf
musiconhold.conf файл отвечающий за музыку на удержание.
Здесь мы расскажем, как перевести файл из mp3 формата, в формат пригодный для воспроизведения в Asterisk. Для этого установим плагин Sox.
Для Debian, Ubuntu:
sudo apt-get install sox libsox-fmt-all
Для Centos, RedHat:
sudo yum install sox libsox-fmt-all
Для перевода файла Primer.mp3 в формат пригодный для Asterisk, введем следующую команду:
sox Primer.mp3 -t raw -r 8000 -s -2 -c 1 Primer.sln
Перемещаем файл в папку, где лежат остальные файлы music on hold:
cp *.sln /var/lib/asterisk/moh
Далее перезагружаем модуль musiconhold:
asterisk -rx "module unload res_musiconhold.so" asterisk -rx "module load res_musiconhold.so"
В самом файле musiconhold.conf включены, по-умолчанию, следующие параметры:
mode=files – проигрывать файлы из папки «directory»
directory=moh – каталог, откуда будут загружаться файлы для проигрывания