lineHold  ILZQ5M 

The lineHold function places the specified call on hold.

LONG lineHold(

    HCALL hCall

 

   );

 

 

Parameters

hCall

A handle to the call to be placed on hold. The application must be an owner of the call. The call state of hCall must be connected.

 

Return Values

Returns a positive request ID if the function will be completed asynchronously or a negative error number if an error has occurred. The dwParam2 parameter of the corresponding LINE_REPLY2_C_9WS message is zero if the function is successful or it is a negative error number if an error has occurred. Possible return values are:

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

Remarks

The call on hold is temporarily disconnected allowing the application to use the line device for making or answering other calls. The lineHold function performs a so-called "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, but a consultation call can. Consultation calls are initiated using lineSetupTransferA4E6KL, lineSetupConference33N2CVI, or linePrepareAddToConference48VP_HE.

After a call has been successfully placed on hold, the call state typically transitions to onHold. A held call is retrieved by lineUnholdSNG0.9. While a call is on hold, the application may receive LINE_CALLSTATEL6OAC. messages about state changes of the held call. For example, if the held party hangs up, the call state may transition to disconnected.

In a bridged situation, a lineHold operation may possibly not actually place the call on hold, because the status of other stations on the call may govern (for example, attempting to "hold" a call when other stations are participating will not be possible); instead, the call may simply be changed to the LINECONNECTEDMODE_INACTIVE mode if it remains connected at other stations.

See Also

LINE_CALLSTATE, linePrepareAddToConference, lineSetupConference, lineSetupTransfer, lineUnhold