TransmitInCallIvrData

 

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

 

 

TELEPHONY_RETURN_VALUE TransmitInCallIvrData(

IVRTXHANDLE IvrTxHandle,

void *pSampleBuffer

);

 

 

Parameters:

 

IvrTxHandle

[in] A handle to a previously opened IVR channel. This handle must have originated from a call to the OpenTxIvrChannel API procedure.

 

pSampleBuffer

[in] A pointer 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 TELEPHONY_RETURN_VALUE data type.

 

 

 

Value

Description

SipCallFailure

This is a generic "catch all" API error. If an error condition is not specified by any other API error value, this error will be returned.

 

SipBadParameter

For API procedures that receive pointers from user software, this error indicates that a NULL pointer condition was detected. Make sure all pointers your software passes to the telephony API are valid.

 

SipInvalidHandle

An API procedure was passed an invalid handle. The telephony engine attempts to verify user specified telephony handles and returns this error when an invalid handle is detected.

 

SipNoCallActive

An API operation was being performed on a phone line. However, there is no active call on the specified phone line.

 

SipFarEndHoldOn

An API operation was being performed on a phone line but the operation is not allowed because the far end of the call has placed the call on hold.

 

SipIvrTransmitterFull

The IVR transmit channel buffers are full. Wait for additional IVR transmit buffers to become available before attempting to stream additional data out the phone line.

 

 

 

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 API procedure.