blob: 250d9e8b212eaa99b5316a388f283683c222e991 [file] [log] [blame]
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +02001/*
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
chen xu970d7792018-12-12 19:59:30 -080019import android.annotation.SystemApi;
20
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +020021/**
chen xu970d7792018-12-12 19:59:30 -080022 * Contains precise disconnect call causes generated by the framework and the RIL.
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +020023 * @hide
24 */
chen xu970d7792018-12-12 19:59:30 -080025@SystemApi
chen xu7621ff22019-02-21 19:17:22 -080026public final class PreciseDisconnectCause {
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +020027
chen xu970d7792018-12-12 19:59:30 -080028 /** The disconnect cause is not valid (Not received a disconnect cause).*/
Jayachandran C5cbaddd2017-03-07 23:59:15 -080029 public static final int NOT_VALID = -1;
chen xu970d7792018-12-12 19:59:30 -080030 /** No disconnect cause provided. Generally a local disconnect or an incoming missed call. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080031 public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0;
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +020032 /**
33 * The destination cannot be reached because the number, although valid,
chen xu970d7792018-12-12 19:59:30 -080034 * is not currently assigned.
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +020035 */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080036 public static final int UNOBTAINABLE_NUMBER = 1;
chen xu970d7792018-12-12 19:59:30 -080037 /**
38 * The user cannot be reached because the network through which the call has been routed does
39 * not serve the destination desired.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080040 */
41 public static final int NO_ROUTE_TO_DESTINATION = 3;
chen xu970d7792018-12-12 19:59:30 -080042 /**
43 * The channel most recently identified is not acceptable to the sending entity for use in this
44 * call.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080045 */
46 public static final int CHANNEL_UNACCEPTABLE = 6;
chen xu970d7792018-12-12 19:59:30 -080047 /**
48 * The mobile station (MS) has tried to access a service that the MS's network operator or
49 * service provider is not prepared to allow.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080050 */
51 public static final int OPERATOR_DETERMINED_BARRING = 8;
chen xu970d7792018-12-12 19:59:30 -080052 /** One of the users involved in the call has requested that the call is cleared. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080053 public static final int NORMAL = 16;
chen xu970d7792018-12-12 19:59:30 -080054 /** The called user is unable to accept another call. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080055 public static final int BUSY = 17;
chen xu970d7792018-12-12 19:59:30 -080056 /**
57 * The user does not respond to a call establishment message with either an alerting or connect
58 * indication within the prescribed period of time allocated.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080059 */
60 public static final int NO_USER_RESPONDING = 18;
chen xu970d7792018-12-12 19:59:30 -080061 /**
62 * The user has provided an alerting indication but has not provided a connect indication
63 * within a prescribed period of time.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080064 */
65 public static final int NO_ANSWER_FROM_USER = 19;
chen xu970d7792018-12-12 19:59:30 -080066 /** The equipment sending this cause does not wish to accept this call. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080067 public static final int CALL_REJECTED = 21;
chen xu970d7792018-12-12 19:59:30 -080068 /** The called number is no longer assigned. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080069 public static final int NUMBER_CHANGED = 22;
chen xu970d7792018-12-12 19:59:30 -080070 /**
71 * This cause is returned to the network when a mobile station clears an active call which is
72 * being pre-empted by another call with higher precedence.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080073 */
74 public static final int PREEMPTION = 25;
chen xu970d7792018-12-12 19:59:30 -080075 /**
76 * The destination indicated by the mobile station cannot be reached because the interface to
77 * the destination is not functioning correctly.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080078 */
79 public static final int DESTINATION_OUT_OF_ORDER = 27;
chen xu970d7792018-12-12 19:59:30 -080080 /** The called party number is not a valid format or is not complete. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080081 public static final int INVALID_NUMBER_FORMAT = 28;
chen xu970d7792018-12-12 19:59:30 -080082 /** The facility requested by user can not be provided by the network. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080083 public static final int FACILITY_REJECTED = 29;
chen xu970d7792018-12-12 19:59:30 -080084 /** Provided in response to a STATUS ENQUIRY message. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080085 public static final int STATUS_ENQUIRY = 30;
chen xu970d7792018-12-12 19:59:30 -080086 /** Reports a normal disconnect only when no other normal cause applies. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080087 public static final int NORMAL_UNSPECIFIED = 31;
chen xu970d7792018-12-12 19:59:30 -080088 /** There is no channel presently available to handle the call. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080089 public static final int NO_CIRCUIT_AVAIL = 34;
chen xu970d7792018-12-12 19:59:30 -080090 /**
91 * The network is not functioning correctly and that the condition is likely to last a
92 * relatively long period of time.
Jayachandran C5cbaddd2017-03-07 23:59:15 -080093 */
94 public static final int NETWORK_OUT_OF_ORDER = 38;
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +020095 /**
chen xu970d7792018-12-12 19:59:30 -080096 * The network is not functioning correctly and the condition is not likely to last a long
97 * period of time.
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +020098 */
Jayachandran C5cbaddd2017-03-07 23:59:15 -080099 public static final int TEMPORARY_FAILURE = 41;
chen xu970d7792018-12-12 19:59:30 -0800100 /** The switching equipment is experiencing a period of high traffic. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800101 public static final int SWITCHING_CONGESTION = 42;
chen xu970d7792018-12-12 19:59:30 -0800102 /** The network could not deliver access information to the remote user as requested. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800103 public static final int ACCESS_INFORMATION_DISCARDED = 43;
chen xu970d7792018-12-12 19:59:30 -0800104 /** The channel cannot be provided. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800105 public static final int CHANNEL_NOT_AVAIL = 44;
chen xu970d7792018-12-12 19:59:30 -0800106 /**
107 * This cause is used to report a resource unavailable event only when no other cause in the
108 * resource unavailable class applies.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800109 */
Jayachandran C79571472018-04-06 01:10:38 -0700110 public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47;
chen xu970d7792018-12-12 19:59:30 -0800111 /** The requested quality of service (ITU-T X.213) cannot be provided. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800112 public static final int QOS_NOT_AVAIL = 49;
chen xu970d7792018-12-12 19:59:30 -0800113 /**
114 * The facility could not be provided by the network because the user has no complete
115 * subscription.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800116 */
117 public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50;
chen xu970d7792018-12-12 19:59:30 -0800118 /** Incoming calls are not allowed within this calling user group (CUG). */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800119 public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55;
chen xu970d7792018-12-12 19:59:30 -0800120 /** The mobile station is not authorized to use bearer capability requested. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800121 public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57;
chen xu970d7792018-12-12 19:59:30 -0800122 /** The requested bearer capability is not available at this time. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800123 public static final int BEARER_NOT_AVAIL = 58;
chen xu970d7792018-12-12 19:59:30 -0800124 /** The service option is not availble at this time. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800125 public static final int SERVICE_OPTION_NOT_AVAILABLE = 63;
chen xu970d7792018-12-12 19:59:30 -0800126 /** The equipment sending this cause does not support the bearer capability requested. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800127 public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65;
chen xu970d7792018-12-12 19:59:30 -0800128 /** The call clearing is due to ACM being greater than or equal to ACMmax. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800129 public static final int ACM_LIMIT_EXCEEDED = 68;
chen xu970d7792018-12-12 19:59:30 -0800130 /** The equipment sending this cause does not support the requested facility. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800131 public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69;
chen xu970d7792018-12-12 19:59:30 -0800132 /**
133 * The equipment sending this cause only supports the restricted version of the requested bearer
134 * capability.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800135 */
136 public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70;
chen xu970d7792018-12-12 19:59:30 -0800137 /** The service requested is not implemented at network. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800138 public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79;
chen xu970d7792018-12-12 19:59:30 -0800139 /**
140 * The equipment sending this cause has received a message with a transaction identifier
141 * which is not currently in use on the mobile station network interface.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800142 */
143 public static final int INVALID_TRANSACTION_IDENTIFIER = 81;
chen xu970d7792018-12-12 19:59:30 -0800144 /**
145 * The called user for the incoming CUG call is not a member of the specified calling user
146 * group (CUG).
147 */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800148 public static final int USER_NOT_MEMBER_OF_CUG = 87;
chen xu970d7792018-12-12 19:59:30 -0800149 /** The equipment sending this cause has received a request which can't be accomodated. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800150 public static final int INCOMPATIBLE_DESTINATION = 88;
chen xu970d7792018-12-12 19:59:30 -0800151 /** This cause is used to report receipt of a message with semantically incorrect contents. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800152 public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95;
chen xu970d7792018-12-12 19:59:30 -0800153 /**
154 * The equipment sending this cause has received a message with a non-semantical mandatory
155 * information element (IE) error.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800156 */
157 public static final int INVALID_MANDATORY_INFORMATION = 96;
chen xu970d7792018-12-12 19:59:30 -0800158 /**
159 * This is sent in response to a message which is not defined, or defined but not implemented
160 * by the equipment sending this cause.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800161 */
162 public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97;
chen xu970d7792018-12-12 19:59:30 -0800163 /**
164 * The equipment sending this cause has received a message not compatible with the protocol
165 * state.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800166 */
167 public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98;
chen xu970d7792018-12-12 19:59:30 -0800168 /**
169 * The equipment sending this cause has received a message which includes information
170 * elements not recognized because its identifier is not defined or it is defined but not
171 * implemented by the equipment sending the cause.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800172 */
173 public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99;
chen xu970d7792018-12-12 19:59:30 -0800174 /** The equipment sending this cause has received a message with conditional IE errors. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800175 public static final int CONDITIONAL_IE_ERROR = 100;
chen xu970d7792018-12-12 19:59:30 -0800176 /** The message has been received which is incompatible with the protocol state. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800177 public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101;
chen xu970d7792018-12-12 19:59:30 -0800178 /**
179 * The procedure has been initiated by the expiry of a timer in association with
180 * 3GPP TS 24.008 error handling procedures.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800181 */
182 public static final int RECOVERY_ON_TIMER_EXPIRED = 102;
chen xu970d7792018-12-12 19:59:30 -0800183 /**
184 * This protocol error event is reported only when no other cause in the protocol error class
185 * applies.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800186 */
187 public static final int PROTOCOL_ERROR_UNSPECIFIED = 111;
chen xu970d7792018-12-12 19:59:30 -0800188 /**
189 * Interworking with a network which does not provide causes for actions it takes thus, the
190 * precise cause for a message which is being sent cannot be ascertained.
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800191 */
192 public static final int INTERWORKING_UNSPECIFIED = 127;
chen xu970d7792018-12-12 19:59:30 -0800193 /** The call is restricted. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800194 public static final int CALL_BARRED = 240;
chen xu970d7792018-12-12 19:59:30 -0800195 /** The call is blocked by the Fixed Dialing Number list. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800196 public static final int FDN_BLOCKED = 241;
chen xu970d7792018-12-12 19:59:30 -0800197 /** The given IMSI is not known at the Visitor Location Register (VLR) TS 24.008 cause . */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800198 public static final int IMSI_UNKNOWN_IN_VLR = 242;
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +0200199 /**
200 * The network does not accept emergency call establishment using an IMEI or not accept attach
chen xu970d7792018-12-12 19:59:30 -0800201 * procedure for emergency services using an IMEI.
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +0200202 */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800203 public static final int IMEI_NOT_ACCEPTED = 243;
chen xu970d7792018-12-12 19:59:30 -0800204 /** The call cannot be established because RADIO is OFF. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800205 public static final int RADIO_OFF = 247;
chen xu970d7792018-12-12 19:59:30 -0800206 /** The call cannot be established because of no cell coverage. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800207 public static final int OUT_OF_SRV = 248;
chen xu970d7792018-12-12 19:59:30 -0800208 /** The call cannot be established because of no valid SIM. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800209 public static final int NO_VALID_SIM = 249;
chen xu970d7792018-12-12 19:59:30 -0800210 /** The call is dropped or failed internally by modem. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800211 public static final int RADIO_INTERNAL_ERROR = 250;
chen xu970d7792018-12-12 19:59:30 -0800212 /** Call failed because of UE timer expired while waiting for a response from network. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800213 public static final int NETWORK_RESP_TIMEOUT = 251;
chen xu970d7792018-12-12 19:59:30 -0800214 /** Call failed because of a network reject. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800215 public static final int NETWORK_REJECT = 252;
chen xu970d7792018-12-12 19:59:30 -0800216 /** Call failed because of radio access failure. ex. RACH failure. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800217 public static final int RADIO_ACCESS_FAILURE = 253;
chen xu970d7792018-12-12 19:59:30 -0800218 /** Call failed/dropped because of a Radio Link Failure (RLF). */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800219 public static final int RADIO_LINK_FAILURE = 254;
chen xu970d7792018-12-12 19:59:30 -0800220 /** Call failed/dropped because of radio link lost. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800221 public static final int RADIO_LINK_LOST = 255;
chen xu970d7792018-12-12 19:59:30 -0800222 /** Call failed because of a radio uplink issue. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800223 public static final int RADIO_UPLINK_FAILURE = 256;
chen xu970d7792018-12-12 19:59:30 -0800224 /** Call failed because of a RRC (Radio Resource Control) connection setup failure. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800225 public static final int RADIO_SETUP_FAILURE = 257;
chen xu970d7792018-12-12 19:59:30 -0800226 /** Call failed/dropped because of RRC (Radio Resource Control) connection release from NW. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800227 public static final int RADIO_RELEASE_NORMAL = 258;
chen xu970d7792018-12-12 19:59:30 -0800228 /**
229 * Call failed/dropped because of RRC (Radio Resource Control) abnormally released by
230 * modem/network.
231 */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800232 public static final int RADIO_RELEASE_ABNORMAL = 259;
chen xu970d7792018-12-12 19:59:30 -0800233 /** Call setup failed because of access class barring. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800234 public static final int ACCESS_CLASS_BLOCKED = 260;
chen xu970d7792018-12-12 19:59:30 -0800235 /** Call failed/dropped because of a network detach. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800236 public static final int NETWORK_DETACH = 261;
237
chen xu970d7792018-12-12 19:59:30 -0800238 /** Mobile station (MS) is locked until next power cycle. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800239 public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000;
chen xu970d7792018-12-12 19:59:30 -0800240 /** Drop call. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800241 public static final int CDMA_DROP = 1001;
chen xu970d7792018-12-12 19:59:30 -0800242 /** INTERCEPT order received, Mobile station (MS) state idle entered. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800243 public static final int CDMA_INTERCEPT = 1002;
chen xu970d7792018-12-12 19:59:30 -0800244 /** Mobile station (MS) has been redirected, call is cancelled. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800245 public static final int CDMA_REORDER = 1003;
chen xu970d7792018-12-12 19:59:30 -0800246 /** Service option rejection. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800247 public static final int CDMA_SO_REJECT = 1004;
chen xu970d7792018-12-12 19:59:30 -0800248 /** Requested service is rejected, retry delay is set. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800249 public static final int CDMA_RETRY_ORDER = 1005;
chen xu970d7792018-12-12 19:59:30 -0800250 /** Unable to obtain access to the CDMA system. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800251 public static final int CDMA_ACCESS_FAILURE = 1006;
chen xu970d7792018-12-12 19:59:30 -0800252 /** Not a preempted call. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800253 public static final int CDMA_PREEMPTED = 1007;
chen xu970d7792018-12-12 19:59:30 -0800254 /** Not an emergency call. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800255 public static final int CDMA_NOT_EMERGENCY = 1008;
chen xu970d7792018-12-12 19:59:30 -0800256 /** Access Blocked by CDMA network. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800257 public static final int CDMA_ACCESS_BLOCKED = 1009;
258
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800259 /* OEM specific error codes. To be used by OEMs when they don't want to
260 reveal error code which would be replaced by ERROR_UNSPECIFIED */
261 public static final int OEM_CAUSE_1 = 0xf001;
262 public static final int OEM_CAUSE_2 = 0xf002;
263 public static final int OEM_CAUSE_3 = 0xf003;
264 public static final int OEM_CAUSE_4 = 0xf004;
265 public static final int OEM_CAUSE_5 = 0xf005;
266 public static final int OEM_CAUSE_6 = 0xf006;
267 public static final int OEM_CAUSE_7 = 0xf007;
268 public static final int OEM_CAUSE_8 = 0xf008;
269 public static final int OEM_CAUSE_9 = 0xf009;
270 public static final int OEM_CAUSE_10 = 0xf00a;
271 public static final int OEM_CAUSE_11 = 0xf00b;
272 public static final int OEM_CAUSE_12 = 0xf00c;
273 public static final int OEM_CAUSE_13 = 0xf00d;
274 public static final int OEM_CAUSE_14 = 0xf00e;
275 public static final int OEM_CAUSE_15 = 0xf00f;
276
chen xu970d7792018-12-12 19:59:30 -0800277 /** Disconnected due to unspecified reasons. */
Jayachandran C5cbaddd2017-03-07 23:59:15 -0800278 public static final int ERROR_UNSPECIFIED = 0xffff;
Antonio Marín Cerezuelac5ac15a2013-05-27 11:36:36 +0200279
280 /** Private constructor to avoid class instantiation. */
281 private PreciseDisconnectCause() {
282 // Do nothing.
283 }
284}