The TransmitInCallIvrData API procedure should be called by application software to transmit data out the phone line when the call is active (i.e. When the phone line is in the SipInCall state).

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

Syntax

C#
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE TransmitInCallIvrData(
	Object[] SampleBuffer
)
Visual Basic (Declaration)
Public Function TransmitInCallIvrData ( _
	SampleBuffer As Object() _
) As VoipMediaEngine..::.TELEPHONY_RETURN_VALUE
Visual C++
public:
VoipMediaEngine..::.TELEPHONY_RETURN_VALUE TransmitInCallIvrData(
	array<Object^>^ SampleBuffer
)
J#
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE TransmitInCallIvrData(
	Object[] SampleBuffer
)

Parameters

SampleBuffer
Type: array< System..::.Object >[]()[]
A reference to the user's sample buffer.

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)

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)

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)

SipNoCallActive
Indicates that application software attempted an operation on a phone line and the phone line was not in a proper state to carry out the request. The following scenarios can generate this error: Calling the ConferenceLine(Int32, Boolean) API procedure when the phone line is not in the SipInCall or SipCallHold states. Calling the TransferLine(String, String, Int32, Int32) API procedure when the phone line is not in the SipInCall or SipCallHold states. Attempting to open a transmit media stream to a phone line using the OpenTxIvrChannel(VoipMediaEngine, Int32, Int32) API procedure and the phone line is not in the SipInCall or SipCallHold states. Application software executed the TransmitInCallIvrData(array<Object>[]()[]) API procedure using a particular phone line and the phone line was no longer in the SipInCall state.

(API return value)

SipFarEndHoldOn
This event informs the application software that a phone line has been placed on hold by the far end participant of the phone call. This event is generally used by application software to update the user interface so as to give end users a visual indication that they have been placed on hold.

(API return value, PHONE_LINE_NOTIFICATION)

SipIvrTransmitterFull
Application software attempted to stream audio data to the phone line using the TransmitInCallIvrData(array<Object>[]()[]) or TransmitOnHoldIvrData(array<Object>[]()[]) API procedures and there were no more transmit buffers available. Application software should call the GetNumIvrTxBuffers(Int32%) to see how many transmitter stream buffers are available before attempting to transmit audio data out the phone line.

(API return value)

Remarks

If the phone line is in the SipInCall state, the application can stream data to the phone line. If the far end of the call puts the call on hold, then this procedure will return the error value SipFarEndHoldOn. This error is sent back to the application software to indicate that no additional data will be transmitted out the phone line until the far end takes us off hold.

For most applications, you can safely ignore the SipFarEndHoldOn error and continue to stream data to the phone line. When the far end of the call finally takes the phone call off hold, data you stream to the phone line will once again be transmitted.

Note:
This API procedure can not be used to stream audio data to the phone line if we place the call on hold at the local end (this end). If you want to continue streaming audio to the phone line when the call has been locally placed on hold, call the TransmitOnHoldIvrData(array<Object>[]()[]) API procedure.

See Also