Installa Asterisk 18 LTS su Debian 11/Debian 10
Ciao nostra brava gente!. In questa guida, ci concentreremo sull'installazione di Asterisk 18 LTS su Debian 11/Debian 10. Asterisk è un sistema PBX open source e gratuito con una serie di funzionalità utili disponibili principalmente nei sistemi PBX commerciali. Asterisk è utilizzato da diversi tipi di organizzazioni in tutto il mondo. Di seguito sono riportate le funzionalità standard fornite con il sistema PBX Asterisk:
- Chiamata in conferenza
- Monitoraggio delle chiamate
- Registrazione delle chiamate
- Scoperta di numeri universali distribuiti
- Messaggistica SMS
- Canalizzazione
- Transcodifica
- Segreteria telefonica
- ID chiamante su chiamata in attesa
- Accesso diretto al sistema interno
- Chiama Parcheggio
- Musica in attesa
- Musica in trasferimento
- Blocco dell'ID chiamante
- Archiviazione/recupero del database
- Accesso diretto al sistema interno
- Operatore automatizzato
- Liste nere
- Record dettagli chiamata
- Inoltra chiamata su occupato
- Inoltra chiamata su nessuna risposta
- Variabile di inoltro chiamata
- Chiama Snooping
- Tra molte altre funzionalità
Eseguiremo un'installazione di Asterisk 18 LTS su Debian 11/Debian 10 costruendo il software dai sorgenti. La versione predefinita del pacchetto asterisco disponibile nei repository upstream del sistema operativo è un po' vecchia, come si può vedere eseguendo i comandi seguenti:
$ sudo apt update
$ apt policy asterisk
# Debian 11
asterisk:
Installed: (none)
Candidate: 1:16.16.1~dfsg-1+deb11u1
Version table:
1:16.16.1~dfsg-1+deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
1:16.16.1~dfsg-1 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages
# Debian 10
$ apt policy asterisk
asterisk:
Installed: (none)
Candidate: 1:16.2.1~dfsg-1+deb10u2
Version table:
1:16.2.1~dfsg-1+deb10u2 500
500 http://deb.debian.org/debian buster/main amd64 Packages
Come si vede dall'output, la versione di Asterisk su Debian 10 è inferiore rispetto a quella di Debian 11.
Passaggio 1: aggiorna i pacchetti di sistema
Assicurati che tutti i pacchetti siano aggiornati nel sistema prima di poter installare Asterisk 18 LTS su Debian 11/Debian 10.
sudo apt update
sudo apt full-upgrade -y
Se necessario, è possibile eseguire un ciclo di spegnimento del sistema dopo un aggiornamento riuscito.
[ -f /var/run/reboot-required ] && sudo reboot -f
Passaggio 2: installare le dipendenze di build di Asterisk 18 LTS
Dal momento che stiamo costruendo
sudo apt -y install build-essential git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev libjansson-dev libxml2-dev uuid-dev default-libmysqlclient-dev
Convalidare che GCC e CMAKE siano installati e funzionanti sul nostro sistema locale
$ make --version
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
debian@debian-bullseye-01:~$
debian@debian-bullseye-01:~$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Passo 3: Scarica il tarball di Asterisk 18 LTS
Scarica l'ultima versione di
cd /usr/src/
sudo curl -O http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Estrai il tarball di Asterisk 18 dopo il download:
sudo tar xvf asterisk-18-current.tar.gz
cd asterisk-18*/
Scarica la libreria del decoder mp3 nell'albero dei sorgenti eseguendo i comandi seguenti:
$ sudo contrib/scripts/get_mp3_source.sh
A addons/mp3
A addons/mp3/MPGLIB_README
A addons/mp3/common.c
A addons/mp3/huffman.h
A addons/mp3/tabinit.c
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
Exported revision 202.
Verifica che tutte le dipendenze siano installate utilizzando lo script install_prereq.
sudo contrib/scripts/install_prereq install
Output del messaggio dall'installazione riuscita:
....
Setting up odbcinst (2.3.6-0.1+b1) ...
Setting up odbcinst1debian2:amd64 (2.3.6-0.1+b1) ...
Setting up unixodbc-dev:amd64 (2.3.6-0.1+b1) ...
Processing triggers for initramfs-tools (0.140) ...
update-initramfs: Generating /boot/initrd.img-5.10.0-8-amd64
Processing triggers for libglib2.0-0:amd64 (2.66.8-1) ...
No schema files found: doing nothing.
Processing triggers for libc-bin (2.31-13) ...
Processing triggers for man-db (2.9.4-2) ...
Setting up libgmime-3.0-dev:amd64 (3.2.7-1) ...
#############################################
## install completed successfully
#############################################
Passaggio 4: creare e installare Asterisk 18 LTS su Debian 11/Debian 10
Dopo l'installazione delle dipendenze, siamo pronti per avviare la creazione e l'installazione di
Esegui lo script configure per soddisfare le dipendenze di compilazione.
sudo ./configure
Esempio di output di un'esecuzione riuscita:
.....
configure: creating ./config.status
config.status: creating makeopts
config.status: creating autoconfig.h
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 :
Personalizza la tua installazione di Asterisk utilizzando le opzioni del menu.
sudo make menuselect
Utilizza i tasti freccia della tastiera per navigare tra i menu e il tasto Invio per selezionare.
Esempio di selezione di Componenti aggiuntivi da installare in Asterisk 18:
Esempio sull'aggiunta di pacchetti Core Sound aggiuntivi da creare.
Per la musica di attesa, seleziona i seguenti moduli minimi
Su Pacchetti audio extra selezionare come mostrato di seguito:
Abilita app_macro
nel menu Applicazioni.
Sentiti libero di abilitare o disabilitare qualsiasi modulo come ritieni opportuno. Dopo tutte le configurazioni, utilizza il pulsante "Salva ed esci" per aggiornare.
Per creare Asterisk 18 LTS su Debian 11/Debian 10 eseguendo il comando seguente:
sudo make
Il processo di compilazione dovrebbe essere completato nei prossimi minuti o secondi a seconda della potenza di calcolo:
.....
[LD] res_pjsip_publish_asterisk.o -> res_pjsip_publish_asterisk.so
[CC] res_calendar_exchange.c -> res_calendar_exchange.o
[LD] res_calendar_exchange.o -> res_calendar_exchange.so
[CC] res_pjsip_registrar.c -> res_pjsip_registrar.o
[LD] res_pjsip_registrar.o -> res_pjsip_registrar.so
Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
Il passaggio finale è l'installazione di Asterisk su Debian utilizzando il comando make install :
sudo make install
Passo 5: Configura Asterisk 18 LTS dopo l'installazione
Dopo un'installazione riuscita, è possibile installare la documentazione di Asterisk:
sudo make progdocs
Installa le configurazioni predefinite per Asterisk ed esempi.
sudo make samples
sudo make config
sudo ldconfig
Crea utente asterisco
Crea un utente e un gruppo separati per eseguire i servizi asterisco e assegna le autorizzazioni corrette:
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
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk
Confermiamo l'id dell'utente Asterisk:
$ id asterisk
uid=997(asterisk) gid=1001(asterisk) groups=1001(asterisk),20(dialout),29(audio)
Imposta l'utente e il gruppo con cui verrà eseguito il servizio asterisco
$ sudo vim /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"
Il file di configurazione predefinito utilizzato da asterisk è /etc/asterisk/asterisk.conf
. È possibile aprire il file e vedere se sono necessarie modifiche.
$ sudo vim /etc/asterisk/asterisk.conf
runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.
Riavviare il servizio asterisco dopo aver apportato le modifiche:
sudo systemctl restart asterisk
Abilita anche l'avvio del servizio con l'avvio del sistema
$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/init.d/asterisk; generated)
Active: active (running) since Wed 2021-12-08 11:20:08 UTC; 1min 24s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 70 (limit: 2340)
Memory: 46.0M
CPU: 1.635s
CGroup: /system.slice/asterisk.service
└─48369 /usr/sbin/asterisk -U asterisk -G asterisk
Dec 08 11:20:08 debian-bullseye-01 systemd[1]: Starting LSB: Asterisk PBX...
Dec 08 11:20:08 debian-bullseye-01 asterisk[48355]: Starting Asterisk PBX: asterisk.
Dec 08 11:20:08 debian-bullseye-01 systemd[1]: Started LSB: Asterisk PBX.
Per utilizzare la CLI di Asterisk, eseguire:
$ sudo asterisk -rvv
Asterisk 18.11.1, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation 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 18.11.1 currently running on debian-bullseye-01 (pid = 48369)
debian-bullseye-01*CLI>
Esecuzione di alcuni comandi asterisco per testare la funzionalità.
debian-bullseye-01*CLI> core show uptime
System uptime: 16 minutes, 29 seconds
Last reload: 16 minutes, 29 seconds
debian-bullseye-01*CLI> core show sysinfo
System Statistics
-----------------
System Uptime: 18 hours
Total RAM: 2030244 KiB
Free RAM: 160672 KiB
Buffer RAM: 58964 KiB
Total Swap Space: 0 KiB
Free Swap Space: 0 KiB
Number of Processes: 172
debian-bullseye-01*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups
Ora abbiamo installato e configurato Asterisk 18 LTS sulla macchina Linux Debian 11/Debian 10. Una guida dettagliata alla configurazione e la documentazione completa sono disponibili sul sito ufficiale di Asterisk.