Поиск по сайту:

Как установить VoIP-сервер Asterisk 18 на CentOS 8


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установите необходимые инструменты
  4. Установите Jansson и PJSIP
  5. Установить Астериск
  6. Настройка Asterisk
  7. Подтвердить звездочку
  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 с помощью следующей команды:

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/

Далее настройте Астериск с помощью следующей команды:

./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

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

Выберите «Дополнения» и нажмите Enter. Вы должны увидеть следующую страницу:

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

Выберите необходимый звуковой пакет Core и нажмите 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    +
 +-------------------------------------------+

Далее устанавливаем Астериск следующей командой:

make samples
make config
ldconfig

Настроить Астериск

Далее вам нужно будет создать выделенного пользователя для запуска Asterisk. Вы можете создать пользователя и группу с помощью следующей команды:

groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk

Затем добавьте пользователя аудио и дозвона в группу 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 -rvv

Если все в порядке, вы должны получить следующий вывод:

Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer <>
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, выполните следующую команду:

centos8*CLI> quit

Заключение

В приведенном выше руководстве вы узнали, как загрузить и скомпилировать Asterisk версии 18 на сервере CentOS 8. Теперь вы можете интегрировать Asterisk с другими платформами и создавать приложения на основе VoIP.