VoIP - Voice-over-IP
Introduzione
Il VoIP (Voice-over-IP, voce su rete IP) è una tecnologia che consente di effettuare una conversazione telefonica sfruttando una rete dati che implementa il protocollo IP (ad esempio Internet). Con il VoIP è possibile sostituire la rete telefonica tradizionale PSTN (Public-Switched Telephone Network),
eliminando le relative centrali di commutazione. L'idea alla base della telefonia su rete IP è relativamente semplice: codificare le informazioni vocali in forma digitale (ovvero come una sequenza di bit) e inviarle sulla rete dati sottoforma di pacchetti, esattamente come per tutti gli altri servizi offerti dalla rete, dal web alla posta elettronica. Rispetto alla telefonia tradizionale, questa tecnologia presenta diversi vantaggi, tra cui:- minore costo per chiamata, specialmente su lunghe distanze, o addirittura costo zero per alcuni tipi di chiamata;
- assenza di infrastruttura dedicata: viene utilizzata la rete dati;
- servizi innovativi come la videochiamata e la messaggistica istantanea;
- integrazione del sistema telefonico con il sistema informativo.
Protocolli utilizzati
La tecnologia VoIP richiede che due protocolli di comunicazione agiscano in parallelo: un protocollo di segnalazione della conversazione, che si occupa della ricostruzione delle informazioni vocali, della sincronizzazione, ecc., e un protocollo per il trasporto dei dati (ovvero dei pacchetti voce su IP). Esistono diversi protocolli di segnalazione, tra cui il SIP (Session Initiation Protocol) standardizzato dall'IETF (Internet Engineering Task Force), l'H.323 definito dall'ITU (International Telecommunication Union) e lo Skinny Client Control Protocol proprietario della Cisco. Le differenze tra questi protocolli si evidenziano nel loro funzionamento e nella maggiore o minore complessità di implementazione. Per quanto riguarda il protocollo di trasporto, nella maggior parte delle implementazioni viene utilizzato l'RTP (Real-time transport protocol), progettato per il trasporto end-to-end di dati multimediali.Problematiche
Le reti a commutazione di pacchetto (Internet e le LAN) non dispongono di per sè di nessun meccanismo in grado di garantire che i pacchetti di dati viaggino dal mittente al destinatario senza subire ritardi e che vengano consegnati con lo stesso ordine dell'invio. Uno dei principali problemi che la tecnologia VoIP deve affrontare è quindi costituito dalla ricostruzione dei pacchetti voce ricevuti, tenendo conto del fatto che durante la trasmissione la sequenza dei pacchetti può cambiare, e che alcuni pacchetti possono subire perdite o danneggiamenti. L'obiettivo dei protocolli coinvolti nella tecnologia VoIP è di mantenere la coerenza temporale delle sequenze di pacchetti voce, in maniera da garantire una qualità audio quantomeno accettabile per gli utenti finali. Altro problema di un certo rilievo è rappresentato dai tempi di latenza dei pacchetti che devono rimanere bassi al fine di assicurare l'interattività della conversazione. Tali problemi possono essere risolti mediante l'utilizzo di meccanismi per la Quality-of-Service (QoS) il cui scopo è di mantenere livelli di performance adeguati per i pacchetti voce, o per qualsiasi contenuto che richieda un trattamento particolare.Sicurezza
Il VoIP è vulnerabile a tutti i problemi di sicurezza che interessano generalmente le reti di trasmissione dati tradizionali. In particolare gli attacchi alla sicurezza più pericolosi sono l'appropriazione dell'identità (spoofing identity), l'intercettazione delle chiamate (eavesdropping), gli attacchi di tipo DoS (Denial-of-Service) e il dirottamento delle chiamate. Mantenere alto il livello della sicurezza nelle comunicazioni tramite VoIP ha come obiettivo principale la tutela della privacy e la corretta fatturazione delle chiamate effettuate, oltre al soddisfacimento dei requisiti legislativi.Alcune soluzioni per la sicurezza delle comunicazioni VoIP prevedono l'utilizzo di crittografia a chiave asimmetrica e firma digitale per la tutela della privacy, e di firewall opportunamente configurati per gli attacchi su descritti.
Esempio: VoipBuster & Ekiga
Vediamo ora un esempio di configurazione di un client VoIP in ambiente Linux. Il provider del servizio di telefonia su rete IP è VoipBuster, che permette di comunicare gratuitamente con altri utenti connessi alla rete, e di telefonare a tariffe convenienti ad utenti della telefonia tradizionale fissa e mobile (per maggiori informazioni www.voipbuster.com).
Ekiga (chiamato formalmente GnomeMeeting) è un'applicazione gratuita e open source per il VoIP e la videoconferenza. Ekiga supporta i protocolli SIP e H.323 (basati su OpenH323) ed è in grado di interagire pienamente con qualsiasi altro client SIP-compliant e con Microsoft NetMeeting. Supporta moltissimi codec audio e video (www.ekiga.org).
Per la configurazione di Ekiga supporremo di aver effettuato la registrazione al sito di VoipBuster.
Modifica -> Account -> Aggiungi
Nome account: VoipBuster
Registrar: sip1.voipbuster.com:5060
Utente: [userID]
Password: [password]
Login di autenticazione: [userID]
Realm/Dominio: voipbuster.com
Modifica -> Preferenze -> Protocolli -> Impostazioni di rete
Interfaccia di rete in ascolto su: [selezionare l'interfaccia]
Impostazioni NAT: IP translation
STUN server: stun.voipbuster.com
**ATTENZIONE: le impostazioni del NAT possono variare a seconda degli apparati di rete utilizzati. Inoltre potrebbe essere necessario modificare le impostazioni di un eventuale firewall. **
Modifica -> Preferenze -> Protocolli -> Impostazioni SIP
ProxyOutbound: sip.voipbuster.com