The VoipMediaEngine..::.DtmfDecoder type exposes the following members.
The CreateDtmfDecoder API procedure is used to create a real time DTMF decoder. Using the created DTMF decoder, your VOIP applications will be able to detect in-band DTMF tones from any audio media stream. Application software generally uses this functionality to monitor specific audio media streams of interest. When the application receives audio data blocks, it writes the audio data block to the DTMF decoder. If there is DTMF content in the media stream sent to the decoder, the application will be notified of the detected DTMF tone via a user supplied callback. Both DTMF "ON" and "OFF" transitions are detected and sent to the application.
Before your application terminates, you must call the DestroyDtmfDecoder()()() API procedure to destroy the decoder and to regain its resources.
The DestroyDtmfDecoder API procedure is used to destroy a previously created DTMF decoder and reclaim all resources associated with the decoder.
The DtmfDecoderGetMinimumDigitOnTime API procedure allows an application to retrieve the current minimum digit ON time for the DTMF decoder.
The DtmfDecoderGetSignalThreshold API procedure allows the application to retrieve the current DTMF detection threshold.
The DtmfDecoderGetTwist API procedure allows the application to retrieve the current allowed forward and reverse twist of the DTMF input signal.
The DtmfDecoderSetMinimumDigitOnTime API procedure can be called by application software to specify the minimum digit ON time for a detected DTMF digit.
Minimum digit ON time is generally set to 40Ms in order to comply with standard in-band DTMF requirements. However, for noisy DTMF signals, specifying a larger DTMF ON time improves noise immunity, improves "talk off" performance and reduces false DTMF digit detections (false positives).
The DtmfDecoderSetSignalThreshold API procedure can be called to specify the DTMF signal detection threshold. DTMF will only be detected by the DTMF decoder if the incoming DTMF signal power is greater than the power threshold as set by this API procedure. For most application deployments, the default signal threshold for the DTMF decoder should be adequate and you should not have to call this API procedure.
The DtmfDecoderSetTwist API procedure allows the application to specify the range of acceptable forward and reverse twist of the DTMF input signal.
The DtmfDecoderWrite API procedure is used to pass audio sample blocks to a DTMF decoder. The audio sample block must be PCM or uLaw data and consist of 20Ms worth of data (160 samples) at 8000Hz. To see how to create a DTMF decoder that will be used for PCM or uLaw data blocks, see the UsePcm parameter of the CreateDtmfDecoder(VoipMediaEngine, Boolean, Int32, Int32, Int32, Boolean, VoipMediaEngine..::.DTMF_DECODER_CALLBACK_PROC, Object) API procedure.
The Object's finalizer.(Overrides Object..::.Finalize()()().)
The SetDtmfTuningTables API procedure is used to change tuning parameters of DTMF decoders. Application software should not call this API procedure unless otherwise instructed by LanScape support personnel.