LINECALLSTATUS

The LINECALLSTATUS structure describes the current status of a call. The information in this structure, as returned with lineGetCallStatus, 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.

typedef struct linecallstatus_tag {
    DWORD  dwTotalSize;
    DWORD  dwNeededSize;
    DWORD  dwUsedSize;

    DWORD  dwCallState;
    DWORD  dwCallStateMode;
    DWORD  dwCallPrivilege;
    DWORD  dwCallFeatures;

    DWORD  dwDevSpecificSize;
    DWORD  dwDevSpecificOffset;

    DWORD  dwCallFeatures2;
    SYSTEMTIME  tStateEntryTime;
} LINECALLSTATUS, FAR *LPLINECALLSTATUS; 
 

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.
dwCallState
dwCallStateMode
The dwCallState member specifies the current call state of the call. The interpretation of the dwCallStateMode member is call-state-dependent. It specifies the current mode of the call while in its current state (if that state defines a mode). This member uses the following LINECALLSTATE_ constants:
LINECALLSTATE_IDLE
The call state mode is unused.
LINECALLSTATE_OFFERING
The call state mode is of type LINEOFFERINGMODE_. Values are:
LINEOFFERINGMODE_ACTIVE
Indicates that the call is alerting at the current station (is accompanied by LINEDEVSTATE_RINGING messages), and if any application is set up to automatically answer, it may do so.
LINEOFFERINGMODE_INACTIVE
Indicates that the call is being offered at more than one station, but the current station is not alerting (for example, it may be an attendant station where the offering status is advisory, such as a blinking light).
LINECALLSTATE_ACCEPTED
The call state mode is unused.
LINECALLSTATE_DIALTONE
The call state mode is of type LINEDIALTONEMODE_. Values are:
LINEDIALTONEMODE_NORMAL
A "normal" dial tone, which typically is a continuous tone.
LINEDIALTONEMODE_SPECIAL
A special dial tone indicating a certain condition is currently in effect.
LINEDIALTONEMODE_INTERNAL
An internal dial tone, as within a PBX.
LINEDIALTONEMODE_EXTERNAL
An external (public network) dial tone.
LINEDIALTONEMODE_UNKNOWN
The dial tone mode is not currently known but may become known later.
LINEDIALTONEMODE_UNAVAIL
The dial tone mode is unavailable and cannot become known.
LINECALLSTATE_DIALING
Call state mode is unused.
LINECALLSTATE_RINGBACK
Call state mode is unused.
LINECALLSTATE_BUSY
The call state mode is of type LINEBUSYMODE_. Values are:
LINEBUSYMODE_STATION
The busy signal indicates that the called party's station is busy. This is usually signaled with a "normal" busy tone.
LINEBUSYMODE_TRUNK
The busy signal indicates that a trunk or circuit is busy. This is usually signaled with a "long" busy tone.
LINEBUSYMODE_UNKNOWN
The busy signal's specific mode is currently unknown but may become known later.
LINEBUSYMODE_UNAVAIL
The busy signal's specific mode is unavailable and cannot become known.
LINECALLSTATE_SPECIALINFO
The call state mode is of type LINESPECIALINFO_. Values are:
LINESPECIALINFO_NOCIRCUIT
Special information tone that precedes a no-circuit or emergency announcement (trunk blockage category).
LINESPECIALINFO_CUSTIRREG
Special information tone that precedes a vacant number, AIS, Centrex number change and nonworking station, access code not dialed or dialed in error, or manual intercept operator message (customer irregularity category).
LINESPECIALINFO_REORDER
Special information tone that precedes a reorder announcement (equipment irregularity category).
LINESPECIALINFO_UNKNOWN
Specifics about the special information tone are currently unknown but may become known later.
LINESPECIALINFO_UNAVAIL
Specifics about the special information tone are unavailable and cannot become known.
LINECALLSTATE_CONNECTED
Call state mode is of type LINECONNECTEDMODE_. Values are:
LINECONNECTEDMODE_ACTIVE
Indicates that the call is connected at the current station (the current station is a participant in the call).
LINECONNECTEDMODE_INACTIVE
Indicates that the call is active at one or more other stations, but the current station is not a participant in the call.
LINECALLSTATE_PROCEEDING
Call state mode is unused.
LINECALLSTATE_ONHOLD
Call state mode is unused.
LINECALLSTATE_CONFERENCED
Call state mode is unused.
LINECALLSTATE_ONHOLDPENDCONF
Call state mode is unused.
LINECALLSTATE_ONHOLDPENDTRANSF
Call state mode is unused.
LINECALLSTATE_DISCONNECTED
Call state mode is of type LINEDISCONNECTMODE_. Values are:
LINEDISCONNECTMODE_NORMAL
This is a "normal" disconnect request by the remote party. The call was terminated normally.
LINEDISCONNECTMODE_UNKNOWN
The reason for the disconnect request is unknown.
LINEDISCONNECTMODE_REJECT
The remote user has rejected the call.
LINEDISCONNECTMODE_PICKUP
The call was picked up from elsewhere.
LINEDISCONNECTMODE_FORWARDED
The call was forwarded by the switch.
LINEDISCONNECTMODE_BUSY
The remote user's station is busy.
LINEDISCONNECTMODE_NOANSWER
The remote user's station does not answer.
LINEDISCONNECTMODE_NODIALTONE
A dial tone was not detected within a service provider-defined timeout, at a point during dialing when one was expected (such as at a "W" in the dialable string). This can also occur without a service provider-defined timeout period or without a value specified in the dwWaitForDialTone member of the LINEDIALPARAMS structure.
LINEDISCONNECTMODE_BADADDRESS
The destination address in invalid.
LINEDISCONNECTMODE_UNREACHABLE
The remote user could not be reached.
LINEDISCONNECTMODE_CONGESTION
The network is congested.
LINEDISCONNECTMODE_INCOMPATIBLE
The remote user's station equipment is incompatible with the type of call requested.
LINEDISCONNECTMODE_UNAVAIL
The reason for the disconnect is unavailable and cannot become known later.
LINECALLSTATE_UNKNOWN
Call state mode is unused.
dwCallPrivilege
The application's privilege for this call. This member uses the following LINECALLPRIVILEGE_ constants. Values are:
LINECALLPRIVILEGE_MONITOR
The application has monitor privilege.
LINECALLPRIVILEGE_OWNER
The application has owner privilege.
dwCallFeatures
These flags indicate the Telephony API 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 zero indicates the corresponding feature cannot be invoked by the application on the call in its current state; a one indicates the feature can be invoked. This member uses LINECALLFEATURE_ constants.
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.
dwCallFeatures2
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 member. This member uses LINECALLFEATURE2_ constants.
tStateEntryTime
The Coordinated Universal Time at which the current call state was entered.

Remarks

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

The application is sent a LINE_CALLSTATE message whenever the call state of a call changes. This message only provides the new call state of the call. Additional status about a call is available with lineGetCallStatus.

The members dwCallFeatures2 and tStateEntryTime are available only to applications that open the line device with an API version of 2.0 or later.

QuickInfo

  Version: Use TAPI version 1.4 and later.
  Header: Declared in tapi.h.

See Also

LINE_CALLSTATE, LINEDIALPARAMS, lineGetCallStatus