LINEDISCONNECTMODE (Compact 2013)
3/26/2014
These bit-flag constants describe different reasons for a remote disconnect request. A disconnect mode is available as call status to the application after the call state transitions to disconnected.
The following table shows the LINEDISCONNECTMODE constants.
Value |
Description |
---|---|
LINEDISCONNECTMODE_BADADDRESS = 0x00000080 |
The destination address is invalid. |
LINEDISCONNECTMODE_BLOCKED = 0x00020000 |
The call could 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 is 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 address (closed user group). LINEDISCONNECTMODE_BLOCKED is appropriate as a blacklisted response. For example, a modem has received an answer, gone more than six seconds without detecting Ringback, failed to connect a defined number of times, determines that the phone number is not valid to call, and issues a 'blacklisted' response. |
LINEDISCONNECTMODE_BUSY = 0x00000020 |
The remote user's station is busy. |
LINEDISCONNECTMODE_CANCELLED = 0x00080000 |
The call was cancelled. |
LINEDISCONNECTMODE_CONGESTION = 0x00000200 |
The network is congested. |
LINEDISCONNECTMODE_DESTINATIONBARRED = 0x00100000 |
The call failed because call barring was enabled. |
LINEDISCONNECTMODE_DONOTDISTURB = 0x00040000 |
The call could not be connected because the destination has invoked the Do Not Disturb feature. |
LINEDISCONNECTMODE_FDNRESTRICT = 0x00200000 |
The call failed because the FDN list indicated that the number was not allowed. |
LINEDISCONNECTMODE_FORWARDED = 0x00000010 |
The call was forwarded by the switch. |
LINEDISCONNECTMODE_INCOMPATIBLE = 0x00000400 |
The remote user's station equipment is incompatible with the type of call requested. |
LINEDISCONNECTMODE_NOANSWER = 0x00000040 |
The remote user's station does not answer. |
LINEDISCONNECTMODE_NODIALTONE = 0x00001000 |
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_NORMAL = 0x00000001 |
This is a normal disconnect request by the remote party. The call was terminated normally. |
LINEDISCONNECTMODE_NUMBERCHANGED = 0x00002000 |
The call could not be connected because the destination number has been changed, but automatic redirection to the new number is not provided. |
LINEDISCONNECTMODE_OUTOFORDER = 0x00004000 |
The call could not be connected or was disconnected because the destination device is out of order. This could occur if for example there were hardware failure. |
LINEDISCONNECTMODE_PICKUP = 0x00000008 |
The call was picked up from elsewhere. |
LINEDISCONNECTMODE_QOSUNAVAIL = 0x00010000 |
The call could not be connected or was disconnected because the minimum quality of service could not be obtained or sustained. This differs from LINEDISCONNECTMODE_INCOMPATIBLE in that the lack of resources may be a temporary condition at the destination. |
LINEDISCONNECTMODE_REJECT = 0x00000004 |
The remote user has rejected the call. |
LINEDISCONNECTMODE_SIMCALLBLOCKED = 0x00400000 |
The SIM blocked the call. |
LINEDISCONNECTMODE_SIMCALLMODIFIED = 0x00800000 |
The SIM replaced the call with an unstructured supplementary services data (USSD) service. |
LINEDISCONNECTMODE_TEMPFAILURE = 0x00008000 |
The call could not be connected or was disconnected because of a temporary failure in the network; the call can be reattempted later and is expected to eventually complete. LINEDISCONNECTMODE_TEMPFAILURE is appropriate as a delayed response. For example, a modem getting a busy signal or equivalent too many times in a particular time period concludes that the number should not be called again until a defined time has elapsed and issues a 'delayed' response. |
LINEDISCONNECTMODE_UNAVAIL = 0x00000800 |
The reason for disconnect is unavailable and will not become known later. |
LINEDISCONNECTMODE_UNKNOWN = 0x00000002 |
The reason for the disconnect request is unknown but may become known later. |
LINEDISCONNECTMODE_UNREACHABLE = 0x00000100 |
The remote user could not be reached. |
Remarks
The high-order 16 bits can be assigned for device-specific extensions. The low-order 16 bits are reserved.
A remote disconnect request for a given call results in the call state transitioning to the disconnected state and a LINE_CALLSTATE (TAPI) message is sent to the application. The LINEDISCONNECTMODE_ information provides details about the remote disconnect request. It is available in the call's LINECALLSTATUS structure when the call is in the disconnected state. While a call is in this state, the application is still allowed to query the call's information and status. For example, user-user information that is received as part of the remote disconnect is available then. The application can clear a disconnected call by dropping the call.
For backward compatibility, it is the responsibility of the service provider to examine the version of TAPI on the line, and to not use this LINEDISCONNECTMODE_ value if it is not supported on the negotiated version (LINEDISCONNECTMODE_NORMAL or _UNKNOWN could be used instead).
Requirements
Header |
tapi.h |
See Also
Reference
TAPI Constants
LINECALLSTATUS
LINEDIALPARAMS
LINE_CALLSTATE (TAPI)