
Asterisk — самая популярная и широко распространённая платформа УАТС с открытым исходным кодом, которая обеспечивает работу IP-АТС, серверов конференц-связи и шлюзов VoIP. Её используют частные лица, малый бизнес, крупные предприятия и государственные учреждения по всему миру.
К возможностям Asterisk относятся голосовая почта, музыка при удержании вызова, конференц-связь, очередь вызовов, запись вызовов, интерактивный голосовой ответ и многое другое.
В этом руководстве вы узнаете, как установить Asterisk 15 на CentOS 7.
Предпосылки
-
Прежде чем продолжить работу с этим руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
-
Обновите систему CentOS и установите инструменты разработки, необходимые для компиляции исходного кода Asterisk:
sudo yum updatesudo 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 запущен, подключитесь к интерфейсу командной строки (CLI) Asterisk, введя:
sudo asterisk -vvvr
Вы увидите приглашение командной строки Asterisk по умолчанию:

Последний шаг — включить запуск службы Asterisk при загрузке с помощью:
sudo systemctl enable asterisk
Настройте правила брандмауэра
Теперь, когда Asterisk установлен и запущен, вам необходимо настроить брандмауэр , чтобы разрешить трафик через определенные порты Asterisk.
Если в вашей системе не включен брандмауэр, вы можете пропустить этот раздел.
Откройте текстовый редактор по вашему выбору и создайте следующую службу Firewalld:
/etc/firewalld/services/asterisk.xml
version= "1.0" > asterisk Asterisk is a software implementation of a telephone private branch exchange (PBX). protocol= "udp" port= "10000-10100" /> protocol= "udp" port= "4569" /> protocol= "udp" port= "2727" /> protocol= "udp" port= "5060-5061" />
Сохраните файл и примените новые правила брандмауэра, введя:
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.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
centos asterisk Не используете CentOS 7?
Выберите другую ОС: дебиан 9 убунту 18.04 убунту 20.04
Связанные руководства
- Как установить и настроить Zabbix на CentOS 7
- Как установить текстовый редактор Atom на CentOS 7
- Как установить Sublime Text 3 на CentOS 7
- Как установить Visual Studio Code на CentOS 7
- Как установить VMware Workstation Player на CentOS 7
- Как добавить пространство подкачки в CentOS 7
- Как установить Anaconda на CentOS 7