Ricerca nel sito web

Installazione di Asterisk 20 LTS su Ubuntu 22.04|20.04|18.04


Asterisk è una soluzione open source che alimenta molti sistemi VoIP in diversi tipi di settori. La società che guida lo sviluppo di Asterisk è Sangoma. Asterisk può essere utilizzato per creare applicazioni di comunicazione sia per aziende di piccole, medie e grandi dimensioni. Poiché può essere eseguito su hardware vecchio, il costo iniziale di produzione è minimo. Le soluzioni realizzate da Asterisk alimentano call center, operatori e agenzie governative in tutto il mondo.

Nell'articolo di oggi effettueremo un'installazione di Asterisk versione 20 su un sistema Ubuntu. Sul server in cui viene eseguita questa installazione, assicurarsi che la porta SIP 5060 UDP/TCP non sia utilizzata da un'applicazione simile. Quindi iniziamo.

Caratteristiche del centralino Asterisk:

  • L'asterisco è scritto nel linguaggio di programmazione C
  • È scritto per funzionare su Linux e altri tipi di Unix
  • Alimenta i sistemi telefonici aziendali
  • Collega molti protocolli di telefonia diversi
  • È un kit di strumenti per creare un centralino IP con molte funzionalità e applicazioni potenti, gateway VoIP e sistemi di conferenza
  • Supporta telefoni VoIP, PSTN e POTS
  • Utilizza, tra gli altri, SIP, il protocollo VoIP più comune

Presumiamo che tu stia eseguendo questa configurazione su una nuova installazione di Ubuntu Desktop o Server Edition. L'accesso a Internet e l'utente con privilegi root sono i principali prerequisiti necessari. Per la connessione a reti esterne tramite PSTN, trova un fornitore di servizi nella tua zona che possa fornirti il servizio.

1. Esegui con l'ultimo aggiornamento del sistema operativo

Di norma eseguiamo sempre le installazioni su un sistema Ubuntu aggiornato. Esegui i seguenti comandi per assicurarti che tutti i pacchetti installati siano aggiornati. Iniziamo aggiornando l'indice dei pacchetti, quindi i pacchetti del sistema operativo.

sudo apt update && sudo apt -y upgrade

Dopo un aggiornamento è logico riavviare il sistema.

[ -f /var/run/reboot-required ] && sudo reboot -f

2. Installa le dipendenze di build

Esegui i comandi forniti per installare le dipendenze richieste.

sudo add-apt-repository universe
sudo apt -y install git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev  uuid-dev

Con i pacchetti installati possiamo procedere con l'installazione.

3. Scarica il file tar di Asterisk 20

Utilizza il comando wget per scaricare Asterisk sul sistema.

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz

Usa tar per estrarre il file.

tar xvf asterisk-20-current.tar.gz

Successivamente scarica la libreria del decodificatore mp3 nell'albero dei sorgenti.

cd asterisk-20*/
contrib/scripts/get_mp3_source.sh

Un'esecuzione riuscita del comando avrà tale output;

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.

Conferma che le dipendenze siano soddisfatte al 100%.

sudo contrib/scripts/install_prereq install

Assicurati che restituisca un messaggio di successo prima di procedere.

#############################################
## install completed successfully
#############################################

4. Costruisci e installa Asterisk 20

Esegui lo script configure per soddisfare le dipendenze di compilazione.

./configure

Esegui il comando successivo indicato di seguito.

make menuselect

Utilizza i tasti freccia per navigare e il tasto Invio per selezionare.

Seleziona Componenti aggiuntivi per scegliere quelli disponibili e abilitarli.

Possiamo abilitare i moduli audio Core da utilizzare come mostrato nello screenshot.

Aggiungi anche altri pacchetti MOH che desideri utilizzare.

Fai lo stesso per i pacchetti audio extra.

Al termine, crea Asterisk dal sorgente.

$ make
.....
TROLEnc.o ooh323cDriver.o -> chan_ooh323.so
   [CC] format_mp3.c -> format_mp3.o
   [CC] mp3/common.c -> mp3/common.o
   [CC] mp3/dct64_i386.c -> mp3/dct64_i386.o
   [CC] mp3/decode_ntom.c -> mp3/decode_ntom.o
   [CC] mp3/layer3.c -> mp3/layer3.o
   [CC] mp3/tabinit.c -> mp3/tabinit.o
   [CC] mp3/interface.c -> mp3/interface.o
   [LD] format_mp3.o mp3/common.o mp3/dct64_i386.o mp3/decode_ntom.o mp3/layer3.o mp3/tabinit.o mp3/interface.o -> format_mp3.so
   [CC] res_config_mysql.c -> res_config_mysql.o
   [LD] res_config_mysql.o -> res_config_mysql.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               +
 +-------------------------------------------+

Installa Asterisk dopo aver integrato il tuo sistema.

$ sudo make install
....
make[1]: Entering directory '/home/jkmutai/asterisk-18.1.1/sounds'
make[1]: Leaving directory '/home/jkmutai/asterisk-18.1.1/sounds'
find rest-api -name "*.json" | while read x; do \
	/usr/bin/install -c -m 644 $x "/var/lib/asterisk/rest-api" ; \
done
 +---- 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    +
 +-------------------------------------------+

Facoltativamente è possibile installare la documentazione:

sudo make progdocs

Installa configurazioni ed esempi.

sudo make samples
sudo make config
sudo ldconfig

Per installare l'esecuzione del PBX di esempio

sudo make basic-pbx

5. Configurare e avviare il servizio Asterisk

Crea utenti e directory Asterisk con autorizzazioni.

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
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk

Imposta l'utente predefinito Asterisco su asterisco:

$ sudo vim /etc/default/asterisk
#Uncomment AST_USER and AST_GROUP to look like below
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.

Riavviare il servizio asterisco dopo aver apportato le modifiche.

sudo systemctl restart asterisk

Abilita l'avvio del servizio all'avvio del sistema.

sudo systemctl enable asterisk

Controlla lo stato del servizio per vedere se è in esecuzione.

$ systemctl status asterisk
 asterisk.service - LSB: Asterisk PBX
     Loaded: loaded (/etc/init.d/asterisk; generated)
     Active: active (running) since Mon 2023-11-27 19:31:41 UTC; 35s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 82 (limit: 4567)
     Memory: 44.6M
     CGroup: /system.slice/asterisk.service
             └─54142 /usr/sbin/asterisk -U asterisk -G asterisk

Connettiti alla console Asterisk.

$ sudo asterisk -rvv
Asterisk 20.5.0, Copyright (C) 1999 - 2022, 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.
 Running as user 'asterisk'
 Running under group 'asterisk'
 Connected to Asterisk 20.5.0 currently running on monitoring (pid = 424549)
 asterisk*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups

Se hai un firewall ufw attivo, apri le porte http e le porte 5060,5061:

sudo ufw allow proto tcp from any to any port 5060,5061

Articoli VoIP simili.

  • Proteggi Asterisk e FreePBX dalle frodi VoIP e dagli attacchi di forza bruta
  • Come installare il centralino FreeSwitch su Ubuntu

Articoli correlati: