Para los que no conoceis Asterisk, se trata de una centralita telefónica software Open Source. Los desarrolladores de este software, Digium, basa su negocio en los servicios y en la venta de hardware para hacer funcionar Asterisk con la telefonía tradicional (líneas, pares, teléfonos no IP, etc.). Uno de sus productos es la TDM400, tarjeta que sirve para conectar tanto líneas como teléfonos analógicos a Asterisk.

Bien, pues existen ciertos problemas con este tipo de tarjeta y las líneas analógicas. Dependiendo de dónde te encuentres, el PC y el operador de telefonía, su funcionamiento difiere. Uno de los resultados más visibles y molestos es el eco, que acaba convirtiendo una conversación en una pesadilla. Este eco se produce cuando existen cambios en el camino de la voz, por ejemplo, al pasar de 2 a 4 pares.
Para evitar este hay que trastear con dos valores que se encuentran en el fichero zapata.conf dentro del directorio de archivoc de configuración de Asterisk (normalmente /etc/asterisk/). Estos valores son el txgain y rxgain que no son más que la ganancia en un sentido y otro de la comunicación. De forma manual es bastante complicado dar con la tecla, además de que cada línea puede necesitar de valores diferentes. Aquí es donde entra nuestra ayuda: fxotune.

Necesitamos apagar Asterisk (en TrixBox: amportal stop).
Ejecutamos fxotune -i 4, proceso que tardará en completarse.
Después ejecutamos fxotune -s para hacer válidos los valores obtenidos.
Y finalmente rearrancamos Asterisk (en TrixBox: amportal start).

Los valores de rx y tx de la ganancia debemos dejarlos en 0.0. En todo caso podríamos cambiar los valores de echo.

El comando fxotune -s debemos arrancarlo siempre, y hacerlo antes que Asterisk. Lo mejor es meterlo dentro de start en /etc/init.d/zaptel para que arranque al comienzo.

Incluso es recomendable dejar que automáticamente se ejecute fxotune -i 4 al menos una vez a la semana.

Esperemos haber terminado con el dichoso eco!