Ingresar  \/ 
x
 Use Facebook account  Use Google account  Use Microsoft account  Use LinkedIn account
o
x

Cómo Instalar Gratis el Códec G729 en Asterisk o FreePBX o Elastix o PIAF

como instalar gratis el codec g729 en asterisk elastix freepbx o piaf

Introducción

El códec G729 (ó G.729) es uno bastante deseado ya que mantiene muy buena calidad de sonido mientras usa muy poco ancho de banda (sólo unos 30kbps). Puede que al instalar tu servidor VOIP, éste no contenga el códec instalado, probablemente principalmente por el hecho de que el códec G729 requiere licencia para que sea legal usarlo (tiene patente de pago). No obstante, ésto no impide que pueda ser instalado sin costo alguno y usarlo bajo la propia responsabilidad. Precisamente, este tutorial enseña cómo instalar gratis el códec G729 en un servidor con Asterisk o FreePBX o Elastix o PIAF, o cualquier otra distribución basada en Asterisk de varias versiones, a saber 1.8.x, 11.x, 12.x, 13.x...., y bajo arquitectura de 32 bits o 64 bits, y con cualquier distribución de Linux (Centos, Ubuntu,...), y usarlo bajo su propia cuenta (puede que desee comprar las licencias luego, aunque técnicamente no es necesario para poder usarlo).

En la medida de lo conveniente, se muestra los comandos junto a sus salidas (output).

Básicamente lo que se se hará es descargar el archivo binario .so del códec G.729 dejándolo en el directorio de módulos de Asterisk, reiniciar Asterisk y listo: a probar!

Paso 1. Descargar el archivo Binario .so Apropiado para su Servidor

Primero debemos conocer algunos datos del servidor para bajar el archivo adecuado.

  • Averigua la versión de tu Asterisk. Ejecuta en la línea de comandos lo siguiente:
    [root@telefonia tmp]# asterisk -rx "core show version"
    Asterisk 13.6.0 built by root @ telefonia.fututel.com on a x86_64 running Linux on 2015-12-24 19:32:57 UTC
    En este caso, la versión de Asterisk es la 13.6.0
  • Averigua la versión de glibc. Es muy importante, ya que ésta es la librería GNU del lenguage C, en el que está escrito gran parte de los programas de distribuciones Linux. Ejecuta:
    [root@telefonia tmp]# ldd --version
    ldd (GNU libc) 2.12
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    Written by Roland McGrath and Ulrich Drepper.
    En este caso, la versión de la librería glibc es la 2.12.
  • Averigua la arquitectura de tu sistema operativo (NO de la máquina precisamente), si es de 32 o 64 bits.
    [root@telefonia tmp]# uname -a
    Linux telefonia.fututel.com 2.6.32-39-pve #1 SMP Fri May 8 11:27:35 CEST 2015 x86_64 x86_64 x86_64 GNU/Linux
    
    En este caso es x86_64, es decir, de 64 bits. Si no dice 64 probablemente sea de 32 bits.
  • Averigua el tipo de procesador. Ejecuta:
    [root@telefonia tmp]# cat /proc/cpuinfo
    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 58
    model name      : Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz
    ...
    En nuestro caso, es un Xeón que es la de la familia de los Pentium4.
  • Ya teniendo los datos anteriores de tu servidor, ve a la página http://asterisk.hosting.lv/#bin y tenedlos en cuenta para encontrar el link del códec apropiado (los puedes ver en la parte derecha de la página que titula Linux Binaries y que muestra las distintas versiones de Asterisk; da click en la versión de Asterisk que tengas, después de lo cual aparecerán varios links).
    En nuestro caso damos click en Asterisk 13 y copiamos la dirección del enlace que dice codec_g729-ast130-gcc4-glibc2.2-x86_64-pentium4.so (puedes dar click derecho en el enlace y luego click en Copiar dirección de enlace, para el caso de Chrome). Nótese que este contiene ast130 (para Asterisk 13), glibc2.2 (para glibc 2.12), x86_64 (para 64 bits) y pentium4 (para Xeón, que es de su misma familia de procesadores).
    Una observación importante. Los links que contienen ...-glibc-x86_64-... (sin 2.2) son para versiones de glibc superiores o iguales 2.14, como es el caso de Centos 7. En nuestro ejemplo, usaba Centos 6 y la versión de glibc era la 2.12, y por éso use el otro link que ya escribí (con 2.2).
    Ahora ubícate en la carpeta respectiva de los módulos de Asterisk y descarga allí el binario del link que obtuviste, como sigue.
    En nuestro caso, los módulos de Asterisk se encuentran en:
    cd /usr/lib/asterisk/modules
    Y descargar el binario allí:
    wget http://asterisk.hosting.lv/bin/codec_g729-ast130-gcc4-glibc2.2-x86_64-pentium4.so

Paso 2. Renombrar el Archivo Binario Descargado y Darle Permisos

  • Lo renombramos a codec_g729.so, que es como lo reconoce Asterisk, así:
    mv codec_g729-ast130-gcc4-glibc2.2-x86_64-pentium4.so codec_g729.so
  • Le cambiamos el dueño (owner) a asterisk:asterisk y le añadimos el permiso de ejecución +x al archivo:
    chown asterisk:asterisk codec_g729.so
    chmod +x codec_g729.so

Paso 3. Reiniciar Asterisk y Verificar la Instalación

  • Reiniciar Asterisk para que cargue el módulo:
    /etc/init.d/asterisk restart
  • Verificar que el códec G729 está realmente instalado:
    [root@telefonia tmp]# asterisk -x "core show translation recalc 10"
             Recalculating Codec Translation (number of sample seconds: 10)
    
             Translation times between formats (in microseconds) for one second of data
              Source Format (Rows) Destination Format (Columns)
    
               ulaw  alaw   gsm  g726 g726aal2 adpcm  slin  slin  slin  slin  slin  slin  slin  slin  slin lpc10  g729 speex speex speex  ilbc  g722 testlaw
         ulaw     -  9150 15000 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000 15000 17250   15000
         alaw  9150     - 15000 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000 15000 17250   15000
          gsm 15000 15000     - 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000 15000 17250   15000
         g726 15000 15000 15000     -    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000 15000 17250   15000
     g726aal2 15000 15000 15000 15000        - 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000 15000 17250   15000
        adpcm 15000 15000 15000 15000    15000     -  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000 15000 17250   15000
         slin  6000  6000  6000  6000     6000  6000     -  8000  8000  8000  8000  8000  8000  8000  8000  6000  6000  6000 14000 14000  6000  8250    6000
         slin 14500 14500 14500 14500    14500 14500  8500     -  8000  8000  8000  8000  8000  8000  8000 14500 14500 14500 14000 14000 14500 14000   14500
         slin 14500 14500 14500 14500    14500 14500  8500  8500     -  8000  8000  8000  8000  8000  8000 14500 14500 14500  6000 14000 14500  6000   14500
         slin 14500 14500 14500 14500    14500 14500  8500  8500  8500     -  8000  8000  8000  8000  8000 14500 14500 14500 14500 14000 14500 14500   14500
         slin 14500 14500 14500 14500    14500 14500  8500  8500  8500  8500     -  8000  8000  8000  8000 14500 14500 14500 14500  6000 14500 14500   14500
         slin 14500 14500 14500 14500    14500 14500  8500  8500  8500  8500  8500     -  8000  8000  8000 14500 14500 14500 14500 14500 14500 14500   14500
         slin 14500 14500 14500 14500    14500 14500  8500  8500  8500  8500  8500  8500     -  8000  8000 14500 14500 14500 14500 14500 14500 14500   14500
         slin 14500 14500 14500 14500    14500 14500  8500  8500  8500  8500  8500  8500  8500     -  8000 14500 14500 14500 14500 14500 14500 14500   14500
         slin 14500 14500 14500 14500    14500 14500  8500  8500  8500  8500  8500  8500  8500  8500     - 14500 14500 14500 14500 14500 14500 14500   14500
        lpc10 15000 15000 15000 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000     - 15000 15000 23000 23000 15000 17250   15000
         g729 15000 15000 15000 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000     - 15000 23000 23000 15000 17250   15000
        speex 15000 15000 15000 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000     - 23000 23000 15000 17250   15000
        speex 23500 23500 23500 23500    23500 23500 17500 17500  9000 17000 17000 17000 17000 17000 17000 23500 23500 23500     - 23000 23500 15000   23500
        speex 23500 23500 23500 23500    23500 23500 17500 17500 17500 17500  9000 17000 17000 17000 17000 23500 23500 23500 23500     - 23500 23500   23500
         ilbc 15000 15000 15000 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000     - 17250   15000
         g722 15600 15600 15600 15600    15600 15600  9600 17500  9000 17000 17000 17000 17000 17000 17000 15600 15600 15600 15000 23000 15600     -   15600
      testlaw 15000 15000 15000 15000    15000 15000  9000 17000 17000 17000 17000 17000 17000 17000 17000 15000 15000 15000 23000 23000 15000 17250       -
    
    Como se nota, allí aparece G729 tanto en la fila como en la columna.

Paso 4. Configurar a Asterisk para que Use el Códec G729

  • Para el caso de FreePBX, vaya a Settings -> Asterisk SIP Settings, sección Audio Codecs, selecciona g729 y reordena las prioridades de códecs como desees.
  • Si usa Asterisk puro, deberá hacer el ajuste en sip.conf.

Listo, este es el final. Gracias por seguirlo. Espero que lo compartan y comenten abajo. Dios los bendiga!!!

Consideraciones Finales

  • Le sugerimos que haga una llamada y compruebe en la práctica que el códec g729 está funcionando OK.
  • Si Asterisk no carga el códec o tiene problemas con su desempeño, le sugerimos que ensaye con otro link de los que aparecen arriba para la misma versión de Asterisk (quizás los que digan core2 por ejemplo).
Sobre el Autor
Adesh Johnson
Author: Adesh Johnson
Soy muy creyente en Dios. Ésto no me ha impedido un gran interés por la ciencia y la tecnología, y antes bien Dios me ha servido como guía e inspiración. Soy colombiano y tengo un grado en ingeniería. Busco ser no sólo espectador sino también creador en lo referente a la industria del internet. Específicamente, trabajo en el tema de telecomunicaciones bajo Protocolo de Internet IP. Me gusta la optimización de recursos y me considero perfeccionista. También me gusta el cine reflexivo.

ImprimirCorreo electrónico