To terminate a call, the application uses lineDrop on the call. This has the effect of hanging up on (disconnecting) the call, which makes it possible to make another call on the line. The lineDrop function is also used to abandon a call attempt in progress. If the remote party disconnects a call, the local application receives a LINE_CALLSTATE message with a call state of disconnected. If the local application disconnects a call, the call becomes idle, but its handle is not automatically deallocated (the application must call lineDeallocateCall). An application should check the dwCallFeatures member in LINECALLSTATUS to determine whether or not it is acceptable to invoke lineDrop at a particular time.