Asterisk — самая популярная и широко используемая платформа PBX с открытым исходным кодом, которая поддерживает системы IP PBX, серверы конференций и шлюзы VoIP. Он используется частными лицами, малым бизнесом, крупными предприятиями и правительствами по всему миру.
Функции Asterisk включают голосовую почту, музыку в режиме ожидания, конференц-связь, постановку вызовов в очередь, запись разговоров, интерактивный голосовой ответ и многое другое.
Это руководство проведет вас через шаги, необходимые для установки Asterisk 15 на CentOS 7.
Содержание
Подготовка
-
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
-
Обновите свою систему CentOS и установите инструменты разработки, необходимые для компиляции исходного кода Asterisk:
sudo yum update
sudo yum groupinstall core base "Development Tools"
Отключить Selinux
Если SELinux установлен в enforcing
режим, Asterisk не будет работать правильно.
Чтобы отключить функции безопасности SELinux, откройте файл /etc/selinux/config
и установите SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Сохраните файл и перезагрузите систему CentOS с помощью:
sudo shutdown -r now
После загрузки машины убедитесь, что команда getenforce
возвращает значение Disabled
:
getenforce
Disabled
Скачать Asterisk
Мы собираемся загрузить исходный код Asterisk в каталог /usr/src
который является обычным местом для размещения исходных файлов.
Перейдите в каталог /usr/src
, набрав:
cd /usr/src/
Загрузите последнюю версию Asterisk 15 с помощью следующей команды wget :
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
После завершения загрузки извлеките загруженный файл с помощью следующей команды:
sudo tar zxf asterisk-15-current.tar.gz
Прежде чем перейти к следующим шагам, убедитесь, что вы перешли в исходный каталог Asterisk, набрав:
cd asterisk-15.*/
Установить зависимости Asterisk
Загрузите исходники MP3, которые необходимы для создания модуля MP3 и использования файлов MP3 в Asterisk:
sudo contrib/scripts/get_mp3_source.sh
Затем установите все недостающие зависимости с помощью скрипта install_prereq
:
sudo contrib/scripts/install_prereq install
Скрипт установит все необходимые пакеты и после успешного завершения выведет следующее сообщение:
#############################################
## install completed successfully
#############################################
Установить Asterisk
Сценарий configure
выполнит ряд проверок, чтобы убедиться, что все зависимости, которые требуются для процесса сборки и установки, присутствуют, запустите сценарий, набрав:
sudo ./configure --libdir=/usr/lib64
После успешного завершения вы увидите следующий результат:
Следующим шагом является выбор модулей, которые вы хотите скомпилировать и установить.
Большинство модулей уже включены. Войдите в систему Menuselect, набрав:
sudo make menuselect
Мы уже скачали исходные файлы MP3, и теперь нам нужно указать Asterisk создать модуль MP3, выбрав format_mp3
:
Когда вы закончите, нажмите F12
чтобы сохранить и выйти, или переключитесь на кнопку « Save and Exit
и нажмите Enter
.
Запустите процесс компиляции с помощью команды make
:
sudo make -j2
-j
соответствии с количеством ядер вашего процессора.После завершения процесса сборки вам будет представлено следующее сообщение:
Следующим шагом будет установка Asterisk и его модулей, набрав:
sudo make install
По завершении установки сценарий отобразит следующее сообщение:
Теперь, когда Asterisk установлен, нам нужно установить образцы файлов конфигурации.
Установите либо общие файлы конфигурации со справочной документацией, набрав:
sudo make samples
Или установите базовые файлы конфигурации АТС:
sudo make basic-pbx
Последний шаг — установить сценарий инициализации Asterisk, набрав:
sudo make config
Наконец, запустите ldconfig
чтобы обновить кеш разделяемых библиотек:
sudo ldconfig
Создать пользователя Asterisk
По умолчанию Asterisk запускается от имени пользователя root. По соображениям безопасности мы создадим нового системного пользователя и настроим Asterisk для работы от имени вновь созданного пользователя.
Чтобы создать нового системного пользователя с именем asterisk
выполните следующую команду:
sudo adduser --system --user-group --home-dir /var/lib/asterisk --no-create-home asterisk
Чтобы настроить Asterisk для запуска от имени пользователя asterisk
, откройте файл /etc/sysconfig/asterisk
и раскомментируйте следующие две строки:
AST_USER="asterisk"
AST_GROUP="asterisk"
Добавьте пользователя asterisk
в группы dialout
и audio
:
sudo usermod -a -G dialout,audio asterisk
Нам также необходимо изменить владельца и разрешения для всех файлов и каталогов asterisk, чтобы пользователь asterisk мог получить доступ к этим файлам:
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
Запустить Asterisk
Теперь, когда мы все настроены, мы можем запустить службу Asterisk с помощью следующей команды:
sudo systemctl start asterisk
Чтобы убедиться, что Asterisk работает, подключитесь к интерфейсу командной строки Asterisk (CLI), набрав:
sudo asterisk -vvvr
Вы увидите приглашение Asterisk CLI по умолчанию:
Последний шаг — разрешить запуск службы Asterisk при загрузке:
sudo systemctl enable asterisk
Настройте правила брандмауэра
Теперь, когда Asterisk установлен и запущен, вам необходимо настроить брандмауэр, чтобы разрешить трафик через определенные порты Asterisk.
Откройте нужный текстовый редактор и создайте следующую службу Firewalld:
<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
<short>asterisk</short>
<description>Asterisk is a software implementation of a telephone private branch exchange (PBX).</description>
<port protocol="udp" port="10000-10100"/>
<port protocol="udp" port="4569"/>
<port protocol="udp" port="2727"/>
<port protocol="udp" port="5060-5061"/>
</service>
Сохраните файл и примените новые правила брандмауэра, набрав:
sudo firewall-cmd --add-service=asterisk --permanent
sudo firewall-cmd --reload
Наконец, проверьте, успешно ли применяются новые правила брандмауэра:
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client asterisk
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Не стесняйтесь настраивать брандмауэр в соответствии с вашими потребностями.
Выводы
В этом руководстве мы показали вам, как установить последнюю версию Asterisk из исходного кода в вашей системе CentOS.
Теперь вам следует проверить документацию по Asterisk и узнать больше о том, как настроить и использовать Asterisk.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.