SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
www.badpenguin.org
VoIP eVoIP e “Software Libero”“Software Libero”
di Antonio Gallo (agx) - www.badpenguin.org
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
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 ?
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)
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.
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.
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.
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”
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”.
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
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
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.
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)
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
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 (*)
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).
www.badpenguin.org
I PROTOCOLLI DII PROTOCOLLI DI
SEGNALAZIONE:SEGNALAZIONE:
come e dove trasmettiamo la vocecome e dove trasmettiamo la voce
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”
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)
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
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”).
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.
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.
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)
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
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
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
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()
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>
www.badpenguin.org
CallWeaver, Asterisk, FreeSwitchCallWeaver, Asterisk, FreeSwitch
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
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 (*)
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
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
www.badpenguin.org
ContattiContatti
Antonio Gallo
agx@linux.it
http://www.badpenguin.org/follow-me
(Jabber, skype, gTalk, MSN, Twitter, Facebook, Linkedin etc.)

Más contenido relacionado

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

La storia del protocollo VoIP
La storia del protocollo VoIPLa storia del protocollo VoIP
La storia del protocollo VoIPWikiCorsoWeb
 
L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)
L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)
L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)Andrea Grandi
 
Proposte (informatiche) per il comune di Santa Maria Capua Vetere
Proposte (informatiche) per il comune di Santa Maria Capua VetereProposte (informatiche) per il comune di Santa Maria Capua Vetere
Proposte (informatiche) per il comune di Santa Maria Capua VetereFrancesco Taurino
 
Presentazione Corso Mini centralino
Presentazione Corso Mini centralinoPresentazione Corso Mini centralino
Presentazione Corso Mini centralinoGiuseppe Mazzucato
 
iDialoghi: L'alba dell'IPv6: opportunita' e problemi
iDialoghi: L'alba dell'IPv6: opportunita' e problemiiDialoghi: L'alba dell'IPv6: opportunita' e problemi
iDialoghi: L'alba dell'IPv6: opportunita' e problemiiDIALOGHI
 
Corso VoIP per Area Commerciale 2006
Corso VoIP per Area Commerciale 2006Corso VoIP per Area Commerciale 2006
Corso VoIP per Area Commerciale 2006rosariolatorre
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceClaudio Cardinali
 
Open WiFi solution for Public Administrator and University
Open WiFi solution for Public Administrator and UniversityOpen WiFi solution for Public Administrator and University
Open WiFi solution for Public Administrator and UniversityMaurizio Goretti
 
Formati aperti vs formati proprietari
Formati aperti vs formati proprietariFormati aperti vs formati proprietari
Formati aperti vs formati proprietariRiccardo Zanella
 
Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Giuseppe Vizzari
 
Openmoko - La costruzione di un “Telefoninux”
Openmoko - La costruzione di un “Telefoninux”Openmoko - La costruzione di un “Telefoninux”
Openmoko - La costruzione di un “Telefoninux”Marco Trevisan
 
Guida al computer - Lezione 90 - Protocolli ed indirizzi IP
Guida al computer - Lezione 90 - Protocolli ed indirizzi IP Guida al computer - Lezione 90 - Protocolli ed indirizzi IP
Guida al computer - Lezione 90 - Protocolli ed indirizzi IP caioturtle
 

Similar a VoIP e Software Libero - Antonio Gallo - www.badpenguin.org (20)

La storia del protocollo VoIP
La storia del protocollo VoIPLa storia del protocollo VoIP
La storia del protocollo VoIP
 
Asterisk
AsteriskAsterisk
Asterisk
 
il VoIP
il VoIPil VoIP
il VoIP
 
Asterisk
AsteriskAsterisk
Asterisk
 
Corso Centralino Libero
Corso Centralino LiberoCorso Centralino Libero
Corso Centralino Libero
 
L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)
L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)
L'uso del VOIP in azienda (LinuxDay 2010 - Pistoia)
 
Skype in azienda
Skype in aziendaSkype in azienda
Skype in azienda
 
Proposte (informatiche) per il comune di Santa Maria Capua Vetere
Proposte (informatiche) per il comune di Santa Maria Capua VetereProposte (informatiche) per il comune di Santa Maria Capua Vetere
Proposte (informatiche) per il comune di Santa Maria Capua Vetere
 
Presentazione Corso Mini centralino
Presentazione Corso Mini centralinoPresentazione Corso Mini centralino
Presentazione Corso Mini centralino
 
iDialoghi: L'alba dell'IPv6: opportunita' e problemi
iDialoghi: L'alba dell'IPv6: opportunita' e problemiiDialoghi: L'alba dell'IPv6: opportunita' e problemi
iDialoghi: L'alba dell'IPv6: opportunita' e problemi
 
Vo ip
Vo ipVo ip
Vo ip
 
Corso VoIP per Area Commerciale 2006
Corso VoIP per Area Commerciale 2006Corso VoIP per Area Commerciale 2006
Corso VoIP per Area Commerciale 2006
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open Source
 
Open WiFi solution for Public Administrator and University
Open WiFi solution for Public Administrator and UniversityOpen WiFi solution for Public Administrator and University
Open WiFi solution for Public Administrator and University
 
Formati aperti vs formati proprietari
Formati aperti vs formati proprietariFormati aperti vs formati proprietari
Formati aperti vs formati proprietari
 
TCP IP
TCP IPTCP IP
TCP IP
 
Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19
 
Openmoko - La costruzione di un “Telefoninux”
Openmoko - La costruzione di un “Telefoninux”Openmoko - La costruzione di un “Telefoninux”
Openmoko - La costruzione di un “Telefoninux”
 
Guida al computer - Lezione 90 - Protocolli ed indirizzi IP
Guida al computer - Lezione 90 - Protocolli ed indirizzi IP Guida al computer - Lezione 90 - Protocolli ed indirizzi IP
Guida al computer - Lezione 90 - Protocolli ed indirizzi IP
 
L'aspetto sociale del p2p
L'aspetto sociale del p2pL'aspetto sociale del p2p
L'aspetto sociale del p2p
 

Último

Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 

Último (9)

Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 

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

  • 1. www.badpenguin.org VoIP eVoIP e “Software Libero”“Software Libero” di Antonio Gallo (agx) - www.badpenguin.org
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. www.badpenguin.org I PROTOCOLLI DII PROTOCOLLI DI SEGNALAZIONE:SEGNALAZIONE: come e dove trasmettiamo la vocecome e dove trasmettiamo la voce
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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>
  • 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. 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. 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. 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