Как установить Asterisk на CentOS 7

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

/etc/selinux/config
# 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 и раскомментируйте следующие две строки:

/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/asterisksudo 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:

/etc/firewalld/services/asterisk.xml
<?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 --permanentsudo 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.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Оставьте комментарий