Asterisk

1,623 views

Published on

Voip con Asterisk - La presentazione di Asterisk e FreePBX in occasione del LinuxDay 2009 a Siena

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,623
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
44
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Asterisk

  1. 1. VoIP tra teoria e pratica Michele “O-Zone” Pinassi
  2. 2. 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.
  3. 3. PSTN vs INTERNET <ul><li>Alice e Bob devono essere connessi ad Internet
  4. 4. Alice invia su Internet pacchetti di dati destinati a Bob
  5. 5. Comunicazione digitale a pacchetti
  6. 6. Alice e Bob devono essere connessi ad Internet </li></ul><ul><li>Alice e Bob devono essere connessi entrambi alla stessa centrale telefonica
  7. 7. Alie verrà connessa fisicamente al telefono di Bob
  8. 8. Comunicazione analogica
  9. 9. Alice e Bob devono essere clienti e pagare le tariffe al provider TLC </li></ul>
  10. 10. L'idea Già dal 1995 ci furono i primi protocolli per trasmettere voce in tempo reale tramite reti IP. Di fatto nacque il VoIP: V oice o ver 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.
  11. 11. 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: <ul><li>SIP (IETF)
  12. 12. H.323 (ITU) </li></ul>ed uno proprietario: <ul><li>Skype (Skype Technology S.A.) </li></ul>
  13. 13. 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 Call-ID: 400763441@10.10.10.9 Authorization: Digest username=&quot;213&quot;, realm=&quot;asterisk&quot;, nonce=&quot;3c306025&quot;, uri=&quot;sip:213@10.10.10.100&quot;, response=&quot;00e1699f3675d646a0ad322e30b5ff5a&quot; User-Agent: UniversalSIPClient/0.0.1.1 Contact: <sip:213@10.10.10.9:5069> Content-Length: 0
  14. 14. 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 . Trasporto
  15. 15. PBX ? Teoricamente per chiamare via Internet non c'è bisogno di intermediari (le cosiddette chiamate Peer-to-Peer ). 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'è ! ”.
  16. 16. 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 passo-passo una sessione di CHIAMATA sul Proxy tramite protocollo SIP.
  17. 17. SIP
  18. 18. Schema architettura VoIP
  19. 19. 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 &quot;virtuali&quot; e centralizzati), applicazioni per la gestione di Call Center ed altro ancora. Fonte: Wikipedia ( http://it.wikipedia.org/wiki/Asterisk_PBX )
  20. 20. Cosa posso fare con Asterisk ? Asterisk è una soluzione completa per realizzare il Vs PBX sia in ambito casalingo che aziendale. Offre: <ul><li>Caselle di posta vocale
  21. 21. IVR (Intercative Voice Response )
  22. 22. Routing condizionale
  23. 23. Multipli codec audio e video
  24. 24. ...molto altro ancora !!! </li></ul>La configurazione, purtroppo, avviene attraverso uno pseudo-linguaggio di programmazione (ampiamente documentato) che però non è proprio banale: … exten => s,n(a35),GotoIf($[$[&quot;${CALLTRACE_HUNT}&quot; != &quot;&quot; ] & $[&quot;${RingGroupMethod}&quot; = &quot;memoryhunt&quot; ]]?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) ...
  25. 25. 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: <ul><li>Installazione facile ed intuitiva
  26. 26. Sviluppato in PHP ed interamente basato su interfaccia Web
  27. 27. Aggiornamenti pratici ed affidabili
  28. 28. Internazionalizzazione (si, è anche in Italiano !)
  29. 29. Include anche interfaccia ARI per la gestione delle caselle vocali
  30. 30. FOP: Flash Operator Panel per una panoramica del nostro sistema VoIP
  31. 31. Gestione estensioni (utenti), IVR, VoiceBox, suonerie, code....
  32. 32. Invio e ricezione FAX
  33. 33. ...e molto altro ancora ! </li></ul>
  34. 36. 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.
  35. 37. Telefoni VoIP
  36. 38. 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.voip-info.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 :-)
  37. 39. Grazie per l'attenzione ! Domande ?

×