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