Как установить VoIP-сервер Asterisk 18 на CentOS 8
На этой странице
- Предпосылки
- Начало работы
- Установите необходимые инструменты
- Установите Jansson и PJSIP
- Установить Астериск
- Настройка Asterisk
- Подтвердить звездочку
- Заключение
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.