Call Drop

To terminate a call or a call attempt, tapi32.dll can use TSPI_lineDrop on the call. This function disconnects a call, or abandons a call attempt in progress.

If the remote party disconnects a call, the service provider sends a LINE_CALLSTATE message with a call state of disconnected. To clear the call, tapi32.dll must also drop the call by invoking TSPI_lineDrop on the call, which causes the call to be transitioned by the service provider to the idle state.

A call handle remains valid after a call is dropped. This enables tapi32.dll to still call operations such as TSPI_lineGetCallInfo to retrieve information about a call (for example, for logging purposes). The call handle is eventually deallocated by TSPI_lineCloseCall, which shuts down operations for a call and deallocates (invalidates) the call handle.