Introduzione
Questo documento descrive i calcoli della larghezza di banda del codec voce e le funzionalità per modificare o conservare la larghezza di banda quando si usa il protocollo VoIP (Voice over IP).
Premesse
Uno dei fattori più importanti da considerare quando si creano reti voce a commutazione di pacchetto è un'adeguata pianificazione della capacità. Nell'ambito della pianificazione della capacità, il calcolo della larghezza di banda è un fattore importante da considerare quando si progettano le reti voce a commutazione di pacchetto e se ne risolvono i problemi per ottenere una buona qualità della voce.
Nota: a complemento di questo documento, è possibile usare lo strumento TAC Voice Bandwidth Codec Calculator (solo utenti registrati). Questo strumento spiega come calcolare la larghezza di banda richiesta per le chiamate voce a commutazione di pacchetto.
VoIP: larghezza di banda per chiamata
Per il calcolo si utilizzano i presupposti sull'intestazione del protocollo indicati di seguito:
-
40 byte per le intestazioni IP (20 byte)/UDP (User Datagram Protocol) (8 byte)/RTP (Real-Time Transport Protocol) (12 byte).
-
Il protocollo cRTP (Compressed Real-Time Protocol) riduce le intestazioni IP/UDP/RTP a 2 o 4 byte (cRTP non è disponibile su Ethernet).
-
6 byte per l'intestazione MP (Multilink Point-to-Point Protocol) o FRF (Frame Relay Forum).12 livello 2 (L2).
-
1 byte per il flag di fine frame sui frame MP e Frame Relay.
-
18 byte per le intestazioni Ethernet L2, che includono 4 byte di FCS (Frame Check Sequence) o CRC (Cyclic Redundancy Check).
Nota: questa tabella contiene solo i calcoli per le dimensioni predefinite del payload vocale nei gateway H.323 del software Cisco IOS®. Per calcoli che includono diverse dimensioni di payload voce e altri protocolli, come VoFR (Voice over Frame Relay) e VoATM (Voice over ATM), utilizzare lo strumento Voice Bandwidth Codec Calculator del TAC (solo clienti registrati).
Informazioni sul codec |
Calcoli della larghezza di banda |
Codec e velocità di trasmissione (Kbps) |
Dimensione campione codec (byte) |
Intervallo campionamento codec (ms) |
MOS (Mean Opinion Score) |
Dimensione del payload voce (byte) |
Dimensione del payload voce (ms) |
Pacchetti al secondo (PPS) |
Larghezza di banda MP o FRF.12 (Kbps) |
Larghezza di banda con cRTP MP o FRF.12 (Kbps) |
Larghezza di banda Ethernet (Kbps) |
G.711 (64 Kbps) |
80 Byte |
10 ms |
4.1 |
160 Byte |
20 ms |
50 |
82,8 Kbps |
67,6 Kbps |
87,2 Kbps |
G.729 (8 Kbps) |
10 Byte |
10 ms |
3.92 |
20 Byte |
20 ms |
50 |
26,8 Kbps |
11,6 Kbps |
31,2 Kbps |
G.723.1 (6,3 Kbps) |
24 Byte |
30 ms |
3.9 |
24 Byte |
30 ms |
33.3 |
18,9 Kbps |
8,8 Kbps |
21,9 Kbps |
G.723.1 (5,3 Kbps) |
20 Byte |
30 ms |
3.8 |
20 Byte |
30 ms |
33.3 |
17,9 Kbps |
7,7 Kbps |
20,8 Kbps |
G.726 (32 Kbps) |
20 Byte |
5 ms |
3.85 |
80 Byte |
20 ms |
50 |
50,8 Kbps |
35,6 Kbps |
55,2 Kbps |
G.726 (24 Kbps) |
15 Byte |
5 ms |
|
|
20 ms |
50 |
42,8 Kbps |
27,6 Kbps |
47.2 Kbps |
G.728 (16 Kbps) |
10 Byte |
5 ms |
3.61 |
60 Byte |
30 ms |
33.3 |
28,5 Kbps |
18,4 Kbps |
31,5 Kbps |
G722_64k (64 Kbps) |
80 Byte |
10 ms |
4.13 |
160 Byte |
20 ms |
50 |
82,8 Kbps |
67,6 Kbps |
87,2 Kbps |
ilbc_mode_20 (15,2 Kbps) |
38 Byte |
20 ms |
N/D |
38 Byte |
20 ms |
50 |
34,0 Kbps |
18,8 Kbps |
38,4 Kbps |
ilbc_mode_30 (13,33 Kbps) |
50 Byte |
30 ms |
N/D |
50 Byte |
30 ms |
33.3 |
25,867 Kbps |
15,73 Kbps |
28,8 Kbps |
Spiegazione dei termini
Velocità di trasmissione codec (Kbps) |
A seconda del codec, si tratta del numero di bit al secondo che devono essere trasmessi per gestire una chiamata vocale. (velocità in bit del codec = dimensione campione codec/intervallo campionamento codec). |
Dimensione campione codec (byte) |
A seconda del codec, si tratta del numero di byte acquisiti dal processore del segnale digitale (DSP) a ogni intervallo di campionamento codec. Ad esempio, il codificatore G.729 opera su intervalli di campionamento di 10 ms, che corrispondono a 10 byte (80 bit) per campione a una velocità in bit di 8 Kbps. (velocità in bit del codec = dimensione campione codec/intervallo campionamento codec). |
Intervallo campionamento codec (ms) |
Questo è l'intervallo di campionamento in cui opera il codec. Ad esempio, il codificatore G.729 opera su intervalli di campionamento di 10 ms, che corrispondono a 10 byte (80 bit) per campione a una velocità in bit di 8 Kbps. (velocità in bit del codec = dimensione campione codec/intervallo campionamento codec). |
MOS (Mean Opinion Score) |
Il MOS è un sistema utilizzato per valutare la qualità della voce delle connessioni telefoniche. Con il sistema MOS, numerosi ascoltatori giudicano la qualità di un campione vocale su una scala da uno (pessimo) a cinque (eccellente). Per ottenere il MOS del codec viene calcolata la media dei punteggi. |
Dimensione del payload voce (byte) |
La dimensione del payload voce rappresenta il numero di byte (o bit) inseriti in un pacchetto. La dimensione del payload voce deve essere un multiplo della dimensione del campione codec. Ad esempio, i pacchetti G.729 possono utilizzare dimensioni da 10, 20, 30, 40, 50 o 60 byte. |
Dimensione del payload voce (ms) |
La dimensione del payload voce può anche essere rappresentata in termini di campioni codec. Ad esempio, un payload vocale G.729 di 20 ms (due esempi di codec da 10 ms) rappresenta un payload vocale di 20 byte [ (20 byte *
/ (20 ms) = 8 Kbps ] |
PPS |
PPS rappresenta il numero di pacchetti che devono essere trasmessi ogni secondo per garantire la velocità in bit del codec. Ad esempio, per una chiamata G.729 con payload voce per pacchetto di 20 byte (160 bit), è necessario trasmettere 50 pacchetti al secondo [50 pps = (8 Kbps)/(160 bit per pacchetto)] |
Formule di calcolo della larghezza di banda
Vengono utilizzati i seguenti calcoli:
-
Dimensioni totali pacchetto = (intestazione L2: MP o FRF.12 o Ethernet) + (intestazione IP/UDP/RTP) + (dimensioni payload voce)
-
PPS = (codec bit rate)/(voice payload size)
-
Larghezza di banda = dimensione totale del pacchetto * PPS
Esempio di calcolo
Ad esempio, la larghezza di banda richiesta per una chiamata G.729 (velocità bit codec 8 Kbps) con cRTP, MP e i 20 byte predefiniti del payload voce è:
-
Dimensione totale del pacchetto (byte) = (intestazione MP di 6 byte) + (intestazione IP/UDP/RTP compressa di 2 byte) + (payload voce di 20 byte) = 28 byte
-
Dimensione totale dei pacchetti (bit) = (28 byte) * 8 bit per byte = 224 bit
-
PPS = (velocità in bit codec 8 Kbps)/(160 bit) = 50 pps
Nota: 160 bit = 20 byte (payload vocale predefinito) * 8 bit per byte
-
Larghezza di banda per chiamata = dimensione pacchetto voce (224 bit) * 50 pps = 11,2 Kbps
Configurazione delle dimensioni del payload vocale in Cisco Call Manager e nei gateway Cisco IOS
Le dimensioni del payload vocale per pacchetto possono essere configurate nei gateway Cisco Call Manager e Cisco IOS.
Nota: se il gateway Cisco IOS è configurato in Cisco Call Manager come gateway MGCP (Media Gateway Control Protocol), tutte le informazioni del codec (tipo di codec, dimensioni del payload, rilevamento attività voce e così via) sono controllate da Cisco CallManager.
In Cisco Call Manager, le dimensioni del payload vocale per pacchetto sono configurabili a livello di sistema. Questo attributo viene impostato in Cisco Call Manager Administration (Service > Service Parameters > select_server > Cisco Call Manager) con questi tre parametri del servizio:
-
PreferredG711MillisecondPacketSize - (Impostazione predefinita: 20 ms. Impostazioni disponibili: 10, 20 e 30 ms.)
-
PreferredG729MillisecondPacketSize: (impostazione predefinita: 20 ms. Impostazioni disponibili: 10, 20, 30, 40, 50 e 60 ms.)
-
PreferredG723MillisecondPacketSize: (impostazione predefinita: 30 ms. Impostazioni disponibili: 30 e 60 ms).
In Cisco Call Manager, le dimensioni del payload vocale sono configurate in termini di esempi di millisecondi (ms). A seconda del codec, questa tabella associa alcuni campioni in ms alla dimensione effettiva del payload in byte.
Codec |
Dimensione del payload voce (ms) |
Dimensione del payload voce (byte) |
Commenti |
G.711 |
20 ms (impostazione predefinita) |
160 Byte |
Si noti che la velocità in bit del codec viene sempre mantenuta. Ad esempio: codec G.711 = [240 byte * 8(bit/byte)] / 30 ms = 64 Kbps |
30 ms |
240 Byte |
G.729 |
20 ms (impostazione predefinita) |
20 Byte |
30 ms |
30 Byte |
G.723 |
30 ms (impostazione predefinita) |
|
|
Nei gateway Cisco IOS, è stata aggiunta una funzione nel software Cisco IOS versione 12.0(5)T che consente di modificare le dimensioni del payload vocale (in byte) per i pacchetti VoIP dalla CLI. La sintassi del nuovo comando è la seguente:
Cisco-Router(config-dial-peer)#codec g729r8 bytes ?
Each codec sample produces 10 bytes of voice payload.
Valid sizes are:
10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,
130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230
Any other value within the range will be rounded down to nearest valid size.
<10-230> Choose a voice payload size from the list above
Impatto di una modifica sulle dimensioni del payload voce
Il numero di campioni codec per pacchetto è un altro fattore che determina la larghezza di banda e il ritardo di una chiamata VoIP. Il codec definisce la dimensione del campione, ma il numero totale di campioni inseriti in un pacchetto influisce sul numero di pacchetti inviati al secondo.
Quando si aumentano le dimensioni del payload vocale, la larghezza di banda VoIP si riduce e il ritardo complessivo aumenta. Vediamo un esempio a proposito.
-
Chiamata G.729 con payload vocale di 20 byte (20 ms): (40 byte di intestazioni IP/UDP/RTP + 20 byte di payload vocale)* 8 bit per byte * 50 pps = 24 Kbps
-
Chiamata G.729 con payload vocale di 40 byte (40 ms): (40 byte di intestazioni IP/UDP/RTP + 40 byte di payload vocale) * 8 bit per byte * 25 pps = 16 Kbps
Note:
- In questo calcolo le intestazioni L2 non vengono considerate.
- I calcoli mostrano che, mentre la dimensione del payload è raddoppiata, il numero di pacchetti al secondo richiesto viene dimezzato.
- Come definito nelle specifiche G.114 dell'Unione internazionale delle telecomunicazioni (ITU-T ), il ritardo complessivo unidirezionale consigliato per la voce è 150 ms. Per una rete privata, 200 ms è un obiettivo ragionevole, senza superare 250 ms.
Voice Activity Detection
Con le reti voce a commutazione di circuito, tutte le chiamate vocali utilizzano collegamenti a larghezza di banda fissa a 64 Kbps, indipendentemente dalla quantità di conversazione e dalla quantità di silenzio. Con le reti VoIP, la conversazione e il silenzio sono pacchettizzati. Con la funzione VAD (Voice Activity Detection) è possibile eliminare i pacchetti di silenzio.
Nel tempo e in media su un volume di oltre 24 chiamate, la funzione VAD può offrire fino al 35% di risparmio sulla larghezza di banda. I risparmi non si ottengono su ogni singola chiamata vocale o su una misurazione specifica e puntuale. La VAD non deve essere presa in considerazione a fini di progettazione della rete né di definizione della larghezza di banda, in particolare sui collegamenti che trasportano meno di 24 chiamate vocali contemporaneamente. Diverse funzioni come la musica di attesa e il fax rendono la funzione VAD inefficace. Quando la rete è progettata per impiegare tutta la larghezza di banda per le chiamate voce, tutti i risparmi consentiti dalla VAD sono disponibili per le applicazioni dati.
La funzione VAD fornisce anche la generazione di rumori di comfort (CNG). Poiché è possibile scambiare silenzio per una chiamata disconnessa, il GNC produce un rumore bianco generato localmente in modo che la chiamata appaia normalmente connessa ad entrambe le parti. G.729 Allegato-B e G.723.1 Allegato-A includono una funzione VAD integrata, ma altrimenti esegue la stessa funzione di G.729 e G.723.1, rispettivamente.
In Cisco Call Manager, il protocollo VAD può essere abilitato (è disabilitato per impostazione predefinita) con questi parametri del servizio:
-
SilenceSuppressionSystemWide: questo parametro seleziona l'impostazione VAD per tutti gli endpoint skinny (ad esempio, Cisco IP Phone e gateway Skinny).
-
SilenceSuppressionWithGateways: questo parametro consente di selezionare l'impostazione VAD per tutti i gateway MGCP. Non ha effetto sui gateway H.323. Nei gateway H.323, la funzione VAD deve essere disabilitata sul gateway.
Questi parametri del servizio sono disponibili in Cisco Call Manager Administration (Service > Service Parameters > select_server > Cisco CallManager).
Intestazione RTP: compressione o RTP compresso (cRTP)
Tutti i pacchetti VoIP sono costituiti da due componenti: campioni vocali e intestazioni IP/UDP/RTP. Sebbene i campioni voce siano compressi dal processore di segnale digitale (DSP) e possano variare di dimensione in base al codec utilizzato, queste intestazioni hanno una lunghezza costante di 40 byte. Rispetto ai 20 byte di campioni voce in una chiamata G.729 predefinita, queste intestazioni costituiscono una notevole quantità di sovraccarico. Con cRTP, queste intestazioni possono essere compresse a due o quattro byte. Questa compressione offre un notevole risparmio di larghezza di banda VoIP. Ad esempio, una chiamata VoIP G.729 predefinita consuma 24 Kb senza cRTP, ma solo 12 Kb con cRTP abilitato.
Poiché cRTP comprime le chiamate VoIP su base link-by-link, entrambe le estremità del collegamento IP devono essere configurate per cRTP.
Nel software Cisco IOS versione 12.0.5T e precedenti, il cRTP è a commutazione di processo, il che limita notevolmente la scalabilità delle soluzioni cRTP a causa delle prestazioni della CPU. La maggior parte di questi problemi è stata risolta grazie a vari miglioramenti delle prestazioni del cRTP introdotti nel software Cisco IOS versioni 12.0.7T e 12.1.2T. Segue un riepilogo delle modifiche.
-
Il cRTP è a commutazione di processo nel software Cisco IOS versione 12.0.5T e precedenti.
-
Nel software Cisco IOS versione 12.0.7T e quindi nella versione 12.1.1T, sono stati introdotti il supporto della commutazione rapida e il supporto della commutazione Cisco Express Forwarding per cRTP.
-
Nel software Cisco IOS versione 12.1.2T sono stati introdotti miglioramenti delle prestazioni algoritmiche.
Quando si sposta il protocollo cRTP nel percorso di commutazione veloce, aumenta in modo significativo il numero di sessioni RTP (chiamate VoIP) che i gateway VoIP e i router intermedi possono elaborare.
Euristiche della compressione
Poiché il protocollo RTP non dispone di un'intestazione del pacchetto distinta, un flusso RTP (per cRTP) si distingue da un flusso UDP (cUDP) per l'uso di euristiche. Le euristiche esatte utilizzate al momento per rilevare la compressione dei pacchetti RTP sono:
-
Il numero della porta di destinazione è pari.
-
Il numero della porta di destinazione è compreso nell'intervallo 16384-32767 o 49152-65535.
-
Il campo versione RTP è impostato su due.
-
Il campo estensione RTP è impostato su zero.
Informazioni correlate