В этой статье мы расскажем, какие файлы необходимы для основной настройки 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 – каталог, откуда будут загружаться файлы для проигрывания
Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.