2.2.6.17 LINECALLSTATUS

The LINECALLSTATUS packet describes the current status of a call. The information in this packet depends on the device capabilities of the address, the ownership of the call by the invoking application, and the current state of the call being queried. LINECALLSTATUS is supplied by the server in the field VarData of the returned version of the GetCallStatus packet if the request is completed successfully.


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

dwTotalSize

dwNeededSize

dwUsedSize

dwCallState

dwCallStateMode

dwCallPrivilege

dwCallFeatures

dwDevSpecificSize

dwDevSpecificOffset

dwCallFeatures2 (optional)

tStateEntryTime (16 bytes, optional)

...

...

dwTotalSize (4 bytes): An unsigned 32-bit integer. The total size, in bytes, allocated to this packet.

dwNeededSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, for this packet that is needed to hold all the returned information.

dwUsedSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, of the portion of this packet that contains useful information.

dwCallState (4 bytes): An unsigned 32-bit integer. The value that specifies the current call state of the call using one of the LINECALLSTATE_Constants.

dwCallStateMode (4 bytes): An unsigned 32-bit integer. The interpretation of the dwCallStateMode member is call-state–dependent. In many cases, the value will be 0. The following table shows dwCallStateMode types for a given dwCallState value.

dwCallState

CallStateMode

LINECALLSTATE_BUSY

LINEBUSYMODE_Constants

LINECALLSTATE_CONNECTED

LINECONNECTEDMODE_Constants

LINECALLSTATE_DIALTONE

LINEDIALTONEMODE_Constants

LINECALLSTATE_DISCONNECTED

LINEDISCONNECTMODE_Constants

LINECALLSTATE_OFFERING

LINEOFFERINGMODE_Constants

LINECALLSTATE_SPECIALINFO

LINESPECIALINFO_Constants

dwCallPrivilege (4 bytes): An unsigned 32-bit integer. The privilege level for this call. This field MUST use one or more of the LINECALLPRIVILEGE_Constants.

dwCallFeatures (4 bytes): An unsigned 32-bit integer. These flags indicate the TAPI functions that can be invoked on the call, given the availability of the feature in the device capabilities, the current call state, and call ownership of the invoking application. A 0 indicates the corresponding feature cannot be invoked on the call in its current state; a 1 indicates the feature can be invoked. This field MUST use LINECALLFEATURE_Constants.

dwDevSpecificSize (4 bytes): An unsigned 32-bit integer. The size, in bytes, of the variably sized device-specific field.

dwDevSpecificOffset (4 bytes): An unsigned 32-bit integer. The offset, in bytes, from the beginning of this packet.

dwCallFeatures2 (4 bytes): An unsigned 32-bit integer. The value that indicates additional functions can be invoked on the call, given the availability of the feature in the device capabilities, the current call state, and call ownership of the invoking application. An extension of the dwCallFeatures field. This field MUST use LINECALLFEATURE2_Constants.

tStateEntryTime (16 bytes): A SYSTEMTIME. The Coordinated Universal Time (UTC) at which the current call state was entered.

Device-specific extensions SHOULD use the DevSpecific (dwDevSpecificSize and dwDevSpecificOffset) variably sized area of this packet.

A LINE_CALLSTATE packet is sent whenever the call state of a call changes. This packet provides only the new call state of the call. Additional status about a call is available with the GetCallStatus packet.

The fields dwCallFeatures2 and tStateEntryTime are available only to a line device opened with a TAPI version of 2.0, 2.1, 2.2, 3.0, or 3.1.