2.2.4.1.3.64 SetCallData

The SetCallData packet is transmitted from a TAPI client to a TAPI server in a remote procedure call. The function service provider stores the indicated call data with its information that is related to the call, and subsequently delivers it whenever the GetCallInfo packet is sent. The service provider sends a LINE_CALLINFO packet indicating LINECALLINFOSTATE_CALLDATA to show that the call data has changed.

Depending on the service provider implementation, the call data can be propagated to all entities having handles to the call, including those on other machines (through the server), and can travel with the call when it is transferred.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Req_Func

Reserved1

dwRequestID

hCall

lpCallData

dwSize

Reserved2

Reserved3

Reserved4

Reserved5

Reserved6

Reserved7

Reserved8

Reserved9

Reserved10

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 71.

Return Values

On completion of ClientRequest, this field will contain 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 asynchronous operation starts; otherwise, the function returns one of these negative error values:

Name

Value

LINEERR_INVALCALLSTATE

0x8000001C

LINEERR_INVALPARAM

0x80000032

LINEERR_NOMEM

0x80000044

LINEERR_OPERATIONFAILED

0x80000048

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 for reporting asynchronous completion information.

hCall (4 bytes): An HCALL. The handle to the call. One way of obtaining a valid hCall is by sending the MakeCall packet. Also a valid hCall can be obtained from LINE_CALLSTATE packet sent by the remote server. The application MUST have OWNER privileges.

lpCallData (4 bytes): An unsigned 32-bit integer. The offset, in bytes, in the VarData field, that contains the data to be copied to the CallData field in LINECALLINFO, replacing any existing data.

dwSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, of the data that is indicated in the lpCallData field.

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.

Reserved9 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.

Reserved10 (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 data to copy to the CallData member of a LINECALLINFO packet.

The contents of this field MUST be DWORD-aligned, as specified in [MS-DTYP] section 2.2.9.