Asterisk — это свободное ПО, которое позволяет с минимально приемлемым аппаратным обеспечением организовать аналог классической АТС. Astterisk поддерживает множество VoIP-протоколов и предоставляет богатые функции управления звонками (Голосовая почта, Конференц-связь, интерактивное голосовое меню, постановка звонков в очередь и распределение их по абонентам, и т. д.).

В данной статье рассмотрим установку Asterisk 13 на Centos 7 с дальнейшей настройкой визуального web-интерфейса.

Подготовка к установке

1. Обновление системы

Залогиньтесь от имени root и обновите всё, что установлено в системе.

[root@centos-7 ~]# yum update

2. Установка требуемых пакетов

После того, как система обновлена, нужно установить несколько нужных пакетов с помощью следующей команды, которая содержит все необходимые пакеты и все зависимости.

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

a

Проверьте список пакетов, которые будут установлены и нажмите «Y» для продолжения. Обновление займет около 125 Мб в зависимости от того, какие пакеты были установлены ранее. После успешной операции вы увидите список установленных пакетов и обновлений, включая все необходимые зависимости.

3. Настройка MariaDB

После установки можно подключиться к базе данных с настройками по умолчанию, без пароля. Начнем с настройки и запуска:

[root@centos-7 ~]# systemctl enable mariadb 
[root@centos-7 ~]# systemctl start mariadb 
[root@centos-7 ~]# systemctl status mariadb

b

Следующая команда установит пароль root на базу, удалит анонимного пользователя, тестовую базу данных и запретит удаленный вход в систему пользователя.

[root@centos-7 ~]# mysql_secure_installation

4. Установка libjansson

Jansson — это C-библиотека для кодирования, декодирования и манипулирования данными в формате JSON. Скачайте самый актуальный пакет с сайта разработчика:

[root@centos-7 ~]# wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz

c

Распакуйте:

[root@centos-7 ~]# tar -zxvf jansson-2.7.tar.gz

Сконфигурируйте:

[root@centos-7 ~]# cd jansson-2.7 
[root@centos-7 ~]# ./configure --prefix=/usr

d

Для компиляции настроенного пакета используем связку команд make и make install в папке, куда был распакован архив.

[root@centos-7 jansson-2.7]# make clean 
[root@centos-7 jansson-2.7]# make & make install 
[root@centos-7 jansson-2.7]# ldconfig

Установка Asterisk

Когда подготовка сервера завершена, начнем установку самого Asterisk. Скачайте самый свежий пакет с сайта разработчика в разделе Download, или воспользуйтесь командой wget.

[root@centos-7 ~]# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13.5.0.tar.gz

e

Распакуйте архив, перейдите в созданную папку и сконфигурируйте пакет перед сборкой:

[root@centos-7 ~]# tar -zxvf asterisk-13.5.0.tar.gz 
[root@centos-7 ~]# cd asterisk-13.5.0 
[root@centos-7 asterisk-13.5.0]# ./configure --libdir=/usr/lib64

f

Если все прошло успешно, вы увидите такой логотип в стиле ASCII Art:

g

Установка модулей

Чистый Asterisk конечно работоспособен, но не зря он расширяется плагинами и модулями. Добавим пару полезных функций.

1. Главное меню настройки

Чтобы попасть в меню настройки и выбора модулей, выполните следующую команду и выберите нужные параметры.

[root@centos-7 asterisk-13.5.0]# make menuselect

Как мы видим, большинство нужных модулей включено по умолчанию. Можно отключить ненужные модули или добавить что-то на свой вкус. У каждого пункта краткое описание его задачи.

Полезно будет включить,  например, модуль поддержки mp3. Для этого  выберите «format_mp3», как показано ниже.

h

Затем перейдите в секцию Core Sound Packages и отметьте аудио-пакеты как показано на скриншоте:

j

Затем выберите все пакеты из «Music On Hold Packages», и из «Extra Sound Packages» выберите те, которые содержат в названии EN. Нажмите «Save & Exit», чтобы перейти к следующему шагу.

2. Загрузка mp3 библиотек

Теперь запустите следующую команду для загрузки библиотеки mp3-декодера.

[root@centos-7 asterisk-13.5.0]# contrib/scripts/get_mp3_source.sh

l

3. Установка модулей

Когда все нужное включено, а ненужное выключено, выполним сборку и установку. Сначала make, после успешного результата — make install.

[root@centos-7 asterisk-13.5.0]# make 
[root@centos-7 asterisk-13.5.0]# make install

m

Если все успешно установилось, Asterisk предложит вам установить демонстранционные конфиги:

[root@centos-7 asterisk-13.5.0]# make samples 
[root@centos-7 asterisk-13.5.0]# make config

После установки

1. Добавление Asterisk пользователя

Вы можете создать отдельного пользователя и дать ему право работать с Asterisk, чтобы службы запускались от его имени. Для этого выполните следующие команды:

[root@centos-7 asterisk-13.5.0]# useradd -m asterisk 
[root@centos-7 asterisk-13.5.0]# chown asterisk.asterisk /var/run/asterisk 
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /etc/asterisk 
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk 
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /usr/lib64/asterisk 
[root@centos-7 asterisk-13.5.0]# systemctl restart asterisk 
[root@centos-7 asterisk-13.5.0]# systemctl status asterisk

n

2. Настройка правил файрволла

Теперь займемся безопасностью. По умолчанию на CentOS 7 вместо iptables используется FirewallD. Запустим его.

[root@centos-7 ~]# systemctl start firewalld 
[root@centos-7 ~]# systemctl enable firewalld

Теперь разрешите доступ к портам, которые используются в Asterisk, добавив следующие правила:

[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5060/udp --permanent 
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5060/tcp --permanent 
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5061/udp --permanent 
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5061/tcp --permanent 
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=4569/udp --permanent 
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5038/tcp --permanent 
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=10000-20000/udp --permanent

Перезапустим сервис

[root@centos-7 ~]# firewall-cmd --reload

Проверить, что правила применились корректно, можно командой:

[root@centos-7 ~]# firewall-cmd --zone=public --list-all

o

3. Настройка базы Asterisk

Подключимся к MySQL MariaDB, создадим нового пользователя и базу и предоставим ему привилегии:

[root@centos-7 ~]# mysql -u root -p 
MariaDB [(none)]> create user 'asterisk'@'localhost' identified by 'yourpassword'; 
MariaDB [(none)]> create database asterisk; 
MariaDB [(none)]> create database cdrdb; 
MariaDB [(none)]> GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'yourpassword'; 
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cdrdb.* TO asterisk@localhost IDENTIFIED BY 'yourpassword'; 
MariaDB [(none)]> flush privileges; 
MariaDB [(none)]>

4. Запуск Asterisk

Первый запуск выполняем следующей командой. Проверяем, что ничего не отпало.

[root@centos-7 ~]# asterisk -r

p

Источник: linoxide.com

Установка GUI для Asterisk

1. Загрузка и настройка

Загрузите исходные файлы последней версии, используя svn. (yum install subversion)

[root@centos-7 ~]# cd /usr/src 
[root@centos-7 ~]# svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui 
[root@centos-7 ~]# cd asterisk-gui [root@centos-7 ~]# ./configure 
[root@centos-7 ~]# make 
[root@centos-7 ~]# make install

Сделайте резервную копию файлов конфигурации. Для этого достаточно скопировать /etc/asterisk под другими именем:

[root@centos-7 ~]# cp -r /etc/asterisk /etc/asterisk.backup

Два файла измените вручную:

[root@centos-7 ~]# nano /etc/asterisk/manager.conf

Включите следующие настройки

enabled = yes 
webenabled = yes

Теперь добавим нового пользователя в manager.conf:

[administrator] 
secret = mypassword 
read = system,call,log,verbose,command,agent,user,config 
write = system,call,log,verbose,command,agent,user,config

Теперь обновим конфиг http

[root@centos-7 ~]# nano /etc/asterisk/http.conf
enabled=yes 
enablestatic=yes 
bindaddr=0.0.0.0 
bindport = 8088 
prefix = gui 
enablestatic = yes

bindaddr 0.0.0.0 означает, что вы можете получить доступ из любого места. Если вам требуется доступ только с локального компьютера, то тогда используйте адрес 127.0.0.1.

Проверьте конфигурацию Asterisk-GUI, выполнив из каталога /usr/src/asterisk-gui команду

[root@centos-7 asterisk-gui]#make checkconfig

2. Запуск asterisk-gui

Чтобы загрузить asterisk-gui, необходимо перезапустить Asterisk. Перезапустить сервер Asterisk можно из с консоли CLI, выполнив команду reload

Теперь вы можете использовать asterisk-gui через указанные адреса:

http://yoururl:8088/static/config/index.html

http://yoururl:8088/httpstatus  (для проверки состояния)

Источник two-it.ru

asterisk-software

Один комментарий к “Установка Asterisk 13 (PBX) на Centos 7.x и подключение Web GUI”
  1. Подскажите пожалуйста а как например обновить libjansson или asterisk до новой версии?
    Как я понимаю через yum update они обновлять не будут т.к собраны в ручную.
    Спасибо!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *