Neste post vamos apresentar de forma rápida como fazer a instalação do codec G729 que se tornou muito popular por se tratar de um codec com boa qualidade de áudio e uma boa compressão, muito recomendado para ambientes que possuem pouca banda disponível para tráfego de voz.

Para realizarmos a instalação precisamos baixar o arquivo do codec compatível com a versão do Asterisk e o modelo do processador, para isso vamos acessar o servidor em que o Asterisk encontra-se instalado e vamos executar os comandos abaixo.

Primeiramente precisamos confirmar a versão do Asterisk.

# asterisk -r

CLI> core show version

O retorno comando nos trouxe a versão do Asterisk 11.25.3.

Asterisk 11.25.3 built by root @ asterisk.local on a x86_64 running Linux on 2018-10-15 12:22:10 UTC

Agora precisamos verificar o modelo do processador, executando o comando:

# cat /proc/cpuinfo

Model name

O parâmetro model name possui as informações que precisamos para baixar o codec correspondente.

model name : Intel(R) Xeon(R) CPU E3-1220 v3 @ 3.10GHz

Com essas informações podemos acessar o site http://asterisk.hosting.lv para fazermos o download do codec.

Na seção Linux Binaries, selecione a versão do Asterisk. Serão exibidos diversos arquivos, procure utilizar os arquivos compilados com o gcc e compatíveis com x86_64, estes arquivos possuem a nomenclatura gcc4-glibc-x86_64.

Faça o download do código no servidor, para o nosso processador vamos utilizar o core2.so

# cd /usr/src

# wget http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-core2.so

Dê permissão de execução para o arquivo

# chmod +x  codec_g729-ast110-gcc4-glibc-x86_64-core2.so

Eu prefiro renomear o nome do arquivo para deixar com um nome curto, mas fica ao seu critério.

# mv codec_g729-ast110-gcc4-glibc-x86_64-core2.so codec_g729.so

Agora vamos mover o arquivo do codec baixado para o diretório /usr/lib/asterisk/modules, onde ficam localizados os arquivos dos módulos do Asterisk.

# mv codec_g729.so /usr/lib/asterisk/modules

Agora precisamos carregar o módulo referente ao codec G729, existem duas formas de fazer este procedimento.

Console de Asterisk

A primeira é acessar a console do Asterisk e carregar o módulo manualmente.

# asterisk -r

CLI> module load codec_g729.so

Se o codec estiver correto e for compatível com a versão do Asterisk e o processador o codec será carregado corretamente, caso contrário será necessário executar todo o processo escolhendo um novo arquivo do codec.

A segunda fora de recarregarmos o módulo é reiniciando o serviço do Asterisk.

# asterisk -r

CLI> core restart now

Após verificarmos os módulos vamos verificar se o codec aparece da tabela de conversão de codecs.

# asterisk -r

CLI> core show translation

O codec g729 deve ser visualizado na tabela.

Para utilizar o codec G729 podemos setar o parâmetro allow em um ramal ou tronco SIP, é possível utilizar mais de um codec, dando prioridade para o codec g729 que deve ser o primeira da lista, ordenando de cima para baixo.

disallow=all            ; Desabilita todos os codecs
allow=g729             ; Habilita o codec G729
allow=alaw             ; Habilita o codec G711a

Veja o artigo – Asterisk – Prioridades de execução dos serviços