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