2.2.4.1.3.7 CompleteCall
The CompleteCall packet is transmitted from a TAPI client to a TAPI server in a remote procedure call. Sending this packet specifies how a call that cannot be connected in the usual manner is to be completed instead. The network or switch cannot be able to complete a call because network resources are busy or the remote station is busy or does not answer.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Req_Func |
|||||||||||||||||||||||||||||||
Reserved1 |
|||||||||||||||||||||||||||||||
dwRequestID |
|||||||||||||||||||||||||||||||
lpContext |
|||||||||||||||||||||||||||||||
hCall |
|||||||||||||||||||||||||||||||
lpdwCompletionIDContext |
|||||||||||||||||||||||||||||||
dwCompletionMode |
|||||||||||||||||||||||||||||||
dwMessageID |
|||||||||||||||||||||||||||||||
Reserved2 |
|||||||||||||||||||||||||||||||
Reserved3 |
|||||||||||||||||||||||||||||||
Reserved4 |
|||||||||||||||||||||||||||||||
Reserved5 |
|||||||||||||||||||||||||||||||
Reserved6 |
|||||||||||||||||||||||||||||||
Reserved7 |
|||||||||||||||||||||||||||||||
Reserved8 |
Req_Func (4 bytes): An unsigned 32-bit integer. The identifier of the function that will be invoked on the remote server. This value MUST be set to 10.
-
Return Values
-
On completion of ClientRequest, this field contains the result of the encapsulated telephony request. A nonzero request ID value indicates that the request is in progress and will complete asynchronously and a LINEERR_Constants value indicates synchronous failure.
-
Returns a positive request identifier if the function will be completed asynchronously or a negative error number if an error occurs. The dwParam2 parameter of the corresponding LINE_REPLY packet is zero if the function succeeds, or it is a negative error number if an error occurs. If the client specified a nonzero value in the dwRequestID field of the packet, the same value MUST be used for the returned positive request identifier. Common return values are as follows:
-
Name
Value
LINEERR_INVALCALLHANDLE
0x80000018
LINEERR_NOMEM
0x80000044
LINEERR_INVALCALLSTATE
0x8000001C
LINEERR_OPERATIONUNAVAIL
0x80000049
LINEERR_INVALCALLCOMPLMODE
0x80000017
LINEERR_OPERATIONFAILED
0x80000048
LINEERR_INVALPOINTER
0x80000035
LINEERR_RESOURCEUNAVAIL
0x8000004B
LINEERR_COMPLETIONOVERRUN
0x80000006
LINEERR_INVALMESSAGEID
0x80000030
Reserved1 (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.
dwRequestID (4 bytes): An unsigned 32-bit integer. The identifier of the asynchronous request.
lpContext (4 bytes): An unsigned 32-bit integer. The opaque, client-specified value that is used by the client upon request completion; MUST be returned by the server in the request completion packet.
hCall (4 bytes): An HCALL. The handle to the call whose completion is requested. One way of obtaining a valid hCall is by sending the MakeCall packet. The application MUST be an owner of the call. The call state of hCall must be busy, ringback.
lpdwCompletionIDContext (4 bytes): An unsigned 32-bit integer. The opaque, client-specified value that is used by the client upon request completion; MUST be returned by the server in the request completion packet.
dwCompletionMode (4 bytes): An unsigned 32-bit integer. The way in which the call is to be completed. This parameter MUST use one of the LINECALLCOMPLMODE_Constants.
dwMessageID (4 bytes): An unsigned 32-bit integer. The packet that is to be sent when completing the call using LINECALLCOMPLMODE_MESSAGE. This identifier selects the packet from a small number of predefined packets. This parameter is not validated by TAPI when this function is called.
Reserved2 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved3 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved4 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved5 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved6 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved7 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved8 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.