2.2.4.1.8.2 NegotiateAPIVersionForAllDevices

The NegotiateAPIVersionForAllDevices request condenses version negotiation for all devices into a single request.


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

hLineApp

dwNumLineDevices

dwNumPhoneDevices

dwAPIHighVersion

dwLineAPIVersionListOffset

dwLineAPIVersionListSize

dwLineExtensionIDListOffset

dwLineExtensionIDListSize

dwPhoneAPIVersionListOffset

dwPhoneAPIVersionListSize

dwPhoneExtensionIDListOffset

dwPhoneExtensionIDListSize

Reserved2

VarData (variable)

...

Req_Func (4 bytes): The identifier of the function that will be invoked on the remote server. This value MUST be set to 130.

On completion of ClientRequest, this field MUST contain the result of the encapsulated telephony request. A value of zero indicates success, and a LINEERR_Constants value indicates failure.

Reserved1 (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.

hLineApp (4 bytes): An HLINEAPP. The handle to the application registration with TAPI. This field MUST have been obtained by sending the Initialize packet.

dwNumLineDevices (4 bytes): An unsigned 32-bit integer. The number of line devices to negotiate, starting with the line device ID zero.

dwNumPhoneDevices (4 bytes): An unsigned 32-bit integer. The number of phone devices to negotiate, starting with the phone device ID zero.

dwAPIHighVersion (4 bytes): An unsigned 32-bit integer. The latest TAPI version that is wanted by the client.

dwLineAPIVersionListOffset (4 bytes): An unsigned 32-bit integer. On successful completion, this field MUST contain the offset, in bytes, of the packet in the VarData field.

dwLineAPIVersionListSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, of an ordered list of negotiated line device versions. For example, in the DWORD array, the element[0] is the negotiated version for the line device ID zero.

dwLineExtensionIDListOffset (4 bytes): An unsigned 32-bit integer. On successful completion, this field MUST contain the offset, in bytes, of the packet in the VarData field.

dwLineExtensionIDListSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, of an ordered list of line device extension IDs. For example, in the LINEEXTENSIONID array, the element[0] is an extension ID for the line device ID zero.

dwPhoneAPIVersionListOffset (4 bytes): An unsigned 32-bit integer. On successful completion, this field MUST contain the offset, in bytes, of the packet in the VarData field.

dwPhoneAPIVersionListSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, of an ordered list of negotiated phone device versions. For example, in the DWORD array, the element[0] is the negotiated version for the phone device ID zero.

dwPhoneExtensionIDListOffset (4 bytes): An unsigned 32-bit integer. On successful completion, this field MUST contain the offset, in bytes, of the packet in the VarData field.

dwPhoneExtensionIDListSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, of an ordered list of phone device extension IDs. For example, in the PHONEEXTENSIONID array, the element[0] is an extension ID for the phone device ID zero.

Reserved2 (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.

VarData (variable): MUST contain a LINEEXTENSIONID packet, a PHONEEXTENSIONID packet, and DWORD arrays of Line API Version and Phone API Version.

The contents of this field are DWORD-aligned.