Introducción

DTMF (dual tone multi frequency o tono dual de múltiples frecuencias) es la señal que se genera al oprimir las teclas de un teléfono analógico convencional. Las señales DTMF han sustituído a la marcación por pulsos, utilizada por los antiguos teléfonos con disco. Con el sistema DTMF, cada vez que se pulsa una tecla del teléfono se generan dos tonos de frecuencias específicas. De esta forma, una voz humana no puede imitar los tonos, un tono es generado a partir de un grupo de tonos de alta frecuencia, mientras que el otro a partir de un grupo de tonos de baja frecuencia. Los tonos DTMF son señales analógicas, pero siguen siendo necesarios al hacer las llamadas telefónicas, por ejemplo para interactuar con un sistema de atención automatizado (IVR).



DTMF Modes
Transmisión de DTMF en SIP

En una comunicación de VoIP, los tonos DTMF, pueden ser enviados en banda (codificados como el audio), o fuera de banda a través de mensajes de señalización (lo que se conoce como DTMF sobre SIP y RTP).

En banda

El extremo remoto envía las señales DTMF codificadas en el audio (inband: dentro del stream RTP), independientemente del codec utilizado – en este caso el Phone System Server escucha el audio y detecta las señales DTMF. Las señales DTMF requieren el uso de codecs sin pérdidas, como µ-law o A-law.

  1. Envío de DTMF a la Recepcionista Digital o al Correo de Voz: la eficiencia de la detección DTMF depende de la calidad de audio. Los paquetes perdidos también reducirán la calidad del audio.
  2. Envío a un servidor externo (normalmente a través de un gateway o un proveedor VoIP): los dígitos DTMF son reconocidos desde el flujo de audio entrante, y entregado al servidor externo de 2 formas – en audio (dejando sin cambios el contenido de audio) y además, a través de RFC2833.
  3. Envío a un IVR de un servidor externo: los dígitos DTMF son reconocidos desde el flujo de audio entrante, y entregados al servidor externo en dos formas – en audio (dejando sin cambios el contenido de audio) y además, a través de RFC2833. Dado que el IVR de un servidor externo no realiza la detección de dígitos a partir del audio, sólo utilizará el mecanismo de entrega RFC2833.

Fuera de banda

El extremo remoto envía las señales DTMF fuera de audio (out-of-band) usando SIP INFO, SIP NOTIFY o el mecanismo de RFC-2833, independientemente del codec utilizado – en este caso las señales DTMF se envían separadas del audio.

  1. Envío de DTMF a la Recepcionista Digital o al Correo de Voz: los dígitos DTMF son enviados tal como son recibidos, sin realizar cambios.
  2. Envío a un servidor externo (normalmente a través de un gateway o un proveedor VoIP): los dígitos DTMF son enviados tal como son recibidos, sin realizar cambios. El servidor externo debe soportar el mecanismo de entrega correspondiente para poder reconocer los dígitos DTMF. Por ejemplo, si se reciben los dígitos DTMF a través de SIP INFO, éstos también serán entregados al servidor externo como SIP-INFO. Si su proveedor de VoIP requiere que los DTMF sean entregados mediante RFC2833, entonces será necesario asegurarse de que todos los teléfonos SIP estén configurados para generar los DTMF con RFC2833.
  3. Envío a un IVR de un servidor externo: los dígitos DTMF son enviados tal como son recibidos, sin realizar cambios.

Nota:
No siempre SIP-INFO es lo más recomendado para el envío de DTMF, ya que no puede generar la señalización de los dígitos en sincronía con el flujo de audio, introduciendo desplazamientos temporales (principalmente porque es entregado usando SIP, que no es un mecanismo para la entrega de audio en tiempo real).
En algunos casos, los servicios públicos no soportan SIP INFO, y debe adoptarse otro mecanismo para envío de DTMF de modo de lograr la interacción con esos sistemas.

Los tonos DTMF definen la señalización para varios eventos, entre ellos se encuentran los dígitos y otras funciones relacionadas:

DTMF Event Encoding