Codecs de voz: definição e exemplo na prática
Resposta curta: Codecs de voz são os algoritmos que codificam a voz em dados digitais para transmissão numa chamada e a decodificam no destino, como G.711, G.729 e Opus.
Em inglês: voice codecs (G.711, G.729, Opus)
O que são codecs de voz?
Codec de voz é o algoritmo que transforma o som da voz em bits para viajar pela rede e reconstrói o som do outro lado. Toda chamada VoIP usa um codec, e as duas pontas precisam usar o mesmo. A escolha define quanta banda a chamada consome, a qualidade do áudio e o quanto ela resiste a perda de pacotes.
Os três codecs mais encontrados em telefonia são:
- G.711 (ITU-T): não comprime, amostra a voz a 8 kHz e gera 64 kbit/s. Tem duas variantes, μ-law e A-law; o Brasil usa A-law (PCMA). É o padrão de fato em troncos SIP.
- G.729 (ITU-T): comprime para 8 kbit/s. Economiza banda, mas perde qualidade e distorce tons DTMF enviados dentro do áudio.
- Opus (RFC 6716): codec aberto e adaptativo, de 6 a 510 kbit/s, com banda de até 48 kHz. Comum em WebRTC e aplicativos.
O codec é combinado no início da chamada pelo SDP, dentro da mensagem SIP. Quem liga oferece uma lista de codecs; quem atende escolhe um da lista. Se nenhum serve, a chamada falha.
Na prática
Banda por sentido na camada IP, com pacotes de 20 ms (40 bytes de cabeçalho IP, UDP e RTP por pacote, sem contar Ethernet):
| Codec | Áudio | Carga por pacote | Banda IP por sentido |
|---|---|---|---|
| G.711 | 64 kbit/s | 160 bytes | 80 kbit/s |
| G.729 | 8 kbit/s | 20 bytes | 24 kbit/s |
| Opus | 6 a 510 kbit/s | variável | variável |
Um link que carrega 10 chamadas simultâneas em G.711 precisa de cerca de 800 kbit/s em cada sentido só para a voz. Em G.729, cerca de 240 kbit/s. Repare que, no G.729, o cabeçalho pesa o dobro do áudio.
Como o Monitor usa isso
Quando o destino não aceita nenhum dos codecs oferecidos na chamada de teste, a chamada termina com SIP 488 e o Monitor conta o circuito como fora do ar. Veja monitoramento de troncos SIP.
Perguntas frequentes
Qual codec usar em VoIP: G.711 ou G.729?
O G.711 não comprime a voz e entrega a qualidade da telefonia clássica, ao custo de 64 kbit/s de áudio por sentido. O G.729 usa 8 kbit/s, mas perde qualidade e atrapalha o envio de DTMF dentro do áudio. Com banda sobrando, o G.711 é a escolha mais simples. Com banda curta, o G.729 cabe melhor. O que importa é que as duas pontas aceitem o mesmo.
O que acontece quando as duas pontas não têm codec em comum?
A negociação no SDP falha e a chamada não se completa. Normalmente o destino responde com SIP 488 Not Acceptable Here. Um SBC no caminho pode resolver transcodificando, mas cada transcodificação custa processamento e um pouco de qualidade. Para corrigir de vez, alinhe a lista de codecs do PABX com a da operadora.