TSPI_lineDrop (Compact 2013)
3/26/2014
This function drops or disconnects the specified call. User-user information can optionally be transmitted as part of the call disconnect. This function can be called by the application at any time. When TSPI_lineDrop returns, the call should be idle.
Syntax
LONG TSPIAPI TSPI_lineDrop(
DRV_REQUESTID dwRequestID,
HDRVCALL hdCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize
);
Parameters
- dwRequestID
Identifier of the asynchronous request.
- hdCall
Service provider's handle to the call to be dropped. The call state of hdCall can be any state except idle.
- lpsUserUserInfo
Pointer to a null-terminated string containing user-user information to be sent to the remote party as part of the call disconnect. This pointer is only valid if dwUserUserInfoSizeis nonzero. It is NULL if no user-user information is to be sent. User-user information is only sent if supported by the underlying network (see LINEDEVCAPS).
- dwSize
Size, in bytes, of the user-user information in lpsUserUserInfo. If lpsUserUserInfo is NULL, dwSize is ignored.
Return Value
Returns dwRequestID or an error number if an error occurs. The lResultactual parameter of the corresponding ASYNC_COMPLETION is zero if the function succeeds or an error number if an error occurs. The following table shows the return values for this function.
Value |
Description |
---|---|
LINEERR_INVALCALLHANDLE |
The handle to the call is invalid. |
LINEERR_OPERATIONFAILED |
The operation failed. |
LINEERR_INVALCALLSTATE |
The call state is invalid. |
LINEERR_RESOURCEUNAVAIL |
The resource is unavailable. |
LINEERR_NOMEM |
Not enough memory is available. |
LINEERR_USERUSERINFOTOOBIG |
The user user information is too big. |
LINEERR_OPERATIONUNAVAIL |
The operation is unavailable. |
Remarks
The service provider returns LINEERR_INVALCALLSTATE if the current state of the call does not allow the call to be dropped.
When invoking TSPI_lineDrop, related calls can sometimes be affected as well. For example, dropping a conference call may drop all individual participating calls. LINE_CALLSTATE messages are sent to TAPI for all calls whose call state is affected. Typically, a dropped call transitions to the idle state. Invoking TSPI_lineDrop on a call in the offering state rejects the call. Not all telephone networks provide this capability.
In situations where the call to be dropped is a consultation call established during transfer or conference call establishment, the original call that was placed in the OnHoldPending state is reconnected to and it typically re-enters the connected call state.
TAPI has the option to send user-user information at the time of the drop. Even if user-user information can be sent, there is no guarantee that the network will deliver this information to the remote party.
Note
In various bridged or party line configurations when multiple parties are on the call, TSPI_lineDrop may not actually clear the call.
Requirements
Header |
tspi.h |
Library |
CellTSP.dll |