Integrazione di un protocollo per la moderazione in un client open source per una
piattaforma di videoconferenza basata su IP
5
Introduzione
Il Voice over IP (Voce tramite protocollo Internet), acronimo VoIP, è una tecnologia
che rende possibile effettuare una conversazione telefonica sfruttando una connessione
Internet o un'altra rete dedicata che utilizza il protocollo IP, anziché passare attraverso la rete
telefonica tradizionale (PSTN). Ciò consente di eliminare le relative centrali di commutazione
e di economizzare sulla larghezza di banda occupata. Vengono instradati sulla rete pacchetti
di dati contenenti le informazioni vocali, codificati in forma digitale, e ciò solo nel momento
in cui è necessario, cioè quando uno degli utenti collegati sta parlando.
Grazie alla sua economicità, l’uso della tecnologia VoIP è alla base di molti studi e
ricerche per svilupparne e facilitarne ancora di più l’utilizzazione; negli ultimi anni sono stati
sviluppati diversi software che integrano la gestione del conferencing tramite VoIP assieme
ad applicazioni di rete come l’instant messanging e il file sharing.
Il termine conferencing è, in generale, utilizzato per indicare comunicazioni di
gruppo, in tempo reale e sincrone, fra partecipanti geograficamente distribuiti. La rete
telefonica tradizionale PSTN si è rivelata ben presto poco adatta a scenari di conferencing,:
infatti queste architetture furono pensate e realizzate solamente per la trasmissione del
segnale vocale, e quindi non sono sufficientemente flessibili per la trasmissione attuale di
dati, quale può essere uno scambio di file o una videoconferenza in tempo reale.
La tecnologia VoIP richiede due tipologie di protocolli di comunicazione in parallelo.
Il primo è per il trasporto dei dati; gli altri protocolli servono per la codifica della
Integrazione di un protocollo per la moderazione in un client open source per una
piattaforma di videoconferenza basata su IP
6
segnalazione della conversazione (ricostruzione del frame audio, sincronizzazione,ecc.) che
utilizzano altri tipi di protocolli alternativi, quali possono essere SIP (Session Initiation
Protocol) dell’IETF (Internet Engineering Task Force), H.323 e tanti altri.
SIP gestisce in modo generale una sessione di comunicazione tra due o più entità,
ovvero fornisce meccanismi per instaurare, modificare e terminare (rilasciare) una sessione.
Attraverso il protocollo SIP possono essere trasferiti dati di diverso tipo (audio, video,
messaggistica testuale, ecc). Inoltre, SIP favorisce un'architettura modulare e scalabile,
ovvero capace di crescere con il numero degli utilizzatori del servizio. Queste potenzialità
hanno fatto sì che SIP sia, oggi, il protocollo VoIP più diffuso nel mercato residenziale e
business, sorpassando di molto altri protocolli come H.323.
Alla luce delle precedenti premesse, obiettivo del presente lavoro di tesi è stato quello
di sviluppare, facendo uso di apposite librerie di sviluppo (Gtk+ Gnome), una modifica
relativa a un client VoIP (Ekiga, ex GnomeMeeting) in modo da permettergli la fruizione di
scenari di conferencing avanzati.
Particolare attenzione è stata dedicata al protocollo BFCP (Binary Floor Control
Protocol), il cui compito è gestire la moderazione di risorse all’interno di una conferenza. Il
protocollo BFCP è parte di un più ampio progetto nato in seno al gruppo XCON (Centralized
Conferencing Working Group), creato appositamente dall‘IETF per ovviare al problema della
standardizzazione di tecnologie che si occupano di web conferencing.
Con il termine floor si intende il permesso, in senso generico, di usufruire
temporaneamente, nell’ambito di una conferenza, di un determinato set di risorse condivise
associate alla specifica istanza della stessa conferenza. In particolare, BFCP si occupa di
sincronizzare e coordinare l’accesso a queste risorse condivise, ma non definire le eventuali
regole e politiche di assegnazione di questi floors ai richiedenti.
L’architettura utilizzata in questo progetto si basa fondamentalmente su due
programmi, uno riguardante il lato server (Asterisk) e l’altro il lato client (Ekiga). Asterisk è
nato come progetto Open Source per la realizzazione di un centralino VoIP software, in grado
cioè di gestire le moderne comunicazioni VoIP e interfacce per la gestione di linee PSTN
(analogiche e digitali) in maniera integrata; è capace di supportare gli scenari di conferencing
Integrazione di un protocollo per la moderazione in un client open source per una
piattaforma di videoconferenza basata su IP
7
centralizzato prospettati da XCON grazie all’estensione di un suo modulo applicativo
chiamato MeetMe. Ekiga (in precedenza nota come GnomeMeeting) è invece un'applicazione
open source per il VoIP e la videoconferenza appositamente scritta per GNOME, il noto
desktop environment. Ekiga utilizza sia il protocollo H.323 che il protocollo SIP per quanto
riguarda la segnalazione.
Nei primi capitoli verrà presentata una più ampia panoramica sul contesto applicativo
del lavoro e sugli sforzi di standardizzazione attuati dall‘IETF in ambito di web conferencing
attraverso il suo gruppo di lavoro XCON. Nel capitolo 3 sarà preso in considerazione il
protocollo BFCP nel suo ambito generale, ed evidenziata la relativa necessità di un client per
il suo utilizzo. Nel capitolo 4 verrà successivamente discussa e mostrata l’implementazione
pratica del lato client; di seguito verranno quindi presentate, nel capitolo 5, delle
sperimentazioni reali mirate a verificare il buon funzionamento del progetto, con la messa in
atto di scenari operativi tipici, attraverso lo scambio di messaggi BFCP tra Asterisk ed Ekiga
(richiesta e rilascio di un floor, avere informazioni su un utente, e così via). In conclusione nel
capitolo 6 verranno presentati gli eventuali sviluppi futuri su cui si potrà basare il lavoro
svolto.
Integrazione di un protocollo per la moderazione in un client open source per una
piattaforma di videoconferenza basata su IP
8
Capitolo 1
Tecnologie VoIP
1.1 Dalla rete telefonica PSTN al VoIP
La rete telefonica tradizionale viene chiamata PSTN (Public Switched Telephony
Network) ed è stata pensata e progettata per soddisfare le due esigenze principali della
telefonia e cioè la trasmissione (il trasporto) della voce e la commutazione (il routing o
instaurazione della chiamata). Quando un utente compone un numero telefonico ed entra in
comunicazione con un altro utente, le centrali componenti la rete PSTN instaurano un circuito
fisico temporaneo dedicato a quella comunicazione. Vengono quindi allocate staticamente
delle risorse di rete per costituire un circuito fisico che permetta la comunicazione, per questo
motivo la rete PSTN viene anche chiamata “rete a commutazione di circuito”. Al contrario le
“reti a commutazione di pacchetto” instaurano dei circuiti virtuali senza dedicare in maniera
esclusiva delle risorse ai due capi della comunicazione. I vantaggi della PSTN sono quelli di
garantire una buona qualità della “conversazione telefonica” che risulta così garantita e
costante, di essere una rete capillare in grado di raggiungere la totalità della popolazione, di
utilizzare una tecnologia stabile e consolidata e di poter disporre di personale con know-how
adeguato. Per contro, esistono ad oggi delle mancanze e dei limiti oggettivi, che con l’avvento
delle nuove tecnologie insidiano lo strapotere delle reti tradizionali.
Le reti PSTN sono di fatto gestite da operatori dominanti, gli investimenti necessari a
realizzare una rete capillare sono proibitivi, l’utilizzo della rete non è ottimizzato,
Integrazione di un protocollo per la moderazione in un client open source per una
piattaforma di videoconferenza basata su IP
9
l’allocazione statica dei circuiti è uno spreco (le statistiche parlano di un utilizzo inferiore al
50% della banda disponibile), infine, l’evoluzione tecnologica è orientata alla realizzazione di
reti convergenti (voce, dati e video) che potranno essere realizzate utilizzando protocolli
basati su IP e le tecnologie Voice Over Internet Protocol (VoIP).
La nascita del VoIP si fa risalire al 1995, quando alcuni appassionati informatici
israeliani sperimentarano la prima comunicazione voce tra due computer. Nello stesso anno la
tecnologia fu inserita in un software noto come "Internet Phone Software": per parlare da PC
a PC era sufficiente un modem, una scheda audio, autoparlanti e microfono. Attraverso la
compressione e digitalizzazione del segnale audio, la voce viaggiava lungo la rete internet
sottoforma di "pacchetti dati". All'inzio la qualità audio era scarsa e certamente inferiore a
quella delle tradizionali linee telefoniche, ma la tecnologia migliorò rapidamente. Nel 1998,
in particolare, furono introdotti i primi gateway di interconessione per abilitare le chiamate da
PC alle linee telefoniche tradizionali: se si compone un normale numero telefonico, la
chiamata viene instradata attraverso la connessione internet alla compagnia che gestisce il
gateway, che provvede ad effettuare il normale addebito del relativo costo.
Il funzionamento della rete VoIP è relativamente semplice: il segnale audio (la voce)
viene trasformato in formato digitale, dopodiché viene trasmesso, compresso, sottoforma di
"pacchetti dati" attraverso Internet. I "pacchetti dati" compressi contengono, oltre alle
informazioni relative alla voce, anche altre informazioni relative all'origine, alla destinazione
e all'ora di invio dei pacchetti. Tali informazioni consentono di "ricostruire" correttamente la
voce quando i pacchetti dati raggiungono il destinatario e sono riconvertiti in segnale audio
analogico.
Le reti IP non dispongono di per sé di alcun meccanismo in grado di garantire che i
"pacchetti dati" vengano ricevuti nello stesso ordine in cui vengono trasmessi, né alcuna
garanzia relativa in generale alla qualità di servizio. Le attuali applicazioni nel mondo reale
della telefonia VoIP si trovano a dover affrontare problematiche legate a problemi di latenza
(sostanzialmente si deve ridurre il tempo di transito e di elaborazione dei dati durante le
conversazioni) e di integrità dei dati (prevenire perdite e danneggiamenti delle informazioni
contenute nei pacchetti). Il problema di fondo della tecnologia VoIP è la corretta
Integrazione di un protocollo per la moderazione in un client open source per una
piattaforma di videoconferenza basata su IP
10
ricostruzione dei pacchetti di dati ricevuti, tenuto conto del fatto che durante la trasmissione
può cambiare la sequenza dei pacchetti e che alcuni pacchetti possono aver subito perdite o
danneggiamenti delle informazioni contenute, e assicurare così che lo stream audio (flusso
audio) mantenga la corretta coerenza temporale. Altro importante problema è mantenere il
tempo di latenza dei pacchetti sufficientemente basso, in modo che l'utente non debba
aspettare troppo tempo prima di ricevere le risposte durante le conversazione. Inoltre con
velocità minori di 256 kbit/s possono aversi problemi di jitter (errore nella base dei tempi
quando un campione digitale è convertito in segnale analogico). Infatti, su reti lente, il ritardo
di trasmissione diventa rilevante, e di conseguenza i protocolli di VoIP utilizzano pacchetti
più piccoli della dimensione massima (generalmente 1500 bytes).
Nonostante, come abbiamo visto, ci siano diversi problemi riguardo l'instradamento
dei pacchetti dati sulla rete, lo sviluppo della tecnologia VoIP va via via espandendosi grazie
al grande sviluppo della banda larga (ADSL).
Una tra le applicazioni VoIP di maggiore interesse è il conferencing, uno strumento
utilizzato per effettuare comunicazioni simultanee tra due o più entità partecipanti fisicamente
distanti e collegate attraverso Internet, che permette in genere di interagire usando una serie di
risorse addizionali come, ad esempio, flusso video associato all’audio, la messagistica
istantanea, presentazioni di immagini o condivisione ed invio di file. Fin dall'inizio di
Internet, i termini web conferencing e computer conferencing erano spesso usati in
riferimento a gruppi di discussione aventi luogo in message board, mediante dei messaggi di
tipo testuale che vi venivano mandati: col tempo quei termini si sono evoluti per riferirsi
specificamente agli incontri in tempo reale (sincroni), mentre i gruppi di discussione mediante
posting di messaggi vengono oggi chiamati forum o message board. Nei primi anni '90
nacquero le prime text-chat, come IRC; dopo qualche anno iniziarono a fiorire i primi
programmi di instant messagging.
1.2 Le tecnologie attuali
Oggi moltissimi software, spesso liberamente disponibili, consentono a qualunque
persona dotata di un PC collegato ad Internet di chiamare e videochiamare gratuitamente in
Integrazione di un protocollo per la moderazione in un client open source per una
piattaforma di videoconferenza basata su IP
11
tutto il mondo un'altra persona anch'essa munita di PC e connessione Internet. Ciò é possibile
proprio grazie alla tecnologia VoIP, che consente la trasmissione della voce e del segnale
video (qualora si scelga di effettuare una videochiamata) attraverso la connessione Internet
del proprio PC.
Per gli utenti la convenienza é legata alla possibilità di abbattere drasticamente i costi
delle bollette telefoniche, o di azzerarle del tutto effettuando chiamate da computer a
computer (o da telefono verso utenti con lo stesso abbonamento VoIP).
Tra i software più diffusi che utilizzano questa tecnologia si possono ricordare tra gli
altri Skype, Google Talk e Msn Messenger. In particolare molti programmi, nati in origine
solo per consentire le chat testuale (software di Instant Messaging come es. Msn Messenger),
sono stati successivamente arricchiti per consentire di effettuare chiamate vocali e
videochiamate
Sicuramente il software più in voga del momento è Skype, che ha numerose
peculiarità che lo differenziano dagli altri. Innanzitutto possiamo notare che Skype fa uso di
un protocollo VoIP proprietario (cioè non formalizzato in alcuno standard internazionale) per
trasmettere le chiamate. I dati, trasmessi in forma digitale, vengono cifrati tramite algoritmi
non divulgati pubblicamente. Questo rende Skype un mondo chiuso, basato su protocolli
proprietari, una tecnologia che, forte della sua base di utenti, impedisce l'interoperabilità con
altre soluzioni, che sarebbe invece garantita da un protocollo aperto come quello SIP, già
utilizzato dalla maggior parte dei provider di servizi VoIP in Italia e nel mondo e dai
software alternativi a Skype.
Così come dal punto di vista dei software, anche le compagnie telefoniche hanno
dirottato molti dei loro investimenti in tecnologia VoIP, visto il significativo abbattimento dei
costi e la crescente diffusione delle connessioni internet veloci, dette anche a banda larga,
con abbonati che inviano e ricevono chiamate in modo del tutto analogo a quello con cui il
servizio veniva erogato attraverso la vecchia rete analogica commutata.
Per connettere un telefono analogico tradizionale con la connessione Internet a banda
larga è necessaria un'interfaccia, denominata ATA (Analog Telephone Adapter). Negli USA
alcune compagnie utilizzano VoIP per effettuare chiamate senza limiti di tempo all'interno