The CreateDtmfGenerator API procedure is used to create a DTMF generator. Once application software creates a DTMF generator, the DTMF generator can be turned on to generate audio sample blocks containing encoded DTMF tone data. It can also be turned off to terminate the generation of DTMF tone data.

Each sample block generated will contain 20Ms worth of PCM data using a sampling rate of 8kHz (this is equivalent to 160 - 16 bit PCM samples per block). Applications usually pass the DTMF generated sample blocks to the Media Engine's "transmit IVR Phone Line interface".

Before your application terminates, you must call the DestroyDtmfGenerator()()() API procedure to destroy the DTMF generator and to regain its resources.

Namespace:  LanScape
Assembly:  LMEVoipManaged (in LMEVoipManaged.dll) Version: 6.0.5226.26700


public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE CreateDtmfGenerator(
	VoipMediaEngine MediaEngine,
	VoipMediaEngine..::.DTMF_GENERATOR_CALLBACK_PROC CallbackProc,
	Object InstanceData
Visual Basic (Declaration)
Public Function CreateDtmfGenerator ( _
	MediaEngine As VoipMediaEngine, _
	CallbackProc As VoipMediaEngine..::.DTMF_GENERATOR_CALLBACK_PROC, _
	InstanceData As Object _
Visual C++
VoipMediaEngine..::.TELEPHONY_RETURN_VALUE CreateDtmfGenerator(
	VoipMediaEngine^ MediaEngine, 
	VoipMediaEngine..::.DTMF_GENERATOR_CALLBACK_PROC^ CallbackProc, 
	Object^ InstanceData
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE CreateDtmfGenerator(
	VoipMediaEngine MediaEngine,
	VoipMediaEngine..::.DTMF_GENERATOR_CALLBACK_PROC CallbackProc,
	Object InstanceData


Type: LanScape..::.VoipMediaEngine
An instance of the media engine.
Type: LanScape..::.VoipMediaEngine..::.DTMF_GENERATOR_CALLBACK_PROC
The application supplied callback procedure. This procedure will be called whenever generated DTMF sample blocks are available. The callback procedure will be passed the reference value specified by the InstanceData parameter.
Type: System..::.Object
User supplied instance data that is passed to the DTMF generator callback procedure.

Return Value

If the function succeeds, the return value will be SipSuccess.

If the function fails, the return value will be one of the following values as specified by the VoipMediaEngine..::.TELEPHONY_RETURN_VALUE data type.

Return ValueDescription
This value is returned by telephony API procedures to indicate general API failure. This error value is used as a "catch all error". If you receive this error, check to make sure that all parameters specified in the API procedure call are correct. Particularly, verify that pointers to memory regions are valid. This error return value is only used if a mapping to another specific error value does not exist.

(API return value)

Application software specified an invalid telephony handle in one of the API procedures. This usually indicates memory corruption on the part of application software.

(API return value)

The telephony engine attempted to allocate system memory but the allocation failed. Make sure the host system has enough virtual memory. Increasing the amount of virtual memory can remove these errors, however if critical telephony engine code has been swapped out to disk and is not resident in physical memory, you may experience degraded audio/video performance. If you want to remove this error and obtain the best possible audio/video performance, make sure the host system has enough physical memory. To resolve this error, you may also want to consider disabling certain features of the media engine such as conference calling. You can also reduce memory requirements if you reduce the maximum signal length of internal media engine signal paths by specifying a smaller number for the MaxMixerLinebuffers member of the VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS class that is passed to the StartSipTelephony(VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS) and ReStartSipTelephony(VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS) API procedures.




See Also