The SetInBandDtmfSignalThreshold API procedure can be called to specify the DTMF signal detection threshold for the phone line. DTMF will only be detected by the phone line's 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.

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


public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE SetInBandDtmfSignalThreshold(
	int PhoneLine,
	double DtmfDecoderSignalThresholdDb
Visual Basic (Declaration)
Public Function SetInBandDtmfSignalThreshold ( _
	PhoneLine As Integer, _
	DtmfDecoderSignalThresholdDb As Double _
Visual C++
VoipMediaEngine..::.TELEPHONY_RETURN_VALUE SetInBandDtmfSignalThreshold(
	int PhoneLine, 
	double DtmfDecoderSignalThresholdDb
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE SetInBandDtmfSignalThreshold(
	int PhoneLine,
	double DtmfDecoderSignalThresholdDb


Type: System..::.Int32
The zero based phone line to access.
Type: System..::.Double
The DTMF signal threshold in dB. The 0dB reference is taken to be sine wave full scale 16 bit PCM. Values in the range of 0dB to any negative dB value can be specified.

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)

Application software called a telephony API procedure and specified an invalid phone line. Phone lines are numbered starting from zero. This error is most commonly returned when attempting to access phone lines in excess of the max number of lines supported by the telephony engine.

(API return value)

Internal media engine in-band and RFC2833 DTMF support has not been enabled. See the DtmfEnabled startup parameter in the VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS structure for additional information.

(API return value)

The application tried to destroy an in-band DTMF decoder for a phone line using the UnInitializeInBandDtmfDecoder(Int32) API procedure and the DTMF decoder did not exists.

(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