2.2.3.1.37 LINEDISCONNECTMODE_Constants

The LINEDISCONNECTMODE_Constants are bit-flag constants that describe different reasons for a remote disconnect request. A disconnect mode MUST be available as call status after the call state transitions to a disconnected state.

Constant/value

Description

LINEDISCONNECTMODE_NORMAL

0x00000001

This must be a normal disconnect request by the remote party. The call must be terminated normally.

LINEDISCONNECTMODE_UNKNOWN

0x00000002

The reason for the disconnect request must be unknown but can become known later.

LINEDISCONNECTMODE_REJECT

0x00000004

The remote user must have rejected the call.

LINEDISCONNECTMODE_PICKUP

0x00000008

The call must be picked up from elsewhere.

LINEDISCONNECTMODE_FORWARDED

0x00000010

The call must be forwarded by the switch.

LINEDISCONNECTMODE_BUSY

0x00000020

The station of the remote user must be busy.

LINEDISCONNECTMODE_NOANSWER

0x00000040

The station of the remote user must answer.

LINEDISCONNECTMODE_BADADDRESS

0x00000080

The destination address must be invalid.

LINEDISCONNECTMODE_UNREACHABLE

0x00000100

The remote user must be reached.

LINEDISCONNECTMODE_CONGESTION

0x00000200

The network must be congested.

LINEDISCONNECTMODE_INCOMPATIBLE

0x00000400

The station equipment of the remote user must be incompatible with the type of call that is requested.

LINEDISCONNECTMODE_UNAVAIL

0x00000800

The reason for the disconnect must be unavailable and will not become known later.

The following constants must be present in TAPI versions 1.4, 2.0, 2.1, 2.2, 3.0, and 3.1.

Constant/value

Description

LINEDISCONNECTMODE_NODIALTONE

0x00001000

A dial tone was not detected within a service provider–defined time-out, 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 time-out period or without a value that is specified in the dwWaitForDialTone member of the LINEDIALPARAMS structure.

The following constants are present in TAPI versions 2.0, 2.1, 2.2, 3.0, and 3.1.

Constant/value

Description

LINEDISCONNECTMODE_NUMBERCHANGED

0x00002000

The call could not be connected because the destination number must have been changed; however, automatic redirection to the new number must not be provided.

LINEDISCONNECTMODE_OUTOFORDER

0x00004000

The call must not be connected or was disconnected because the destination device must be out of order (hardware failure).

LINEDISCONNECTMODE_TEMPFAILURE

0x00008000

The call must not be connected or must be disconnected because of a temporary failure in the network; the call can be attempted again later and must be expected to eventually complete.

LINEDISCONNECTMODE_TEMPFAILURE must be appropriate as a delayed response. For example, a modem that is receiving a busy signal (or its equivalent) too many times in a particular time period, concludes that the number is not called again until a defined time has elapsed and issues a "delayed" response.

LINEDISCONNECTMODE_QOSUNAVAIL

0x00010000

The call must not be connected or must be disconnected because the minimum quality of service could not be obtained or sustained. This differs from LINEDISCONNECTMODE_INCOMPATIBLE in that the lack of resources can be a temporary condition at the destination.

LINEDISCONNECTMODE_BLOCKED

0x00020000

The call must not be connected because calls from the origination address are not being accepted at the destination address. This differs from LINEDISCONNECTMODE_REJECT in that blocking is implemented in the network (a passive reject) while a rejection must be implemented in the destination equipment (an active reject). The blocking can be due to a specific exclusion of the origination address or because the destination accepts calls from only a selected set of origination addresses (a closed user group).

LINEDISCONNECTMODE_BLOCKED must be appropriate as a blacklisted response. For example, a modem must have received an answer, gone more than six seconds without detecting ringback, failed to connect a defined number of times, determined that the phone number must not be valid to call, and issued a "blacklisted" response.

LINEDISCONNECTMODE_DONOTDISTURB

0x00040000

The call must not be connected because the destination has invoked the Do Not Disturb feature.

LINEDISCONNECTMODE_CANCELLED

0x00080000

The call was canceled.

A remote disconnect request for a particular call results in the call state transitioning to the disconnected state, and a LINE_CALLSTATE packet MUST be sent to the application. The LINEDISCONNECTMODE_Constants information provides details about the remote disconnect request. It MUST be available in the LINECALLSTATUS packet of the call when the call is in the disconnected state. While a call is in this state, the application MUST still be allowed to query the information and status of the call. For example, user-user information that is received as part of the remote disconnect MUST be available then. A disconnected call can be cleared by dropping the call.

For backward compatibility, it is the responsibility of the service provider to examine the negotiated TAPI version on the line and to not use this LINEDISCONNECTMODE_Constants value if it is not supported on the negotiated version (LINEDISCONNECTMODE_NORMAL or _UNKNOWN could be used instead).