L’integrazione delle reti voce e dati è vantaggiosa sotto molti aspetti, ma per creare un progetto di rete è importante conoscere tutti i dettagli del funzionamento interno della tecnologia della rete stessa. La tecnologia VoIP presenta problemi simili a quelli dello standard multiple TDM, già precedentemente descritti nei paragrafi precedenti, più altri come ad esempio il ritardo, la latenza, il tremolio (jitter), il campionamento digitale, la compressione della voce, l’eco, la perdita dei pacchetti, la conversione analogico digitale.

 

Ritardo o Latenza

Il ritardo o la latenza è definito come il tempo necessario affinché la voce uscita dalla bocca di una persona giunga all’orecchio del destinatario. Nelle attuali reti telefoniche esistono quattro tipi di ritardi:

Il Ritardo di propagazione è provocato dalla velocità della luce nelle reti in fibra ottica o in rame. Questo ritardo, anche se impercettibile, unito altri ritardi può provocare un degrado della voce.

 

voip

I vari ritardi che una infrastruttura VoIP introduce

 

Il Ritardo di serializzazione è il tempo necessario per inserire i dati in un’interfaccia (non verrà trattato in maniera approfondita poiché è trascurabile rispetto al ritardo globale).

Il Ritardo di gestione è provocato da varie cause (trasformazione in pacchetti, compressione e commutazione dei pacchetti) e dai dispositivi che inoltrano la trama lungo la rete. I ritardi di gestione possono avere un impatto anche sulle reti telefoniche tradizionali ma rappresentano un problema di maggiore entità negli ambienti a pacchetti.

Il Ritardo di accodamento è un ritardo tipico di una rete a pacchetti, si ha quando i pacchetti vengono memorizzati in una coda a causa di una congestione dell’interfaccia di uscita. Il ritardo di accodamento si verifica quando vengono inviati più pacchetti di quanti l’interfaccia sia in grado di gestire in un determinato intervallo.  In realtà i ritardi che si manifestano in una rete a pacchetti sono due, uno è quello di accodamento, l’altro è il ritardo di commutazione che è il tempo necessario per trasferire un pacchetto alla coda di output. In ogni caso, se possibile, si deve mantenere questo fattore minore di 10 ms utilizzando un metodo di accodamento ideale per la propria rete.

La raccomandazione ITU-T G.114 specifica che per ottenere una buona qualità della voce si dovrebbe ottenere un ritardo monodirezionale punto a punto non superiore a 150 ms. Alcune forme di ritardo sono più ingenti anche se sono accettabili in quanto non esistono alternativa, ad esempio in una trasmissione via satellite sono necessari circa 250 ms per raggiungere il satellite e altri 250 ms per attendere il segnale in arrivo. Ciò comporta un ritardo totale di 500 ms.

 

voip

Un ritardo punto a punto

 

Nonostante che la raccomandazione ITU-T indica che questo valore fuoriesce dall’intervallo accettabile per la qualità vocale, al giorno d’oggi molte conversazioni si svolgono via satellite.

In una rete non gestita e congestionata, il ritardo di accoramento può raggiungere i 2 secondi (o in alternativa può portare alla perdita di pacchetti). Tale ritardo è inaccettabile per qualsiasi rete vocale, ed il ritardo di accoramento è solo uno dei componenti del ritardo punto a punto.

 

Tremolio (jitter)

In breve, il tremolio (jitter) è prodotto dalla variabilità nel tempo di arrivo dei pacchetti ed esso si verifica solo nelle reti a commutazione di pacchetti. In un ambiente vocale a pacchetti il mittente si attende di trasmettere in modo affidabile i frame voce ad intervalli regolari, in quanto essi possono essere ritardati dalla rete e quindi non arrivare alla stazione ricevente con cadenza regolare.

 

voip

Situazione in cui si può presentare il bitter

 

La differenza tra il momento in cui un pacchetto è atteso e il momento in cui viene ricevuto è la definizione dettaglia di tremolio.

 

voip

Situazione in cui viene adoperato il buffer per risolvere il bitter.

 

Per limitare la perdita di pacchetti viene adoperato un buffer che riduce la variabilità del ritardo d’arrivo dei pacchetti. Si noti che il tremolio e il ritardo totale non sono la stessa cosa, anche se il fatto di avere elevati livelli di tremolio in una rete a pacchetti può aumentare il ritardo totale della rete. Questo è dovuto al fatto che maggiore è il livello di tremolio e maggiori sono le dimensioni del buffer per compensare la natura imprevedibile della rete a pacchetti.

 

voip

Situazione in cui il buffer non riesce a risolvere il problema del jitter

 

Molti produttori scelgono di utilizzare buffer statici, mentre l’impiego di un buffer dinamico ben realizzato rappresenta un meccanismo migliore per le LAN. I buffer statici sono necessariamente troppo estesi o troppo ridotti con un degrado nella qualità audio a causa dei pacchetti persi o dell’eccesso del ritardo introdotto. Il buffer dinamico si espande o si riduce dinamicamente sulla base della variabilità del ritardo di arrivo degli ultimi pacchetti.

 

Compressione della voce e la modulazione PCM

La forma analogica è l’ideale per le comunicazioni interpersonali, mentre non è sufficientemente efficiente per risolvere i problemi derivanti dal rumore presente in una linea. Fin dai primi tempi delle prime linee telefoniche, quando la trasmissione analogica doveva passare attraverso amplificatori di segnale, non veniva amplificata solo la voce ma anche il rumore presente sulla linea. Questo rumore di linea portava spesso a connessioni inutilizzabili.

E’ invece molto più facile distinguere dal rumore di linea i segnali dei campioni digitali (costituiti da sequenze di bit uguali a 0 o a 1). Pertanto quando i segnali analogici vengono rigenerati come campioni digitali, si mantiene un segnale chiaro. Quando divennero evidenti questi vantaggi introdotti dalla codificazione digitale della voce, le reti telefoniche adottarono la modulazione PCM (Pulse Code Modulation).

La modulazione PCM converte i suoni analogici in una forma digitale campionando il suono analogico 8000 volte al secondo e convertendo ogni campione in un codice numerico. Il teorema Nyquist stabilisce che se si esegue un campionamento di un segnale analogico a una frequenza doppia rispetto alla più elevata frequenza cui si è interessati né possibile ricostruire accuratamente la forma analogica del segnale. La maggior parte dei contenuti di una conversazione si trova sotto i 4000 Hertz (4 kHz), è necessaria una frequenza di campionamento di 8000 campioni al secondo (con un intervallo di tempo di 125 ms fra i campioni).

 

voip

Processo di codifica e decodifica del segnale

 

Vengono normalmente utilizzate due varianti di base della modulazione PCM a 64 kbits: µ-law e a-law. I metodi impiegati sono simili in quanto entrambi adottano una compressione logaritmica per inserire 12 o 13 bit di qualità PCM lineare in 8 bit mentre le differenze sono costituite da dettagli di compressione relativamente secondari (il metodo µ-law ha un lieve vantaggio prestazionale nel rapporto segnale-rumore a basso livello). Storicamente in Nord America viene adoperato il metodo µ-law e invece in Europa il metodo a-law. E’ importante notare che quando si esegue una chiamata a lunga distanza, ogni eventuale conversione da µ-law ad a-law è a carico del paese µ-law.

Un altro metodo di compressione molto utilizzato è ADPCM (Adaptive Differenziale Pulse Code Modulation). Un’istanza molto adoperata di ADPCM è l’ITU-T G.726 che esegue la codifica utilizzando campioni a 4 bit con una velocità di trasmissione a 32 kbits. A differenza di PCM, i 4 bit non codificano direttamente l’ampiezza della voce ma le differenze di ampiezza e il tasso di cambiamento di tale ampiezza impiegando una semplice previsione lineare.

Negli ultimi 10 – 15 anni sono state sviluppate nuove tecniche di compressione che impiegano nuove conoscenze nel campo della generazione della voce. Queste tecniche sfruttano procedure di elaborazione del segnale che consentono di comprimere la voce inviando solo informazioni parametriche semplificate sulla voce richiedendo così un’ampiezza di banda minore per trasmettere tali informazioni. Queste metodologie di codificazione sono considerate codec di origine e includono varianti quali LPC(Linear Predictive Code), CELP (Code Excited Linear Prediction) e MPMLQ (MultiPulse, MultiLevel Quantization).

 

La valutazione soggettiva MOS

La qualità della voce può essere verificata in due modi differenti: soggettivo oppure oggettivo. Gli esseri umani possono eseguire un campionamento soggettivo, mentre apparecchiature elettroniche, come i calcolatori, che a differenza dell’orecchio umano difficilmente vengono ingannati dagli schemi di compressione, svolgono campionamenti oggettivi.

I sistemi codec vengono sviluppati e regolati sulla base di misure soggettive della qualità della voce. Le misure oggettive standard della qualità come ad esempio la distorsione armonica totale e i rapporti segnale-rumore non sono in relazione con la percezione umana della qualità della voce che resta comunque l’obbiettivo finale della maggior parte delle tecniche di compressione della voce. Una valutazione soggettiva molto comune per quantificare le prestazioni dai sistemi codec relativi alla voce si chiama MOS (Mean Opinion Score).

 

voip

Fasi della valutazione MOS

 

MOS esegue un test su un determinato gruppo di ascoltatori, poiché la qualità della voce e del suono sono degli elementi soggettivi degli ascoltatori, per la conduzione di un buon test MOS è importante avere un’ampia gamma di ascoltatori e di materiale campionato. Gli ascoltatori possono valutare la qualità del materiale con un valore compreso tra 1 (cattivo) e 5 (eccellente). Viene, in seguito, calcolata la media dei punteggi per ottenere il valore medio.

 

Metodo di compressione

Bit Rate

(kbps)

Sample size

(ms)

MOS

Score

G.711

64

0.125

4.1

G.726

32

0.125

3.85

G.728 LD-CELP

15

0.625

3.61

G.729 CS-ACELP

8

10

3.92

G.729 a CS-ACELP

8

10

3.7

G723.1 MP-MLQ

6.3

30

3.9

G.723.1 ACELP

5.3

30

3.65

Valutazione MOS dei codec ITU-T

 

La verifica MOS viene utilizzata anche per controllare la bontà di un codec in determinate circostanze con livelli di rumore di sottofondo differenti, codifiche e decodifiche multiple e così via. I dati raccolti possono essere utilizzati per eseguire un confronto tra i codec.

 

Misura percettiva della qualità della voce

La valutazione MOS è un metodo soggettivo per determinare la qualità della voce, ma non è l’unico metodo impiegabile. ITU-T ha raffinato, ulteriormente, la raccomandazione P.861 che descrive i modi in cui si può determinare oggettivamente la qualità della voce adoperando il metodo di misura PSQM (Perceptual Speech Quality Measurement). PSQM presenta molti difetti quando viene utilizzato nel campo della voce, uno di questi difetti è il fatto che ciò viene ascoltato da una macchina o da PSQM, non è ciò che viene percepito dall’orecchio umano. In altri termini si può ingannare l’orecchio umano e percepire una voce di qualità più elevata mentre in un PC non è possibile. Questo metodo, inoltre, è stato sviluppato in modo da individuare i difetti provocati dalla compressione e decompressione e non dalla perdita di pacchetti o dal tremolio.

 

Eco

L’eco è un curioso fenomeno che tutti possono sperimentare con piacere in montagna, ma in una conversazione telefonica può essere fastidioso o addirittura insopportabile, fino a non rendere sostenibile una conversazione. Il fatto di udire la propria voce mentre si parla è normale e rassicurante, invece il fatto di ascoltarla con un ritardo superiore a 25 ms è fastidioso e può arrecare disturbo nella cadenza della comunicazione. In una rete tradizionale l’eco è normalmente provocato da un errore di impedenza dovuta alla conversazione che avviene nella centrale di rete da quattro fili alla linea locale a due fili. L’eco della rete telefonica PSTN viene regolato da appositi cancellatori di eco e da un attento controllo degli errori di impedenza nei punti di riflessione.

Le reti telefoniche nelle aree del mondo in cui viene principalmente usata una la voce analogica impiegano soppressori di eco in grado di rimuovere l’eco agendo sull’impedenza del circuito. Questo non è il meccanismo migliore per rimuovere l’eco e, infatti, provoca altri problemi. Ad esempio, in una rete dotata di un soppressore di eco non è possibile utilizzare il sistema ISDN, poiché il dispositivo per annullare l’eco taglia l’intervallo di frequenze impiegato nella trasmissione ISDN.

 

voip

Un eco causato da un errore di impedenza

 

Nelle attuali reti a pacchetti è possibile costruire cancellatori di eco nei codec a basso bit-rate e inserirli in ogni linea DSP. Nelle implementazioni di alcuni produttori la cancellazione dell’eco viene eseguite via software. Questo però riduce drasticamente i vantaggi della cancellazione dell’eco stessa.

Per comprendere come funzionano i cancellatori di eco è meglio trattare innanzitutto le cause che originano l’eco. In questo esempio si supponga che l’utente A stia palando con l’utente B. Il parlato dell’utente A si chiama G. Quando G trova un errore di impedenza o un’altra situazione che provoca un eco, ritorna all’utente A, egli può udire l’eco con un ritardo di vari millisecondi. Per rimuovere l’eco dalla linea, il dispositivo utilizzato dall’utente A conserva per un determinato periodo di tempo un’immagine inversa delle parole dell’utente A (-G). Questo cancellatore di eco ascolta il suono in arrivo dall’utente B e gli sottrae –G per rimuovere l’eco. I cancellatori di eco hanno un campo d’azione limitato al tempo di attesa del segnale riflesso, un fenomeno noto come coda d’eco.

E’ importante configurare il livello appropriato di cancellazione di eco nel momento in cui si installa il dispositivo VoIP. Se non si configura un livello sufficiente di cancellazione dell’eco, il chiamante potrà udire l’eco durante le conversazioni. Viceversa se si configura un eccesso di cancellazione d’eco, il cancellatore ha bisogno di più tempo per converge ed eliminare l’eco.

 

Perdita di pacchetti

La perdita di pacchetti nelle reti dati è un problema comune che non è stato trascurato. Molti protocolli per dati impiegano infatti la perdita dei pacchetti per conoscere le condizioni della rete e ridurre il numero di pacchetti inviati. Quando sulla rete dati si inserisce del traffico, è importante controllare il livello di perdita dei pacchetti della rete.

Quando si inserisce la voce nelle reti dati, è importante costruire una rete in grado di trasportare la voce in modo affidabile e temporizzato. Inoltre è utile usare un meccanismo che renda la voce resistente a una perdita di pacchetti periodica. In tal senso sono stati sviluppati molti strumenti di qualità di servizio (QoS) che agevolano il compito agli amministratori di rete di classificare e gestire il traffico in una rete dati. L’implementazione di questi metodi permette ai router di voce di rispondere alla perdita periodica di pacchetti. Se un pacchetto vocale non viene ricevuto nel momento atteso (il tempo in cui è atteso è variabile), si presuppone che si sia perso e viene ripetuto l’invio dell’ultimo pacchetto ricevuto. L’ascoltatore medio non noterà alcuna differenza nella voce, in quanto la perdita di un pacchetto riguarda solo 20 ms di parlato.

Nel caso di perdita di un pacchetto, la stazione ricevente attende un determinato periodo di tempo (sulla base delle dimensioni del buffer del jitter) e poi intraprende una strategia di occultamento dell’errore. Questa strategia replica l’ultimo pacchetto ricevuto in modo che l’ascoltatore non percepisca alcuna pausa nella conversazione. Questa strategia di occultamento dell’errore avviene solo quando la perdita riguarda un solo pacchetto, infatti se si perdono più pacchetti consecutivi, tale metodologia di risoluzione dell’errore viene eseguite una sola volta.

Si può tranquillamente affermare che lo standard G.729 tolleri una perdita dei pacchetti media del 5% nell’ambito di un’intera chiamata, se esso impiega la strategia di occultamento dell’errore.

 

Rilevamento dell’attività vocale

Nelle normali conversazioni, uno degli interlocutori parla e l’altro resta in ascolto. Le attuali reti allocano sempre un canale bidirezionale a 64 bit al secondo, indipendentemente dal fatto che parli solo uno dei due. Questo significa che in una normale conversazione si perde almeno il 50% dell’ampiezza totale di banda. Il livello effettivo dell’ampiezza di banda sprecata può essere molto più elevato se si prende in considerazione un campione statico delle interruzioni e delle pause contenute in una normale conversazione interpersonale.

Adoperando il Voice over IP, l’ampiezza di banda sprecata viene recuperata ed riutilizzata per altri scopi, grazie ad un sistema di rilevamento dell’attività vocale, che controlla l’ampiezza del parlato in decibel e decide quando si può evitare di trasmettere la voce in una trama.

 

voip

Rilevamento dell’attività vocale

 

Tipicamente quando il rilevamento dell’attività vocale percepisce la caduta dell’ampiezza della voce, attende un periodo prefissato e poi smette di inserire le trame vocali all’interno dei pacchetti. Questo periodo di tempo è chiamato persistenza e generalmente ha una durata di 200 ms.

Il sistema di rilevamento dell’attività vocale ha alcuni problemi intrinseci a determinare l’inizio e la fine del parlato e a distinguere il parlato dal rumore di sottofondo. Ciò significa che se ci si trova in un locale rumoroso, questa metodologia di rilevamento non è in grado di distinguere fra la voce e il rumore di sottofondo. La problematica descritta è nota anche come soglia segnale-rumore, per eliminare i suoi effetti si disattiva all’inizio della chiamata il sistema di rilevamento dell’attività vocale.

Un altro effetto collaterale che introduce consiste nel rilevare il momento in cui inizia il parlato. Tipicamente l’inizio di una sequenza viene eliminato, in quanto una persona che ascolta non nota questa eliminazione.

 

Conversione da digitale ad analogico

Talvolta anche le conversione analogico a digitale o da digitale ad analogico possono presentare problemi nelle odierne reti. Quasi la totalità delle reti dei paesi industrializzati sono di tipo digitale per cui si verificano più conversioni digitale/analogico. Ogni volta che si effettua una conversione da analogico a digitale e viceversa il parlato o la forma d’onda diventano meno realistici, anche se le tecnologie di cui si avvalgono le attuali reti sono in grado di gestire almeno sette conversioni da digitale ad analogico prima che venga influenzata la qualità della voce, il parlato compresso è più sensibile a queste conversioni.

 

voip

Rete VoIP con codifica Tandem (prevede un gerarchia di compressione)

 

E’ importante notare che la conversione da digitale ad analogico deve essere gestita assolutamente in un ambiente parlato compresso. Quando si usa G.729, due solo conversioni provocano una drastica riduzione della valutazione MOS. L’unico modo per gestire queste conversioni è di progettare ambienti Voice over IP con il minor numero possibile di conversioni.

 

voip

Rete VoIP senza codifica Tamdem

 

Anche se le conversioni da digitale ad analogico riguardano tutte le reti locali, le reti VoIP con codec PCM (G.711) sopportano meglio i problemi provocati dalle conversioni rispetto alle attuali reti telefoniche.

 

I Protocolli di trasporto

Nelle reti IP esistono principalmente due tipi di gestione del traffico: UDP (User Datagram Protocol) e TCP (Trasmission Control Protocol). In generale il protocollo TCP viene impiegato quando è necessaria una connessione affidabile e il protocollo UDP, invece quando si privilegia la semplicità all’affidabilità, in quanto non è un elemento fondamentale.

Data la natura temporale del traffico vocale, UDP/IP è stata la scelta logica per il trasporto della voce. Tuttavia erano necessarie più informazioni sui pacchetti rispetto a quelle offerte dal protocollo UDP. Pertanto per il traffico in tempo reale o sensibile a ritardi, IETF (Internet Engineering Task Force) ha adottato il protocollo RTP (RealTime Protocol). La tecnologia VoIP funziona su RTP che si UDP, pertanto il gestore dei suoi pacchetti è RTP/UDP/IP.

Il protocollo RTP è lo standard per la trasmissione del traffico sensibile ai ritardi lungo reti a pacchetti, il quale si basa su UDP e IP e fornisce alle stazioni riceventi varie informazioni aggiuntive che non sono contenute nei flussi senza connessione UDP/IP: due elementi importanti delle informazioni sono la sequenzialità e la cronologia. I dati relativi alla sequenzialità servono per determinare sei i pacchetti stanno arrivando secondo l’ordine corretto, invece quelli relativi alla cronologia per calcolare il ritardo nell’arrivo dei pacchetti (jitter).

 

voip

L’intestazione del protocollo RTP

 

E’ possibile adoperare il protocollo RTP per trasmissioni on-demand o per servizi interattivi quali la telefonia tramite Internet, esso è costituito da una parte dati e una di controllo, chiamata RTCP (Real Time Control Protocol).

La parte dei dati di RTP rappresenta un protocollo leggero che offre il supporto per applicazioni operanti in tempo reale come le trasmissioni continue (ad esempio audio e video), comprendendo la ricostruzione in tempo reale, il rilevamento delle perdite e l’identificazione del contenuto. Il protocollo RTCP fornisce un supporto per conferenze in tempo reale via Internet a gruppi di qualsiasi dimensione, tale supporto include l’identificazione dell’origine e il supporto dei Gateway come ad esempio i bridge audio e video e i traduttori da multicast a unicast. Inoltre offre un rilevamento della qualità del servizio dai ricevitori del gruppo multicast e un supporto per la sincronizzazione dei vari flussi di dati.

 

voip

Flusso dei pacchetti del protocollo di trasporto RTP

 

Le intestazione IP/RTP/UDP occupano rispettivamente 20, 8 e 12 byte per un totale di 40 byte, ovvero il doppio del carico utile quando si usa G.729 con due campioni vocali (20 ms); con l’ausilio del meccanismo fornito dal QoS, CRTP (Compression header RTP) si può comprimere questa intestazione in 2 o 4 byte.

 

voip

Pacchetto RTP compresso impiegando il protocollo cRTP

 

Un altro protocollo che può essere impiegato in una rete in cui il traffico vocale è importante è RUDP (Reliable User Data Protocol), che aumenta l’affidabilità del protocollo senza connessione UDP. RUDP ottiene questa affidabilità senza la necessità di adottare un protocollo basato sulla connessione come TCP; fondamentalmente questo protocollo invia più copie dello stesso pacchetto e consente alla stazione ricevente di eliminare i pacchetti non necessari o ridondanti.