Asterisk je populární open-source PBX framework pro vývoj VoIP brány. Jedná se o online telefonní řešení používané jednotlivci, malými a velkými podniky, podniky a různými vládami.
Asterisk používá protokol VoIP k volání přes internet pomocí TCP/IP namísto tradiční pevné telefonní linky. Mezi jeho funkce patří hlasová schránka, hudba při čekání, konferenční hovory, řazení hovorů do fronty, nahrávání hovorů, interaktivní hlasová odezva, SMS zprávy, automatická distribuce hovorů a další. Asterisk lze nainstalovat na více operačních systémů, mimo jiné včetně Linuxu, NetBSD, macOS a Solaris.
V tomto tutoriálu se naučíme, jak instalovat Asterisk 18 na Ubuntu 20.04 .
Předpoklady
V repozitářích Ubuntu najdeme balíček Asterisk, jde však o starší verzi. Chcete-li získat nejnovější verzi, musíte nainstalovat Asterisk ze zdroje.
Nejprve aktualizujte svůj systém Ubuntu:
$ sudo apt update
Dále nainstalujte požadované balíčky potřebné ke kompilaci hvězdičky ze zdroje:
$ sudo apt install wget build-essential git autoconf subversion pkg-config libtool
Instalace DAHDI a LibPRI
DAHDI je doplněk nástrojů, který umožňuje Asterisku komunikovat s analogovými a digitálními telefony. Knihovna LibPRI slouží ke komunikaci s ISDN připojeními. Pokud tyto knihovny nepotřebujete, můžete tuto sekci ignorovat.
$ sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux
$ cd dahdi-linux
$ sudo make
$ sudo make install
$ cd ..
$ sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools
$ cd dahdi-tools
$ sudo autoreconf -i
$ sudo ./configure
$ sudo make install
$ sudo make install-config
$ sudo dahdi_genconf modules
Spusťte následující příkazy pro kompilaci a sestavení LibPRI:
$ cd ..
$ sudo git clone https://gerrit.asterisk.org/libpri libpri
$ cd libpri
$ sudo make
$ sudo make install
Nainstalujte Asterisk na Ubuntu
Nejprve naklonujte úložiště zdrojového kódu Asterisk (může to chvíli trvat):
$ sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18
V době psaní tohoto návodu byla nejnovější verze Asterisk 18.7.2, kterou se chystáme zkompilovat a nainstalovat.
Dále si stáhněte zdroje MP3 pomocí skriptu shell, který je nutný k sestavení modulu MP3 a použití souborů MP3 na Asterisk:
$ sudo contrib/scripts/get_mp3_source.sh
Spusťte install_prereq
skript k instalaci potřebných závislostí (tento krok také nějakou dobu zabere):
$ sudo contrib/scripts/install_prereq install
Uprostřed procesu budete vyzváni k zadání vašeho regionálního telefonního kódu:
Po dokončení by výstup měl být:
Processing triggers for libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.4) … Processing triggers for libc-bin (2.31-0ubuntu9.2) … Processing triggers for systemd (245.4-4ubuntu3.13) … Processing triggers for man-db (2.9.1-1) … Processing triggers for install-info (6.7.0.dfsg.2-5) … Setting up libgmime-2.6-dev (2.6.23+dfsg1-4) … Setting up libgmime-3.0-dev:amd64 (3.2.7-1) … ####################################### ## install completed successfully #######################################
Nyní musíme zkontrolovat, zda jsou přítomny všechny závislosti na vašem systému, abychom mohli zkompilovat zdrojový kód. Dále spusťte následující příkaz:
$ sudo ./configure
Nakonec vás uvítá pěkné logo ASCII Asterisk.
Dále vyberte moduly, které chcete zkompilovat a nainstalovat. Pro přístup k menuselect zadejte následující:
$ sudo make menuselect
Chcete-li vytvořit modul MP3, vyberte v nabídce možnost „formát_mp3“. Procházejte pomocí kláves se šipkami a stisknutím klávesy Enter vyberte možnost. Vyberte jakoukoli další možnost, kterou chcete povolit. Nyní stiskněte F12 pro uložení a opuštění obrazovky.
Měli byste vidět podobný výstup terminálu:
menuselect changes saved!
make[1]: Leaving directory '/home/linoxide/asterisk-18'
Chcete-li zahájit kompilaci zdrojového kódu, spusťte příkaz make:
$ sudo make -j2
V závislosti na tom, kolik jader CPU má váš počítač, můžete upravit parametr -j podle počtu jader, které váš počítač má, abyste urychlili dobu kompilace.
Pokud bylo vše úspěšné, měli byste dostat:
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
Po dokončení kompilace nainstalujte Asterisk a jeho moduly zadáním:
$ sudo make install
Můžete nainstalovat obecné konfigurační soubory:
$ sudo make samples
Nainstalujte také základní konfigurační soubory PBX:
$ sudo make basic-pbx
Nakonec spusťte následující pro instalaci skriptu Asterisk init a aktualizaci mezipaměti sdílených knihoven:
$ sudo make config
$ sudo ldconfig
Vytvořit uživatele s hvězdičkou
Z bezpečnostních důvodů se doporučuje vytvořit uživatele bez oprávnění root pro spuštění Asterisk. Vytvoříme nového uživatele systému, pod kterým bude Asterisk běžet. Spusťte následující příkaz a vytvořte nového uživatele s názvem asterisk
:
$ sudo adduser --system --group --no-create-home --gecos "Asterisk PBX" asterisk
Výstup by měl být:
Adding system user asterisk' (UID 114) ... Adding new groupasterisk' (GID 120) …
Adding new user asterisk' (UID 114) with groupasterisk' …
Chcete-li nakonfigurovat Asterisk, aby se spouštěl jako nově vytvořený uživatel, otevřete /etc/default/asterisk
soubor a odkomentujte následující dva řádky blízko začátku (smažte znak # před řádky):
$ sudo nano /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"
Dále přidejte asterisk
uživatele do následujících skupin:
$ sudo usermod -a -G dialout,audio asterisk
Musíme také změnit vlastnictví a všechny soubory a složky s hvězdičkou, aby měl Asterisk k těmto souborům přístup:
$ sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
$ sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
Spuštění Asterisk
Vše, co zbývá udělat, je spustit službu Asterisk pomocí následujícího příkazu:
$ sudo systemctl start asterisk
Ověřte, že Asterisk běží, připojením k rozhraní příkazového řádku (CLI) Asterisk zadáním:
$ sudo asterisk -vvvr
Měli byste vidět výstup podobný tomuto:
Connected to Asterisk GIT-18-804b1987fb currently running on linoxide (pid = 31426)
linoxide*CLI>
Nyní povolte spuštění služby při spuštění:
$ sudo systemctl enable asterisk
Konfigurace brány firewall
Pokud máte nastavenou bránu firewall, otevřete porty HTTP a porty 5060,5061:
$ sudo ufw allow 5060/udp
$ sudo ufw allow 10000:20000/udp
Závěr
Gratulujeme! Úspěšně jste nainstalovali a nakonfigurovali server Asterisk na Ubuntu 20.04
Pro další informace se můžete podívat na oficiální web Asterisk.