• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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