Este documento fornece uma visão geral dos diferentes codificadores-decodificadores (codecs) utilizados com os gateways de Voz sobre IP (VoIP) do Cisco IOS®. Nos Cisco IOS Software Releases anteriores a 12.0(5)T, os gateways VoIP suportam somente os codecs G.729 e G.711 e apenas uma chamada de voz/fax-relay por processador de sinal digital (DSP). Com a introdução de Cisco IOS Software Release 12.0(5)T, os gateways VoIP da Cisco suportam um maior número de codecs e módulos DSP. Eles também podem suportar até quatro chamadas de voz/retransmissão de fax por DSP.
Para obter mais informações sobre DSPs, consulte Hardware de voz: Processador de sinal digital (DSP - Digital Signal Processor) C542 e C549.
A ferramenta DSP Calculator (somente clientes registrados) determina os requisitos de DSP para as plataformas de roteador das séries Cisco 1751, 1760, 2600XM, 2691, 2800, 3700 e 3800 e fornece sugestões de provisionamento de PVDM como saída. A ferramenta calcula os requisitos de DSP com base nos módulos de interface, nas configurações de codec, nos canais de transcodificação e nas sessões de conferência fornecidas como entrada. Esta ferramenta suporta diferentes versões do Cisco IOS Software válidas para as plataformas Cisco 1751, 1760, 2600XM, 2691, 2800, 3700 e 3800.
Não existem requisitos específicos para este documento.
Este documento não se restringe a versões de software e hardware específicas.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Algumas técnicas de compressão do codec exigem mais energia de processamento que outras. A complexidade do codec é dividida em duas categorias chamadas de média e alta complexidade.
A complexidade média permite que os DSPs C549 processem até quatro chamadas de voz/fax relay por DSP e os DSPs C5510 processem até oito chamadas de voz/fax relay por DSP.
A alta complexidade permite que os DSPs C549 processem até duas chamadas de voz/fax relay por DSP e os DSPs C5510 processem até seis chamadas de voz/fax relay por DSP.
Complexidade Média (4 chamadas / dsp) | Alta Complexidade (2 chamadas/dsp) |
---|---|
G.711 (Lei-A e Lei-M) | G.728 |
G.726 (todas as versões) | G.723 (todas as versões) |
G.729a, G.729ab (G.729a Anexo B) | G.729, G.729b (G.729-Anexo B) |
Fax-relay | Fax-relay |
Observação: a diferença entre codecs de média e alta complexidade é a quantidade de utilização da CPU necessária para processar o algoritmo codec e, portanto, o número de canais de voz que podem ser suportados por um único DSP. Por esse motivo, todos os codecs de complexidade média também podem ser executados no modo de complexidade alta, mas poucos (geralmente a metade) canais estão disponíveis por DSP.
Observação: a retransmissão de fax (2400 bps, 4800 bps, 7200 bps, 9600 bps, 12 kbps e 14,4 kbps) pode usar codecs de complexidade média ou alta.
Nas plataformas que suportam a tecnologia DSP C549, a complexidade do codec é configurada na placa de voz (por exemplo, o Módulo de Rede de Voz de Alta Densidade 2600/3600/VG-200). Algumas plataformas suportam apenas alta complexidade porque têm DSPs suficientes integrados para suportar todos os canais T1/E1 que usam o modo de alta complexidade. Para especificar a densidade de chamada e a complexidade do codec de acordo com o padrão do codec usado, use o comando codec complexidade no modo de configuração da placa de voz.
Um exemplo da configuração de complexidade é mostrado aqui:
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
Nas plataformas que suportam a tecnologia DSP C5510, uma opção adicional de complexidade flexível está disponível. Quando você usa a complexidade flexível, até dezesseis chamadas podem ser concluídas por DSP. O número de chamadas suportadas varia de seis a dezesseis e é baseado no codec usado para uma chamada.
Um exemplo da configuração é mostrado aqui:
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
Este é um trecho da saída show running-config para determinar qual complexidade está configurada:
!voice-card 1 codec complexity high !
Esta tabela lista o suporte de codec para várias plataformas de roteador Cisco.
Codec | 1751/1760 | 26xx/36xx NM-1V/2V | 26xx/36xx NM-HDV | 3700 | 3810 | AS5300 AS5800 | AS5350 AS5400 | 7200 | 7500 | CMM 24FXS | CMM 6T1/E1 |
---|---|---|---|---|---|---|---|---|---|---|---|
PCM G.711 a-law e u-law (64 kbps) | 12.0.5XQ1 | Yes | 12,0,5XK1 | Yes | 12,0,7XK | Yes | Yes | 12,0,5XE3 | 12.1.3T | Yes | Yes |
G.726 ADPCM (32, 24,16 kbps) | 12.1.2T | 12,0,5T | 12,0,5XK1 | Yes | 12,0,7XK | Yes | No | 12,0,5XE3 | 12.1.3T | No | No |
G.728 LD-CELP (16 kbps) | Yes | 12,0,5T | 12,0,5XK1 | Yes | 12,0,7XK | Yes | No | 12,0,5XE3 | 12.1.3T | No | No |
G.729 CS-ACELP (8 kbps) | 12.1.2T | Yes | 12,0,5XK1 | Yes | 12,0,7XK | Yes | No | 12,0,5XE3 | 12.1.3T | No | No |
G.729a CS-ACELP (8 kbps) | 12.0.5XQ1 | Yes | 12,0,5XK1 | Yes | 12,0,7XK | Yes | Yes | 12,0,5XE3 | 12.1.3T | Yes | Yes |
G.729 Anexo B (8 kbps) [VAD] | Yes | 12,0,5T | 12,0,5XK1 | Yes | 12,0,7XK | Yes | No | 12,0,5XE3 | 12.1.3T | No | No |
G.729a Anexo B (8 kbps) | Yes | Yes | 12,0,5XK1 | Yes | 12,0,7XK | Yes | Yes | 12,0,5XE3 | 12.1.3T | Yes | Yes |
G.723.1 MP-MLQ (6,3 kbps) | 12.1.2T | 12,0,5T | 12,0,5XK1 | Yes | 12,0,7XK | Yes | Yes | 12,0,5XE3 | 12.1.3T | No | No |
ACELP G.723.1 (5,3 kbps) | 12.1.2T | 12,0,5T | 12,0,5XK1 | Yes | 12,0,7XK | Yes | Yes | 12,0,5XE3 | 12.1.3T | No | No |
G.723.1 Anexo A MP-MLQ (6,3 kbps) | 12.1.2T | 12,0,5T | 12,0,5XK1 | Yes | 12,0,7XK | Yes | Yes | 12,0,5XE3 | 12.1.3T | No | No |
ACELP Anexo A G.723.1 (5,3 kbps) | 12.1.2T | 12,0,5T | 12,0,5XK1 | Yes | 12,0,7XK | Yes | Yes | 12,0,5XE3 | 12.1.3T | No | No |
Limpar canal | 12.3(2)XF, 12.3(11)T | Yes | Yes | Yes | 12.3(11)T | Yes | Yes | No | No |
Método de compactação de codec |
---|
PCM = modulação de código de pulso |
ADPCM = Modulação adaptável de código de pulso diferencial |
LDCELP = Prognóstico Linear de Retardo Reduzido Ativado por Código |
CS-ACELP = previsão linear excitada com código algébrico de estrutura conjugada |
MP-MLQ = Multi-Pulse, Multi-Level Quantization |
ACELP = Predição linear excitada com código algébrico |
Cada codec fornece uma certa qualidade de fala. A qualidade da fala transmitida é uma resposta subjetiva do ouvinte. Uma referência comum de desempenho, utilizada para determinar a qualidade do som produzido por codecs específicos, é o MOS (número médio de opinião). Com o MOS, uma grande variedade de ouvintes julga a qualidade de uma amostra de voz (corresponde a um codec específico) em uma escala de 1 (ruim) a 5 (excelente). A média das pontuações é calculada para fornecer o MOS desse exemplo. Esta tabela mostra a relação entre codecs e pontuações MOS.
Método de compactação | Taxa de bits (kbps) | Pontuação MOS | Atraso de compactação (ms) |
---|---|---|---|
PCM G.711 | 64 | 4,1 | 0.75 |
G.726 ADPCM | 32 | 3,85 | 1 |
G.728 LD-CELP | 16 | 3,61 | 3 a 5 |
G.729 CS-ACELP | 8 | 3,92 | 10 |
Codificações G.729 x 2 | 8 | 3.27 | 10 |
Codificações 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 |
ACELP G.723.1 | 5.3 | 3.65 | 30 |
Embora possa parecer lógico, do ponto de vista financeiro, converter todas as chamadas para codecs de taxa de bits baixa para economizar em custos de infraestrutura, tenha cuidado adicional ao projetar redes de voz com compressão de taxa de bits baixa. Existem desvantagens na compressão de voz. Uma das principais desvantagens é a distorção de sinal devido a codificações (chamadas codificações em tandem). Por exemplo, quando um sinal de voz G.729 é codificado tandem três vezes, a pontuação MOS cai de 3,92 (muito boa) para 2,68 (inaceitável). Outra desvantagem é o retardo induzido pelos codecs de baixa taxa de bits.
Essas duas seções esclarecem muitos dos problemas comuns de compatibilidade relacionados à implementação do codec G.729 (8 kbps).
A Cisco lançou uma implementação de codec da Força Tarefa de Engenharia pré-Internet G.729 (IETF) antes da padronização do codec G.729. No Cisco IOS 12.0(5)T e posterior, a ordenação de bits padrão do codec G.729 é alterada do padrão pré-IETF para o formato padronizado IETF. Os dois formatos não interoperam e resultam em um "som de salto" ininteligível para os usuários finais.
Para compatibilidade com as implementações G.729 de outros fornecedores, o Cisco IOS Software Release 12.0.5T e posterior assume como padrão a implementação padronizada do G.729. Para compatibilidade com versões anteriores do software Cisco IOS anteriores à versão 12.0.5T do software Cisco IOS, habilite a implementação anterior à IETF G.729 com este comando:
maui-vgw-01(config)#dial-peer voice 100 voip maui-vgw-01(config-dial-peer)#codec g729r8 pre-ietf
A opção pre-ietf neste comando não é suportada no Cisco IOS versão 12.2 e posterior.
O G.729 é um algoritmo de alta complexidade e o G.729A (também conhecido como G.729 Anexo A) é uma variante de complexidade média do G.729 com qualidade de voz ligeiramente menor. Todas as plataformas que suportam G.729 também suportam G.729A.
Nos gateways Cisco IOS, a variante a ser usada (G.729 ou G.729A) está relacionada à configuração de complexidade do codec na placa de voz. Ele não aparece explicitamente na opção de codec da interface de linha de comando (CLI) do Cisco IOS. Por exemplo, a CLI não mostra g729ar8 ("a" code) como uma opção de codec. No entanto, se a placa de voz for definida como média complexidade, a opção g729r8 será o codec G.729A.
Observação: para o MC3810, nas versões do Cisco IOS Software anteriores a 12.0.7XK, há uma escolha explícita de CLI entre vinte e quatro canais de G.729A ou doze canais de G.729.
O G.729 Anexo B é um algoritmo de alta complexidade e o G.729A Anexo B é uma variante de complexidade média do G.729 Anexo B com qualidade de voz um pouco inferior. A diferença entre o codec G.729 e o G.729 Anexo B é que este último fornece Detecção de atividade de voz (VAD) e Geração de ruído de conforto (CNG) de IETF embutido.
Essas combinações de codec G.729 interoperam:
G.729 e G.729A
G.729 e G.729
G.729A e G.729A
G.729 Annex-B e G.729A Annex-B
G.729 Annex-B e G.729 Annex-B
G.729A Anexo-B e G.729A Anexo-B
Observação: não há maneira explícita de configurar o G.729A no Cisco 2600/3600/VG-200 NM-1V e NM-2V (módulo de rede de voz), pois esses módulos de voz não suportam a configuração de "complexidade de codec" suportada no NM-HDV (High Density Voice Network Module). No entanto, se uma chamada G.729A for configurada por outro endpoint que termine no NM-1V/2V, a chamada será conectada com êxito.
Há duas versões do G.723.1 chamadas Anexo A e não Anexo A. Essas versões não interoperam. G.723.1 Anexo A inclui um algoritmo IETF VAD e CNG integrados.
Além disso, no Cisco IOS Software Release 12.0(5)T e posterior, o codec G.723.1 é suportado com uma taxa de 5,3 kbps e 6,3 kbps. Quando um gateway VoIP da Cisco configura uma chamada entre dispositivos que usam G723.1, a preocupação é que a extremidade oposta use G.723.1. Nenhum dos lados está preocupado com a taxa de 5,3 kbps ou 6,3 kbps que é suportada pelo outro lado. Isso significa que, embora seja benéfico ter ambos os lados suportando a mesma taxa, é possível que um lado transmita a 5,3 kbps e a direção reversa transmita a 6,3 kbps. A velocidade usada é exibida com o comando show call ative voice brief, como mostrado aqui:
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
O padrão G.723.1 permite que as estações alterem as taxas entre 6,3 kbps e 5,3 kbps durante uma chamada para ajustar-se às cargas de tráfego da rede. Os gateways VoIP da Cisco não suportam essa funcionalidade. Mas eles entendem se o dispositivo remoto (como um telefone IP da Cisco) transmite a uma taxa diferente da que foi negociada originalmente.
Essas combinações de codec G.723.1 interoperam:
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 Anexo A (5,3 kbps) e G.723.1 Anexo A (6,3 kbps)
G.723.1 Anexo A (5,3 kbps) e G.723.1 Anexo A (5,3 kbps)
G.723.1 Anexo A (6,3 kbps) e G.723.1 Anexo A (6,3 kbps)
Com a introdução do Cisco IOS Software Release 12.0(5)T, os gateways Cisco VoIP suportam o recurso de negociação codec. Esse recurso permite que um gateway VoiP da Cisco se conecte a outros dispositivos VoIP sem saber necessariamente qual codec é usado para uma configuração de chamadas. Além disso, esse recurso permite que os gateways Cisco VoIP ajustem dinamicamente as alterações nos dispositivos remotos. Quando o codec usado pelo dispositivo de VoIP remoto corresponder à lista de capacidades do gateway Cisco VoIP, a chamada de VoIP é completada. A negociação de Codec é suportada nos DSPs C542 e C549. Para especificar uma lista de codecs preferenciais a serem usados em um peer de discagem, use o comando codec preference no modo de configuração de voz.
Este exemplo mostra como configurar a negociação de 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
O erro %DSPRM-5-SETCODEC é devido a um codec de alta complexidade configurado em um peer de discagem VoIP, enquanto ainda tem a placa de voz definida para o padrão de complexidade média. Para corrigir esse problema, você deve remover a configuração ds0-group do controlador que faz com que a porta de voz seja removida. Depois de remover o ds0-group, siga os procedimentos anteriores neste documento para alterar a complexidade.