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 InternetL'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 RTPPBX ? 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