voip e software libero - antonio gallo -

35
www.badpenguin.org VoIP e VoIP e “Software Libero” “Software Libero” di Antonio Gallo (agx) - www.badpenguin.org

Upload: antonio-gallo

Post on 06-Dec-2014

3.024 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

VoIP e VoIP e “Software Libero”“Software Libero”

di Antonio Gallo (agx) - www.badpenguin.org

Page 2: VoIP e Software Libero - Antonio Gallo -

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

Page 3: VoIP e Software Libero - Antonio Gallo -

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 ?

Page 4: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

L’EVOLUZIONE L’EVOLUZIONE DELLE RETI TELEFONICHE DELLE RETI TELEFONICHE

DA PSTN (analogiche)DA PSTN (analogiche)ALLE NUOVE ALLE NUOVE

TECNOLOGIE SU IP (digitali)TECNOLOGIE SU IP (digitali)

Page 5: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

Come funziona la telefonia Come 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.

Page 6: VoIP e Software Libero - Antonio Gallo -

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.

Page 7: VoIP e Software Libero - Antonio Gallo -

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.

Page 8: VoIP e Software Libero - Antonio Gallo -

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”

Page 9: VoIP e Software Libero - Antonio Gallo -

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”.

Page 10: VoIP e Software Libero - Antonio Gallo -

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

Page 11: VoIP e Software Libero - Antonio Gallo -

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

Page 12: VoIP e Software Libero - Antonio Gallo -

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.

Page 13: VoIP e Software Libero - Antonio Gallo -

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)

Page 14: VoIP e Software Libero - Antonio Gallo -

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

Page 15: VoIP e Software Libero - Antonio Gallo -

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 (*)

Page 16: VoIP e Software Libero - Antonio Gallo -

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).

Page 17: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

I PROTOCOLLI DI I PROTOCOLLI DI SEGNALAZIONE:SEGNALAZIONE:

come e dove trasmettiamo la vocecome e dove trasmettiamo la voce

Page 18: VoIP e Software Libero - Antonio Gallo -

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”

Page 19: VoIP e Software Libero - Antonio Gallo -

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)

Page 20: VoIP e Software Libero - Antonio Gallo -

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

Page 21: VoIP e Software Libero - Antonio Gallo -

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”).

Page 22: VoIP e Software Libero - Antonio Gallo -

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.

Page 23: VoIP e Software Libero - Antonio Gallo -

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.

Page 24: VoIP e Software Libero - Antonio Gallo -

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)

Page 25: VoIP e Software Libero - Antonio Gallo -

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

Page 26: VoIP e Software Libero - Antonio Gallo -

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

Page 27: VoIP e Software Libero - Antonio Gallo -

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

Page 28: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

Un esempio di programmazioneUn esempio di programmazioneAsterisk (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()

Page 29: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

Un esempio di programmazione con Un esempio di programmazione con FreeSwitchFreeSwitch

<extension name="Esempio1">

<condition field="destination_number" expression="^(\d+)$"/>

<action application="bridge" data="sofia/profilename/[email protected]"/>

</condition>

</extension>

Page 30: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

CallWeaver, Asterisk, FreeSwitchCallWeaver, Asterisk, FreeSwitch

Page 31: VoIP e Software Libero - Antonio Gallo -

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

Page 32: VoIP e Software Libero - Antonio Gallo -

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 (*)

Page 33: VoIP e Software Libero - Antonio Gallo -

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

Page 34: VoIP e Software Libero - Antonio Gallo -

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

Page 35: VoIP e Software Libero - Antonio Gallo -

www.badpenguin.org

ContattiContatti

Antonio Gallo

[email protected]://www.badpenguin.org/follow-me

(Jabber, skype, gTalk, MSN, Twitter, Facebook, Linkedin etc.)