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