4.1.0.5 LINE_CALLSTATE

This message is sent whenever the status of the specified call has changed. Several such messages will typically be sent during the lifetime of a call. The first such message for an incoming call will indicate the offering state. The TAPI DLL can use lineGetCallStatus to find out more detailed information about the current status of the call.

Sent to

LINEEVENT


Parameters

HTAPILINE htLine
Specifies the TAPI DLL's opaque object handle to the line device.

HTAPICALL htCall
Specifies the TAPI DLL's opaque object handle to the call device.

DWORD dwMsg
The value LINE_CALLSTATE

DWORD dwParam1
Specifies the new call state, of type LINECALLSTATE. Values are:

LINECALLSTATE_IDLE
The call is idle - no call actually exists.

LINECALLSTATE_OFFERING
The call is being offered to the station, signaling the arrival of a new call. In some environments, a call in the offering state does not automatically alert the user; alerting is done by the switch instructing the line to ring, it does not affect any call states.

LINECALLSTATE_ACCEPTED
The call was offering and has been accepted. Note that in ISDN, the transition to the accepted state implicitly initiates altering to both parties.

LINECALLSTATE_DIALTONE
The call is receiving a dial tone from the switch, which means that the switch is ready to receive a dialed number.

LINECALLSTATE_DIALING
Destination address information (a phone number) is being sent to the switch via the call. Note that the operation lineGenerateDigits does not place the line into the dialing state.

LINECALLSTATE_RINGBACK
The call is receiving ringback from the called address. Ringback indicates that the other station has been reached and is being alerted.

LINECALLSTATE_BUSY
The call is receiving a busy tone. Busy tone indicates that the call cannot be completed - either a circuit (trunk) or the remote party's station are in use.

LINECALLSTATE_SPECIALINFO
Special information is sent by the network. Special information is typically sent when the destination cannot be reached.

LINECALLSTATE_CONNECTED
The call has been established, the connection is made. Information is able to flow over the call between the originating address and the destination address.

LINECALLSTATE_PROCEEDING
Dialing has completed and the call is proceeding through the switch or telephone network.

LINECALLSTATE_ONHOLD
The call is on hold by the switch.

LINECALLSTATE_CONFERENCED
The call is currently a member of a multi-party conference call.

LINECALLSTATE_ONHOLDPENDCONF
The call is currently on hold while it is being added to a conference.

LINECALLSTATE_ONHOLDPENDTRANSF
The call is currently on hold awaiting transfer to another number.

LINECALLSTATE_DISCONNECTED
The remote party has disconnected from the call.

LINECALLSTATE_UNKNOWN
The state of the call is not known. This may be due to limitations of the call progress detection implementation.

DWORD dwParam2
Specifies call state dependent information.

If dwParam1 is LINECALLSTATE_BUSY, the dwParam2 contains the details about the busy mode, of type LINEBUSYMODE. Values are:

LINEBUSYMODE_STATION
The busy signal indicates that the called party's station is busy. This is usually signaled via a "normal" busy tone.

LINEBUSYMODE_TRUNK
The busy signal indicates that a trunk or circuit is busy. This is usually signaled via a "long" busy tone.

LINEBUSYMODE_UNKNOWN
The busy signal's specific mode is currently unkown, but may become known later.

LINEBUSYMODE_UNAVAIL
The busy signal's specific mode is unavailable and will not become known.

If dwParam1 is LINECALLSTATE_DIALTONE, the dwParam2 contains the details about the dialtone mode, of type LINEDIALTONEMODE. Values are:

LINEDIALTONEMODE_NORMAL
This is a "normal" dialtone which typically is a continuous tone.

LINEDIALTONEMODE_SPECIAL
This is a special dialtone indicating a certain condition is currently in effect.

LINEDIALTONEMODE_INTERNAL
This an internal (e.g., PBX) dialtone.

LINEDIALTONEMODE_EXTERNAL
This is an external (e.g., public network) dialtone.

LINEDIALTONEMODE_UNKNOWN
The dialtone mode is currently known, but may become known later.

LINEDIALTONEMODE_UNAVAIL
The dialtone mode is unavailable and will not become known.

If dwParam1 is LINECALLSTATE_SPECIALINFO, the dwParam2 contains the details about the special info mode, of type LINESPECIALINFO. Values are:

LINESPECIALINFO_NOCIRCUIT
This special information tone preceeds a no circuit or emergency announcement (trunk blockage category).

LINESPECIALINFO_CUSTIRREG
This special information tone preceeds a vacant number, AIS, Centrex number change and non-working station, access code not dialed or dialed in error, manual intercept operator message (customer irregularity category).

LINESPECIALINFO_REORDER
This special information tone preceeds a reorder announcement (equipment irregularity category).

LINESPECIALINFO_UNKNOWN
Specific about the special information tone are currently unknown but may become known later.

LINESPECIALINFO_UNAVAIL
Specifics about the special information tone are unavailable, and will not become known.

If dwParam1 is LINECALLSTATE_DISCONNECTED, the dwParam2 contains the details about the disconnect mode, 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_UNREACHABLE
The remote user could not be reached.

LINEDISCONNECTMODE_CONGESTION
The network is congested.

LINEDISCONNECTMODE_IMCOMPATIBLE
The remote user's station equipment is incompatible for the type of call requested.

LINEDISCONNECTMODE_UNAVAIL
The remote user's station equipment is incompatible for the type of call requested.

DWORD dwParam3
Unused

Comments

This message (with LINECALLSTATE_OFFERING) should be sent as the next message for an incoming call after LINE_NEWCALL. Other call state changes are reported whenever they occur; the message cannot be disabled.

Comparison

The corresponding message at the TAPI level is used to inform applications of new incoming calls. This is not the case at the TSPI level; the LINE_NEWCALL message informs the TAPI DLL of new incoming calls. The LINE_NEWCALL message must precede this message.
The dwParam3 parameter is used at the TAPI level to inform the recipient of the privilege level it has over the call. This parameter is unused at the TSPI level.

See Also

Functions: TSPI_lineGetCallStatus
Data Types: LINECALLSTATE, LINECALLSTATUS
Messages: LINE_NEWCALL