VoIP e Software Libero - Antonio Gallo - www.badpenguin.org

3,334 views
3,239 views

Published on

Quali tecnologie Open Source sono disponibili per creare applicazioni VoIP per Linux

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,334
On SlideShare
0
From Embeds
0
Number of Embeds
561
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

VoIP e Software Libero - Antonio Gallo - www.badpenguin.org

  1. 1. www.badpenguin.org VoIP eVoIP e “Software Libero”“Software Libero” di Antonio Gallo (agx) - www.badpenguin.org
  2. 2. www.badpenguin.org Antonio Gallo, presentazioneAntonio Gallo, presentazione ● Socio di ILS dal 1996 ● Sys e web admin di www.linux.it per alcuni anni ● Organizzatore del LD dalla 1^ alla 5^ edizione ● Autore di documentazione su come creare e gestire un LUG su www.badpenguin.org ● Contributi a numerosi progetti open source... qualcosina anche al Kernel
  3. 3. www.badpenguin.org Ultime esperienze lavorativeUltime esperienze lavorative ● Ho lavorato per 4 anni nell'ambito del “voip” ● Da questa esperienza oggi trarremo alcuni spunti: – Cos'è il VoIP ? – Quali strumenti “liberi” abbiamo a disposizione per sfruttarlo con Linux? – Cosa posso in concreto fare con Linux, il software libero in ambito VoIP ?
  4. 4. www.badpenguin.org L’EVOLUZIONEL’EVOLUZIONE DELLE RETI TELEFONICHEDELLE RETI TELEFONICHE DA PSTN (analogiche)DA PSTN (analogiche) ALLE NUOVEALLE NUOVE TECNOLOGIE SU IP (digitali)TECNOLOGIE SU IP (digitali)
  5. 5. www.badpenguin.org Come funziona la telefoniaCome funziona la telefonia tradizionale?tradizionale? Quando alziamo la cornetta ci colleghiamo alla centrale telefonica più vicina tramite un circuito elettrico, la centrale ci trasmette il tono di libero. Il numero composto tramite toni (DTMF) o impulsi viene interpretato dai circuiti elettrici della centrale a cui siamo connessi. La centrale comunica con le altre centrali creando un circuito elettrico unico (commutazione) tra il chiamate e il chiamato.
  6. 6. www.badpenguin.org La telefonia tradizionale è mortaLa telefonia tradizionale è morta Sono anni ormai che le centrali della vecchia “SIP” sono “digitali”, sfruttano le tecnologie VoIP per trasmettere le voce da un punto all'altro della rete telefonica. Resta “tradizionale” soltanto il così detto “ultimo miglio”. Altri operatori, oggi, come ad esempio fastweb, tiscali, superano già il concetto di “ultimo miglio” portando nelle nostre case gateway VoIP che simulano le linee telefoniche.
  7. 7. www.badpenguin.org Come funziona la telefonia digitale?Come funziona la telefonia digitale? Le segnalazioni tra centrali non sono più codificate tramite impulsi elettrici ma tramite protocolli informatici (commutazione a pacchetto). La voce non viaggia più come un onda elettrica ma è convertita in dati: allo stesso modo in cui oggi non abbiamo più il disco di vinile ma l'MP3. Non esiste più un unico circuito ma “n” percorsi che i pacchetti dati intraprendono lungo la rete. Il protocollo “IP” è il nuovo mezzo trasmissivo.
  8. 8. www.badpenguin.org Concetti di base:Concetti di base: il significato di “VoIP”il significato di “VoIP” e la trasmissione della “voce”e la trasmissione della “voce”
  9. 9. www.badpenguin.org Cosa significa VoIP?Cosa significa VoIP? VoIP in inglese è la sigla per “Voice Over IP”. Ovvero la traduzione in italiano di “tecnologia di trasmissione della voce tramite commutazione a pacchetto IP”.
  10. 10. www.badpenguin.org Trasmissione della voceTrasmissione della voce La trasmissione della voce si basa sul convertire la “pressione dell'aria” registrata da un microfono in un segnale elettrico Solo le frequenze da 300 a 4000 Hz (spettro) vengono trasmesse, una piccola parte delle nostre capacità uditive
  11. 11. www.badpenguin.org Digitalizzazione e campionamentoDigitalizzazione e campionamento Nel VoIP il segnale elettrico proveniente dal microfono viene “campionato” a 8000 Hz e “quantizzato” (compresso) secondo determinati algoritmi matematici. La qualità rispetto alla telefonia tradizionale non cambia in quanto lo spettro delle frequenze utilizzato e il medesimo della telefonia analogica
  12. 12. www.badpenguin.org I CodecI Codec L'algoritmo matematico utilizzato per la “quantizzazione” (codifica) è in gergo detto “codec”. I codec comprimono i dati provenienti dal “campionatore” riducendo il numero di dati che vengono trasmessi a scapito della quantità di CPU utilizzata per comprimere questi dati e della qualità della voce.
  13. 13. www.badpenguin.org I principali codecI principali codec A 8000 Hz il campionamento di 1 secondo a 16bit di audio produce 128 Kbps (di dati) che vengono compressi con: – PCM (G.711 U/A) 64 Kbps – G.729a: 8 Kbps – G.726 (ADPCM): 16, 24, 32 e 40 Kbps – G.723.1: 5.3 Kbps – GSM Full Rate: 13 Kbps – iLBC: 16.2 Kbps – Speex: da 2 a 44 Kbps (configurabile)
  14. 14. www.badpenguin.org Il problema del payloadIl problema del payload ● Siccome il protocollo IP si comporta come un TIR in cui una motrice trasporta un rimorchio con le merci, allo stesso modo la quantità di dati trasmessi su una linea dati aumenta ● Esempio: 1 secondo di conversazione in G.711 che contiene 64 Kbps di dati viene trasmesso utilizzando 80Kbps di banda (!) ● Infatti quando si parla di Kbps in relazione a dei codec voip si intende la quantità di dati da trasmettere non l'effetiva occupazione di banda IP
  15. 15. www.badpenguin.org Codec e brevettiCodec e brevetti ● I brevetti incidono sul VOIP ● In particolare il codec G.729 – uno dei più usati perché offre uno dei migliori rapporti qualità/compressione – È brevettato, richiede pagamento di royalty per l'utilizzo – In alcuni casi è possibile l'utilizzo gratuito per privati o no-profit (*)
  16. 16. www.badpenguin.org I codec del futuroI codec del futuro Attualmente la qualità audio è la stessa degli ultimi 40 anni. La famiglia di codec G.722 permette: – Campionamento a 16.000Hz – Spettro di frequenze maggiore – Fattore di compressione elevati Purtroppo non tutti i provider supportano questo codec. Il G.722 richiede inoltre che il telefono sia dotato di una cornetta speciale (spettro più ampio).
  17. 17. www.badpenguin.org I PROTOCOLLI DII PROTOCOLLI DI SEGNALAZIONE:SEGNALAZIONE: come e dove trasmettiamo la vocecome e dove trasmettiamo la voce
  18. 18. www.badpenguin.org Protocolli di segnalazioneProtocolli di segnalazione I protocolli di segnalazione consentono di effettuare chiamate, trasferimenti e altre funzioni. Il protocollo di segnalazione usato dai principali provider è il S.I.P. (Session Initialization Protocol) Con il SIP potete: – comunicare punto-punto con un altro utente/apparecchiatura – tramite un “proxy” tramite comunicare con utenti “registrati” sullo stesso provider – tramite un “gateway” comunicare con utenti e apparecchiature “non-SIP”
  19. 19. www.badpenguin.org PerchéPerché SIP e non Skype?SIP e non Skype? Skype è un protocollo proprietario Skype non è adatto per creare un servizio pubblico Skype è peer-to-peer, anche se voi non fate nulla, altri utenti utilizzano la vostra ADSL per comunicare con terzi (*2008) Non c'è certezza di come Skype utilizza i vostri dati personali, log, conversazioni, ecc. (*2008)
  20. 20. www.badpenguin.org PerchéPerché SIP ?SIP ? SIP è stato progettato appositamente per creare infrastrutture telefoniche su rete IP. SIP consente l'iterazione tra gestori diversi. SIP è estensibile. SIP è un protocollo pubblico disponibile tramite RFC SIP è royalty free
  21. 21. www.badpenguin.org Come funziona il SIP ?Come funziona il SIP ? Il SIP si basa sul concetto di “user agent” (client) Lo user agent deve “registrarsi” presso un server per essere raggiungibile dagli altri utenti, praticamente è simile a un operazione di “login”. A questo punto tramite un “proxy” le nostre chiamate vengono inoltrate a altri utenti dello stesso proxy, di altri proxy o della rete telefonica pubblica (“gateway”).
  22. 22. www.badpenguin.org Come effettuo una chiamata SIP ?Come effettuo una chiamata SIP ? Tramite un client: – SOFTWARE: Ekiga, Kphone, LinPhone, Zoiper, ecc. (per windows: Zoiper, X-Lite) – Riutilizzando un vecchio telefono analogico e collegandolo a uno speciale apparecchio (ATA) che trasforma il segnale del telefono in VOIP-SIP; es. Linksys PAP2T – Utilizzando un telefono nativo VOIP (Grandstream, Snom, Aastra, etc.) Ovviamente in questo modo potete chiamare un altro utente solo conoscendone l'indirizzo IP.
  23. 23. www.badpenguin.org Come posso chiamare chiunque?Come posso chiamare chiunque? Occorre un abbonamento presso un “provider” VoIP, in Italia ci sono: – Eutelia – Exsorsa – Messagenet – McLink – LeVoIP.it – Squillo (NGI) – Parla – Univoice – Ecc., ecc., ecc.
  24. 24. www.badpenguin.org Il centralino VoIPIl centralino VoIP Tutti i centralini tradizionali possono essere aggiornati con costose schede per effettuare un upgrade al VoIP. In alternativa si può utilizzare Asterisk, FreeSwitch (o qualsiasi altro software simile) possibilmente annegati in una distribuzione Linux già pronta per velocizzare l'installazione. ATTENZIONE: far funzionare Asterisk (pensato per gli USA) in Italia non è uno scherzo (*2008)
  25. 25. www.badpenguin.org Soluzioni “free software”Soluzioni “free software” ● Librerie di sviluppo: – Sofia (Nokia) usata internamente da FreeSwitch – GNU “oSIP” usata internamente da LinPhone – PJSIP ● Registrar/Proxy SIP: – Asterisk (dual licensing) – FreeSwitch (MPL) – Callweaver (GPL), progetto italiano! – OpenSER => Kamailio, OpenSIPS
  26. 26. www.badpenguin.org Qual'è il leader?Qual'è il leader? Non esiste un leader, ognuno dei progetti ha dei punti di forza non coperti dagli altri. ● Asterisk: supporto per schede telefoniche PCI e codec proprietario G.729 ● Callweaver: supporto protocollo FAX T.38 ● OpenSER: proxy per la gestione di grandi volumi di utenti ● FreeSwitch: riconoscimento vocale, sintetizzatore vocale, XML e LDAP, possibilità di gestire ogni aspetto del protocollo SIP, sistema di audio-conferenze avanzato
  27. 27. www.badpenguin.org Quali applicazioni posso realizzare?Quali applicazioni posso realizzare? ● Centrale telefonica tradizionale (PBX) ● Voicemail (segreteria telefonica + email) ● Risponditore vocale (premere 1 per X, ecc.) con menù ad albero ● Smistamento automatico delle chiamate (se la chiamata arriva dal numero X, sulla linea Y, smistala all'interno Z) ● Integrazione dei dati aziendali con la fonia ● Diventare operatore di telefonia
  28. 28. www.badpenguin.org Un esempio di programmazioneUn esempio di programmazione Asterisk (semplificato)Asterisk (semplificato) exten=>10,1,Answer() exten=>10,2,PlayBack(tutte-gli-operatori-sono- ora-impegnati.wav) exten=>10,3,VoiceMail(paolo) exten=>10,4,Hangup()
  29. 29. www.badpenguin.org Un esempio di programmazione conUn esempio di programmazione con FreeSwitchFreeSwitch <extension name="Esempio1"> <condition field="destination_number" expression="^(d+) $"/> <action application="bridge" data="sofia/profilename/ $1@voip.provider.it"/> </condition> </extension>
  30. 30. www.badpenguin.org CallWeaver, Asterisk, FreeSwitchCallWeaver, Asterisk, FreeSwitch
  31. 31. www.badpenguin.org CallWeaverCallWeaver ● Progetto italiano ● Leader: Massimo Cetra ● Motivazioni: stack SIP, T.38 ● Punti di forza: qualità, stabilità ● Punti deboli: asterisk 1.2, funzionalità mancanti, mISDN non funzionante ● Sito: www.callweaver.org
  32. 32. www.badpenguin.org AsteriskAsterisk ● Pro: possibilità di inserire e utilizzare schede telefoniche PCI per i vari allacci telefonici (PSTN, ISDN, Pri-ISDN) ● Tantissime API e funzioni che estendono la piattaforma ● Contro: ● dual licensing? (*) ● Stack SIP rozzo ● Gethostbyname() e altre chiamate bloccanti (!) ● Non scala oltre le 250 chiamate ● Insicuro (*)
  33. 33. www.badpenguin.org FreeSwitchFreeSwitch ● Pro: ● Gestito da 3 persone che moderano e coordinano i contributi ● XML e altre tecnologie moderne ● Stack SIP di Nokia (libsofia) ● Gestisce migliaia di chiamate ● Contro: ● Ostico per i principianti o per chi viene dal mondo asterisk (?) ● Manca l'applicazione Queue (?) ● Non supporta schede ISDN nativamente ● Sicurezza
  34. 34. www.badpenguin.org ApprofondimentiApprofondimenti Confronto tra Asterisk e Freeswitch (inglese): http://www.freeswitch.org/node/117 “Asterisk e Dintorni” (e-book): http://www.apogeonline.com/libri/88-503-1041-2/ebook/libro Mia user page su Freeswitch: http://wiki.freeswitch.org/wiki/User:Agx
  35. 35. www.badpenguin.org ContattiContatti Antonio Gallo agx@linux.it http://www.badpenguin.org/follow-me (Jabber, skype, gTalk, MSN, Twitter, Facebook, Linkedin etc.)

×