Периодически мне нужно ставить и настраивать Asterisk. Малость надоело каждый раз вспоминать всю последовательность действий и искать все команды в итернете. В общем решил написать свой ман.
Тут будет описан процес установки без настройки, без установки дополнительных компонентов из серии chan_dongle и FreePBX и т.д. Про установку, а так же настройку этих компонентов будут написаны отдельные статьи.
Ставить будем на Ubuntu 14 . Для остальных linux систем описаное ниже тоже подойдёт, но некоторые команды надо будет подредактировать. Для Debian должно всё заработать без изменений.
ВНИМАНИЕ ,весь выложеный код можно копировать блоками, а не по одной команде
Установка всех необходимых зависимостей. Если что то не поставить, то что то в итоге и не будет работать!
sudo apt-get install libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev libmysqlclient15-dev curl mpg123 libxml2 libxml2-dev libaudiofile-dev subversion sox libiksemel-dev libssl-dev sudo apt-get install linux-headers-`uname -r`
Скачаваем и собираем последнюю версию DAHDI
Ссылка актуальна на начало 2019.
Скачиваем и разархивируем
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz tar -zxvf dahdi-linux-complete-current.tar.gz
Переходим в каталог ,который мы распаковали и собираем DAHDI
cd dahdi* sudo make all && sudo make install && sudo make config cd ..
Скачаваем и собираем последнюю версию libpri
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz tar -zxvf libpri-current.tar.gz cd lib* sudo make && sudo make install cd ..
Готовим Asterisk
Качаем сам Asterisk. На мамонт написания, последней версией была актуальная версия asterisk-11.25.3 (По скольку разработка этой версии уже закончилась, то новых уже не будет)
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-11.25.3.tar.gz tar -zxvf asterisk* cd asterisk*
Конфигурируем Asterisk
./configure
По окончанию, вы должны увидеть звёздочку.
Вызываем конфигурационное меню
make menuselect
Отмечаем следующее
Add-ons: format_mp3, app_mysql, cdr_mysql
Resource Modules: res_xmpp (не обязательно. используется для уведомлений в jabber о пропущенных)
Core Sound Packages: CORE-SOUNDS-EN-ALAW, CORE-SOUNDS-EN-GSM, CORE-SOUNDS-EN-G729, CORE-SOUNDS-RU-ALAW, CORE-SOUNDS-RU-GSM, CORE-SOUNDS-RU-G729
Music On Hold File Packages: MOH-OPSOUND-WAV
Extras Sound Packages: ALAW, GSM и G729
Нажимаем [S] для сохранения конфигурации
По скольку мы выбирали модуль поддержки mp3, то запускаем скрипт скачивания source mp3
contrib/scripts/get_mp3_source.sh
Собираем и устанавливаем
sudo make install
Сборка проходит долго, чем слабее компьютер, тем дольше сборка. У меня заняло порядка 5 минут
Демо конфиги (если не нужны, то пропускаем данный пункт)
sudo make samples
Генерируем все необходимые скрипты и конфиги без которых работать не будет.
sudo make config
Выходим из каталога и стартуем
cd .. sudo /etc/init.d/asterisk start
Дальше заходим в консоль астериска, если зашло, значит всё ок
sudo asterisk -rvvvvvvvvvv
Выйти из неё можно написав «exit» или сочетанием клавиш «Ctrl+C»
Ставим кодек G279
G.729 — узкополосный речевой кодек, который применяется для эффективного цифрового представления узкополосной телефонной речи
Открываем в браузере http://asterisk.ru/codecs/
И выбираем версию кодека G279 которая подходит под ваш процессор. Дальше копируем ссылку и подставляем её в команду (правая кнопка мышки на ссылки и выбираем пункт «Копировать адрес ссылки»)
wget -P /usr/lib/asterisk/modules -O codec_g729.so "адрес ссылки"
(кавычки подставлять не нужно, у вас должно получится что то типа такого )
wget -P /usr/lib/asterisk/modules -O codec_g729.so http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-core2-sse4.so
Минимальная настройка, которая нужна ,что б астериск нормально работал
Создаём пользователя, группы и каталог запуска
sudo /etc/init.d/asterisk stop sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk sudo adduser asterisk dialout sudo adduser asterisk audio sudo adduser www-data asterisk sudo mkdir -p /var/run/asterisk
Изменяем права на нужные каталоги
Если у вас в системе нет Dahdi устройств, то систему ругнётся на это. Это нормально
sudo chown -R asterisk:asterisk /var/lib/asterisk sudo chown -R asterisk:asterisk /var/log/asterisk sudo chown -R asterisk:asterisk /var/run/asterisk sudo chown -R asterisk:asterisk /var/spool/asterisk sudo chown -R asterisk:asterisk /usr/lib/asterisk sudo chown -R asterisk:asterisk /dev/dahdi sudo chmod -R u=rwX,g=rX,o= /var/lib/asterisk sudo chmod -R u=rwX,g=rX,o= /var/log/asterisk sudo chmod -R u=rwX,g=rX,o= /var/run/asterisk sudo chmod -R u=rwX,g=rX,o= /var/spool/asterisk sudo chmod -R u=rwX,g=rX,o= /usr/lib/asterisk sudo chmod -R u=rwX,g=rX,o= /dev/dahdi sudo chown -R asterisk:asterisk /etc/asterisk sudo chmod -R u=rwX,g=rX,o= /etc/asterisk
В файле /etc/default/asterisk раскоментируем две строчки и изменяем название группы
AST_USER=»asterisk»
AST_GROUP=»dialout»
Запускаем Asterisk и смотрим, от какого пользователя он запустился
sudo /etc/init.d/asterisk start ps aux | grep asterisk
Все в порядке!
Перегружаем систему и пользуемся)