Asterisk je výkonný digitální PBX a VoIP server vydaný pod open-source licencí, takže jej můžete používat zdarma. VoIP je technologie používaná k navazování a řízení telefonních hovorů mezi více koncovými body. Používá se ve VoIP branách, konferenčních serverech, call centrech, dopravcích a vládních institucích po celém světě. Běží na Linuxu, BSD a OS X a umožňuje vám přeměnit váš lokální systém nebo server na komunikační server.
V tomto příspěvku vysvětlíme, jak nainstalovat Asterisk na server CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Ve výchozím nastavení je SELinux povolen v CentOS 8. Nejprve jej tedy budete muset deaktivovat. Chcete-li jej zakázat, upravte konfigurační soubor SELinux:
nano /etc/selinux/config
Změňte následující řádek:
SELINUX=disabled
Uložte a zavřete soubor a poté restartujte systém, aby se změny projevily.
Instalovat požadované nástroje
Asterisk vyžaduje několik balíčků, které musíte nainstalovat na váš server. Nejprve nainstalujte úložiště EPEL pomocí následujícího příkazu:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Dále povolte úložiště PowerTools pomocí následujícího příkazu:
dnf config-manager --set-enabled PowerTools
Dále nainstalujte další balíčky a vývojové nástroje pomocí následujícího příkazu:
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"
Jakmile jsou všechny požadované balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalovat Jansson a PJSIP
Dále budete muset nainstalovat Jansson do vašeho systému. Používá se pro kódování a dekódování mediálních dat.
Nejprve si jej stáhněte z úložiště Git pomocí následujícího příkazu:
git clone https://github.com/akheron/jansson.git
Dále změňte adresář na stažený adresář a zkompilujte jej pomocí následujícího příkazu:
cd jansson
autoreconf -i
./configure --prefix=/usr/
make
make install
Dále budete muset nainstalovat PJSIP do vašeho systému. Je to knihovna používaná k implementaci protokolů SIP, SDP, RTP, STUN, TURN a ICE.
Nejprve si jej stáhněte pomocí následujícího příkazu:
cd
git clone https://github.com/pjsip/pjproject.git
Dále změňte adresář na stažený adresář a zkompilujte jej pomocí následujícího příkazu:
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
Po dokončení můžete pokračovat v instalaci hvězdičky.
Instalovat Asterisk
Nejprve přejděte do svého domovského adresáře a stáhněte si nejnovější verzi Asterisk pomocí následujícího příkazu:
cd
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf asterisk-18-current.tar.gz
Dále změňte adresář na extrahovaný adresář pomocí následujícího příkazu:
cd asterisk-18.4.0/
Dále nakonfigurujte hvězdičku pomocí následujícího příkazu:
./configure --libdir=/usr/lib64
Měli byste vidět následující výstup:
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 :
Dále spusťte následující příkaz a nainstalujte další doplňky, které chcete nainstalovat pomocí Asterisk.
make menuselect
Měli byste vidět následující stránku:
Vyberte Doplňky a stiskněte Enter . Měli byste vidět následující stránku:
Vyberte požadované doplňky a stiskněte Enter vyberte jej a stiskněte ESC pro návrat do hlavní nabídky:
Vyberte požadované Jádro zvuk balíček a stiskněte Enter jej vyberte. Poté stiskněte ESC pro vrácení vyberte balíčky MOH, jak je uvedeno níže:
Vyberte požadované balíčky a stiskněte Enter abyste je vybrali. Poté stiskněte ESC pro vrácení vyberte Extra balíčky, jak je uvedeno níže:
Vyberte požadované balíčky a stisknutím klávesy Enter je vyberte. Poté stiskněte ESC knoflík. Měli byste vidět následující stránku:
Stiskněte S pro uložení změn a ukončení.
Dále spusťte následující příkaz k instalaci všech požadovaných závislostí:
contrib/scripts/get_mp3_source.sh
Dále vytvořte hvězdičku pomocí následujícího příkazu:
make
Měli byste vidět následující výstup:
+--------- 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 + +-------------------------------------------+
Dále nainstalujte hvězdičku pomocí následujícího příkazu:
make samples
make config
ldconfig
Konfigurovat hvězdičku
Dále budete muset vytvořit vyhrazeného uživatele pro spuštění Asterisk. Uživatele a skupinu můžete vytvořit pomocí následujícího příkazu:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
Dále přidejte uživatele zvuku a vytáčení do skupiny Asterisk pomocí následujícího příkazu:
usermod -aG audio,dialout asterisk
Dále nastavte vlastnictví adresářů s hvězdičkou na uživatele s hvězdičkou pomocí následujícího příkazu:
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Dále upravte soubor /etc/sysconfig/asterisk:
nano /etc/sysconfig/asterisk
Odkomentujte následující řádky:
AST_USER="asterisk" AST_GROUP="asterisk"
Uložte a zavřete soubor a poté upravte soubor /etc/asterisk/asterisk.conf:
nano /etc/asterisk/asterisk.conf
Odkomentujte následující řádky:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Po dokončení uložte a zavřete soubor. Poté restartujte službu Asterisk, aby se změny projevily.
systemctl restart asterisk
Dále povolte spuštění služby Asterisk při restartu systému:
systemctl enable asterisk
Chcete-li zkontrolovat stav služby Asterisk, spusťte následující příkaz:
systemctl status asterisk
Měli byste získat následující výstup:
? 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:
Ověřit hvězdičku
V tomto okamžiku je Asterisk nainstalován a nakonfigurován. Nyní můžete ověřit hvězdičku pomocí následujícího příkazu:
asterisk -rvv
Pokud je vše v pořádku, měli byste získat následující výstup:
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>
Nyní spusťte následující příkaz pro zobrazení hlavních kanálů:
centos8*CLI> core show channels
Měli byste vidět následující výstup:
Channel Location State Application(Data) 0 active channels 0 active calls 0 calls processed
Chcete-li zobrazit dobu provozu hvězdičky, spusťte následující příkaz:
centos8*CLI> core show uptime
Měli byste vidět následující výstup:
System uptime: 1 minute, 33 seconds Last reload: 1 minute, 33 seconds
Chcete-li ukončit Asterisk CLI, spusťte následující příkaz:
centos8*CLI> quit
Závěr
Ve výše uvedené příručce jste se naučili, jak stáhnout a zkompilovat Asterisk verze 18 na serveru CentOS 8. Nyní můžete integrovat Asterisk s jinými platformami a vytvořit aplikaci založenou na VoIP.