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