Solución a problemas de tonos en Asterisk con DTMF

Los tonos o bien tonos multifrecuencia (combinación de dos tonos), sirven para que al presionar una tecla en el teléfono, del otro lado se interprete correctamente y así poder continuar el flujo de algún servicio. En Asterisk, estos tonos se deben manejar de acuerdo a los estándares, y tanto del lado del proveedor como de la centralita IP, deben negociar en cada llamada para escoger el tono a utilizar, tal como se hace con el codec y otras opciones.

voip-asterisk-mexico-experto-lavariega-tonos en Asterisk
Teclado telefónico

En caso de que los tonos no lleguen correctamente, se debe de validar que ambas partes estén utilizando el mismo estándar para los tonos. Algunos de los errores reportados más comunes son:

  • Los tonos llegan duplicados, es decir, si pulso un número 5, llega un 55.
  • Los tonos no llegan completos, es decir, en caso de pulsar un 555, llega un 55.
  • Los tonos ni siquiera llegan, es decir no vemos nada en el log a pesar de que son pulsados en el extremo llamante.

Proceso para identificar problemas de tonos en Asterisk con DTMF

  1. Habilitaremos el modo de debug en la consola de Asterisk para imprimir los eventos.
    • En el archivo /etc/asterisk/logger.conf ver que exista la linea: consola => aviso, advertencia, error, dtmf
  2. En la configuración de la troncal, donde conectamos con el carrier asegurarnos de estos parametros (en el caso del dtmfmode, se sugiere usar el rfc2833 por ser el más común, sin embargo esto depende de los parametros del carrier, ver posibles modos al final ):
    • relaxdtmf=yes
    • dtfmmode=rfc2833
    • rfc2833compensate=yes
  3. Escribir en la consola estos comandos:
    1. asterisk -rx “reload”
    2. asterisk -rx “sip reload”

Tipos de tonos en Asterisk

Existen diferentes tipos de tonos en asterisk, generalmente se dividen en dos, los que trabajan en banda y los que no trabajan en banda. es decir, algunos son realmente tonos analogicos multifrecuencia, y otros pasan la información dentro del paquete la información.

  • inband
  • rfc2833
  • info
  • auto

Por ejemplo, inband envía el tono dentro del el audio, el problema que si el audio es distorsionado, no será interpretado correctamente. El rfc2833 envia los tonos por aparte, dentro del mismo stream, pero los paquetes RTP van por separado, Info, envia los tonos en los paquetes SIP, es decir, separados de la media o RTP. Auto usa principalmente RFC2833, pero en caso de que no se negocien correctamente, debe escoger otro método.

Teclado de teléfono en móvil asterisk tonos-tonos en Asterisk
Teclado de teléfono en móvil

Identificar si el proveedor no esta enviado o aceptando los tonos en asterisk

Identificar si del otro extremo el proveedor(también puede ser una sip trunk entre asterisk) no tiene habilitados los tonos, o usa otros tonos, es un dolor de cabeza realmente. Ya que pueden pasar horas de pruebas y ya sabes, muevele aqui, muevele haya. Por lo que les dejo una forma rápida de identificar mediante logs esta situación.

Habilita el modo debug, tal como lo indicamos al principio de este post y luego has una llamada telefónica. en el log “/var/log/asterisk/full” puedes ver la misma en tiempo real con el comando “tail -f /var/log/asterisk/full””

Si el proveedor NO TIENE el dtmf activo veras esto.

voip-asterisk-mexico-experto-lavariega-tonos en Asterisk
DTMF nothing

Si el proveedor SI TIENE el ftmf veras esto

voip-asterisk-mexico-experto-lavariega-tonos en Asterisk
DTMF habilitado

TIPS PARA TONOS EN ASTERISK

  • Si algunas llamadas funcionan los tonos en asterisk y otras no, es posible que tu proveedor no use rutas estáticas en las llamadas, dado que esta pasando por diferentes canales, estos no están generalmente homologados. Ahi te recomiendo checar si tu proveedor te puede dar rutas premium.
  • Al momento de conectar una troncal nueva, o dar soporte a una utilizada, siempre es bueno leer la ficha de entrega, en ella debe aparecer el tono que se usa.
  • Esto de los tonos en asterisk, solo es para telefonos que los soporte, (no para teléfonos de pulso como el de la foto).
Asterisk-VOIP-tonos-tonos en Asterisk
Telefono de pulso (no usa tonos )

Andres Lavariega

Apasionado de las tecnologías.Profesional Asterisk y Camaleon Firewall. VoIP Security Assessment / / Me divierto programando y desarrollando ideas //

Podría también gustarte...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *