Установка Asterisk 18 LTS на CentOS 8 | RHEL 8
Asterisk — это бесплатная мощная коммуникационная система с открытым исходным кодом, обеспечивающая работу многих систем IP PBX, шлюзов VoIP, конференц-серверов, используемых на малых и средних предприятиях, предприятиях, центрах обработки вызовов, операторах связи и государственных учреждениях по всему миру. Установка Asterisk Server — это первый шаг к внедрению доступных, надежных и высокодоступных систем PBX и VoIP.
В сегодняшнем руководстве мы рассмотрим установку и настройку Asterisk 18 LTS на CentOS 8 | RHEL 8. Asterisk 18.0 был недавно выпущен для производственного использования и доступен для загрузки. Это выпуск LTS, то есть он будет поддерживаться в течение нескольких лет. Если вы используете более ранние версии Asterisk, такие как 16 LTS или 17.x, сейчас самое время спланировать обновление.
Особенности системы АТС Asterisk
- Конференц-связь
- Запись звонков
- Мониторинг звонков
- Распределенное обнаружение универсального номера
- АОН при ожидании вызова
- Прямой доступ к системе
- Парковка вызова
- SMS-сообщения
- Транкинг
- Транскодирование
- Автоматизированный оператор
- Голосовая почта
- Музыка на удержании
- Музыка при передаче
- Аутентификация
- Черные списки
- Приемник аварийной сигнализации
- Очереди вызовов и многие другие функции .
Установите Asterisk 18 LTS на CentOS 8 | RHEL 8
В следующих разделах мы познакомим вас с установкой Asterisk 18 LTS на CentOS 8 | Система RHEL 8. Предполагается, что вы выполняете задачи на недавно настроенном сервере CentOS 8 / RHEL 8. Это рекомендация, чтобы убедиться, что вы не нарушаете зависимости каких-либо запущенных приложений.
Шаг 1. Обновите систему и установите часовой пояс
Перед тем, как начать установку Asterisk, убедитесь, что система обновлена.
sudo yum -y update
После обновления системы выполните перезагрузку.
sudo systemctl reboot
Подождите, пока сервер перезагрузится, затем установите правильное имя хоста.
sudo hostnamectl set-hostname asterisk.example.com
Также обновите часовой пояс.
sudo timedatectl set-timezone Africa/Nairobi
Дополнительно установите SELinux в разрешающий режим, выполнив следующие команды:
sudo setenforce 0
sudo sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config
Шаг 2: Добавьте репозиторий EPEL
Добавьте репозиторий EPEL в свой CentOS 8 | Сервер RHEL 8, так как он может содержать пакеты, необходимые как deps.
CentOS 8:
sudo yum -y install epel-release
sudo yum config-manager --set-enabled powertools
RHEL 8:
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
ARCH=$( /bin/arch )
sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms
Шаг 3. Установите средства разработки
Установите все необходимые инструменты разработки для сборки Asterisk 18 на CentOS 8 | RHEL 8 из исходников.
sudo yum group -y install "Development Tools"
sudo yum -y install git wget vim net-tools sqlite-devel psmisc ncurses-devel libtermcap-devel newt-devel libxml2-devel libtiff-devel gtk2-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) crontabs cronie-anacron libedit libedit-devel
Шаг 4: Загрузите и установите Jansson
Мы также установим Jansson, библиотеку C для кодирования и декодирования мультимедийных данных.
git clone https://github.com/akheron/jansson.git
cd jansson
autoreconf -i
./configure --prefix=/usr/
make
sudo make install
Шаг 5: Загрузите и установите PJSIP
PJSIP — это мощная мультимедийная коммуникационная библиотека, написанная на языке C. Он используется при реализации стандартных протоколов, таких как SIP, SDP, RTP, STUN, TURN и ICE.
Создайте PJSIP из исходного кода, выполнив следующие команды в своем терминале.
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
sudo make install
sudo ldconfig
Шаг 6: Загрузите и установите Asterisk
Теперь, когда у нас установлены все пакеты зависимостей, мы должны быть готовы загрузить и установить Asterisk 15 на CentOS / RHEL 8.
cd ~
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
tar xvfz asterisk-18-current.tar.gz
cd asterisk-18*/
Настроить 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 :
Шаг 7. Установите параметры меню Asterisk
Параметры меню настройки, выполнив следующую команду:
make menuselect
Используйте клавиши со стрелками для навигации и клавишу Enter для выбора.
1.
В разделе Add-ons выберите chan_ooh323
и, format_mp3
как показано ниже.
2.
В Core Sound Packages выберите форматы аудио пакетов, как показано ниже.
3.
Для Music On Hold выберите следующие минимальные модули
5.
В дополнительных звуковых пакетах выберите, как показано ниже:
6.
Включите в app_macro
разделе «Приложения».
Не стесняйтесь изменять другие настройки в соответствии с вашими потребностями, затем сохраните и выйдите, когда закончите.
Шаг 8: Cоберите и установите Asterisk
Выполните следующую команду, чтобы загрузить библиотеку mp3-декодера в дерево исходных текстов.
contrib/scripts/get_mp3_source.sh
Соберите и установите Asterisk на CentOS 8 | RHEL 8:
make
sudo make install
sudo make samples
sudo make config
sudo ldconfig
Шаг 9: Настройте и запустите Asterisk
Создайте отдельного пользователя и группу для запуска служб asterisk и назначьте правильные разрешения:
sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Установите для пользователя Asterisk по умолчанию asterisk:
$ sudo vim /etc/sysconfig/asterisk AST_USER="asterisk" AST_GROUP="asterisk" $ sudo vim /etc/asterisk/asterisk.conf runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
После сохранения изменений в файле конфигурации перезапустите службу asterisk.
sudo systemctl restart asterisk
Разрешить запуск службы при перезагрузке сервера.
sudo systemctl enable asterisk
Подтвердите статус службы с помощью следующей команды:
$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; generated)
Active: active (running) since Mon 2021-01-11 19:00:39 EAT; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 107586 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS)
Process: 107616 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
Main PID: 107650 (asterisk)
Tasks: 84 (limit: 4763)
Memory: 68.7M
CGroup: /system.slice/asterisk.service
├─107648 /bin/sh /usr/sbin/safe_asterisk
└─107650 /usr/sbin/asterisk -f -vvvg -c
Jan 11 19:00:39 asterisk.example.com systemd[1]: asterisk.service: Succeeded.
Jan 11 19:00:39 asterisk.example.com systemd[1]: Stopped LSB: Asterisk PBX.
Jan 11 19:00:39 asterisk.example.com systemd[1]: Starting LSB: Asterisk PBX...
Jan 11 19:00:39 asterisk.example.com asterisk[107616]: Starting asterisk:
Jan 11 19:00:39 asterisk.example.com systemd[1]: Started LSB: Asterisk PBX.
Протестируйте с помощью команды asterisk, чтобы убедиться, что интерфейс командной строки Asterisk работает:
[markster@digium.com]$ sudo asterisk -rvv Asterisk 18.1.1, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer markster@digium.com 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.1.1 currently running on asterisk (pid = 107650) asterisk*CLI> asterisk*CLI> core show channels Channel Location State Application(Data) 0 active channels 0 active calls 0 calls processed asterisk*CLI> core show uptime System uptime: 2 minutes, 53 seconds Last reload: 2 minutes, 53 seconds asterisk*CLI> quit Asterisk cleanly ending (0). Executing last minute cleanups
Шаг 10: Установите FreePBX
Если вам нужна административная панель на основе пользовательского интерфейса для Asterisk, проверьте Как установить FreePBX на RHEL / CentOS 8
На этом заканчивается наша статья об установке Asterisk 18 LTS на CentOS 8 | Сервер Linux RHEL 8. В наших следующих статьях мы рассмотрим, как интегрировать Asterisk с другими платформами для создания творческих и потрясающих решений на основе VoIP.