The OpenTxIvrChannel API procedure allows application software to open a transmit IVR channel to the specified phone line. By opening a transmit IVR channel to the phone line, the application can stream sampled audio data directly to the phone line.

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

Syntax

C#
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE OpenTxIvrChannel(
	VoipMediaEngine MediaEngine,
	int PhoneLine,
	int ChannelNumber
)
Visual Basic (Declaration)
Public Function OpenTxIvrChannel ( _
	MediaEngine As VoipMediaEngine, _
	PhoneLine As Integer, _
	ChannelNumber As Integer _
) As VoipMediaEngine..::.TELEPHONY_RETURN_VALUE
Visual C++
public:
VoipMediaEngine..::.TELEPHONY_RETURN_VALUE OpenTxIvrChannel(
	VoipMediaEngine^ MediaEngine, 
	int PhoneLine, 
	int ChannelNumber
)
J#
public VoipMediaEngine..::.TELEPHONY_RETURN_VALUE OpenTxIvrChannel(
	VoipMediaEngine MediaEngine,
	int PhoneLine,
	int ChannelNumber
)

Parameters

MediaEngine
Type: LanScape..::.VoipMediaEngine
An instance of the media engine.
PhoneLine
Type: System..::.Int32
The zero based phone line to access.
ChannelNumber
Type: System..::.Int32
The zero based transmit channel number. Currently up to four independent transmit IVR outputs may be opened per phone line. Each opened IVR transmit channel may use any of the data rates and formats supported by the media engine.

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)

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)

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)

SipIvrAlreadyOpened
Indicates that application software attempted to open an IVR channel that is already open. IVR channels can only be opened once.

(API return value)

SipIvrBadChannel
A bad channel number value was specified. For further details see the OpenTxIvrChannel(VoipMediaEngine, Int32, Int32) API procedure..

(API return value)

Remarks

If your application uses transmit IVR channels, you must open and prepare the required transmit IVR channels only when a phone line has completed its call setup and has entered the "in call" state (SipInCall). A transmit IVR channel can then be closed any time after it is opened while the call is still active (not in the SipOnHook state). If the application does not close the transmit IVR channel and the call terminates, the media engine will automatically close the transmit IVR channel for you. In this case, your application will have to re-open the transmit IVR channel by calling this API procedure before streaming additional sample block data to the phone line.

This is in contrast to how an application opens and manages receiver IVR channels. For further information, see the OpenRxIvrChannel(VoipMediaEngine, Int32, VoipMediaEngine..::.IVRCALLBACKPROC, Object, Boolean, VoipMediaEngine..::.AUDIO_BANDWIDTH, Int32%, Int32%, Boolean%) API procedure.

See Also