En esta oportunidad vamos a ver cómo instalar el códec G729 en nuestra central telefónica basada en Asterisk. Esta explicación nos será útil para cualquier distribución basada en Asterisk, ya sea Issabel, la extinta Elastix o FreePBX.

Debo decir que el códec G729 es de pago, por lo tanto instalarlo en nuestra central no implica que podamos disponer de él; en un futuro artículo explicaré cómo realizar la activación de dicho códec.

Para la instalación del códec debemos ingresar por SSH. En lo personal utilizo PuTTY; si no lo tienes en tu equipo, puedes descargarlo desde putty.org.

Ya con PuTTY instalado, lo ejecutamos e ingresamos a nuestro servidor con el usuario root.

1. Verificar los códecs instalados

asterisk -rx "core show translation"

Salida de core show translation antes de instalar G729

Como podemos ver, la línea del códec G729 no tiene información.

2. Comprobar la versión de Asterisk

asterisk -rx "core show version"
Asterisk 11.22.0 built by root @ tukeke.com on a x86_64 running Linux on 2016-05-04 21:57:49 UTC

3. Comprobar el hardware del servidor

Ejecutaremos el siguiente comando para verificar el tipo de procesador de nuestro servidor:

cat /proc/cpuinfo

Salida de cat /proc/cpuinfo

Estos dos datos son importantes para nuestra instalación:

  • Versión de Asterisk: 11.13.0
  • Procesador: Intel Core 2 Duo

4. Descargar e instalar el códec

Debemos ir al siguiente enlace para buscar la versión correcta de nuestro códec: asterisk.hosting.lv

Listado de códecs en asterisk.hosting.lv

Desplegamos la versión de nuestro Asterisk y buscamos la que corresponde con nuestro servidor:

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

Ya tenemos toda la información necesaria. Desde la consola ejecutaremos los siguientes comandos:

cd /usr/src
service asterisk restart
wget asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-core2.so
mv codec_g729-ast110-gcc4-glibc-x86_64-core2.so /usr/lib64/asterisk/modules
chmod +x /usr/lib64/asterisk/modules/codec_g729-ast110-gcc4-glibc-x86_64-core2.so
asterisk -rx "module load codec_g729-ast110-gcc4-glibc-x86_64-core2.so"
sleep 2
asterisk -rx "core show codecs"

Nota importante: si tu sistema operativo es de 64 bits la carpeta a usar es lib64; si es de 32 bits, deberás usar lib.

Después de ejecutar todos los comandos podremos verificar en nuestra interfaz web que tenemos instalados ambos códecs.

5. Configurar sip.conf

Solo falta editar el archivo sip.conf y agregar lo siguiente al final de la sección [general]:

disallow=all
allow=g729

Por último, volvemos a verificar los códecs instalados:

asterisk -rx "core show translation"

Y podremos ver el códec G729 instalado.

Salida de core show translation con G729 instalado