Jak nainstalovat Asterisk na CentOS/RHEL 8/7
Asterisk je open-source framework používaný pro vytváření komunikačních aplikací. Můžete jej použít k přepnutí místního počítače nebo serveru na komunikační server. Používá se k napájení systémů IP PBX, VoIP bran, konferenčních serverů a dalších řešení. Používají ho všechny druhy organizací po celém světě a konečně, ale v neposlední řadě, je to bezplatný a otevřený zdroj.
V tomto tutoriálu vám ukážeme, jak nainstalovat Asterisk na CentOS 8/7 (návod funguje také na RHEL 8/7) , ale než začneme, budeme muset udělat nějaké přípravy, aby Asterisk mohl po instalaci hladce běžet.
Krok 1: Zakažte SELinux na CentOS
Chcete-li to provést, SSH do svého systému a pomocí oblíbeného textového editoru příkazového řádku otevřete /etc/selinux/config a deaktivujte SELINUX.
vim /etc/selinux/config
Řádek SELinux by měl vypadat takto:
SELINUX=disabled
Nyní restartujte systém. Jakmile se SSH znovu vrátí do tohoto systému.
Krok 2: Nainstalujte požadované balíčky
Asterisk má několik požadavků, které je třeba nainstalovat. Následující příkaz yum můžete použít k instalaci požadovaných balíčků, jak je znázorněno.
yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel
Než budeme pokračovat dále, vytvořte nového uživatele s právy sudo s názvem „hvězdička“, tohoto uživatele použijeme k nastavení hvězdičky v systému.
adduser asterisk -c "Asterisk User"
passwd asterisk
usermod -aG wheel asterisk
su asterisk
Dále nainstalujte PJSIP, což je bezplatná multimediální komunikační knihovna s otevřeným zdrojovým kódem, která implementuje standardní protokoly, jako jsou SIP, SDP, RTP, STUN, TURN a ICE. Právě ovladač kanálu Asterisk SIP by měl zlepšit srozumitelnost hovorů.
Chcete-li získat nejnovější verzi, nejprve vytvořte dočasný adresář, kde sestavíme balíček ze zdroje.
mkdir ~/build && cd ~/build
Nyní přejděte na stránku stahování PJSIP a uchopte balíček nebo použijte následující příkaz wget ke stažení balíčku přímo v terminálu.
Upozorňujeme, že při psaní tohoto článku je nejnovější verze 2.8, to se může v budoucnu změnit, proto se ujistěte, že používáte nejnovější verzi:
wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2
Po dokončení stahování rozbalte soubor a přejděte do tohoto adresáře.
tar xvjf pjproject-2.9.tar.bz2
cd pjproject-2.9
Dalším krokem je příprava balíčku ke kompilaci. Můžete použít následující příkaz:
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
Neměli byste vidět žádné chyby ani varování. Ujistěte se, že jsou splněny všechny závislosti:
make dep
A nyní můžeme dokončit instalaci a propojení knihoven pomocí:
make && sudo make install && sudo ldconfig
Nakonec se ujistěte, že jsou nainstalovány a přítomny všechny knihovny:
ldconfig -p | grep pj
Měli byste získat následující výstup:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2
libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so
libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2
libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so
libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2
libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so
libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2
libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so
libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2
libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so
libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2
libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so
libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2
libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so
libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2
libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so
libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2
libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so
libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2
libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so
libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2
libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so
libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2
libpj.so (libc6,x86-64) => /lib64/libpj.so
Krok 3: Nainstalujte Asterisk na CentOS 8/7
Nyní jsme připraveni zahájit instalaci Asterisk. Přejděte zpět do našeho adresáře ~/build:
cd ~/build
Přejděte na stránku stahování Asterisk a stáhněte si nejnovější verzi nebo můžete použít následující příkaz wget ke stažení souboru v terminálu.
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Při psaní tohoto návodu je nejnovější verze Asterisk 16. Při provádění kroků se ujistěte, že stahujete nejnovější verzi Asterisk.
Nyní rozbalte archiv a přejděte do nově vytvořeného adresáře:
tar -zxvf asterisk-16-current.tar.gz
cd asterisk-16.5.1
Toto je čas zmínit, že pokud chcete povolit podporu mp3 pro přehrávání hudby, když je klient pozastaven, budete muset nainstalovat několik dalších závislostí. Tyto kroky jsou volitelné:
sudo yum install svn
sudo ./contrib/scripts/get_mp3_source.sh
Po druhém kroku byste měli získat výstup podobný těmto:
A addons/mp3
A addons/mp3/Makefile
A addons/mp3/README
A addons/mp3/decode_i386.c
A addons/mp3/dct64_i386.c
A addons/mp3/MPGLIB_TODO
A addons/mp3/mpg123.h
A addons/mp3/layer3.c
A addons/mp3/mpglib.h
A addons/mp3/decode_ntom.c
A addons/mp3/interface.c
A addons/mp3/MPGLIB_README
A addons/mp3/common.c
A addons/mp3/huffman.h
A addons/mp3/tabinit.c
Exported revision 202.
Začněte spuštěním konfiguračního skriptu pro přípravu balíčku pro kompilaci:
sudo contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-jansson-bundled
Pokud získáte nějaké chybějící závislosti, nainstalujte je. V mém případě jsem dostal následující chybu:
configure: error: patch is required to configure bundled pjproject
Chcete-li to obejít, jednoduše spusťte:
yum install patch
A znovu spusťte konfigurační skript. Pokud vše proběhlo perfektně bez chyb, uvidíte následující snímek obrazovky.
Nyní začněme proces sestavování:
make menuselect
Po několika sekundách byste měli získat seznam funkcí, které chcete povolit:
Pokud se pokusíte použít funkci pozastavení hudby, budete muset povolit funkci „format_mp3 “ v části „Doplňky“. Uložte svůj seznam a spusťte následující příkaz:
make && sudo make install
Chcete-li nainstalovat ukázkové konfigurační soubory, použijte následující příkaz:
sudo make samples
Chcete-li spustit Asterisk při spouštění, použijte:
sudo make config
Aktualizujte vlastnictví následujících adresářů a souborů:
sudo chown asterisk. /var/run/asterisk
sudo chown asterisk. -R /etc/asterisk
sudo chown asterisk. -R /var/{lib,log,spool}/asterisk
Nakonec otestujeme naši instalaci pomocí:
sudo service asterisk start
sudo asterisk -rvv
Měli byste vidět výstup podobný tomuto:
Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email >
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.
=========================================================================
Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020)
centos8-tecmint*CLI>
Pokud chcete zobrazit seznam dostupných příkazů, zadejte:
asterisk*CLI> core show help
Chcete-li ukončit výzvu s hvězdičkou, jednoduše zadejte:
asterisk*CLI> exit
Asterisk bude stále běžet na pozadí.
Závěr
Nyní máte spuštěný server Asterisk a můžete začít připojovat telefony a pobočky a upravovat konfiguraci podle svých potřeb. Pro více podrobností, jak toho dosáhnout, doporučujeme použít stránku Asterisk Wiki. Pokud máte nějaké dotazy nebo připomínky, dejte nám prosím vědět v sekci komentářů níže.