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 17 package android.telephony; 18 19 import android.annotation.SystemApi; 20 21 /** 22 * Contains precise disconnect call causes generated by the framework and the RIL. 23 * @hide 24 */ 25 @SystemApi 26 public final class PreciseDisconnectCause { 27 28 /** The disconnect cause is not valid (Not received a disconnect cause).*/ 29 public static final int NOT_VALID = -1; 30 /** No disconnect cause provided. Generally a local disconnect or an incoming missed call. */ 31 public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; 32 /** 33 * The destination cannot be reached because the number, although valid, 34 * is not currently assigned. 35 */ 36 public static final int UNOBTAINABLE_NUMBER = 1; 37 /** 38 * The user cannot be reached because the network through which the call has been routed does 39 * not serve the destination desired. 40 */ 41 public static final int NO_ROUTE_TO_DESTINATION = 3; 42 /** 43 * The channel most recently identified is not acceptable to the sending entity for use in this 44 * call. 45 */ 46 public static final int CHANNEL_UNACCEPTABLE = 6; 47 /** 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. 50 */ 51 public static final int OPERATOR_DETERMINED_BARRING = 8; 52 /** One of the users involved in the call has requested that the call is cleared. */ 53 public static final int NORMAL = 16; 54 /** The called user is unable to accept another call. */ 55 public static final int BUSY = 17; 56 /** 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. 59 */ 60 public static final int NO_USER_RESPONDING = 18; 61 /** 62 * The user has provided an alerting indication but has not provided a connect indication 63 * within a prescribed period of time. 64 */ 65 public static final int NO_ANSWER_FROM_USER = 19; 66 /** The equipment sending this cause does not wish to accept this call. */ 67 public static final int CALL_REJECTED = 21; 68 /** The called number is no longer assigned. */ 69 public static final int NUMBER_CHANGED = 22; 70 /** 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. 73 */ 74 public static final int PREEMPTION = 25; 75 /** 76 * The destination indicated by the mobile station cannot be reached because the interface to 77 * the destination is not functioning correctly. 78 */ 79 public static final int DESTINATION_OUT_OF_ORDER = 27; 80 /** The called party number is not a valid format or is not complete. */ 81 public static final int INVALID_NUMBER_FORMAT = 28; 82 /** The facility requested by user can not be provided by the network. */ 83 public static final int FACILITY_REJECTED = 29; 84 /** Provided in response to a STATUS ENQUIRY message. */ 85 public static final int STATUS_ENQUIRY = 30; 86 /** Reports a normal disconnect only when no other normal cause applies. */ 87 public static final int NORMAL_UNSPECIFIED = 31; 88 /** There is no channel presently available to handle the call. */ 89 public static final int NO_CIRCUIT_AVAIL = 34; 90 /** 91 * The network is not functioning correctly and that the condition is likely to last a 92 * relatively long period of time. 93 */ 94 public static final int NETWORK_OUT_OF_ORDER = 38; 95 /** 96 * The network is not functioning correctly and the condition is not likely to last a long 97 * period of time. 98 */ 99 public static final int TEMPORARY_FAILURE = 41; 100 /** The switching equipment is experiencing a period of high traffic. */ 101 public static final int SWITCHING_CONGESTION = 42; 102 /** The network could not deliver access information to the remote user as requested. */ 103 public static final int ACCESS_INFORMATION_DISCARDED = 43; 104 /** The channel cannot be provided. */ 105 public static final int CHANNEL_NOT_AVAIL = 44; 106 /** 107 * This cause is used to report a resource unavailable event only when no other cause in the 108 * resource unavailable class applies. 109 */ 110 public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; 111 /** The requested quality of service (ITU-T X.213) cannot be provided. */ 112 public static final int QOS_NOT_AVAIL = 49; 113 /** 114 * The facility could not be provided by the network because the user has no complete 115 * subscription. 116 */ 117 public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; 118 /** Incoming calls are not allowed within this calling user group (CUG). */ 119 public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; 120 /** The mobile station is not authorized to use bearer capability requested. */ 121 public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; 122 /** The requested bearer capability is not available at this time. */ 123 public static final int BEARER_NOT_AVAIL = 58; 124 /** The service option is not availble at this time. */ 125 public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; 126 /** The equipment sending this cause does not support the bearer capability requested. */ 127 public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; 128 /** The call clearing is due to ACM being greater than or equal to ACMmax. */ 129 public static final int ACM_LIMIT_EXCEEDED = 68; 130 /** The equipment sending this cause does not support the requested facility. */ 131 public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; 132 /** 133 * The equipment sending this cause only supports the restricted version of the requested bearer 134 * capability. 135 */ 136 public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; 137 /** The service requested is not implemented at network. */ 138 public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; 139 /** 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. 142 */ 143 public static final int INVALID_TRANSACTION_IDENTIFIER = 81; 144 /** 145 * The called user for the incoming CUG call is not a member of the specified calling user 146 * group (CUG). 147 */ 148 public static final int USER_NOT_MEMBER_OF_CUG = 87; 149 /** The equipment sending this cause has received a request which can't be accomodated. */ 150 public static final int INCOMPATIBLE_DESTINATION = 88; 151 /** This cause is used to report receipt of a message with semantically incorrect contents. */ 152 public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; 153 /** 154 * The equipment sending this cause has received a message with a non-semantical mandatory 155 * information element (IE) error. 156 */ 157 public static final int INVALID_MANDATORY_INFORMATION = 96; 158 /** 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. 161 */ 162 public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; 163 /** 164 * The equipment sending this cause has received a message not compatible with the protocol 165 * state. 166 */ 167 public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; 168 /** 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. 172 */ 173 public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; 174 /** The equipment sending this cause has received a message with conditional IE errors. */ 175 public static final int CONDITIONAL_IE_ERROR = 100; 176 /** The message has been received which is incompatible with the protocol state. */ 177 public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; 178 /** 179 * The procedure has been initiated by the expiry of a timer in association with 180 * 3GPP TS 24.008 error handling procedures. 181 */ 182 public static final int RECOVERY_ON_TIMER_EXPIRED = 102; 183 /** 184 * This protocol error event is reported only when no other cause in the protocol error class 185 * applies. 186 */ 187 public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; 188 /** 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. 191 */ 192 public static final int INTERWORKING_UNSPECIFIED = 127; 193 /** The call is restricted. */ 194 public static final int CALL_BARRED = 240; 195 /** The call is blocked by the Fixed Dialing Number list. */ 196 public static final int FDN_BLOCKED = 241; 197 /** The given IMSI is not known at the Visitor Location Register (VLR) TS 24.008 cause . */ 198 public static final int IMSI_UNKNOWN_IN_VLR = 242; 199 /** 200 * The network does not accept emergency call establishment using an IMEI or not accept attach 201 * procedure for emergency services using an IMEI. 202 */ 203 public static final int IMEI_NOT_ACCEPTED = 243; 204 /** The call cannot be established because RADIO is OFF. */ 205 public static final int RADIO_OFF = 247; 206 /** The call cannot be established because of no cell coverage. */ 207 public static final int OUT_OF_SRV = 248; 208 /** The call cannot be established because of no valid SIM. */ 209 public static final int NO_VALID_SIM = 249; 210 /** The call is dropped or failed internally by modem. */ 211 public static final int RADIO_INTERNAL_ERROR = 250; 212 /** Call failed because of UE timer expired while waiting for a response from network. */ 213 public static final int NETWORK_RESP_TIMEOUT = 251; 214 /** Call failed because of a network reject. */ 215 public static final int NETWORK_REJECT = 252; 216 /** Call failed because of radio access failure. ex. RACH failure. */ 217 public static final int RADIO_ACCESS_FAILURE = 253; 218 /** Call failed/dropped because of a Radio Link Failure (RLF). */ 219 public static final int RADIO_LINK_FAILURE = 254; 220 /** Call failed/dropped because of radio link lost. */ 221 public static final int RADIO_LINK_LOST = 255; 222 /** Call failed because of a radio uplink issue. */ 223 public static final int RADIO_UPLINK_FAILURE = 256; 224 /** Call failed because of a RRC (Radio Resource Control) connection setup failure. */ 225 public static final int RADIO_SETUP_FAILURE = 257; 226 /** Call failed/dropped because of RRC (Radio Resource Control) connection release from NW. */ 227 public static final int RADIO_RELEASE_NORMAL = 258; 228 /** 229 * Call failed/dropped because of RRC (Radio Resource Control) abnormally released by 230 * modem/network. 231 */ 232 public static final int RADIO_RELEASE_ABNORMAL = 259; 233 /** Call setup failed because of access class barring. */ 234 public static final int ACCESS_CLASS_BLOCKED = 260; 235 /** Call failed/dropped because of a network detach. */ 236 public static final int NETWORK_DETACH = 261; 237 238 /** Mobile station (MS) is locked until next power cycle. */ 239 public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; 240 /** Drop call. */ 241 public static final int CDMA_DROP = 1001; 242 /** INTERCEPT order received, Mobile station (MS) state idle entered. */ 243 public static final int CDMA_INTERCEPT = 1002; 244 /** Mobile station (MS) has been redirected, call is cancelled. */ 245 public static final int CDMA_REORDER = 1003; 246 /** Service option rejection. */ 247 public static final int CDMA_SO_REJECT = 1004; 248 /** Requested service is rejected, retry delay is set. */ 249 public static final int CDMA_RETRY_ORDER = 1005; 250 /** Unable to obtain access to the CDMA system. */ 251 public static final int CDMA_ACCESS_FAILURE = 1006; 252 /** Not a preempted call. */ 253 public static final int CDMA_PREEMPTED = 1007; 254 /** Not an emergency call. */ 255 public static final int CDMA_NOT_EMERGENCY = 1008; 256 /** Access Blocked by CDMA network. */ 257 public static final int CDMA_ACCESS_BLOCKED = 1009; 258 259 /** Mapped from ImsReasonInfo */ 260 // TODO: remove ImsReasonInfo from preciseDisconnectCause 261 /* The passed argument is an invalid */ 262 /** @hide */ 263 public static final int LOCAL_ILLEGAL_ARGUMENT = 1200; 264 // The operation is invoked in invalid call state 265 /** @hide */ 266 public static final int LOCAL_ILLEGAL_STATE = 1201; 267 // IMS service internal error 268 /** @hide */ 269 public static final int LOCAL_INTERNAL_ERROR = 1202; 270 // IMS service goes down (service connection is lost) 271 /** @hide */ 272 public static final int LOCAL_IMS_SERVICE_DOWN = 1203; 273 // No pending incoming call exists 274 /** @hide */ 275 public static final int LOCAL_NO_PENDING_CALL = 1204; 276 // Service unavailable; by power off 277 /** @hide */ 278 public static final int LOCAL_POWER_OFF = 1205; 279 // Service unavailable; by low battery 280 /** @hide */ 281 public static final int LOCAL_LOW_BATTERY = 1206; 282 // Service unavailable; by out of service (data service state) 283 /** @hide */ 284 public static final int LOCAL_NETWORK_NO_SERVICE = 1207; 285 /* Service unavailable; by no LTE coverage 286 * (VoLTE is not supported even though IMS is registered) 287 */ 288 /** @hide */ 289 public static final int LOCAL_NETWORK_NO_LTE_COVERAGE = 1208; 290 /** Service unavailable; by located in roaming area */ 291 /** @hide */ 292 public static final int LOCAL_NETWORK_ROAMING = 1209; 293 /** Service unavailable; by IP changed */ 294 /** @hide */ 295 public static final int LOCAL_NETWORK_IP_CHANGED = 1210; 296 /** Service unavailable; other */ 297 /** @hide */ 298 public static final int LOCAL_SERVICE_UNAVAILABLE = 1211; 299 /* Service unavailable; IMS connection is lost (IMS is not registered) */ 300 /** @hide */ 301 public static final int LOCAL_NOT_REGISTERED = 1212; 302 /** Max call exceeded */ 303 /** @hide */ 304 public static final int LOCAL_MAX_CALL_EXCEEDED = 1213; 305 /** Call decline */ 306 /** @hide */ 307 public static final int LOCAL_CALL_DECLINE = 1214; 308 /** SRVCC is in progress */ 309 /** @hide */ 310 public static final int LOCAL_CALL_VCC_ON_PROGRESSING = 1215; 311 /** Resource reservation is failed (QoS precondition) */ 312 /** @hide */ 313 public static final int LOCAL_CALL_RESOURCE_RESERVATION_FAILED = 1216; 314 /** Retry CS call; VoLTE service can't be provided by the network or remote end 315 * Resolve the extra code(EXTRA_CODE_CALL_RETRY_*) if the below code is set 316 * @hide 317 */ 318 public static final int LOCAL_CALL_CS_RETRY_REQUIRED = 1217; 319 /** Retry VoLTE call; VoLTE service can't be provided by the network temporarily */ 320 /** @hide */ 321 public static final int LOCAL_CALL_VOLTE_RETRY_REQUIRED = 1218; 322 /** IMS call is already terminated (in TERMINATED state) */ 323 /** @hide */ 324 public static final int LOCAL_CALL_TERMINATED = 1219; 325 /** Handover not feasible */ 326 /** @hide */ 327 public static final int LOCAL_HO_NOT_FEASIBLE = 1220; 328 329 /** 1xx waiting timer is expired after sending INVITE request (MO only) */ 330 /** @hide */ 331 public static final int TIMEOUT_1XX_WAITING = 1221; 332 /** User no answer during call setup operation (MO/MT) 333 * MO : 200 OK to INVITE request is not received, 334 * MT : No action from user after alerting the call 335 * @hide 336 */ 337 public static final int TIMEOUT_NO_ANSWER = 1222; 338 /** User no answer during call update operation (MO/MT) 339 * MO : 200 OK to re-INVITE request is not received, 340 * MT : No action from user after alerting the call 341 * @hide 342 */ 343 public static final int TIMEOUT_NO_ANSWER_CALL_UPDATE = 1223; 344 345 /** 346 * STATUSCODE (SIP response code) (IMS -> Telephony) 347 */ 348 /** SIP request is redirected */ 349 /** @hide */ 350 public static final int SIP_REDIRECTED = 1300; 351 /** 4xx responses */ 352 /** 400 : Bad Request */ 353 /** @hide */ 354 public static final int SIP_BAD_REQUEST = 1310; 355 /** 403 : Forbidden */ 356 /** @hide */ 357 public static final int SIP_FORBIDDEN = 1311; 358 /** 404 : Not Found */ 359 /** @hide */ 360 public static final int SIP_NOT_FOUND = 1312; 361 /** 415 : Unsupported Media Type 362 * 416 : Unsupported URI Scheme 363 * 420 : Bad Extension 364 */ 365 /** @hide */ 366 public static final int SIP_NOT_SUPPORTED = 1313; 367 /** 408 : Request Timeout */ 368 /** @hide */ 369 public static final int SIP_REQUEST_TIMEOUT = 1314; 370 /** 480 : Temporarily Unavailable */ 371 /** @hide */ 372 public static final int SIP_TEMPRARILY_UNAVAILABLE = 1315; 373 /** 484 : Address Incomplete */ 374 /** @hide */ 375 public static final int SIP_BAD_ADDRESS = 1316; 376 /** 486 : Busy Here 377 * 600 : Busy Everywhere 378 */ 379 /** @hide */ 380 public static final int SIP_BUSY = 1317; 381 /** 487 : Request Terminated */ 382 /** @hide */ 383 public static final int SIP_REQUEST_CANCELLED = 1318; 384 /** 406 : Not Acceptable 385 * 488 : Not Acceptable Here 386 * 606 : Not Acceptable 387 */ 388 /** @hide */ 389 public static final int SIP_NOT_ACCEPTABLE = 1319; 390 /** 410 : Gone 391 * 604 : Does Not Exist Anywhere 392 */ 393 /** @hide */ 394 public static final int SIP_NOT_REACHABLE = 1320; 395 /** Others */ 396 /** @hide */ 397 public static final int SIP_CLIENT_ERROR = 1321; 398 /** 481 : Transaction Does Not Exist */ 399 /** @hide */ 400 public static final int SIP_TRANSACTION_DOES_NOT_EXIST = 1322; 401 /** 5xx responses 402 * 501 : Server Internal Error 403 */ 404 /** @hide */ 405 public static final int SIP_SERVER_INTERNAL_ERROR = 1330; 406 /** 503 : Service Unavailable */ 407 /** @hide */ 408 public static final int SIP_SERVICE_UNAVAILABLE = 1331; 409 /** 504 : Server Time-out */ 410 /** @hide */ 411 public static final int SIP_SERVER_TIMEOUT = 1332; 412 /** Others */ 413 /** @hide */ 414 public static final int SIP_SERVER_ERROR = 1333; 415 /** 6xx responses 416 * 603 : Decline 417 */ 418 /** @hide */ 419 public static final int SIP_USER_REJECTED = 1340; 420 /** Others */ 421 /** @hide */ 422 public static final int SIP_GLOBAL_ERROR = 1341; 423 /** Emergency failure */ 424 /** @hide */ 425 public static final int EMERGENCY_TEMP_FAILURE = 1342; 426 /** @hide */ 427 public static final int EMERGENCY_PERM_FAILURE = 1343; 428 /** Media resource initialization failed */ 429 /** @hide */ 430 public static final int MEDIA_INIT_FAILED = 1400; 431 /** RTP timeout (no audio / video traffic in the session) */ 432 /** @hide */ 433 public static final int MEDIA_NO_DATA = 1401; 434 /** Media is not supported; so dropped the call */ 435 /** @hide */ 436 public static final int MEDIA_NOT_ACCEPTABLE = 1402; 437 /** Unknown media related errors */ 438 /** @hide */ 439 public static final int MEDIA_UNSPECIFIED = 1403; 440 /** User triggers the call end */ 441 /** @hide */ 442 public static final int USER_TERMINATED = 1500; 443 /** No action while an incoming call is ringing */ 444 /** @hide */ 445 public static final int USER_NOANSWER = 1501; 446 /** User ignores an incoming call */ 447 /** @hide */ 448 public static final int USER_IGNORE = 1502; 449 /** User declines an incoming call */ 450 /** @hide */ 451 public static final int USER_DECLINE = 1503; 452 /** Device declines/ends a call due to low battery */ 453 /** @hide */ 454 public static final int LOW_BATTERY = 1504; 455 /** Device declines call due to blacklisted call ID */ 456 /** @hide */ 457 public static final int BLACKLISTED_CALL_ID = 1505; 458 /** The call is terminated by the network or remote user */ 459 /** @hide */ 460 public static final int USER_TERMINATED_BY_REMOTE = 1510; 461 462 /** 463 * UT 464 */ 465 /** @hide */ 466 public static final int UT_NOT_SUPPORTED = 1800; 467 /** @hide */ 468 public static final int UT_SERVICE_UNAVAILABLE = 1801; 469 /** @hide */ 470 public static final int UT_OPERATION_NOT_ALLOWED = 1802; 471 /** @hide */ 472 public static final int UT_NETWORK_ERROR = 1803; 473 /** @hide */ 474 public static final int UT_CB_PASSWORD_MISMATCH = 1804; 475 476 /** 477 * ECBM 478 * @hide 479 */ 480 public static final int ECBM_NOT_SUPPORTED = 1900; 481 482 /** 483 * Fail code used to indicate that Multi-endpoint is not supported by the Ims framework. 484 * @hide 485 */ 486 public static final int MULTIENDPOINT_NOT_SUPPORTED = 1901; 487 488 /** 489 * CALL DROP error codes (Call could drop because of many reasons like Network not available, 490 * handover, failed, etc) 491 */ 492 493 /** 494 * CALL DROP error code for the case when a device is ePDG capable and when the user is on an 495 * active wifi call and at the edge of coverage and there is no qualified LTE network available 496 * to handover the call to. We get a handover NOT_TRIGERRED message from the modem. This error 497 * code is received as part of the handover message. 498 * @hide 499 */ 500 public static final int CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 2000; 501 502 /** 503 * MT call has ended due to a release from the network 504 * because the call was answered elsewhere 505 * @hide 506 */ 507 public static final int ANSWERED_ELSEWHERE = 2100; 508 509 /** 510 * For MultiEndpoint - Call Pull request has failed 511 * @hide 512 */ 513 public static final int CALL_PULL_OUT_OF_SYNC = 2101; 514 515 /** 516 * For MultiEndpoint - Call has been pulled from primary to secondary 517 * @hide 518 */ 519 public static final int CALL_PULLED = 2102; 520 521 /** 522 * Supplementary services (HOLD/RESUME) failure error codes. 523 * Values for Supplemetary services failure - Failed, Cancelled and Re-Invite collision. 524 * @hide 525 */ 526 public static final int SUPP_SVC_FAILED = 2300; 527 /** @hide */ 528 public static final int SUPP_SVC_CANCELLED = 2301; 529 /** @hide */ 530 public static final int SUPP_SVC_REINVITE_COLLISION = 2302; 531 532 /** 533 * DPD Procedure received no response or send failed 534 * @hide 535 */ 536 public static final int IWLAN_DPD_FAILURE = 2400; 537 538 /** 539 * Establishment of the ePDG Tunnel Failed 540 * @hide 541 */ 542 public static final int EPDG_TUNNEL_ESTABLISH_FAILURE = 2500; 543 544 /** 545 * Re-keying of the ePDG Tunnel Failed; may not always result in teardown 546 * @hide 547 */ 548 public static final int EPDG_TUNNEL_REKEY_FAILURE = 2501; 549 550 /** 551 * Connection to the packet gateway is lost 552 * @hide 553 */ 554 public static final int EPDG_TUNNEL_LOST_CONNECTION = 2502; 555 556 /** 557 * The maximum number of calls allowed has been reached. Used in a multi-endpoint scenario 558 * where the number of calls across all connected devices has reached the maximum. 559 * @hide 560 */ 561 public static final int MAXIMUM_NUMBER_OF_CALLS_REACHED = 2503; 562 563 /** 564 * Similar to {@link #CODE_LOCAL_CALL_DECLINE}, except indicates that a remote device has 565 * declined the call. Used in a multi-endpoint scenario where a remote device declined an 566 * incoming call. 567 * @hide 568 */ 569 public static final int REMOTE_CALL_DECLINE = 2504; 570 571 /** 572 * Indicates the call was disconnected due to the user reaching their data limit. 573 * @hide 574 */ 575 public static final int DATA_LIMIT_REACHED = 2505; 576 577 /** 578 * Indicates the call was disconnected due to the user disabling cellular data. 579 * @hide 580 */ 581 public static final int DATA_DISABLED = 2506; 582 583 /** 584 * Indicates a call was disconnected due to loss of wifi signal. 585 * @hide 586 */ 587 public static final int WIFI_LOST = 2507; 588 589 590 /* OEM specific error codes. To be used by OEMs when they don't want to 591 reveal error code which would be replaced by ERROR_UNSPECIFIED */ 592 public static final int OEM_CAUSE_1 = 0xf001; 593 public static final int OEM_CAUSE_2 = 0xf002; 594 public static final int OEM_CAUSE_3 = 0xf003; 595 public static final int OEM_CAUSE_4 = 0xf004; 596 public static final int OEM_CAUSE_5 = 0xf005; 597 public static final int OEM_CAUSE_6 = 0xf006; 598 public static final int OEM_CAUSE_7 = 0xf007; 599 public static final int OEM_CAUSE_8 = 0xf008; 600 public static final int OEM_CAUSE_9 = 0xf009; 601 public static final int OEM_CAUSE_10 = 0xf00a; 602 public static final int OEM_CAUSE_11 = 0xf00b; 603 public static final int OEM_CAUSE_12 = 0xf00c; 604 public static final int OEM_CAUSE_13 = 0xf00d; 605 public static final int OEM_CAUSE_14 = 0xf00e; 606 public static final int OEM_CAUSE_15 = 0xf00f; 607 608 /** Disconnected due to unspecified reasons. */ 609 public static final int ERROR_UNSPECIFIED = 0xffff; 610 611 /** Private constructor to avoid class instantiation. */ PreciseDisconnectCause()612 private PreciseDisconnectCause() { 613 // Do nothing. 614 } 615 } 616