Disambiguazione – "Asterisk" rimanda qui. Se stai cercando il singolo degli Orange Range, vedi Asterisk (singolo).

Asterisk è un'implementazione software di un sistema PBX. È un software libero che permette di gestire una rete telefonica privata e di connetterla a servizi di telefonia PSTN o VoIP.

Asterisk
software
Logo
Logo
GenerePrivate branch exchange (non in lista)
SviluppatoreDigium, comunità e Russell Bryant
Data prima versione1999
Ultima versione21.2.0 (18 marzo 2024)
Sistema operativoMultipiattaforma
LinguaggioC
LicenzaGNU General Public License
(licenza libera)
Sito webwww.asterisk.org/

La prima stesura venne realizzata da Mark Spencer, un ingegnere informatico statunitense che, attorno all'anno 2000, aveva creato una società che sviluppava schede d'interfaccia FXS ed FXO. Per facilitarne la diffusione Spencer creò Asterisk e, permettendone la libera distribuzione, provocò l'interesse di una rete di sviluppatori e professionisti di tutto il mondo.

Oggi il prodotto ha un importante ruolo nel settore della telefonia in applicazioni come ad esempio la mediazione RTG/IP (centralini telefonici in grado cioè di utilizzare sia le linee telefoniche tradizionali sia i canali IP) e sistemi Centrex (PBX "virtuali" e centralizzati), applicazioni per la gestione di Call Center ed altro ancora.

Configurazione generale modifica

I moduli: modules.conf modifica

Asterisk, al suo avvio, carica un gruppo di moduli che permettono di utilizzare differenti applicazioni. Si può scegliere quali moduli devono essere caricati con il file modules.conf.

I canali modifica

Un'interfaccia ISDN ha due canali, una PRI può averne 30. Asterisk identifica i tipi d'interfaccia sui quali si può telefonare con il termine canal, canale. Un canale può essere, per esempio, l'interfaccia ISDN (che si chiama canale CAPI) o l'interfaccia Ethernet per il VoIP. Ogni protocollo VoIP ha un canale diverso, quindi se si vuole telefonare con SIP o H.323, bisogna configurare un canale SIP o un canale H.323. La configurazione dei canali è fatta con dei file di configurazione *.conf, che si trovano nella directory /etc/asterisk.

Il Dialplan modifica

Il dialplan (ovvero "piano di chiamata") è la parte più interessante della configurazione di Asterisk, ed anche quella che richiede più tempo. Nel dialplan si definisce cosa deve fare il PBX quando riceve una chiamata, oppure quando un utente compone un numero.

Formato del dialplan modifica

Il file /etc/asterisk/extensions.conf contiene il dialplan di Asterisk, cioè un flusso di esecuzione per tutte le sue operazioni. Il dialplan controlla come le chiamate entranti e uscenti sono trattate e instradate: è qui che si configura il comportamento di tutte le connessioni che attraversano il PBX.

Il contenuto del file extensions.conf è organizzato in sezioni, che possono essere usate per delle configurazioni statiche e per delle definizioni, o per delle componenti eseguibili del dialplan, che si chiamano contesti o contexts. Le sezioni general e globals e i nomi dei contesti sono interamente definiti dall'amministratore di sistema. Un tipo speciale di contesti sono le macro, che sono delle procedure o insiemi di istruzioni riutilizzabili in fase di esecuzione, costruite in maniera simile ad linguaggio di programmazione.

Sezione general modifica

In questa sezione si può definire qualche opzione generale che concerne l'uso della funzione save dialplan, che serve a salvare il dialplan se quest'ultimo è modificato in fase d'esecuzione da comandi di Asterisk.

Sezione globals modifica

Nella sezione globals si definiscono le variabili globali per il dialplan. In pratica, le variabili globali di Asterisk non sono impiegate come variabili, ma come costanti. Abitualmente sono impiegate per avere un solo posto nel dialplan dove si possono indicare i valori che si potrebbero voler cambiare per cambiare delle configurazioni del PBX.

Contexts ed extensions modifica

La parte principale e più interessante del dialplan è costituita dai contexts. I contexts sono degli insiemi di extensions (estensioni). Ogni estensione può essere costituita da più linee di istruzione, che Asterisk eseguirà se una certa condizione è soddisfatta.

Come si usa un context modifica

Ogni chiamata che giunge ad Asterisk è attribuita ad un context. L'appartenenza di una chiamata ad un contesto può dipendere dal canale dal quale arriva, dall'ora, dal numero chiamante ed altre differenti possibilità.

IAX modifica

Il file iax.conf permette la configurazione del protocollo di comunicazione IAX. Si tratta di un protocollo specifico per Asterisk che permette l'implementazione di trunk (collegamento) tra diverse centraline con localizzazioni geografiche differenti. IAX permette di raggruppare un flusso di chiamate telefoniche ottimizzando la segnalazione e quindi riducendo significativamente l'overhead di banda. È un'alternativa al protocollo RTP. Nel file iax.conf è possibile creare delle entry provviste di autenticazione per dei PABX Asterisk esterni.

IAX è configurabile in modalità trunk o modalità no-trunk. Nel primo caso ottimizza la segnalazione riducendo significativamente l'overhead, inserendo in un unico pacchetto IP la segnalazione e il flusso media di più canali fonia. Nel secondo caso riduce la banda rispetto RTP, avendo 4byte di overhead invece di 12byte, ma in modo meno significativo in quanto ogni differente chiamata utilizza un differente pacchetto IP/UDP. Anche se non pensato per questa finalità è possibile utilizzare anche degli UAC SIP IAX, come telefoni hardware/software.

Bibliografia modifica

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero