TSPI_lineHold function (tspi.h)

The TSPI_lineHold function places the specified call on hold.

Syntax

LONG TSPIAPI TSPI_lineHold(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdCall
);

Parameters

dwRequestID

The identifier of the asynchronous request.

hdCall

The service provider's handle to the call to be placed on hold. The call state of hdCall can be connected.

Return value

Returns dwRequestID, or an error number if an error occurs. The lResult actual parameter of the corresponding ASYNC_COMPLETION is zero if the function succeeds, or an error number if an error occurs. Possible return values are as follows:

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_NOMEM, LINEERR_RESOURCEUNAVAIL.

Remarks

The call on hold is temporarily disconnected, allowing TAPI to use the line device for making or answering other calls. TSPI_lineHold performs a hard hold of the specified call, as opposed to a consultation call. A call on hard hold typically cannot be transferred or included in a conference call, whereas a consultation call can. Consultation calls are initiated using TSPI_lineSetupTransfer, TSPI_lineSetupConference, or TSPI_linePrepareAddToConference.

After a call is successfully placed on hold, the call state typically transitions to onHold. A held call is retrieved through TSPI_lineUnhold. While a call is on hold, the service provider can send LINE_CALLSTATE messages about state changes of the held call. For example, if the held party hangs up, the call state can transition to disconnected, and the service provider can send a LINE_CALLSTATE message indicating the new state.

Requirements

Requirement Value
Target Platform Windows
Header tspi.h

See also

ASYNC_COMPLETION

LINE_CALLSTATE

TSPI_lineSetupConference

TSPI_lineSetupTransfer

TSPI_lineUnhold