DTMF/Fax Tones

MODULE OVERVIEW

CouthIT Tones library implements the common tone generation and detection algorithms used in telephony applications. Dual-tone multi-frequency (DTMF) signalling is used in telephony applications such as the interactive response systems where the user presses the push-buttons in response to the voice prompts. DTMF signals are standardized in ITU-T recommendations Q.23 and Q.24 respectively. The DTMF signals consists of 8 tones in the voice band frequency, transmitted in pairs to generate 16 signals that represent the 10 digits (0 to 9), 4 letters (A, B, C, D), and symbols # and *. Fax tones are in-band signals used to indicate the start of a fax session. At the receiver, if a fax tone is detected, the call flow is modified to handle the fax session. Typical fax tones include CNG, CED (ANS), ANSam, /ANS,  and /ANSam. In case of absence of CNG, V.21 preamble tone detection is used to detect the start of a fax session.

SALIENT FEATURES
  • Floating-point ANSI C implementation
  • Re-entrant implementation
  • C-callable APIs
  • Operates on 16-bit PCM signal sampled at 8 khz.
  • Optimized for low memory foot-print and low complexity
  • Uses digital sinusoidal oscillator method to generate the tones.
  • Uses Goertzel and/or other signal processing algorithms to detect the tones.
  • Generates and detects the 16 DTMF tones
  • Generates and dtects fax tones (CNG, ANS, ANSam, /ANS, /ANSam)
  • Detects V.21 preamble signal
  • Supports configuring the initial pause/silence duration before the start of the tone.
  • Supports configuring the tone duration in milli-seconds.
  • Supports configuring the pause duration after the tone in milli-seconds.
  • Supports configuring the tone level (dynamic range) from -6 dB to -35 dB (0 dB refers to the dynamic range of a 16-bit PCM signal)
  • Supports configuring a dial-tone filter to remove the dial-tone signal from the input.
TESTING FEATURES
  • Tested DTMF tone detector for frequency tolerance to ensure that deviations <= 1.5% are accepted and deviations >=3.5% are rejected.
  • Tested DTMF tone detector by varying the tone duration to ensure that tones >= 40 ms are detected and tones <=23 ms are rejected.
  • Tested DTMF tone detector by interrupting the tone to ensure that interruptions <= 10ms are acceptable.
  • Tested DTMF tone detector by varying the twist ratio (ratio of power levels of column and row frequencies) to ensure that values ranging from +4 dB to -8 dB are acceptable.
  • Tested DTMF tone detector by varying the power levels to ensure that range of -6 dB to -35 dB are acceptable.
  • Tested DTMF tone detector using Bellcore test vectors and ensured that number of false detections is within the specified limit in ITU-T Q.24.
  • Tested DTMF tone detector by mixing DTMF tones with dial tone signal.
  • Tested Fax tone detector by varying the CNG tone within +-38 Hz of the specified center frequency.
  • Tested Fax tone detector by varying the ANS tones within +-15 Hz of the specified center frequency.
  • Tested Fax tone detector by varying the power levels to ensure that range of -6 dB to -35 dB are acceptable.
  • Tested Fax tone detector for V.21 preamble signal.
  • Tested for Input buffer corruption.
  • Tested for I/O buffer alignment requirements.
  • Tested for multi-instance implementation.
  • Range validation for all the API parameters.
  • Tested with scratch contamination at frame boundaries.
  • AMD/Intel optimized implementation validated on Intel cores supporting SSE4 and above.
AVAILABLE PLATFORM(S)

AMD/Intel 64-bit cores supporting SSE4 and above

For datasheet with resource usage details