# VoIP e Asterisk/Canali di comunicazione

VoIP e Asterisk
Copertina Tutti i moduli · Sviluppo
* VoIP
** La telefonia tradizionaleVoIP e Asterisk/Telefonia tradizionale
** Transizione verso il VoIPVoIP e Asterisk/Transizione verso il VoIP
** I TelefoniVoIP e Asterisk/I Telefoni
** PBXVoIP e Asterisk/PBX
** Protocolli VoIPVoIP e Asterisk/Protocolli VoIP
** SIPVoIP e Asterisk/SIP
** Interfacciamento tra VoIP e sistemi tradizionaliVoIP e Asterisk/Interfacciamento tra VoIP e sistemi tradizionali
* Asterisk
** Preparazione del sistemaVoIP e Asterisk/Preparazione del sistema
** Setup inizialeVoIP e Asterisk/Setup iniziale
** Canali di comunicazioneVoIP e Asterisk/Canali di comunicazione
** Configurazione utentiVoIP e Asterisk/Configurazione utenti
** AgentiVoIP e Asterisk/Agenti
** Il dialplanVoIP e Asterisk/Il dialplan
** Code di chiamataVoIP e Asterisk/Code di chiamata
** VoicemailVoIP e Asterisk/Voicemail
** TeleconferenzaVoIP e Asterisk/Teleconferenza
** Interconnessione tra server VoIPVoIP e Asterisk/Interconnessione tra server VoIP
** Musica d'attesaVoIP e Asterisk/Musica d'attesa
** IbreveVoIP e Asterisk/Integrazione con sistemi esistenti
** Interactive Voice ResponseVoIP e Asterisk/Interactive Voice Response
** AbreveVoIP e Asterisk/Architettura Real-Time
** Estensioni disponibiliVoIP e Asterisk/Estensioni disponibili
Modifica il sommario
Asterisk supporta una varietà di canali di comunicazione, sia canali VoIP che canali telefonici della rete tradizionale, tuttavia quelli più utilizzati sono 4: Session Initiation Protocol (SIP) e Inter-Asterisk eXchange (IAX) per i canali VoIP, Foreign eXchange Office (FXO) e Foreign eXchange Station (FXS) per i canali telefonici tradizionali.
Per visualizzare i canali supportati dalla corrente installazione di Asterisk si utilizza il comando “show channeltypes”, eccone un esempio, eseguito su un centralino puro VoIP:

## FXO e FXS

I canali FXO e FXS non sono molto diversi in fase di configurazione, entrambi comunque richiedono sia la configurazione di Asterisk che la configurazione dei moduli Zaptel, separati da asterisk.
Si inizia con la configurazione di Zaptel, poi si configura lo Zapata hardware nelle configurazioni di asterisk. Nella configurazione di Zaptel (/etc/zaptel.conf) si specifica quali canali della scheda telefonica sono FXO e quali sono FXS, e che tipo di sottoprotocollo utilizza per trasmettere il ringing, Loop start, Ground start o Kewl start. Oltre a questo viene specificata la zona geografica in cui ci si trova, per cui Zaptel trasmetterà di conseguenza il dialtone, tono d'occupato, cicli di ringing opportuni per la zona specificata. Ogni zona ha delle differenze sulle frequenze e sulle pause usate per indicare i vari stati della linea.
Asterisk usa il file zapata.conf per determinare i settaggi e la configurazione dell'hardware telefonico installato nel sistema. Oltre a questi nel file vi è specificato alcune feature legate all'hardware, come la trasmissione del CallerID, possibilità di mettere in attesa la chiamata, la soppressione dell'eco, e altre opzioni.
La sintassi di questo file è relativamente semplice:
Per testare questa configurazione occorrerà creare un dialplan di base, la cui sintassi verrà spiegata più avanti. Per ora basta sapere che per testare i due canali basta collegare linea PSTN e telefono e definire due context nel file extensions.conf.
Questa configurazione minimale istruisce asterisk a fare l'eco del segnale vocale, per testare bisogna effettuare una chiamata verso il numero telefonico associato alla linea telefonica connessa al server. Per testare invece il telefono bisogna comporre sul tastierino numerico l'interno 123.

## SIP

La configurazione del protocollo SIP avviene nel file sip.conf, suddiviso in varie sezioni. La sezione [general] contiene i settaggi generali applicati a ogni utente SIP, poi per ogni utente SIP del sistema ci sarà una sezione nominata con l'username.
Per ogni utente è possibile definire una quantità enorme di parametri, i più importanti sono:
type: definisce il tipo di trasmissioni generate per quell'utente, se in entrata, in uscita o entrambi. secret: password usata nell'autenticazione callerid: stringa mostrata sul display del chiamato che identifica il chiamante context: il contesto che controlla cosa è possibile fare (vedi dialplan)
Parametri di rete: qualify, host, nat, canreinvite
qualify indica se monitorizzare la latenza del client per stabilire se è on-line o off-line, host indica l'IP del client o “dynamic” se per sapere l'IP è richiesta la registrazione del client, nat comprende le opzioni per connessioni con NAT, canreinvite riguarda le redirezioni SIP.
File d'esempio:
Questa configurazione definisce l'utente SIP “john” con password “welcome” e la possibilità di piazzare chiamate in entrambe le direzioni, ed è un utente che necessita di registrarsi presso il SIP proxy perché le sue informazioni di rete (IP,...) non sono nella configurazione.

## IAX

Per quanto riguarda invece il secondo protocollo, IAX, la sua configurazione è memorizzata nel file iax.conf. Il protocollo IAX è solitamente utilizzato nelle comunicazioni server-to-server, il formato è molto differente dal SIP, e questo protocollo è molto meno sofferente al NAT che il SIP, infatti le connessioni IAX, sia nella fase di signalling che nella trasmissione voce, utilizza sempre la stessa connessione, sulla porta 4569.
Il formato di questo file è molto simile a quello del SIP, la sezione [general] con i settaggi generali applicati a ogni utente, e una sezione per ogni utente, nominata con l'username dell'utente. Molte proprietà per gli utenti si chiamano nello stesso modo e hanno lo stesso significato.
File d'esempio:
Se l'utente definito necessita di registrarsi anche su un altro server (per poter fare chiamate inter-server) occorrerà un comando di registrazione, specificato nel file. register => user:pass@host
Si rimanda al capitolo opportuno per una trattazione più approfondita.