img

Установка Asterisk 14 на CentOS 7

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

В данной статье расскажем как установить последнюю версию Asterisk 14.3.0 на операционную систему CentOS 7. Следуя нашей инструкции, Вы без труда сможете собрать Asterisk из источников. Итак, поехали!


Пошаговое видео

Скачать команды


Подготовка

Перед началом установки, убедимся, что у нас выключена опция SElinux, по умолчанию он включен. Поэтому открываем любой текстовый редактор, например vim или nano и отключаем. Для этого:

nano /etc/sysconfig/selinux

Ищем строчку SELINUX = и вписываем disabled:

SELINUX=disabled

Сохраняем изменения и производим перезагрузку командой reboot. Далее, добавляем в CentOS репозиторий EPEL:

$now = new DateTime(); $date = "2017-02-22"; $interval = $now->diff($date); $age = floor((strtotime("now")-strtotime("2017-02-22"))/86400); Все ссылки актуальны на момент написания статьи (22.02.2017). Сегодня echo date("d.m.Y") (статья написана function format_by_count($count, $form1, $form2, $form3) { $count = abs($count) % 100; $lcount = $count % 10; if ($count >= 11 && $count <= 19) return($form3); if ($lcount >= 2 && $lcount <= 4) return($form2); if ($lcount == 1) return($form1); return $form3; } echo $age . ' ' . format_by_count($age, 'день', 'дня', 'дней'); назад), поэтому, в случае недоступности нужного файла, воспользуйтесь поиском в сети интернет.
rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
yum -y update

Устанавливаем зависимости, лучше это делать в несколько команд

yum install -y gcc gcc-c++  lynx bison mariadb-devel mariadb-server mariadb gmime-devel psmisc php php-mysql php-pear php-mbstring
yum install tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel
yum install  kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool sqlite-devel libuuid-devel bzip2

Запускаем сервис mariadb (MySQL):

systemctl enable mariadb.service
systemctl start mariadb.service

Установка PearDB:

pear uninstall db
pear install db-1.7.14

Теперь необходимо скачать и установить телефонные драйверы, такие как pjproject, и DAHDI, а также приложения jansson и lame.

cd /usr/src/
wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
tar -xjvf pjproject-2.4.tar.bz2
cd pjproject-2.4*
./configure  --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --libdir=/usr/lib64
make dep
make
make install
cd ..

Скачивание и установка драйвера DAHDI

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz 
tar xvfz dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd ..

Скачивание и установка приложения кодирования lame:

wget https://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz 
tar zxvf lame-3.98.4.tar.gz 
cd lame-3.98.4 
./configure
make
make install
cd ..

Скачивание и установка jansson. Можно воспользоваться yum -y install jansson-devel или:

wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz
tar zvxf jansson-2.5.tar.gz
cd jansson-2.5 
./configure --prefix=/usr
make clean
make
make install 
ldconfig
cd ..

Последним шагом в подготовке к установке Asterisk, является скачивание и установка библиотеки для работы с ISDN интерфейсами - libpri:

wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz
tar xvfz libpri-1.6.0.tar.gz
cd libpri-1.6.0
make 
make install
cd ..

Установка Asterisk

Всё готово, теперь скачаем Asterisk

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
tar xvfz asterisk-14-current.tar.gz
cd asterisk-14*
./configure --libdir=/usr/lib64
contrib/scripts/get_mp3_source.sh
make menuselect

После ввода команды menuselect перед вами откроется помощник установки модулей. По умолчанию, все необходимые модули уже включены, нам остаётся только добавить, то что хотим. Так, например, мы рекомендуем в разделе Add-ons включить поддержку mp3, установив параметр format_mp3, как показано на рисунке ниже:

Поддержка mp3 на этапе установки Asterisk

В разделе Core Sound Packages установить нужные форматы звуковых пакетов, например, для русского и английского языков:

Установка звуковых пакетов Core Sound Packages asterisk Русский звуковой пакет в Астериск

В разделе Music On Hold File Packages установить все значения для поддержки кодеков разных производителей оборудования:

Music On Hold File Packages в Asterisk при установке

Наконец, в Extras Sound Packages установите нужные форматы и нажмите F12:

Развертывание Asterisk Extras Sound Packages

Вы увидите сообщение о том, что преднастройка успешно завершена:

Установка Asterisk 14 на CentOS 7

Начинаем установку, для этого вводим команду

make

По завершению отработки данной команды, мы увидим сообщение о том, что сборка Asterisk успешно завершена и теперь можно начать его установку:

Сборка Asterisk завершена CentOS 7

Для этого вводим команды:

make install
make samples
make config

На этом установка Asterisk завершена, о чём сообщает следующий вывод

Установка Asterisk на CentOS успешно завершена

Теперь необходимо создать пользователя с правами доступа к директориям Asterisk

useradd -m asterisk
chown asterisk.asterisk /var/run/asterisk 
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib64/asterisk

После этого, нужно перепустить Asterisk, чтобы изменения вступили в силу

systemctl restart asterisk

Теперь необходимо подготовить MySQL для работы с Asterisk:

mysql -u root -p //Пароль по умолчанию mysql или же никакого пароля

Создадим пользователя для работы с базами MySQL для Asterisk

create user 'merionuser'@'localhost' identified by 'merionpass'; //Пользователь – merionuser, пароль – merionpass”

Далее необходимо создать две базы данных для работы с Asterisk:

create database asterisk;
create database asteriskcdrdb;

И настраиваем права для пользователя, которого создали в прошлом шаге:

GRANT ALL PRIVILEGES ON asterisk.* TO merionuser@localhost IDENTIFIED BY 'merionpass';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO merionuser@localhost IDENTIFIED BY 'merionpass';
flush privileges;

Теперь мы можем зайти в командную строку (CLI) Asterisk и начинать конфигурацию:

asterisk -rvv
Консоль управления Asterisk CLI

core show help покажет список доступных команд и их описания

core show help в Asterisk 14
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Привет, дорогой читатель! В повседневной работе зачастую не хватает автоматизации. Поэтому, мы решили создать калькулятор инстал
img
Мы подумали, а почему бы не консолидировать все знания по Cisco VoIP продуктам и их настройке в единый документ? Добавить в них
img
Привет! Для удобства, мы структурировали все материалы по графическому интерфейсу FreePBX в нашей базе знаний в единый файл. Сам
img
Вам, как сетевому инженеру, крайне важно разбираться в том, каким образом вызовы VoIP влияют на пропускную способность канала в
img
В этой статье расскажем как отправлять различные СМС сообщения пользователям, позвонившим в контакт-центр Октелл и запросившим т
img
Всем современным кампаниям, производящим товары и оказывающим услуги, необходимо иметь специалистов, работающих с потенциальными
21 ноября
20:00
Бесплатный вебинар
Введение в Docker