LINECALLSTATUS
The LINECALLSTATUS structure describes the current status of a call. The information in this structure, as returned with TSPI_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;
} 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 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, of type LINECALLSTATE_. The interpretation of this member is call-state dependent. It specifies the current mode of the call while in its current state (if that state defines a mode).
-
LINECALLSTATE_IDLE
-
Call state mode is unused.
-
LINECALLSTATE_OFFERING
-
Call state mode is unused.
-
LINECALLSTATE_ACCEPTED
-
Call state mode is unused.
-
LINECALLSTATE_DIALTONE
-
The call state mode is of type LINEDIALTONEMODE_. Values are:
-
LINEDIALTONEMODE_NORMAL
-
A normal dial tone, typically 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 currently unknown, but can 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 by means of a normal busy tone.
-
LINEBUSYMODE_TRUNK
-
The busy signal indicates that a trunk or circuit is busy. This is usually signaled by means of a long busy tone.
-
LINEBUSYMODE_UNKNOWN
-
The busy signal's specific mode is currently unknown, but can 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
-
This special information tone precedes a no-circuit or emergency announcement (trunk blockage category).
-
LINESPECIALINFO_CUSTIRREG
-
This special information tone 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
-
This special information tone precedes a reorder announcement (equipment irregularity category).
-
LINESPECIALINFO_UNKNOWN
-
Specifics about the special information tone are currently unknown but can become known later.
-
LINESPECIALINFO_UNAVAIL
-
Specifics about the special information tone are unavailable, and cannot become known.
-
LINECALLSTATE_CONNECTED
-
Call state mode is unused.
-
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_ONHOLDPENDTRANSFER
-
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_BADADDRESS
-
The destination address in invalid.
-
LINEDISCONNECTMODE_CONGESTION
-
The network is congested.
-
LINEDISCONNECTMODE_INCOMPATIBLE
-
The remote user's station equipment is incompatible for the type of call requested.
-
LINEDISCONNECTMODE_UNAVAIL
-
The reason for the disconnect is unavailable and cannot become known later.
-
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.
-
LINECALLSTATE_UNKNOWN
-
Call state mode is unused.
-
dwCallPrivilege
-
The application's privilege for this call, of type LINECALLPRIVILEGE. Values are:
-
LINECALLPRIVILEGE_MONITOR
-
The application has monitor privilege.
-
LINECALLPRIVILEGE_OWNER
-
The application has owner privilege.
-
dwCallFeatures
-
These flags indicate which Telephony API 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. 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 the following LINECALLFEATURE_ constants.
-
dwDevSpecificSize
-
dwDevSpecificOffset
-
The size in bytes and the offset in bytes from the beginning of this data structure of the variably sized device-specific field.
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 through TSPI_lineGetCallStatus.
See Also
LINE_CALLSTATE, LINEBUSYMODE_ Constants, LINECALLFEATURE_ Constants, LINECALLSTATE_ Constants, .LINEDIALTONEMODE_ Constants, LINEDISCONNECTMODE_ Constants, LINESPECIALINFO_ Constants, TSPI_lineGetCallStatus