VOIP TRA TEORIA E PRATICA - MICHELE "O-ZONE" PINASSI
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Breve storia della telefonia Il telefono è stato inventato attorno al 1860 da Antonio Meucci. Brevemente, l'apparecchio era dotato di un microfono e di un altoparlante che era fisicamente collegato, tramite un filo, ad un'altro apparecchio. La voce captata dal microfono era amplificata e trasmessa all'altoparlante dell'altro apparecchio. Il segnale elettrico inviato lungo il filo si dice “analogico” ed ogni apparecchio, per comunicare, deve essere fisicamente connesso all'altro, attraverso i commutatori presenti nei centralini del provider.
PSTN vs INTERNET ● Alice e Bob devono essere ● Alice e Bob devono essere connessi entrambi alla connessi ad Internet stessa centrale telefonica ● Alice invia su Internet ● Alie verrà connessa pacchetti di dati destinati a fisicamente al telefono di Bob Bob ● Comunicazione digitale a ● Comunicazione analogica pacchetti ● Alice e Bob devono ● Alice e Bob devono essere clienti e pagare le essere connessi ad tariffe al provider TLC Internet
L'idea Già dal 1995 ci furono i primi protocolli per trasmettere voce in tempo reale tramite reti IP. Di fatto nacque il VoIP: Voice over IP Si tratta, in pratica, di campionare l'audio, codificarlo ed inserirlo nel frame IP per poi trasmetterlo ad destinatario che provvede a decondificare i dati audio e riprodurli sullo speaker.
Le Implementazioni Il VoIP è fatto di due “tipi” di protocollo: sessione e trasporto. Attualmente esistono decine di implementazioni per il VoIP. I più famosi sono due protocolli standard: ● SIP (IETF) ● H.323 (ITU) ed uno proprietario: ● Skype (Skype Technology S.A.)
Sessione Per sessione si intende tutti quei dati che regolano la trasmissione, ad esempio l'autenticazione sul server VoIP, chi è il chiamante, l'ID della chiamata, il codec usato per l'audio, se c'è un NAT in mezzo, etc. etc. REGISTER sip:213@10.10.10.100 SIP/2.0 Via: SIP/2.0/UDP 10.10.10.9:5069;rport CSeq: 3943 REGISTER To: sip:213@10.10.10.100 From: sip:213@10.10.10.100 Expires: 900 CallID: 400763441@10.10.10.9 Authorization: Digest username="213", realm="asterisk", nonce="3c306025", uri="sip:213@10.10.10.100", response="00e1699f3675d646a0ad322e30b5ff5a" UserAgent: UniversalSIPClient/0.0.1.1 Contact: ContentLength: 0
Trasporto Per trasporto si intende il modo in cui vengono trasmessi i dati della comunicazione. In genere si utilizza un protocollo chiamato RTP (Real Time Protocol) incapsulato in pacchetti UDP per la trasmissione su reti IP. IP UDP RTP
PBX ? Teoricamente per chiamare via Internet non c'è bisogno di intermediari (le cosiddette chiamate PeertoPeer). In realtà è piuttosto scomodo dover sempre sapere che IP ha l'altra persona percui è comodo avere dei SERVIZI DI REGISTRAZIONE, o CENTRALINO (PBX) a cui posso dire qualcosa come: “Hey, sono Alice ed il mio IP è 10.0.0.132” così quando Bob vorrà chiamare Alice può chiedere qualcosa come: “Ciao, sono Bob ed il mio IP è 10.10.0.87 e vorrei chiamare Alice.” ed il server potrà dire qualcosa come “Si, te la chiamo” oppure “No, non c'è !”.
Un pò di TEORIA: il SIP ! SIP (Session Initiation Protocol) è un protocollo di segnalazione testuale simile all'HTTP usato per iniziare, mantenere e chiudere una sessione (ad esempio una telefonata, una partita ad un gioco, etc.). La definizione del protocollo ed il suo funzionamento sono definiti nell' RFC3261. Distinguamo adesso da dispositivo utente (UA) e Proxy seguendo passopasso una sessione di CHIAMATA sul Proxy tramite protocollo SIP.
Schema architettura VoIP
Asterisk: PBX libero Asterisk è una implementazione libera di un software PBX che permette di ottenere le stesse funzioni offerte da altri sistemi proprietari con una spesa decisamente inferiore ed una maggiore flessibilità. La prima stesura di Asterisk venne realizzata da Mark Spencer, un ingegnere informatico statunitense che, attorno all'anno 2000, fondò una società che sviluppa schede d'interfaccia FXS ed FXO. Spencer sviluppò Asterisk per favorire la diffusione delle interfacce Digium e, permettendone la libera distribuzione, solleticò l'interesse di moltissimi utilizzatori professionali ed appassionati, diffondendone largamente così la conoscenza. Asterisk è oggi un punto di riferimento nel settore. La completezza dei suoi contenuti e la sua affidabilità lo rendono una piattaforma ideale per una vasta gamma di applicazioni: è utilizzato come elemento portante per realizzare mediatori RTG/IP (centralini in grado cioè di utilizzare sia le linee telefoniche tradizionali sia i canali IP), sistemi Centrex (PBX "virtuali" e centralizzati), applicazioni per la gestione di Call Center ed altro ancora. Fonte: Wikipedia (http://it.wikipedia.org/wiki/Asterisk_PBX)
Cosa posso fare con Asterisk ? Asterisk è una soluzione completa per realizzare il Vs PBX sia in ambito casalingo che aziendale. Offre: ✔ Caselle di posta vocale ✔ IVR (Intercative Voice Response ) ✔ Routing condizionale ✔ Multipli codec audio e video ✔ ...molto altro ancora !!! La configurazione, purtroppo, avviene attraverso uno pseudolinguaggio di programmazione (ampiamente documentato) che però non è proprio banale: … exten => s,n(a35),GotoIf($[$["${CALLTRACE_HUNT}" != "" ] & $["${RingGroupMethod}" = "memoryhunt" ]]?a36:a50) exten => s,n(a36),Set(CTLoop=0) exten => s,n(a37),GotoIf($[${CTLoop} > ${HuntLoop}]?a42) exten => s,n,Set(CT_EXTEN=${CUT(FILTERED_DIAL,,$[${CTLoop} + 1])}) exten => s,n,Set(DB(CALLTRACE/${CT_EXTEN})=${CALLTRACE_HUNT}) exten => s,n,Set(CTLoop=$[1 + ${CTLoop}]) exten => s,n,Goto(s,a37) ...
La soluzione definitiva: FreePBX La mancanza di una GUI di gestione ha portato alcuni sviluppatori a lavorare su un sistema pratico e comodo per la configurazione e la gestione di un PBX Asterisk. Posso dirvi che, IMHO, FreePBX è il miglior sistema open source di configurazione e gestione di Asterisk: ● Installazione facile ed intuitiva ● Sviluppato in PHP ed interamente basato su interfaccia Web ● Aggiornamenti pratici ed affidabili ● Internazionalizzazione (si, è anche in Italiano !) ● Include anche interfaccia ARI per la gestione delle caselle vocali ● FOP: Flash Operator Panel per una panoramica del nostro sistema VoIP ● Gestione estensioni (utenti), IVR, VoiceBox, suonerie, code.... ● Invio e ricezione FAX ● ...e molto altro ancora !
Interfacciarsi La Digium (ed anche altri) produce delle schede PCI per connettere normali linee PSTN (Analogiche) ad un PBX Asterisk. (http://www.digium.com) Ultimamente anche Skype ha avviato, insieme alla Digium, un programma di sperimentazione (attualmente Beta) per interfacciare Asterisk a Skype. Esistono comunque prodotti commerciali che già permettono di comunicare via Skype attraverso un centralino Asterisk.
Telefoni VoIP
Links http://www.asterisk.org Asterisk – Il sito web di riferimento per il PBX OpenSource più famoso al mondo http://www.freepbx.org FreePBX – Gestire Asterisk via web in maniera facile ed efficace http://www.voipinfo.org A reference guide to VoIP World – Assolutamente un must ! http://www.euteliavoip.com Il servizio VoIP di Eutelia interamente basato su Asterisk: potete registrare un numero geografico gratuitamente ed usarlo per ricevere/fare telefonate via VoIP ! http://www.zerozone.it Il mio sito web. Troverete questa presentazione ed anche altro, oltre ai riferimenti se volete contattarmi :)
Grazie per l'attenzione ! Domande ?
Puoi anche leggere