In questo documento viene fornita una panoramica dei diversi coder-decoder (codec) utilizzati con i gateway Cisco IOS® Voice over IP (VoIP). Nel software Cisco IOS versioni precedenti alla 12.0(5)T, i gateway VoIP supportano solo i codec G.729 e G.711 e una sola chiamata voce/fax-relay per processore di segnale digitale (DSP). Con l'introduzione del software Cisco IOS versione 12.0(5)T, i gateway VoIP di Cisco supportano un numero maggiore di codec e moduli DSP. Supportano inoltre fino a quattro chiamate voce/fax-relay per DSP.
Per ulteriori informazioni sui DSP, fare riferimento a Hardware voce: C542 e C549 Digital Signal Processor (DSP).
Lo strumento DSP Calculator (solo utenti registrati) determina i requisiti DSP per le piattaforme router Cisco serie 1751, 1760, 2600XM, 2691, 2800, 3700 e 3800 e fornisce suggerimenti per il provisioning PVDM come output. Lo strumento calcola i requisiti DSP in base ai moduli di interfaccia, alle configurazioni del codec, ai canali di transcodifica e alle sessioni di conferenza fornite come input. Questo strumento supporta diverse versioni del software Cisco IOS valide per le piattaforme Cisco 1751, 1760, 2600XM, 2691, 2800, 3700 e 3800.
Nessun requisito specifico previsto per questo documento.
Il documento può essere consultato per tutte le versioni software o hardware.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Alcune tecniche di compressione codec richiedono una potenza di elaborazione maggiore rispetto ad altre. La complessità del codec viene suddivisa in due categorie denominate complessità media ed alta.
La complessità media consente ai DSP C549 di elaborare fino a quattro chiamate voce/fax relay per DSP e ai DSP C5510 di elaborare fino a otto chiamate voce/fax relay per DSP.
L'elevata complessità consente ai DSP C549 di elaborare fino a due chiamate voce/fax-relay per DSP e ai DSP C5510 di elaborare fino a sei chiamate voce/fax-relay per DSP.
Media complessità (4 chiamate / dsp) | Complessità elevata ( 2 chiamate / dsp) |
---|---|
G.711 (a-law e m-law) | G.728 |
G.726 (tutte le versioni) | G.723 (tutte le versioni) |
G.729a, G.729ab (G.729a allegato B) | G.729, G.729b (G.729-Allegato B) |
Fax-relay | Fax-relay |
Nota: la differenza tra i codec a complessità media ed elevata è la quantità di utilizzo della CPU necessario per elaborare l'algoritmo codec e, di conseguenza, il numero di canali voce che possono essere supportati da un singolo DSP. Per questo motivo, tutti i codec di media complessità possono essere eseguiti anche in modalità ad alta complessità, ma meno canali (generalmente la metà) sono disponibili per DSP.
Nota: Fax-relay (2400 bps, 4800 bps, 7200 bps, 9600 bps, 12 kbps e 14,4 kbps) può utilizzare codec di complessità media o alta.
Sulle piattaforme che supportano la tecnologia DSP C549, la complessità del codec viene configurata con la scheda voce (ad esempio, il modulo di rete voce ad alta densità 2600/3600/VG-200). Alcune piattaforme supportano solo un'elevata complessità, in quanto dispongono di un numero sufficiente di DSP integrati per supportare tutti i canali T1/E1 che utilizzano la modalità ad alta complessità. Per specificare la densità delle chiamate e la complessità del codec in base allo standard utilizzato, usare il comando codec complex in modalità di configurazione voice card.
Di seguito è riportato un esempio della configurazione della complessità:
Cisco-router #configure terminal Enter configuration commands, one per line. End with CNTL/Z. Cisco-router(config)#voice-card 1 Cisco-router(config-voicecard)#codec complexity ? high Set codec complexity high. High complexity, lower call density. medium Set codec complexity medium. Mid range complexity and call density. <cr> Cisco-router(config-voicecard)#codec complexity high
Sulle piattaforme che supportano la tecnologia DSP C5510, è disponibile un'opzione aggiuntiva di flessibilità complessa. Quando si utilizza la complessità flessibile, è possibile completare fino a sedici chiamate per DSP. Il numero di chiamate supportate varia da sei a sedici ed è basato sul codec utilizzato per una chiamata.
Di seguito è riportato un esempio della configurazione.
Cisco-router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Cisco-router(config)#voice-card 1 Cisco-router(config-voicecard)#codec complexity ? flex Set codec complexity Flex. Flex complexity, higher call density. high Set codec complexity high. High complexity, lower call density. medium Set codec complexity medium. Mid range complexity and call density. <cr> Cisco-router(config-voicecard)#codec complexity flex
Questo è un estratto dell'output show running-config per determinare quale complessità è configurata:
!voice-card 1 codec complexity high !
In questa tabella viene elencato il supporto del codec per diverse piattaforme di router Cisco.
Codec | 1751/1760 | 26xx/36xx NM-1V/2V | NM-HDV 26xx/36xx | 3700 | 3810 | AS5300 AS5800 | AS5350 AS5400 | 7200 | 7500 | CMM 24FXS | CMM 6T1/E1 |
---|---|---|---|---|---|---|---|---|---|---|---|
G.711 PCM a-law e u-law (64 kbps) | 12.0.5XQ1 | Sì | 12.0.5XK1 | Sì | 12,0,7XK | Sì | Sì | 12.0.5XE3 | 12.1.3T | Sì | Sì |
G.726 ADPCM (32, 24,16 kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Sì | 12,0,7XK | Sì | No | 12.0.5XE3 | 12.1.3T | No | No |
G.728 LD-CELP (16 kbps) | Sì | 12.0.5T | 12.0.5XK1 | Sì | 12,0,7XK | Sì | No | 12.0.5XE3 | 12.1.3T | No | No |
G.729 CS-ACELP (8 kbps) | 12.1.2T | Sì | 12.0.5XK1 | Sì | 12,0,7XK | Sì | No | 12.0.5XE3 | 12.1.3T | No | No |
G.729a CS-ACELP (8 kbps) | 12.0.5XQ1 | Sì | 12.0.5XK1 | Sì | 12,0,7XK | Sì | Sì | 12.0.5XE3 | 12.1.3T | Sì | Sì |
G.729 Allegato-B (8 kbps) [VAD] | Sì | 12.0.5T | 12.0.5XK1 | Sì | 12,0,7XK | Sì | No | 12.0.5XE3 | 12.1.3T | No | No |
G.729a Allegato-B (8 kbps) | Sì | Sì | 12.0.5XK1 | Sì | 12,0,7XK | Sì | Sì | 12.0.5XE3 | 12.1.3T | Sì | Sì |
G.723.1 MP-MLQ (6,3 kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Sì | 12,0,7XK | Sì | Sì | 12.0.5XE3 | 12.1.3T | No | No |
G.723.1 ACELP (5,3 kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Sì | 12,0,7XK | Sì | Sì | 12.0.5XE3 | 12.1.3T | No | No |
G.723.1 Allegato-A MP-MLQ (6,3 kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Sì | 12,0,7XK | Sì | Sì | 12.0.5XE3 | 12.1.3T | No | No |
G.723.1 Allegato-A ACELP (5,3 kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Sì | 12,0,7XK | Sì | Sì | 12.0.5XE3 | 12.1.3T | No | No |
Cancella canale | 12.3(2)XF, 12.3(11)T | Sì | Sì | Sì | 12.3(11)T | Sì | Sì | No | No |
Codec Compression, metodo |
---|
PCM = Modulazione Pulse Code |
ADPCM = Modulazione codice impulso differenziale adattivo |
LDCELP = stima lineare attesa codice a basso ritardo |
CS-ACELP = Struttura-coniugata Algebrico-Codice-Eccitato Previsione lineare |
MP-MLQ = Quantizzazione multi-pulse a più livelli |
ACELP = Previsione lineare eccitata da codice algebrico |
Ogni codec fornisce una determinata qualità di riconoscimento vocale. La qualità del discorso trasmesso è una risposta soggettiva dell'ascoltatore. Un parametro comune utilizzato per determinare la qualità del suono prodotto da codec specifici è il punteggio medio (MOS). Con MOS, un'ampia gamma di ascoltatori giudica la qualità di un campione di voce (corrispondente a un particolare codec) su una scala da 1 (cattivo) a 5 (eccellente). Si calcola la media dei punteggi per ottenere il valore MOS del campione. Nella tabella viene mostrata la relazione tra i codec e i punteggi MOS.
Metodo Compression | Bit rate (kbps) | Punteggio MOS | Ritardo compressione (ms) |
---|---|---|---|
G.711 PCM | 64 | 4.1 | 0.75 |
G.726 ADPCM | 32 | 3.85 | 1 |
G.728 LD-CELP | 16 | 3.61 | da 3 a 5 |
G.729 CS-ACELP | 8 | 3.92 | 10 |
Codifiche G.729 x 2 | 8 | 3.27 | 10 |
Codifiche G.729 x 3 | 8 | 2.68 | 10 |
G.729a CS-ACELP | 8 | 3.7 | 10 |
G.723.1 MP-MLQ | 6.3 | 3.9 | 30 |
G.723.1 ACELP | 5.3 | 3.65 | 30 |
Anche se può sembrare logico da un punto di vista finanziario convertire tutte le chiamate in codec a bassa velocità di bit per risparmiare sui costi di infrastruttura, prestare maggiore attenzione quando si progettano reti voce con compressione a bassa velocità di bit. La compressione della voce presenta degli svantaggi. Uno degli svantaggi principali è la distorsione del segnale dovuta alle codifiche multiple (chiamate codifiche tandem). Ad esempio, quando un segnale vocale G.729 è codificato in tandem tre volte, il punteggio MOS scende da 3,92 (ottimo) a 2,68 (inaccettabile). Un altro inconveniente è il ritardo indotto dai codec con codec a bassa velocità di trasmissione.
Queste due sezioni chiariscono molti dei problemi di compatibilità comuni relativi all'implementazione del codec G.729 (8 kbps).
Cisco ha rilasciato un'implementazione di codec G.729 pre-Internet Engineering Task Force (IETF) prima che il codec G.729 fosse standardizzato. In Cisco IOS versione 12.0(5)T e successive, l'ordine di bit predefinito del codec G.729 viene modificato dallo standard pre-IETF al formato standard IETF. I due formati non sono compatibili tra loro e producono un "suono gulping" incomprensibile per gli utenti finali.
Per la compatibilità con le implementazioni G.729 di altri fornitori, il software Cisco IOS versione 12.0.5T e successive utilizzano per impostazione predefinita l'implementazione standardizzata di G.729. Per la compatibilità con le versioni precedenti del software Cisco IOS versione 12.0.5T, abilitare l'implementazione precedente a IETF G.729 con questo comando:
maui-vgw-01(config)#dial-peer voice 100 voip maui-vgw-01(config-dial-peer)#codec g729r8 pre-ietf
l'opzione pre-ietf in questo comando non è supportata in Cisco IOS versione 12.2 e successive.
G.729 è un algoritmo ad alta complessità, e G.729A (noto anche come G.729 Allegato-A) è una variante di media complessità di G.729 con una qualità vocale leggermente inferiore. Tutte le piattaforme che supportano G.729 supportano anche G.729A.
Sui gateway Cisco IOS, la variante da utilizzare (G.729 o G.729A) è relativa alla configurazione della complessità del codec sulla scheda voce. Non viene visualizzata in modo esplicito nella scelta del codec dell'interfaccia della riga di comando (CLI) di Cisco IOS. Ad esempio, la CLI non mostra g729ar8 (codice "a") come opzione del codec. Tuttavia, se la scheda vocale è definita di complessità media, l'opzione g729r8 è il codec G.729A.
Nota: per MC3810, nelle versioni software Cisco IOS precedenti alla 12.0.7XK, è disponibile una scelta CLI esplicita tra ventiquattro canali di G.729A o dodici canali di G.729.
G.729 L'Allegato-B è un algoritmo ad alta complessità, e G.729A L'Allegato-B è una variante di media complessità di G.729 Allegato-B con una qualità vocale leggermente inferiore. La differenza tra il codec G.729 e G.729 Allegato-B è che il codec G.729 Allegato-B fornisce funzionalità integrate di rilevamento dell'attività vocale (VAD) e di generazione del rumore di comfort (CNG).
Queste combinazioni di codec G.729 interagiscono:
G.729 e G.729A
G.729 e G.729
G.729A e G.729A
G.729 Allegato-B e G.729A Allegato-B
G.729 Allegato-B e G.729 Allegato-B
G.729A Allegato-B e G.729A Allegato-B
Nota: non esiste un modo esplicito per configurare G.729A su Cisco 2600/3600/VG-200 NM-1V e NM-2V (voice network module), in quanto questi moduli vocali non supportano la configurazione della "complessità del codec" supportata su NM-HDV (High Density Voice Network Module). Tuttavia, se una chiamata G.729A è configurata da un altro endpoint che termina su NM-1V/2V, la chiamata è connessa correttamente.
Sono disponibili due versioni di G.723.1 chiamate Allegato-A e non Allegato-A. Queste versioni non interagiscono. G.723.1 L'allegato A comprende un algoritmo IETF VAD e un GNC integrati.
Inoltre, nel software Cisco IOS versione 12.0(5)T e successive, il codec G.723.1 è supportato con una velocità di 5,3 kbps e 6,3 kbps. Quando un gateway VoIP Cisco configura una chiamata tra dispositivi che usano G723.1, è importante notare che l'estremità remota usa G.723.1. Nessuna delle due parti è interessata alla velocità a 5,3 kbps o a 6,3 kbps supportata dall'altra parte. Questo significa che, mentre è utile avere entrambi i lati che supportano la stessa velocità, è possibile che un lato trasmetta a 5,3 kbps e la direzione inversa a 6,3 kbps. La velocità utilizzata viene visualizzata con il comando show call active voice brief, come mostrato di seguito:
Cisco-router# show call active voice brief 47 : 494514hs.1 +473 pid:0 Answer active tx:210/5040 rx:219/4380 IP 5.5.0.1:16534 rtt:3ms pl:890/0ms lost:0/0/0 delay:70/70/70ms g723r63 47 : 494514hs.2 +473 pid:1 Originate 4750001 active TX:230/1840 rx:230/8280 Tele 2/0:0 (35): TX:6870/2290/0ms g723r63 !--- In this example the G.723.1 is operating at 6.3 kbps. noise:0 acom:0 i/0:-79/-5 dBm
Lo standard G.723.1 consente alle stazioni di modificare le velocità tra 6,3 kbps e 5,3 kbps durante una chiamata per adattarle ai carichi del traffico di rete. I gateway VoIP Cisco non supportano questa funzionalità. Tuttavia, sono in grado di capire se il dispositivo remoto (ad esempio, un telefono IP Cisco) trasmette a una velocità diversa da quella originariamente negoziata.
Queste combinazioni di codec G.723.1 interagiscono:
G.723.1 (5,3 kbps) e G.723.1 (6,3 kbps)
G.723.1 (5,3 kbps) e G.723.1 (5,3 kbps)
G.723.1 (6,3 kbps) e G.723.1 (6,3 kbps)
G.723.1 Allegato-A (5,3 kbps) e G.723.1 Allegato-A (6,3 kbps)
G.723.1 Allegato-A (5,3 kbps) e G.723.1 Allegato-A (5,3 kbps)
G.723.1 Allegato-A (6,3 kbps) e G.723.1 Allegato-A (6,3 kbps)
Con l'introduzione del software Cisco IOS versione 12.0(5)T, i gateway VoIP di Cisco supportano la funzione di negoziazione del codec. Questa funzione consente a un gateway VoIP Cisco di connettersi ad altri dispositivi VoIP senza necessariamente sapere quale codec viene utilizzato per la configurazione di una chiamata. Inoltre, questa funzione consente ai gateway VoIP Cisco di adattarsi dinamicamente alle modifiche sui dispositivi remoti. Finché il codec utilizzato dal dispositivo VoIP remoto corrisponde all'elenco delle funzionalità del gateway VoIP Cisco, la chiamata VoIP è completata. La negoziazione del codec è supportata sui DSP C542 e C549. Per specificare un elenco di codec preferiti da utilizzare in un peer di composizione, utilizzare il comando codec preferred in modalità di configurazione classe voce.
Nell'esempio viene mostrato come configurare la negoziazione del codec:
Cisco-router# configure terminal Cisco-router(config)# voice class codec 1 !--- This sets up class 1 to be assigned to the dial peer. Cisco-router(config-class)#codec preference 1 g723r63 Cisco-router(config-class)#codec preference 2 g729br8 Cisco-router(config-class)#codec preference 3 g711ulaw Cisco-router(config-class)#codec preference 4 g726r32 bytes 240 !--- These commands define the preferred codec list using 1,2,3, !--- and 4 to set the preference. Cisco-router(config)#dial-peer voice 1 voip Cisco-router(config-dial-peer)#voice-class codec 1 !--- This assigns voice-class codec 1 to the dial-peer Cisco-router(config-dial-peer)#destination-pattern 4723155 Cisco-router(config-dial-peer)#session target ipv4:192.168.100.1
L'errore %DSPRM-5-SETCODEC è dovuto a un codec ad alta complessità configurato su un dial-peer VoIP mentre la scheda voce è ancora impostata per la complessità media predefinita. Per risolvere il problema, è necessario rimuovere la configurazione del gruppo ds0 dal controller. Dopo aver rimosso il gruppo ds0, seguire le procedure descritte in precedenza in questo documento per modificare la complessità.