LINEDISCONNECTMODE_
Constants
The LINEDISCONNECTMODE_
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.
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 but may become known later.
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 is invalid.
LINEDISCONNECTMODE_UNREACHABLE
The remote
user could not be reached.
LINEDISCONNECTMODE_CONGESTION
The network
is congested.
LINEDISCONNECTMODE_INCOMPATIBLE
The remote
user's station equipment is incompatible with the type of call requested.
LINEDISCONNECTMODE_UNAVAIL
The reason
for the disconnect is unavailable and will not 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.
LINEDISCONNECTMODE_NUMBERCHANGED
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
The call
could not be connected or was disconnected because the destination device is
out of order (hardware failure).
LINEDISCONNECTMODE_TEMPFAILURE
The call
could not be connected or was disconnected because of a temporary failure in
the network; the call can be reattempted later and will eventually complete.
LINEDISCONNECTMODE_QOSUNAVAIL
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_BLOCKED
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 may 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_DONOTDISTURB
The call
could not be connected because the destination has invoked the Do Not Disturb
feature.
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 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-to-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
negotiated API version 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).