When making an outbound call, the unavailability of certain resources can prevent the call from reaching the connected state, as when the destination party is busy or doesn't answer. Unavailable resources include trunk circuits as well as the destination party's station. The lineCompleteCall function lets the application specify how it wants to complete a call that cannot be completed normally—this is called "placing a call-completion request." The application has the following options:
A call completion request can be canceled with lineUncompleteCall. Multiple call completion requests can potentially be outstanding for a given address at any one time. To identify individual requests, the implementation returns a completion identifier. When a call completion request completes and results in a new call, the call completion identifier is available in the LINECALLINFO data structure returned by lineGetCallInfo. Canceling a call completion request in progress also uses this call completion identifier.
In TAPI version 2.0 and later, the LINECALLREASON_CAMPEDON bit allows a service provider to indicate when a new call was camped on to an address.