DAHDI y la cancelación de eco con OSLEC

En muchas ocasiones, cuando estamos utilizando tarjetas analógicas y/o digitales para sacar las llamadas con Asterisk, hemos experimentado problemas de eco. El eco es generado por la reflexión del audio trasmitido que se devuelve a quien lo ha originado con un retraso que puede variar de algunos milisegundos a centenares de milisegundos. Más alto el tiempo de retraso, más fastidioso el eco. Las librerías DAHDI vienen con un cancelador de eco software que a veces no logra solucionar este tipo de problema. En estos casos la mejor solución es instalar el cancelador de eco OSLEC. OSLEC ha sido desarrollado por David Rowe, un ingeniero electrónico australiano.

¿Por qué OSLEC logra solucionar con mayor eficacia los problemas de eco?

Porque a pesar que sea un cancelador de eco de 32ms, actúa justo en los casos en que se produce este tipo de retraso. Como podemos leer en la biblia del voip (voip-info), cuando las llamadas son locales o de larga distancia, las compañías telefónicas no aplican ningún tipo de cancelación de eco y es propio en estos casos que los 32ms de OSLEC son suficientes para cancelar el eco de manera satisfactoria. Cuando las llamadas son internacionales y el eco producido  considerable (centenares de ms), son las mismas compañías telefónicas que normalmente se encargan (a nivel de centrales) de eliminar el eco que se produce.

En este articulo veremos como instalar OSLEC y como utilizarlo en la configuración de las tarjetas analógicas.

Al momento de instalar DAHDI seguimos estos pasos:

cd /usr/src

Descargamos dahdi-linux (versión 2.4.1.2):

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-curr...

lo descomprimimos:

tar -xf dahdi-linux-current.tar.gz

Descargamos las fuentes del Kernel que contiene el modulo OSLEC:

cd ..

wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2

las descomprimimos:

tar -xf linux-2.6.28.tar.bz2

y seguimos estos pasos para preparar las fuentes de DAHDI para la compilación con el modulo OSLEC:

mkdir /usr/src/dahdi-linux-2.4.1.2/drivers/staging
cp -fR /usr/src/linux-2.6.28/drivers/staging/echo /usr/src/dahdi-linux-2.4.1.2/drivers/staging
sed -i "s|#obj-m += dahdi_echocan_oslec.o|obj-m += dahdi_echocan_oslec.o|" /usr/src/dahdi-linux-2.4.1.2/drivers/dahdi/Kbuild
sed -i "s|#obj-m += ../staging/echo/|obj-m += ../staging/echo/|" /usr/src/dahdi-linux-2.4.1.2/drivers/dahdi/Kbuild
echo 'obj-m += echo.o' > /usr/src/dahdi-linux-2.4.1.2/drivers/staging/echo/Kbuild

Ahora podemos compilar DAHDI-Linux:

cd /usr/src/dahdi-linux-2.4.1.2

make

make install

Seguimos con DAHDI-Tools:

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-curr...

tar -xf dahdi-tools-current.tar.gz

cd dahdi-tools-2.4.1

./configure

make

make install

make config

Podemos averiguar que el modulo se ha instalado con el siguiente comando (si tenemos instalado mlocate):

updatedb

locate oslec | grep /lib/modules

/lib/modules/2.6.18-238.9.1.el5/dahdi/dahdi_echocan_oslec.ko

Ahora antes de reiniciar Asterisk y DAHDI, modificamos la configuración de las tarjetas analógicas instaladas en el servidor (en este caso X100P):

nano /etc/dahdi/system.conf

y modificamos esta línea:

echocanceller=mg2,1

para que quede:

echocanceller=OSLEC,1

Paramos Asterisk y DAHDI:

/etc/init.d/asterisk stop

/etc/init.d/dahdi stop

Reiniciamos los dos (primero DAHDI y luego Asterisk)

/etc/init.d/dahdi start

/etc/init.d/asterisk start

Para terminar controlamos que efectivamente el cancelador de echo configurado sea OSLEC:

dahdi_cfg –vvv

DAHDI Tools Version - 2.4.1

DAHDI Version: 2.4.1.2
Echo Canceller(s): OSLEC
Configuration
======================

No queda nada más que probarlo.

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo

1 comentario

Libro Voz To Voice

Hola estimado,

Estoy empezando en el mundo de Asterisk, y veo que segun los comentarios tu libro publicado es la mejor guia, lo que quiera saber es si sigue la venta del mismo y ya esta actualizado, segun comentario anterior que hiciste.

Saludos,
JECOS_6

Suscribirse a Comentarios de "DAHDI y la cancelación de eco con OSLEC" Suscribirse a VozToVoice - Todos los comentarios