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