2.4.2.15 Call Completion
When making an outbound call, the unavailability of certain resources may prevent the call from reaching the connected state; e.g., if the destination party is busy or doesn't answer. Unavailable resources include trunk circuits as well as the destination party's station. TSPI_lineCompleteCall allows the TAPI DLL to specify how its wants to complete a call that cannot be completed normally. The TAPI DLL has the following options:
- Camp on to queue the call until the call can be completed.
- Call back requests the called station to return the call when it returns to idle. Answering the call back may automatically re-initiate (i.e., redial) the connection request.
- Intrude allows the TAPI DLL to barge in to the existing call.
- Message (aka "leave word calling") allows the TAPI DLL to send one of a small number of predefined messages to the destination. These messages can be text shown on the phone's display, a voice message left for the user, etc.
A call completion request can be canceled via TSPI_lineUncompleteCall. Multiple call completion request can potentially be outstanding for a given address at any one time. To identify individual requests, the implementation returns a completion ID. When a call completion request completes and results in a new call, then the call completion ID is available in the LINECALLINFO data structure returned by TSPI_lineGetCallInfo. Canceling a call completion request in progress also uses this call completion ID.
TSPI_lineCompleteCall
Places a call completion request.
TSPI_lineUncompleteCall
Cancels a call completion request.