TransmitOnHoldIvrData

 

The TransmitOnHoldIvrData API procedure should be called by application software to transmit data out the phone line when the call has been placed on hold (i.e. your software put the call on hold).

 

 

TELEPHONY_RETURN_VALUE TransmitOnHoldIvrData(

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.

 

SipCallNotOnHold

Indicates that a telephony operation require the phone call to be in the hold state when the call was in some other state. Make sure the phone line is "on hold" before attempting the operation.

 

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:

 

When the call is on local hold, you can stream any audio data to the far end that you desire. This capability of the IVR interface allows your application to support “music on hold” or “musac” capabilities.

 

Note: This API procedure can only 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 call this procedure without first placing the call on hold, this procedure will return an error. If you want to stream data to the phone line when the call is not locally on hold, use the TransmitInCallIvrData API procedure.