LINEDEVSTATUS  4J29B5

The LINEDEVSTATUS structure describes the current status of a line device.

typedef struct linedevstatus_tag { 

    DWORD  dwTotalSize;

    DWORD  dwNeededSize;

    DWORD  dwUsedSize;

 

    DWORD  dwNumOpens;

    DWORD  dwOpenMediaModes;

    DWORD  dwNumActiveCalls;

    DWORD  dwNumOnHoldCalls;

    DWORD  dwNumOnHoldPendCalls;

    DWORD  dwLineFeatures;

    DWORD  dwNumCallCompletions;

    DWORD  dwRingMode;

    DWORD  dwSignalLevel;

    DWORD  dwBatteryLevel;

    DWORD  dwRoamMode;

 

    DWORD  dwDevStatusFlags;

 

    DWORD  dwTerminalModesSize;

    DWORD  dwTerminalModesOffset;

 

    DWORD  dwDevSpecificSize;

    DWORD  dwDevSpecificOffset;

 

    DWORD dwAvailableMediaModes;

    DWORD dwAppInfoSize;

    DWORD dwAppInfoOffset;

} LINEDEVSTATUS, FAR *LPLINEDEVSTATUS;

 

Members

dwTotalSize

The total size in bytes allocated to this data structure.

dwNeededSize

The size in bytes for this data structure that is needed to hold all the returned information.

dwUsedSize

The size in bytes of the portion of this data structure that contains useful information.

dwNumOpens

The number of active opens on the line device.

dwOpenMediaModes

This bit array indicates for which media modes the line device is currently open.

dwNumActiveCalls

The number of calls on the line in call states other than idle, onhold, onholdpendingtransfer, and onholdpendingconference.

dwNumOnHoldCalls

The number of calls on the line in the onhold state.

dwNumOnHoldPendingCalls

The number of calls on the line in the onholdpendingtransfer or onholdpendingconference states.

dwLineFeatures

This field specifies the line-related API functions that are currently available on this line. It uses the following LINEFEATURE_ constants:

LINEFEATURE_DEVSPECIFIC

Device-specific operations can be used on the line.

LINEFEATURE_DEVSPECIFICFEAT

Device-specific features can be used on the line.

LINEFEATURE_FORWARD

Forwarding of all addresses can be used on the line.

LINEFEATURE_MAKECALL

An outbound call can be placed on this line using an unspecified address.

LINEFEATURE_SETMEDIACONTROL

Media control can be set on this line.

LINEFEATURE_SETTERMINAL

Terminal modes for this line can be set.

dwNumCallCompletions

The number of outstanding call completion requests on the line.

dwRingMode

The current ring mode on the line device.

dwBatteryLevel

The current battery level of the line device hardware. This is a value in the range 0x00000000 (battery empty) to 0x0000FFFF (battery full).

dwSignalLevel

The current signal level of the connection on the line. This is a value in the range 0x00000000 (weakest signal) to 0x0000FFFF (strongest signal).

dwRoamMode

The current roam mode of the line device. It uses the following LINEROAMMODE_ constants:

LINEROAMMODE_UNKNOWN

The roam mode is currently unknown but may become known later.

LINEROAMMODE_UNAVAIL

The roam mode is unavailable and will not be known.

LINEROAMMODE_HOME

The line is connected to the home network node.

LINEROAMMODE_ROAMA

The line is connected to the Roam-A carrier and calls are charged accordingly.

LINEROAMMODE_ROAMB

The line is connected to the Roam-B carrier and calls are charged accordingly.

dwDevStatusFlags

The size in bytes of this data structure that contains useful information, of type LINEDEVSTATUSFLAGS_.

LINEDEVSTATUSFLAGS_CONNECTED

Specifies whether the line is connected to TAPI. If TRUE, the line is connected and API is able to operate on the line device. If FALSE, the line is disconnected and the application is unable to control the line device using TAPI.

LINEDEVSTATUSFLAGS_LOCKED

This bit is most often used with line devices associated with cellular phones. Many cellular phones have a security mechanism that requires the entry of a password to enable the phone to place calls. This bit may be used to indicate to applications that the phone is locked and cannot place calls until the password is entered on the user interface of the phone, so that the application can present an appropriate alert to the user.

LINEDEVSTATUSFLAGS_MSGWAIT

This field indicates whether the line has a message waiting. If TRUE, a message is waiting; if FALSE, no message is waiting.

LINEDEVSTATUSFLAGS_INSERVICE

This field indicates whether the line is in service. If TRUE, the line is in service; if FALSE, the line is out of service.

dwTerminalModesSize

dwTerminalModesOffset

The size in bytes of the variably sized device field containing an array with DWORD-sized entries, and the offset in bytes from the beginning of this data structure. This array is indexed by terminal IDs, in the range from zero to dwNumTerminals minus one. Each entry in the array specifies the current terminal modes for the corresponding terminal set using the lineSetTerminal6L900VJ operation for this line. It uses the following LINETERMMODE_ constants:

LINETERMMODE_LAMPS

Lamp events sent from the line to the terminal.

LINETERMMODE_BUTTONS

Button-press events sent from the terminal to the line.

LINETERMMODE_DISPLAY

Display information sent from the line to the terminal.

LINETERMMODE_RINGER

Ringer-control information sent from the switch to the terminal.

LINETERMMODE_HOOKSWITCH

Hookswitch events sent between the terminal and the line.

LINETERMMODE_MEDIATOLINE

The unidirectional media stream from the terminal to the line associated with a call on the line. Use this value when the routing of both unidirectional channels of a call's media stream can be controlled independently.

LINETERMMODE_MEDIAFROMTERM

This is the unidirectional media stream from the line to the terminal associated with a call on the line. Use this value when the routing of both unidirectional channels of a call's media stream can be controlled independently.

LINETERMMODE_MEDIABIDIRECT

This is the bidirectional media stream associated with a call on the line and the terminal. Use this value when the routing of both unidirectional channels of a call's media stream cannot be controlled independently.

dwDevSpecificSize

dwDevSpecificOffset

The size in bytes of the variably sized device-specific field, and the offset in bytes from the beginning of this data structure.

dwAvailableMediaModes

Indicates the media modes that can be invoked on new calls created on this line device, when the dwLineFeatures field indicates that new calls are possible. If this field is zero, it indicates that the service provider either does not know or cannot indicate which media modes are available, in which case any or all of the media modes indicated in the dwMediaModes field in LINEDEVCAPSBJCCRA may be available.

dwAppInfoSize

dwAppInfoOffset

Length in bytes and offset from the beginning of LINEDEVSTATUS of an array of LINEAPPINFO1ML_5R0 structures. The dwNumOpens member indicates the number of elements in the array. Each element in the array identifies an application that has the line open.

 

Remarks

Device-specific extensions should use the DevSpecific (dwDevSpecificSize and dwDevSpecificOffset) variably sized area of this data structure.

These members dwAvailableMediaModes through dwAppInfoOffset are available only to applications that open the line device with an API version of 0x00020000 or greater.

See Also

LINEAPPINFO, LINEDEVCAPS, lineSetTerminal