VoIP сервер · 6 min read · Nov 08, 2025
Как установить VoIP сервер Asterisk 18 на CentOS 8

Asterisk — это мощная цифровая АТС и VoIP сервер, выпущенный под лицензией с открытым исходным кодом, поэтому вы можете использовать его бесплатно. VoIP — это технология, используемая для установления и управления телефонными звонками между несколькими конечными точками. Она используется в VoIP шлюзах, конференц-серверах, колл-центрах, операторах и государственных учреждениях по всему миру. Она работает на Linux, BSD и OS X и позволяет вам превратить вашу локальную систему или сервер в сервер связи.
В этом посте мы объясним, как установить Asterisk на сервер CentOS 8.
Предварительные требования
- Сервер с установленной CentOS 8.
- Настроен пароль root на сервере.
Начало работы
По умолчанию SELinux включен в CentOS 8. Поэтому вам нужно сначала отключить его. Чтобы отключить его, отредактируйте файл конфигурации SELinux:
nano /etc/selinux/configИзмените следующую строку:
SELINUX=disabledСохраните и закройте файл, затем перезагрузите систему, чтобы применить изменения.
Установка необходимых инструментов
Asterisk требует установки нескольких пакетов на вашем сервере. Сначала установите репозиторий EPEL с помощью следующей команды:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmЗатем включите репозиторий PowerTools с помощью следующей команды:
dnf config-manager --set-enabled PowerToolsДалее установите другие пакеты и инструменты разработки с помощью следующей команды:
dnf install wget gcc gcc-c++ svn make bzip2 patch libedit-devel uuid-devel libuuid-devel libxml2-devel sqlite sqlite-devel nano openssl openssl-devel -y
dnf groupinstall "Development Tools"После установки всех необходимых пакетов вы можете перейти к следующему шагу.
Установка Jansson и PJSIP
Далее вам нужно установить Jansson на вашу систему. Он используется для кодирования и декодирования медиа данных.
Сначала загрузите его из Git репозитория с помощью следующей команды:
git clone https://github.com/akheron/jansson.gitЗатем перейдите в загруженную директорию и скомпилируйте его с помощью следующей команды:
cd jansson
autoreconf -i
./configure --prefix=/usr/
make
make installДалее вам нужно будет установить PJSIP на вашу систему. Это библиотека, используемая для реализации протоколов SIP, SDP, RTP, STUN, TURN и ICE.
Сначала загрузите его с помощью следующей команды:
cd
git clone https://github.com/pjsip/pjproject.gitЗатем перейдите в загруженную директорию и скомпилируйте его с помощью следующей команды:
cd pjproject
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
make dep
make
make install
ldconfigКогда вы закончите, вы можете перейти к установке Asterisk.
Установка Asterisk
Сначала перейдите в вашу домашнюю директорию и загрузите последнюю версию Asterisk с помощью следующей команды:
cd
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gzПосле завершения загрузки извлеките загруженный файл с помощью следующей команды:
tar -xvzf asterisk-18-current.tar.gzЗатем перейдите в извлеченную директорию с помощью следующей команды:
cd asterisk-18.4.0/Далее настройте Asterisk с помощью следующей команды:
./configure --libdir=/usr/lib64Вы должны увидеть следующий вывод:
configure: Menuselect build configuration successfully completed
.$$$$$$$$$$$$$$$=..
.$7$7.. .7$$7:.
.$$:. ,$7.7
.$7. 7$$$$ .$$77
..$$. $$$$$ .$$$7
..7$ .?. $$$$$ .?. 7$$$.
$.$. .$$$7. $$$$7 .7$$$. .$$$.
.777. .$$$$$$77$$$77$$$$$7. $$$,
$$$~ .7$$$$$$$$$$$$$7. .$$$.
.$$7 .7$$$$$$$7: ?$$$.
$$$ ?7$$$$$$$$$$I .$$$7
$$$ .7$$$$$$$$$$$$$$$$ :$$$.
$$$ $$$$$$7$$$$$$$$$$$$ .$$$.
$$$ $$$ 7$$$7 .$$$ .$$$.
$$$$ $$$$7 .$$$.
7$$$7 7$$$$ 7$$$
$$$$$ $$$
$$$$7. $$ (TM)
$$$$$$$. .7$$$$$$ $$
$$$$$$$$$$$$7$$$$$$$$$.$$$$$$
$$$$$$$$$$$$$$$$.
configure: Package configured for:
configure: OS type : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
Затем выполните следующую команду, чтобы установить дополнительные надстройки, которые вы хотите установить с Asterisk.
make menuselectВы должны увидеть следующую страницу:

Выберите Add-ons и нажмите Enter. Вы должны увидеть следующую страницу:

Выберите необходимые вам надстройки и нажмите Enter, чтобы выбрать их, затем нажмите ESC, чтобы вернуться в главное меню:

Выберите необходимый вам пакет Core sound и нажмите Enter, чтобы выбрать его. Затем нажмите ESC, чтобы вернуться, выберите пакеты MOH, как показано ниже:

Выберите необходимые вам пакеты и нажмите Enter, чтобы выбрать их. Затем нажмите ESC, чтобы вернуться, выберите дополнительные пакеты, как показано ниже:

Выберите необходимые вам пакеты и нажмите Enter, чтобы выбрать их. Затем нажмите кнопку ESC. Вы должны увидеть следующую страницу:

Нажмите S, чтобы сохранить изменения и выйти.
Далее выполните следующую команду для установки всех необходимых зависимостей:
contrib/scripts/get_mp3_source.shЗатем соберите Asterisk с помощью следующей команды:
makeВы должны увидеть следующий вывод:
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
make install
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ For generic reference documentation: +
+ make samples +
+ +
+ For a sample basic PBX: +
+ make basic-pbx +
+ +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ Note This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+
Затем установите Asterisk с помощью следующей команды:
make samples
make config
ldconfigНастройка Asterisk
Далее вам нужно будет создать специального пользователя для запуска Asterisk. Вы можете создать пользователя и группу с помощью следующей команды:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asteriskЗатем добавьте пользователя audio и dialout в группу Asterisk с помощью следующей команды:
usermod -aG audio,dialout asteriskДалее установите права собственности на директории Asterisk для пользователя asterisk с помощью следующей команды:
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asteriskДалее отредактируйте файл /etc/sysconfig/asterisk:
nano /etc/sysconfig/asteriskРаспакуйте следующие строки:
AST_USER="asterisk"
AST_GROUP="asterisk"Сохраните и закройте файл, затем отредактируйте файл /etc/asterisk/asterisk.conf:
nano /etc/asterisk/asterisk.confРаспакуйте следующие строки:
runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.Сохраните и закройте файл, когда закончите. Затем перезапустите службу Asterisk, чтобы применить изменения.
systemctl restart asteriskДалее включите службу Asterisk, чтобы она запускалась при перезагрузке системы:
systemctl enable asteriskЧтобы проверить статус службы Asterisk, выполните следующую команду:
systemctl status asteriskВы должны получить следующий вывод:
? asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; generated)
Active: active (running) since Sat 2021-05-22 08:19:08 EDT; 15s ago
Docs: man:systemd-sysv-generator(8)
Process: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
Main PID: 70914 (asterisk)
Tasks: 81 (limit: 25014)
Memory: 36.8M
CGroup: /system.slice/asterisk.service
??70912 /bin/sh /usr/sbin/safe_asterisk
??70914 /usr/sbin/asterisk -f -vvvg -c
May 22 08:19:08 centos8 systemd[1]: Starting LSB: Asterisk PBX...
May 22 08:19:08 centos8 asterisk[70883]: Starting asterisk:Проверка Asterisk
На данный момент Asterisk установлен и настроен. Теперь вы можете проверить Asterisk с помощью следующей команды:
asterisk -rvvЕсли все в порядке, вы должны получить следующий вывод:
Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 18.4.0 currently running on centos8 (pid = 70914)
centos8*CLI> Теперь выполните следующую команду, чтобы отобразить каналы ядра:
centos8*CLI> core show channelsВы должны увидеть следующий вывод:
Channel Location State Application(Data)
0 active channels
0 active calls
0 calls processedЧтобы отобразить время работы Asterisk, выполните следующую команду:
centos8*CLI> core show uptimeВы должны увидеть следующий вывод:
System uptime: 1 minute, 33 seconds
Last reload: 1 minute, 33 secondsЧтобы выйти из Asterisk CLI, выполните следующую команду:
centos8*CLI> quitЗаключение
В приведенном выше руководстве вы узнали, как загрузить и скомпилировать Asterisk версии 18 на сервере CentOS 8. Теперь вы можете интегрировать Asterisk с другими платформами и создать приложение на основе VoIP.
Get new posts in your inbox
No spam. Unsubscribe anytime.