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

Вы должны увидеть следующую страницу:

Make menuselect

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

Select Add-ons

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

Select Asterisk Add-ons

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

Asterisk Sound Packages

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

Choose extra packages

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

Save build changes

Нажмите 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.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.