The InitializeInBandDtmfDecoder API procedure can be called to initialize in-band DTMF detection
for a phone line. Once in-band DTMF detection is initialized and enabled, the media engine will send
the SipDtmfDigitEvent events to the application whenever ON or OFF DTMF digit transitions are detected.
See the SetInBandDtmfDecoderEnableState(Int32, Boolean) API procedure for information regarding enabling
in-band DTMF detection for the phone line.
Namespace:
LanScapeNote: |
---|
You should not use this form of this API porocedure unless your application requires custom DTMF decoder tuning.
Please see the InitializeInBandDtmfDecoder(Int32) API procedure for initializing an in-band DTMF
decoder with default behavior.
If your application requires specific DTMF decoder tuning, please contact LanScape support for further details and pricing information. |
Assembly: LMEVoipManaged (in LMEVoipManaged.dll) Version: 6.0.5226.26700
Syntax
C# |
---|
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE InitializeInBandDtmfDecoder( int PhoneLine, VoipMediaEngine..::.FREQUENCY_RATIO_TABLE_ELEMENT[] DtmfDecoderRatioTuningTable, VoipMediaEngine..::.FREQUENCY_MAGNITUDE_TABLE_ELEMENT[] DtmfDecoderMagnitudeTuningTable ) |
Visual Basic (Declaration) |
---|
Public Function InitializeInBandDtmfDecoder ( _ PhoneLine As Integer, _ DtmfDecoderRatioTuningTable As VoipMediaEngine..::.FREQUENCY_RATIO_TABLE_ELEMENT(), _ DtmfDecoderMagnitudeTuningTable As VoipMediaEngine..::.FREQUENCY_MAGNITUDE_TABLE_ELEMENT() _ ) As VoipMediaEngine..::.TELEPHONY_RETURN_VALUE |
Visual C++ |
---|
public: VoipMediaEngine..::.TELEPHONY_RETURN_VALUE InitializeInBandDtmfDecoder( int PhoneLine, array<VoipMediaEngine..::.FREQUENCY_RATIO_TABLE_ELEMENT^>^ DtmfDecoderRatioTuningTable, array<VoipMediaEngine..::.FREQUENCY_MAGNITUDE_TABLE_ELEMENT^>^ DtmfDecoderMagnitudeTuningTable ) |
J# |
---|
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE InitializeInBandDtmfDecoder( int PhoneLine, VoipMediaEngine..::.FREQUENCY_RATIO_TABLE_ELEMENT[] DtmfDecoderRatioTuningTable, VoipMediaEngine..::.FREQUENCY_MAGNITUDE_TABLE_ELEMENT[] DtmfDecoderMagnitudeTuningTable ) |
Parameters
- PhoneLine
- Type: System..::.Int32
The zero based phone line to access.
- DtmfDecoderRatioTuningTable
- Type: array<
LanScape..::.VoipMediaEngine..::.FREQUENCY_RATIO_TABLE_ELEMENT
>[]()[]
A reference to a LanScape supplied DTMF ratio tuning table.
- DtmfDecoderMagnitudeTuningTable
- Type: array<
LanScape..::.VoipMediaEngine..::.FREQUENCY_MAGNITUDE_TABLE_ELEMENT
>[]()[]
A reference to a LanScape supplied DTMF magnitude tuning table.
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 Value | Description |
---|---|
SipCallFailure |
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) |
SipInvalidHandle |
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) |
SipBadPhoneLine |
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) |
SipInternalDtmfSupportNotEnabled |
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) |
SipInBandDtmfDecoderAlreadyExists |
The application tried to create an in-band DTMF decoder for a phone line using the
InitializeInBandDtmfDecoder(Int32) API procedure and the DTMF decoder already exists.
(API return value) |
SipMemoryError |
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.
(API return value, PHONE_LINE_NOTIFICATION) |
Remarks
None.