2.2.4.1.3.49 PickUp
The PickUp packet is transmitted from a TAPI client to a TAPI server in a remote procedure call. Sending this packet picks up a call alert at the specified destination address and returns a call handle for the picked-up call. If invoked with NULL for the lpszDestAddress parameter, a group pickup is performed. If required by the device capabilities, lpszGroupID specifies the group identifier to which the alerting station belongs.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Req_Func |
|||||||||||||||||||||||||||||||
|
Reserved1 |
|||||||||||||||||||||||||||||||
|
dwRequestID |
|||||||||||||||||||||||||||||||
|
lpContext |
|||||||||||||||||||||||||||||||
|
hLine |
|||||||||||||||||||||||||||||||
|
dwAddressID |
|||||||||||||||||||||||||||||||
|
lphCallContext |
|||||||||||||||||||||||||||||||
|
lpszDestAddress |
|||||||||||||||||||||||||||||||
|
lpszGroupID |
|||||||||||||||||||||||||||||||
|
Reserved2 |
|||||||||||||||||||||||||||||||
|
Reserved3 |
|||||||||||||||||||||||||||||||
|
Reserved4 |
|||||||||||||||||||||||||||||||
|
Reserved5 |
|||||||||||||||||||||||||||||||
|
Reserved6 |
|||||||||||||||||||||||||||||||
|
Reserved7 |
|||||||||||||||||||||||||||||||
|
VarData (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
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 56.
-
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_INVALLINEHANDLE
0x8000002B
LINEERR_NOMEM
0x80000044
LINEERR_INVALADDRESSID
0x80000011
LINEERR_OPERATIONUNAVAIL
0x80000049
LINEERR_INVALADDRESS
0x80000010
LINEERR_OPERATIONFAILED
0x80000048
LINEERR_INVALGROUPID
0x8000002A
LINEERR_RESOURCEUNAVAIL
0x8000004B
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.
hLine (4 bytes): An HLINE. The handle to the line on which a call is to be picked up. This field MUST have been obtained by sending the Open packet.
dwAddressID (4 bytes): An unsigned 32-bit integer. The address on hLine at which the pickup is to be originated. An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades. A valid value of dwAddressID is in the range 0 to dwNumAddresses – 1. The client obtains dwNumAddresses from the LINEDEVCAPS obtained by sending a GetDevCaps packet to the remote server.
lphCallContext (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.
lpszDestAddress (4 bytes): An unsigned 32-bit integer. The offset, in bytes, in the VarData field of a null-terminated Unicode string that contains the address whose call is to be picked up.
lpszGroupID (4 bytes): An unsigned 32-bit integer. The offset, in bytes, in the VarData field of a null-terminated Unicode string that contains the group identifier to which the alerting station belongs.
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.
VarData (variable): Contains two null-terminated Unicode strings that are indicated by the lpszDestAddress and lpszGroupID fields.