1/*
2 * Copyright (C) 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.telephony;
18
19/**
20 * Contains precise disconnect call causes generated by the
21 * framework and the RIL.
22 *
23 * @hide
24 */
25public class PreciseDisconnectCause {
26
27    /** The disconnect cause is not valid (Not received a disconnect cause)*/
28    public static final int NOT_VALID                      = -1;
29    /** No disconnect cause provided. Generally a local disconnect or an incoming missed call */
30    public static final int NO_DISCONNECT_CAUSE_AVAILABLE  = 0;
31    /**
32     * The destination cannot be reached because the number, although valid,
33     * is not currently assigned
34     */
35    public static final int UNOBTAINABLE_NUMBER            = 1;
36    /** One of the users involved in the call has requested that the call is cleared */
37    public static final int NORMAL                         = 16;
38    /** The called user is unable to accept another call */
39    public static final int BUSY                           = 17;
40    /** The called number is no longer assigned */
41    public static final int NUMBER_CHANGED                 = 22;
42    /** Provided in response to a STATUS ENQUIRY message */
43    public static final int STATUS_ENQUIRY                 = 30;
44    /** Reports a normal disconnect only when no other normal cause applies */
45    public static final int NORMAL_UNSPECIFIED             = 31;
46    /** There is no channel presently available to handle the call */
47    public static final int NO_CIRCUIT_AVAIL               = 34;
48    /**
49     * The network is not functioning correctly and the condition is not likely to last
50     * a long period of time
51     */
52    public static final int TEMPORARY_FAILURE              = 41;
53    /** The switching equipment is experiencing a period of high traffic */
54    public static final int SWITCHING_CONGESTION           = 42;
55    /** The channel cannot be provided */
56    public static final int CHANNEL_NOT_AVAIL              = 44;
57    /** The requested quality of service (ITU-T X.213) cannot be provided */
58    public static final int QOS_NOT_AVAIL                  = 49;
59    /** The requested bearer capability is not available at this time */
60    public static final int BEARER_NOT_AVAIL               = 58;
61    /** The call clearing is due to ACM being greater than or equal to ACMmax */
62    public static final int ACM_LIMIT_EXCEEDED             = 68;
63    /** The call is restricted */
64    public static final int CALL_BARRED                    = 240;
65    /** The call is blocked by the Fixed Dialing Number list */
66    public static final int FDN_BLOCKED                    = 241;
67    /** The given IMSI is not known at the VLR */
68    /** TS 24.008 cause 4 */
69    public static final int IMSI_UNKNOWN_IN_VLR            = 242;
70    /**
71     * The network does not accept emergency call establishment using an IMEI or not accept attach
72     * procedure for emergency services using an IMEI
73     */
74    public static final int IMEI_NOT_ACCEPTED              = 243;
75    /** MS is locked until next power cycle */
76    public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE  = 1000;
77    /** Drop call*/
78    public static final int CDMA_DROP                      = 1001;
79    /** INTERCEPT order received, MS state idle entered */
80    public static final int CDMA_INTERCEPT                 = 1002;
81    /** MS has been redirected, call is cancelled */
82    public static final int CDMA_REORDER                   = 1003;
83    /** Service option rejection */
84    public static final int CDMA_SO_REJECT                 = 1004;
85    /** Requested service is rejected, retry delay is set */
86    public static final int CDMA_RETRY_ORDER               = 1005;
87    /** Unable to obtain access to the CDMA system */
88    public static final int CDMA_ACCESS_FAILURE            = 1006;
89    /** Not a preempted call */
90    public static final int CDMA_PREEMPTED                 = 1007;
91    /** Not an emergency call */
92    public static final int CDMA_NOT_EMERGENCY             = 1008;
93    /** Access Blocked by CDMA network */
94    public static final int CDMA_ACCESS_BLOCKED            = 1009;
95    /** Disconnected due to unspecified reasons */
96    public static final int ERROR_UNSPECIFIED              = 0xffff;
97
98    /** Private constructor to avoid class instantiation. */
99    private PreciseDisconnectCause() {
100        // Do nothing.
101    }
102}
103