LINUX DAY 2013. LUGCR Linux User Group CREMONA. VOIP con ASTERISK. LUGCR Linux User Group Cremona



Documenti analoghi
Utilizzare 4CBOX come centralino significa avere un sistema all inclusive oltre a

1. Il Client Skype for Business

MyFRITZ!, Dynamic DNS e Accesso Remoto

FRITZ!Box come centralino telefonico

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Introduzione al VoIP

Collegamento remoto vending machines by do-dots

Manuale Utente MyFastPage

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

File, Modifica, Visualizza, Strumenti, Messaggio

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

Firewall e Abilitazioni porte (Port Forwarding)

ADATTATORE ANALOGICO VOISPEED V-6019

VOIP CALL RECORDER VCR2

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

SIEMENS GIGASET S685 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

FRANCESCO MARINO - TELECOMUNICAZIONI

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

SIEMENS GIGASET S450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Guida all Utilizzo dell Applicazione Centralino

Manuale VoiSmartPhone

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

Guida alla registrazione on-line di un DataLogger

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

ICARO Terminal Server per Aprile

Telefonare su PC Panoramica

User. Belluno. Group. Soluzioni Linux per il VoIP. Soluzioni Linux per il Voip. Linux. Davide Dalla Rosa e Massimo De Nadal. Belluno, 27 novembre 2004

Il calendario di Windows Vista

BREVE GUIDA ALL ATTIVAZIONE DEL SERVIZIO DDNS PER DVR SERIE TMX

Mediatrix 3000 & Asterisk

PORTALE CLIENTI Manuale utente

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Guida Tecnica. Come visionare da internet anche dietro un IP dinamico i dvr Brahms.

Guida rapida alla Webconferencing

VOISPEED & VOIPVOICE

FPf per Windows 3.1. Guida all uso

Centrale Telefonica IP Ibrida Urania 16 IP. Finalmente la centrale IP alla portata di tutti!

GUIDA UTENTE PRIMA NOTA SEMPLICE

La funzionalità IP-PBX del Pirelli consente di effettuare chiamate utilizzando una rete IP anziché la rete standard.

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

VoipExperts.it SkyStone - Introduzione

Ast-Rubrica 1.4. Manuale. Del 26 Aprile 2009

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Online Help StruxureWare Data Center Expert

Manuale Gestore. Utilizzo Programma. Magazzino

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Reti di Telecomunicazione Lezione 6

Guida di Pro PC Secure

Guida Rapida all utilizzo di Vodafone ADSL&Centralino. Guida Rapida all utilizzo di Vodafone ADSL&Centralino

Innanzitutto, esistono diversi modi per realizzare una rete o più reti messe insieme; vi illustro la mia soluzione :

In anticipo sul futuro. Tutorial d installazione per testo Saveris

over. Soluzioni Voice.

StoneFax User Guide. (Settembre 2011 ver.1.1) StoneFax-User-Guide-ita-1.1.docx

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

QoS e Traffic Shaping. QoS e Traffic Shaping

Ricezione fax integrata e faxtomail

IRSplit. Istruzioni d uso 07/10-01 PC

Software per Helpdesk

Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!

CAPITOLO VI. Internet Termini più usati Apparecchiature necessarie Software necessari Avviare Internet explorer Avviare Outlook Express

Configurazione VOIspeed IP6060

SIEMENS GIGASET C450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Manuale MOBILE APP EVOLUZIONE UFFICIO

CTIconnect PRO. Guida Rapida

Guida Utente PS Contact Manager GUIDA UTENTE

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Capitolo 1 Installazione del programma

Manuale per la configurazione di AziendaSoft in rete

Wildix CTIconnect Mobile: APP per Android. Guida Rapida

Guida Software GestioneSpiaggia.it

APPARATI TELEFONICI Catalogo Ufficiale

OwnCloud Guida all installazione e all uso

Database 1 biblioteca universitaria. Testo del quesito

GATEWAY GSM. QuickStart

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Audio IP Manager Guida Utente

Introduzione a JDConnector

La VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II

INDIRIZZI IP AUTORIZZATI

Mida Directory. Introduzione. Mida Directory

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

Il VoIP nel mondo di Internet e l evoluzione del carrier telefonico. Relatore: Ing. Carrera Marco - Audit Technical Manager Switchward

GUIDA UTENTE WEB PROFILES

IL CENTRALINO VoIP. Schema progetto: Work-flow. Hydra Control

Reti di Calcolatori. Il software

Introduzione. Descrizione. FRITZ!APP Fon

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Dal protocollo IP ai livelli superiori

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Dynamic DNS e Accesso Remoto

GUIDA UTENTE BILLIARDS COUNTER (Vers )

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

AEMcom Peer2Peer - Windows

Lo scenario: la definizione di Internet

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

GUIDA ALLA GESTIONE DEI TICKET REV. 1. guida_gestione_tck_rev1.doc - 1 di 9

Transcript:

LINUX DAY 2013 LUGCR Linux User Group CREMONA VOIP con ASTERISK

INDICE ARGOMENTI INTRODUZIONE PCM analogico digitale VOIP centralino funzioni asterisk presentazione asterisk modularità HARDWARE installazione Asterisk e freepbx interni locali e remoti esterni telco e passanti dial plan IVR e altre feature

INTRODUZIONE Asterisk è un centralino telefonico VOIP opensource. (punto) Punto? No, perchè è molto di più di un semplice centralino.. è un framework opensource in grado di gestire voip, video chiamata, audio e video conferenze, condivisione di file, fax reali e virtuali su mail o pdf, telefoni interni (locali e in viaggio per il mondo), gestione personalizzate in base a orari e/o giorni, scelta del miglior instradamento della telefonata in base a operatori di destinazione o orari, segreterie, menu vocali, backup, log di tutto quello che succede, e grazie alla modularità della sua struttura tutto quello che il futuro ci riserva. come è fatto un centralino analogico???

PCM Pulse Code Modulation MODULAZIONE DEMODULAZIONE

PCM Pulse Code Modulation MODULAZIONE DEMODULAZIONE PCM = CONVERSIONE analogico digitale Tutto nasce dalla voce, e la voce è un segnale di tipo analogico; il trasporto e la commutazione, gestita da computer, viene effettuata su segnali digitali, pertanto bisogna convertire la voce da analogica a una sequenza di bit; questa operazione viene eseguita dai convertitori ADC che risiedono nei cellulari, nei telefoni voip, e in tanti altri dispositivi che vedremo, di solito subito dopo al microfono, e in ricezione dai DAC.

PCM Pulse Code Modulation MODULAZIONE DEMODULAZIONE L'esempio sotto a sinistra mostra un semplicissimo campionamento eseguito con quattro soglie (0-1-2-3) in cui ogni tot istanti viene letto il valore del segnale analogico, restituendo i valori 00-01-10-11 digitali. A destra un esempio di poco più concreto con tre bit a disposizione. Per la telefonia si usano 8 bit e la griglia di campionamento sull'asse verticale è di tipo logaritmico. Per applicazioni audio si usano anche 16 o 32 bit. L'onda restituita all'orecchio (quella blu nell'esempio sotto) è più vicina all'originale.

PCM Pulse Code Modulation MODULAZIONE DEMODULAZIONE La voce umana ha uno spettro di circa 2,7 khz che, per il teorema di Shannon richiede una larghezza di banda di almeno 5,4 khz. Secondo tale teorema è possibile ricostruire correttamente un segnale continuo, variabile nel tempo, da una serie di valori discreti quando questi sono stati presi con una frequenza di campionamento almeno superiore al doppio della massima frequenza contenuta nel segnale in ingresso. Ad un segnale analogico di X Hz di banda corrisponde un segnale digitale di 2*X*N bit/sec, dove N è il numero di bit usati per rappresentare ogni campione: per la voce si avrebbe 4000*2*8=64 kbit/s (c'è un certo margine rispetto ai 2,7 khz), che per altro è la medesima banda fornita da una singola linea ISDN. In parole semplici il teorema di shannon stabilisce che per poter essere comprensibile a chi ascolta, il segnale analogico deve essere campionato come minimo ogni 125ms con almeno 8 bit.

PCM Pulse Code Modulation MODULAZIONE DEMODULAZIONE La sequenza di bit viene elaborata in pacchetti che non hanno apparentemente niente di diverso dai pacchetti dati e tramite algoritmi viene compressa per ridurre l occupazione di banda. La prima parte di questo lavoro è svolto dai CODEC (G711 alaw ulaw, G722.1 e 2, G723.1, G729 annex A e B, GSM 06.10, ilbc, SPEEx) che vengono valutati tramite un sondaggio tra utilizzatori detto MOS. L esigenza principale di questo tipo di traffico è porre attenzione a ritardi e jitter, occupazione di banda, echo e perdita pacchetti e una delle caratteristiche negative è rappresentata dal fatto che il traffico internet (protocollo tcp/ip) è di tipo BEST EFFORT, cioè non garantisce qualità e continuità del collegamento. Quality Of Service è il termine utilizzato per indicare tecniche e standard per migliorare la qualità con un occhio ai costi tecnici. (un esempio di queste tecniche è quella di colorare i pacchetti voce per distinguerli dai pacchetti dati ed applicare policy nel router per dare la giusta priorità ai pacchetti voce) Inoltre, come vederemo in seguito, i protocolli usati non sono gli stessi usati per i dati.

VOIP I pacchetti dati della voce per viaggiare in rete devono essere incapsulati nella cosiddetta pila protocollare IP; la sequenza è che il pacchetto viene incapsulato in pacchetti RTP, questi in pacchetti UDP e quest ultimi in pacchetti IP che sono in grado di viaggiare in rete per arrivare al destinatario.

VOIP Dal livello applicazione (qualsiasi dispositivo voip) il pacchetto viene incapsulato in vari protocolli che gestiscono il singolo livello fino al fisico, cioè ethernet. A livello trasporto, per il voip, si usa il protocollo UDP:

VOIP TCP UDP costruisce una connessione tra server e client e garantisce la consegna integra (almeno ne ha l intenzione) costruisce una connessione a senso unico (...) e spara i pacchetti in linea senza preoccuparsi se vengono ricevuti Utilizzi tipici tutto ciò che necessita di garantire l integrità del contenuto (http, ftp, ecc) trasmissioni real time come video, voce Vantaggi meccanismi di acknoledgement e di crc garantiscono la qualità La velocità. tanto se qualche pacchetto viene perso al massimo la qualità si abbassa purché entro certi limiti. Svantaggi Latenza elevata Qualità inaffidabile. Il livello che trasmette non ha riscontro di eventuali problemi.

VOIP Per il trasporto dei dati, a livello sessione su UDP si utilizza il protocollo RTP REAL TIME PROTOCOL Per la segnalazione (le informazioni su far squillare il telefono, l avvenuta risposta, l occupato ecc.., ) i pacchetti di dati voce vengono gestiti tramite protocolli VOIP internazionali. Aldilà delle differenze migliorative o peggiorative di ogni protocollo, l importante è che entrambi i terminali utilizzino lo stesso! i principali sono: SIP H323 IAX poi IAX2 [utile per trunk Asterisk] ALTRI (alcuni proprietari, come SCCP di Cisco, Skype, XMPP usato da google talk)

VOIP Esempio di telefonata gestita con protocollo SIP

CENTRALINO FUNZIONI In primis esegue la commutazione della telefonata come faceva la signorina del centralino analogico, ma in più esegue tanti altri servizi in modo intelligente.. senza nulla togliere alle signorine. Nei centralini proprietari molte funzionalità non sono comprese, e comunque poco versatili verso il futuro e le esigenze crescenti. Segreteria telefonica (con integrazione dei servizi di posta elettronica) per ogni interno o per gruppo di interni; Risponditore telefonico multilivello completamente programmabile (IVR); Caselle vocali personalizzate; Annunci vocali personalizzati; Supporto del CallerID (identificativo del chiamante) anche sulle chiamate in attesa; Gestione delle chiamate in attesa; Gestione di servizi di call-back; Gestione LCR: Least Cost Routine (instradamento delle chiamate verso l operatore più economico per orario e tipo di chiamate, incluso instradamento verso schede GSM); Funzionalità ACD: Automated Call Distribution (permette alle chiamate in ingresso di essere gestite in modo equo); Conversazione a tre; Possibilità di gestione fax server (con inoltro automatico via email) Funzioni di teleconferenza; Interfacciamento con i software aziendali per applicazioni complesse (come ad esempio il riconoscimento e la visualizzazione della scheda cliente in base al numero del chiamante o accesso a qualsiasi tipo di contenuto dinamico); Funzionalità complete VoIP; Servizi di autenticazione (accesso a servizi tramite password); Funzioni di telemanutenzione opzionali per ridurre al minimo la necessità di interventi in sede; Possibilità di abbinare, sulla stessa macchina e senza decadimento delle prestazioni, un firewall per la protezione della rete dati dell azienda. Interfaccaimento a data base e a calendari per regolamentare anche in base alle date le funzioni. Gestione di file audio in vari formati, anche mp3.

ASTERISK: PRESENTAZIONE Asterisk è un sistema PBX Private Branch exchange creato con licenza GPL opensource da Digium di Mark Spencer nel 2001. La parola PBX, aldilà della sigla, identifica un centralino con capacità di selezione passante.

ASTERISK:MODULARITA' L architettura modulare del software permette l utilizzo di molteplici servizi e protocolli, realizzati sia dalla community open source che da diverse aziende che basano il proprio business su prodotti e servizi legati all IP PBX software.

ASTERISK:MODULARITA' Il nucleo di Asterisk consta dei seguenti blocchi: PBX Switching: l'essenza di Asterisk, naturalmente, è quella di fare da Private Branch Exchange Switch, connettendo tra loro chiamate tra vari utenti. il tutto avviene in modo astratto dai protocolli specifici, dai codec e dalle interfacce hardware delle applicazioni telefoniche. Questo permette ad Asterisk di usare qualsiasi suite di hardware e di tecnologie disponibili ora o nel futuro per fornire le sue funzioni essenziali, connettendo hardware e applicazioni. Application Launcher: lancia applicazioni che offrono servizi per utilizzi come la voicemail, il file playback e l elenco di directory; Codec Translator: usa codec caricati come moduli per la codifica e decodifica dei vari formati di compressione audio. Sono disponibili molti codec per soddisfare diversi bisogni e per raggiungere il miglior compromesso tra qualità audio e uso di banda; Scheduler and I/O Manager: cura i compiti di basso livello di scheduling (interruzione e avvio di più processi) e di gestione del sistema per garantire performance ottimali sotto ogni condizione di carico.

ASTERISK:MODULARITA' I moduli API sono dei punti di contatto software verso qualcosa di esterno, in particolare: Channel API: cura il tipo di connessione sulla quale arriva una chiamata, che può essere un collegamento VoIP, ISDN, PRI, a segnalazione Robbed bit, o con qualche altra tecnologia. I moduli dinamici sono caricati per curare i dettagli dei livelli bassi di queste connessioni. Application API: l'api dell'applicazione permette a vari moduli specializzati di essere inseriti per fornire varie funzioni. Conferenze, Paging, elenco di directory, Voicemail,trasmissione dati in linea, e molte altre funzionalità che un PBX deve offrire ora o nel futuro sono svolte da questi moduli indipendenti. Codec Translator API: carica i codec in moduli per supportare vari formati di audio encoding e decoding come il GSM, il compressore a legge μ (usato negli USA) o quello a legge A (usato in Europa), e perfino l'mp3. File Format API: si preoccupa della lettura e della scrittura di vari formati di file per la memorizzazione dei dati nel filesystem.

ASTERISK:MODULARITA' Per tutti i moduli che lo richiedono sono presenti degli opportuni file di configurazione, per la gestione di canali, piano delle chiamate, musiche di attesa, hardware ecc.

ASTERISK:MODULARITA' I file di configurazione sono file di testo editabili per le modifiche e divisi in sezioni riconoscibili da intestazioni racchiuse tra parentesi quadre. Le righe che cominciano con ; / o # sono commenti oppure voci disabilitate. Togliendo il simbolo si abilitano. Comunque nei file stessi si trovano già template e spiegazioni sintetiche che aiutano. Avremo modo di approfondire.

HARDWARE Computer caratteristiche Generalmente viene fatta una stima di quanti interni saranno necessari e quali potrebbero essere i picchi di telefonate contemporanee che dovranno essere gestite. Macchina virtuale o pc dedicato; ad esempio per una configurazione base detta small office minimo pentium IV 512Mb di ram. BOX; Hardware specifico di vari produttori sul quale installare Asterisk. Periferiche: schede PCI interne ed adattatori esterni. oltre al collegamento ethernet per connettersi alla rete interna formata da router ed eventuali switch, le schede opzionali che servono per connettersi alla rete telefonica tradizionale fornita da gestori; collegamenti analogici alla rete RTG (linea analogica classica) detti FXO e digitali tipo ISDN ad accesso base e/o primario. eventuali telefoni analogici ( porte FXS) e linee analogiche (porte FXO) possono essere collegate tramite moduli adattatori con porta eth.; per le linee FXO c è la possibilità di utilizzare alcune vecchie schede modem con chipset supportati. Borchie GSM (in giro si dice anche di telefoni cellulari gestiti tramite BT)

HARDWARE Quando si parla di hardware integrato nel PC, si deve parlare del progetto ZAPTEL, diminutivo di Zapata Telephony (rinominato DAHDI per questioni legali), un progetto che fa capo a Jim Dixon, il quale ha creato un riferimento opensource per i driver e le API per l'hardware telefonico. Come detto questo progetto è poi stato rilevato da Digium e rinominato DADHI. La caratteristica principale è quella di demandare alla CPU il grosso del calcolo, riducendo dimensioni e costi delle schede Come in ogni distribuzione linux devono anche essere caricati i moduli del kernel; infatti le schede hardware non DAHDI sono supportate da moduli standard linux come bluetooth e altri..

INSTALLAZIONE Asterisk Pacchetti tar.gz di asterisk,libpri (isdn) e dadhi da installare su sistema con SO Linux e con altri pacchetti come prerequisiti. E' possibile installare aggiungendo il repository come indicato su Asterisk wiki (https://wiki.asterisk.org/wiki/display/ast/asterisk+packages); oppure eseguendo il download di pacchetti e dipendenze ed installazione: ci sono numerose guide al riguardo, ad esempio http://blogs.digium.com/2012/11/05/how-to-install-asterisk-11-on-centos-6/

INSTALLAZIONE Già in fase di installazione vengono eseguite delle scelte su quali moduli, applicazioni, codec ecc installare o meno. E' utile perdere un po' di tempo per rendersi conto cosa vuol dire modularità di Asterisk. Eventualmente si possono installare successivamente.

INSTALLAZIONE AsteriskNOW Immagine ISO (32 o 64 bit) di un sistema linux CentOS con asterisk e tutto il necessario ready-to-run. Inoltre è preinstallato anche FreePBX, un sistema di gestione di asterik tramite interfaccia HTML che avremo modo di vedere. Dopo il download si può masterizzare l'immagine su CD (o anche su penna USB) installando come una qualsiasi distribuzione, o utilizzare l'iso per l'installazione su VM. Se si utilizza VirtualBOX è necessario impostare Funzionalità Estese Abilita PAE/NX nelle impostazioni riguardo al processore. Come accennato, per Asterisk è possibile anche, per alcune distribuzioni, installare da repository. Se avete una macchina da dedicare all'uso di Asterisk con installato Debian, ubuntu o Fedora i pacchetti sono già nei repository ufficiali Per distribuzioni come Centos o Red Hat Enterprise edition bisogna aggiungere i repository in http://packages.asterisk.org/

ASTERISK e FREEPBX La macchina installata si presenta con il classico prompt linux; naturalmente ci si può collegare anche via ssh, perchè spesso non c'è bisogno del video per il pc che fa da PBX. Schermata del PC con installato la VM Virtualbox (a sinistra) e asteriknow acceso a destra. Per AsterisNOW da notare il messaggio che ci suggerisce l'indirizzo cui puntare da browser su qualsiasi macchina in rete per gestire tramite interfaccia html.

ASTERISK e FREEPBX In questo esempio, mi collego da un'altra macchina in rete tramite ssh. Asterik è già attivo, nel caso eseguire comando #asterisk. Dal prompt tramite il comando #asterisk -rvvvv mi collego alla console di asterisk. Le v non sono necessarie, ma più ce ne sono e più è profondo il livello di debug.

ASTERISK e FREEPBX Ecco, solo a titolo dimostrativo, alcuni comandi disponibili dalla console di asterisk. In generale, saper utilizzare un sistema tramite riga di comando, rende l'operatore pienamente padrone di ogni dettaglio, ma...

ASTERISK e FREEPBX...se abbiamo a disposizione una comoda interfaccia html, tutto è molto più comodo e veloce, vero? Qualcuno è svenuto? Ecco Freepbx, da un qualsiasi pc in rete locale, o con opportune configurazioni, anche da internet, basta digitare su un browser l'indirizzo della macchina con asterisk.

ASTERISK e FREEPBX Al termine di ogni modifica che eseguiamo con FreePBX, al menu si aggiunge un bottone rosso APPLY CONFIG, e naturalmente finchè non lo clicchiamo, le modifiche non vengono applicate. Questo corrisponde ad effettuare il sottocomando reload da riga di comando (es: >sip reload).

ASTERISK e FREEPBX Tra le prime operazioni da fare, e da ripetere saltuariamente, c'è l'aggiornamento dei moduli. Anche se questa presentazione è stata fatta a scopo illustrativo generale, per dimostrare quanto sia relativamente semplice gestire asterisk tramite freepbx ecco come fare: AMMINISTRAZIONE AMMINISTRAZIONE MODULI VERIFICARE SIANO SELEZIONATI I REPOSITORY BASE ed EXTENDED CHECK ONLINE AGGIORNA TUTTO PROCEDI (Eventualmente prima controllare su ogni modulo quale azione è selezionata) Nella finestrella che si apre al centro e che mostra lo stato di avanzamento, cliccare scorrendo fino in fondo RETURN

ASTERISK e FREEPBX Interessante, soprattutto ai fini della sicurezza e del debug, anche il log di sistema... per chi ci capisce! Ma con un buon copia incolla del messaggio, su google si trova la spiegazione sicuramente. Se qualcuno vuole provare...

INTERNI LOCALI E REMOTI Chiaramente la parola INTERNI indica tutti quei dispositivi telefonici fisici o software che fanno capo al centralino, che possono essere nello stesso ambiente e quindi sotto la stessa rete, oppure tramite NAT tra la rete locale e internet, in qualsiasi punto del mondo; quest'ultimo concetto, abbastanza rivoluzionario nel mondo telefonico, comporta che anche questi interni, aldilà dei costi di connessione alla rete, per effettuare telefonate esterne, passano dal centralino. Per collegare gli interni al centralino, bisogna configurare lo stesso protocollo VOIP su entrambi. A seguire un esempio di alcune schermate sulla configurazione con freepbx.

INTERNI LOCALI E REMOTI Aldilà delle vaste personalizzazioni che si possono dare ad ogni interno, i parametri più importanti da configurare sono: Nel centralino: L'interno utente, ID e PASSWORD (bella complessa come quella che vi genera automaticamente) Nel telefono VOIP: In SIP Configuration, stesse ID e PASSWORD, RegSRV (indirizzo del centralino), Tel Nbr; In Networking specificare se l'indirizzo è statico e dinamico, il GW (router). Questa operazione di REGISTRAZIONE si chiama PROVISIONING, e può essere anche effettuata in automatico, ma in tal caso il router deve essere in grado di reindirizzare il protocollo DHCP sulla porta 60, in modo che dopo aver assegnato l'indirizzo LAN al telefono, le successive operazioni di DHCP vengano reindirizzate al server DHCP del centralino.

INTERNI LOCALI E REMOTI Per far funzionare un interno non in LAN, bisogna in qualche modo che il router della LAN dove risiede il centralino sia raggiungibile, o perchè ha un indirizzo pubblico fisso, o tramite servizi come DYNDNS. Sul router bisogna poi aprire le porte opportune, di default la 5060 per SIP.

INTERNI LOCALI E REMOTI Sembra complicato ma a destra si vede il file sip_additional.conf che FreePBX ha modificato per creare l'interno. ;-) Scordatevi se usate FreePBX di andare a modificare i file *.conf :-( La buona notizia è che il dialplan tra gli interni è già pronto all'uso, per cui gli interni appena creati sono già in grado di chiamarsi tra loro. E' poi possibile aggiungere ulteriori opzioni per ogni interno, compresa segreterie personalizzate, regole di chiamate, reindirizzamenti in certi orari, ecc

INTERNI LOCALI E REMOTI In Asterisk gli interni vengono configurati a mano negli opportuni file di configurazione. Gli interni possono essere infatti collegati tramite protocolli diversi, supportati dal telefono fisico o software, i più utilizzati sono SIP e H323 e ZAP. Esempio di interno SIP configurato in sip.conf [dalle ultime release per facilitare gestioni complesse, si possono creare file sip personali da includere poi in sip.conf]: [101] id interno che andiamo a creare, va utilizzato anche come utente per la registrazione sul pbx username = 101 solitamente si fa coincidere con l'id dell'interno secret = password inserire la pwd di autenticazione di questo interno sul pbx host= dynamic callerid = Interno101 opzione che consente ad un client con qualsiasi IP di collegarsi e validarsi sul pbx indicazione del linguaggio di default utilizzato per il dialplan su questo interno (default è l'inglese US) tipo di collegamento abilitato per questo interno, friend=chiama e riceve, peer=chiama soltanto, user=riceve soltanto nome del contesto cui vogliamo che il nostro interno appartenga (vedremo i contesti più avanti) descrizione dell'interno che appare sul telefono del chiamato dtmfmode = rfc2833 impostazione per i toni di tastiera, necessario nelle postselezioni language= it type = friend context = nomecontesto

ESTERNI: TELCO e PASSANTI Le linee esterne del centralino collegano ad operatori telefonici (TELephone COmpany) oppure, tramite collegamenti detti TRUNK, ad un altro centralino. Il protocollo IAX (poi IAX2) è nato proprio grazie ad asterisk con lo scopo di ottimizzare la segnalazione tra due centralini. Gli operatori telefonici mettono a disposizione vari tipi di linee voce: RTG Porta FXO con linea analogica PSTN con un solo canale voce ISDN base 2 linee numeriche (su bus S ISDN) o analogiche FXO in uscita da una borchia installata dall'operatore tel. ISDN PRI canale ISDN detto accesso primario, digitale con velocità 2Mb/sec con 30 canali telefonici VOIP linea telefonica accessibile solo da internet, alla quale l'operatore assegna un numero con prefisso, oppure con USERNAME come SKYPE GSM Come la linea di un cellulare

ESTERNI: TELCO e PASSANTI Con un operatore Voip che fornisca o meno un numero telefonico geografico, la prima operazione è creare il fascio, per la registrazione. Lo stato è poi verificabile nella pagina Rapporti Stato sistema. Il campo Stringa di registrazione è,in particolare, il comando che permette di identificare questo fascio dall'operatore. In dettagli peer vengono immessi i parametri che regolano,in modo grezzo, il comportamento del fascio riguardo alle chiamate. Le regole di commutazione vengono però scelte in Connettivity Rotte in entrata o rotte in uscita. Per il settaggio di tutti questi parametri è importante documentarsi in particolare riguardo all'operatore scelto.

DIALPLAN Il DIALPLAN (contenuto originariamente nel solo file extension.conf) è il vero cuore di Asterisk, svolgendo principalmente la funzione di commutazione, cioè definendo quale è il flusso in entrata e in uscita delle chiamate. Questo file è diviso in sezioni dette context [context] che contengono righe formate da extension, priorità e applicazione. Un esempio di utilizzo di una sezione [context] è quella di definire nel file sip.conf in cui creiamo un interno, un'istruzione tipo context=internilocali, e poi nel file extension.conf una context [InterniLocali] nella quale sono contenute le istruzioni (che adesso approfondiremo (di poco)) di cosa succede quando quell'interno alza la cornetta. Le estensioni hanno la seguente forma: exten=>ext,priorità,applicazione Es: exten => 123,1,Answer() exten => 123,2,Hangup()

DIALPLAN Parecchie innovazioni (novità ad ogni release di Asterisk) sono state fatte su come scrivere il dialplan,ad esempio: exten => 123,1,Answer() In questo modo le righe di codice dalla seconda in poi possono same => n,fai questo(con queste opzioni) essere riutilizzate con un comodo copia-incolla per un altro same => n,fai qualcos'altro() interno. La sequenza n incrementale permette invece di same => n,hangup() inserire nuove righe senza correggere i numeri sequenza. Le applicazioni sono la vera forza di Asterisk, e vengono utilizzate per svolgere una specifica azione (con varie opzioni se necessarie) come Occupare il canale per la risposta, Eseguire un file mp3, Accettare un input da tastiera, Eseguire ricerche in un database e molto altro. Quando eseguiamo modifiche al file extension.conf per renderle operative bisogna restartare il dialplan digitando il seguente comando da console: *CLI> dialplan reload Utilizzando FreePBX questo comando viene eseguito automaticamente cliccando sul famoso bottone rosso APPLY CONFIG. Dalle ultime release altri file si integrano a extension.conf per semplificare gestioni complesse, oltre al fatto che è possibile utilizzare anche variabili, funzioni, alias e molto altro.

DIALPLAN Naturalmente con FreePBX è tutto più semplice almeno apparentemente. Infatti è difficile parlare di Dialplan in FreePBX; una volta configurato il fascio con un operatore, nelle due voci di menù CONNECTIVITY ROTTE IN ENTRATA o ROTTE IN USCITA, resta ben poco da programmare. In questo esempio di Rotta in uscita, si stabilisce che questa rotta utilizza il fascio messagenet e componendo un numero di preselezione ad esempio 12, permette di chiamare i numeri che cominciano con 0, 800, e i numeri di emergenza. In pratica tutto tranne i cellulari, per i quali si può, ad esempio, creare un fascio su un canale che utilizza una borchia GSM. In rotte in Ingresso stabiliamo quale interno deve ricevere le chiamate in ingresso, ad esempio il PO (Posto Operatore).

IVR e altre FEATURE IVR Interactive Voice Responder è un RISPONDITORE AUTOMATICO, per gestire tramite menù vocali una chiamata in ingresso. Quante volte vi è capitato di sentirvi rispondere da una voce automatizzata prema 1 per l'ufficio A, prema 2 per sapere se sei bello, ecc... I servizi IVR sono in grado di eseguire una serie di operazioni, anche complesse. Di seguito un elenco non esaustivo: Interagire con i database aziendali, recuperando delle informazioni in funzione degli input dell utente: un esempio potrebbe essere quello di interrogare una base dati della assistenza tecnica per verificare lo stato di avanzamento di una pratica. Verificare la presenza di operatori disponibili e consentire o meno il trasferimento della chiamata agli operatori. Verificare la fascia oraria e propinare all utente menù diversi Fare uso di sistemi di ASR (Riconoscimento vocale) e di sistemi TTS (Text To Speech) Registrare la chiamata dell utente Attivare sistemi di alerting (via email, sms ed altro)

IVR e altre FEATURE Con asterisk si digitano i file di configurazione definendo tutti i passi e i link necessari. Es: nano /etc/asterisk/ivr [IVR] exten => s,1,wait(1) ;aspetta un secondo exten => s,2,set(channel(language)=it) ; seleziona come lingua predefinita l italiano exten => s,3,set(timeout(digit)=7) ; 7 secondi è il tempo che aspetta fra il primo tasto premuto e i successivi exten => s,4,set(timeout(response)=10) ; 10 secondi è il tempo a disposizione per il chiamante per premere un tasto Ecc.. Per includere questo file nel dialplan: nano /etc/asterisk/extensions.conf Se vogliamo che tutte le chiamate esterne vengano mandate a questo IVR nel contesto specifico poniamo: [from-pstn] exten => s,1,answer exten => s,n,wait(1) exten => s,n,goto(ivr,s,1) e alla fine del file poniamo: #include "IVR" I messaggi possono essere registrati dall'utente in file mp3 o wma, alcuni messaggi sono già predisposti da asterisk anche in italiano, oppure è possibile scrivere il messaggio nel file di configurazione e farlo leggere a software anche online come googletts.agi

IVR e altre FEATURE Con Freepbx bisogna prima installare il modulo IVR (di default non c'è): AMMINISTRAZIONE AMMINISTRAZIONE MODULI Vedi immagine, poi dare tutte le conferme. In APPLICATIONS troveremo una nuova voce menu IVR.

IVR e altre FEATURE Ecco una breve carrellata di alcune Opzioni disponibili con Asterisk, in Freepbx facilmente configurabili dal menu AMMINISTRAZIONE DIGIUM ADDONS

CONCLUSIONI In questa ultima slide, voglio ringraziare chi mi ha ascoltato, e soprattutto voglio toccare l'argomento più importante: LA SICUREZZA. Prima di imparare ad usare Asterisk è importante documentarsi sulle tecniche per rendere sicuro il sistema a esempio da chi tenterà di utilizzare le linee per chiamate intercontinentali ecc.. La sicurezza tocca diversi aspetti, da iptables, alle porte del router, alle password (modificare tutte le password di default), alla gestione dei database, all'uso di speciali criptazioni sui protocolli se necessario, al permettere o negare range di indirizzi nei file di configurazioni, alla gestione delle registrazioni dei dispositivi e ai permessi di ogni user. Importante tenere sotto controllo il log, ma si possono anche attivare degli alert su eventi particolari o report anche via mail.