The EnableRfc2833DtmfLogging API procedure allows applications to log all transmitted and received RFC2833 DTMF traffic on a per phone line basis. This feature is useful for debugging.

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

Syntax

C#
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE EnableRfc2833DtmfLogging(
	int PhoneLine,
	bool EnableState,
	bool IncludeNonDtmfRtpPackets,
	string TransmitLogFileName,
	string ReceiveLogFileName
)
Visual Basic (Declaration)
Public Function EnableRfc2833DtmfLogging ( _
	PhoneLine As Integer, _
	EnableState As Boolean, _
	IncludeNonDtmfRtpPackets As Boolean, _
	TransmitLogFileName As String, _
	ReceiveLogFileName As String _
) As VoipMediaEngine..::.TELEPHONY_RETURN_VALUE
Visual C++
public:
VoipMediaEngine..::.TELEPHONY_RETURN_VALUE EnableRfc2833DtmfLogging(
	int PhoneLine, 
	bool EnableState, 
	bool IncludeNonDtmfRtpPackets, 
	String^ TransmitLogFileName, 
	String^ ReceiveLogFileName
)
J#
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE EnableRfc2833DtmfLogging(
	int PhoneLine,
	boolean EnableState,
	boolean IncludeNonDtmfRtpPackets,
	String TransmitLogFileName,
	String ReceiveLogFileName
)

Parameters

PhoneLine
Type: System..::.Int32
The zero based phone line to access.
EnableState
Type: System..::.Boolean
The enable state of DTMF logging. SET to non zero to enable logging, zero to disable logging.
IncludeNonDtmfRtpPackets
Type: System..::.Boolean
Specifies if normal RTP data should also be logged with the RFC2833 data. Useful if you want to see how RFC2833 payloads are interlaced with audio RTP payloads for the call.
TransmitLogFileName
Type: System..::.String
Specifies the log file name that will be used to log all transmitted RFC2833 DTMF data.
ReceiveLogFileName
Type: System..::.String
Specifies the log file name that will be used to log all received RFC2833 DTMF data.

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
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)

SipBadParameter
One of the telephony API procedures was called by application software and was passed a pointer to an invalid memory address. Normally this error will occur when application software passes NULL pointer values to the telephony API. For managed code applications, you should never see this error unless your process space has exhausted memory.

(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)

Remarks

The following text is an excerpt from an RFC2833 DTMF log file. The log file contains RFC2833 DTMF RTP packets in addition to normal RTP media packets (i.e. The IncludeNonDtmfRtpPackets parameter was set to a non zero value). The log file shows that DTMF digits 4,5 and 6 were received. The log file data format is similar for transmitted RFC2833 DTMF signals.

Normal RTP. Sequence=303, TimeStamp=48480, RTP Header Marker=0
Normal RTP. Sequence=304, TimeStamp=48640, RTP Header Marker=0
Normal RTP. Sequence=305, TimeStamp=48800, RTP Header Marker=0
Normal RTP. Sequence=306, TimeStamp=48960, RTP Header Marker=0
*****************************************************************
*** DTMF Key. DTMF Tone=4, Sequence=307, TimeStamp=49120
*****************************************************************
*** (0 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=307, TimeStamp=49120, RTP Header Marker=1
*** (0 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=307, TimeStamp=49120, RTP Header Marker=1
*** (0 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=307, TimeStamp=49120, RTP Header Marker=1
*** (21 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=320, Sequence=308, TimeStamp=49120, RTP Header Marker=0
*** (40 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=480, Sequence=309, TimeStamp=49120, RTP Header Marker=0
*** (61 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=640, Sequence=310, TimeStamp=49120, RTP Header Marker=0
*** (80 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=800, Sequence=311, TimeStamp=49120, RTP Header Marker=0
*** (101 Ms) DTMF_Event=4, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=960, Sequence=312, TimeStamp=49120, RTP Header Marker=0
*** (120 Ms) DTMF_Event=4, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1120, Sequence=313, TimeStamp=49120, RTP Header Marker=0
*** (120 Ms) DTMF_Event=4, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1120, Sequence=313, TimeStamp=49120, RTP Header Marker=0
*** (120 Ms) DTMF_Event=4, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1120, Sequence=313, TimeStamp=49120, RTP Header Marker=0
Normal RTP. Sequence=314, TimeStamp=50240, RTP Header Marker=0
Normal RTP. Sequence=315, TimeStamp=50400, RTP Header Marker=0
Normal RTP. Sequence=316, TimeStamp=50560, RTP Header Marker=0
Normal RTP. Sequence=317, TimeStamp=50720, RTP Header Marker=0
Normal RTP. Sequence=318, TimeStamp=50880, RTP Header Marker=0
Normal RTP. Sequence=319, TimeStamp=51040, RTP Header Marker=0
Normal RTP. Sequence=320, TimeStamp=51200, RTP Header Marker=0
Normal RTP. Sequence=321, TimeStamp=51360, RTP Header Marker=0
Normal RTP. Sequence=322, TimeStamp=51520, RTP Header Marker=0
Normal RTP. Sequence=323, TimeStamp=51680, RTP Header Marker=0
Normal RTP. Sequence=324, TimeStamp=51840, RTP Header Marker=0
Normal RTP. Sequence=325, TimeStamp=52000, RTP Header Marker=0
Normal RTP. Sequence=326, TimeStamp=52160, RTP Header Marker=0
Normal RTP. Sequence=327, TimeStamp=52320, RTP Header Marker=0
Normal RTP. Sequence=328, TimeStamp=52480, RTP Header Marker=0
*****************************************************************
*** DTMF Key. DTMF Tone=5, Sequence=329, TimeStamp=52640
*****************************************************************
*** (0 Ms) DTMF_Event=5, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=329, TimeStamp=52640, RTP Header Marker=1
*** (0 Ms) DTMF_Event=5, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=329, TimeStamp=52640, RTP Header Marker=1
*** (0 Ms) DTMF_Event=5, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=329, TimeStamp=52640, RTP Header Marker=1
*** (21 Ms) DTMF_Event=5, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=320, Sequence=330, TimeStamp=52640, RTP Header Marker=0
*** (41 Ms) DTMF_Event=5, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=480, Sequence=331, TimeStamp=52640, RTP Header Marker=0
*** (60 Ms) DTMF_Event=5, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=640, Sequence=332, TimeStamp=52640, RTP Header Marker=0
*** (81 Ms) DTMF_Event=5, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=800, Sequence=333, TimeStamp=52640, RTP Header Marker=0
*** (100 Ms) DTMF_Event=5, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=960, Sequence=334, TimeStamp=52640, RTP Header Marker=0
*** (100 Ms) DTMF_Event=5, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=960, Sequence=334, TimeStamp=52640, RTP Header Marker=0
*** (100 Ms) DTMF_Event=5, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=960, Sequence=334, TimeStamp=52640, RTP Header Marker=0
Normal RTP. Sequence=335, TimeStamp=53600, RTP Header Marker=0
Normal RTP. Sequence=336, TimeStamp=53760, RTP Header Marker=0
Normal RTP. Sequence=337, TimeStamp=53920, RTP Header Marker=0
Normal RTP. Sequence=338, TimeStamp=54080, RTP Header Marker=0
Normal RTP. Sequence=339, TimeStamp=54240, RTP Header Marker=0
Normal RTP. Sequence=340, TimeStamp=54400, RTP Header Marker=0
Normal RTP. Sequence=341, TimeStamp=54560, RTP Header Marker=0
Normal RTP. Sequence=342, TimeStamp=54720, RTP Header Marker=0
Normal RTP. Sequence=343, TimeStamp=54880, RTP Header Marker=0
Normal RTP. Sequence=344, TimeStamp=55040, RTP Header Marker=0
Normal RTP. Sequence=345, TimeStamp=55200, RTP Header Marker=0
Normal RTP. Sequence=346, TimeStamp=55360, RTP Header Marker=0
Normal RTP. Sequence=347, TimeStamp=55520, RTP Header Marker=0
Normal RTP. Sequence=348, TimeStamp=55680, RTP Header Marker=0
Normal RTP. Sequence=349, TimeStamp=55840, RTP Header Marker=0
Normal RTP. Sequence=350, TimeStamp=56000, RTP Header Marker=0
Normal RTP. Sequence=351, TimeStamp=56160, RTP Header Marker=0
Normal RTP. Sequence=352, TimeStamp=56320, RTP Header Marker=0
*****************************************************************
*** DTMF Key. DTMF Tone=6, Sequence=353, TimeStamp=56480
*****************************************************************
*** (0 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=353, TimeStamp=56480, RTP Header Marker=1
*** (0 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=353, TimeStamp=56480, RTP Header Marker=1
*** (0 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=160, Sequence=353, TimeStamp=56480, RTP Header Marker=1
*** (19 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=320, Sequence=354, TimeStamp=56480, RTP Header Marker=0
*** (40 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=480, Sequence=355, TimeStamp=56480, RTP Header Marker=0
*** (60 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=640, Sequence=356, TimeStamp=56480, RTP Header Marker=0
*** (79 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=800, Sequence=357, TimeStamp=56480, RTP Header Marker=0
*** (100 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=960, Sequence=358, TimeStamp=56480, RTP Header Marker=0
*** (119 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1120, Sequence=359, TimeStamp=56480, RTP Header Marker=0
*** (140 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1280, Sequence=360, TimeStamp=56480, RTP Header Marker=0
*** (159 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1440, Sequence=361, TimeStamp=56480, RTP Header Marker=0
*** (180 Ms) DTMF_Event=6, DTMF_E=0, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1600, Sequence=362, TimeStamp=56480, RTP Header Marker=0
*** (199 Ms) DTMF_Event=6, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1760, Sequence=363, TimeStamp=56480, RTP Header Marker=0
*** (199 Ms) DTMF_Event=6, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1760, Sequence=363, TimeStamp=56480, RTP Header Marker=0
*** (199 Ms) DTMF_Event=6, DTMF_E=1, DTMF_R=0, DTMF_Volume=28, DTMF_Duration=1760, Sequence=363, TimeStamp=56480, RTP Header Marker=0
Normal RTP. Sequence=364, TimeStamp=58240, RTP Header Marker=0
Normal RTP. Sequence=365, TimeStamp=58400, RTP Header Marker=0
Normal RTP. Sequence=366, TimeStamp=58560, RTP Header Marker=0
Normal RTP. Sequence=367, TimeStamp=58720, RTP Header Marker=0
Normal RTP. Sequence=368, TimeStamp=58880, RTP Header Marker=0
Normal RTP. Sequence=369, TimeStamp=59040, RTP Header Marker=0
Normal RTP. Sequence=370, TimeStamp=59200, RTP Header Marker=0


See Also