1 /* 2 * Copyright (C) 2006 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 com.android.internal.telephony; 18 19 /** 20 * Call fail causes from TS 24.008 . 21 * These are mostly the cause codes we need to distinguish for the UI. 22 * See 22.001 Annex F.4 for mapping of cause codes to local tones. 23 * 24 * CDMA call failure reasons are derived from the possible call failure scenarios described 25 * in "CDMA IS2000 - Release A (C.S0005-A v6.0)" standard. 26 * 27 * The detailed fail causes are defined in ITU Recommendation Q.850. 28 * 29 * {@hide} 30 * 31 */ 32 public interface CallFailCause { 33 // The disconnect cause is not valid (Not received a disconnect cause) 34 int NOT_VALID = -1; 35 36 // Unassigned/Unobtainable number 37 int UNOBTAINABLE_NUMBER = 1; 38 39 int NO_ROUTE_TO_DEST = 3; 40 int CHANNEL_UNACCEPTABLE = 6; 41 int OPERATOR_DETERMINED_BARRING = 8; 42 int NORMAL_CLEARING = 16; 43 int USER_BUSY = 17; 44 int NO_USER_RESPONDING = 18; 45 46 /** 47 * This cause is used when the called party has been alerted but does not respond with a connect 48 * indication within a prescribed period of time. Note - This cause is not necessarily generated 49 * by Q.931 procedures but may be generated by internal network timers. 50 */ 51 int USER_ALERTING_NO_ANSWER = 19; 52 53 /** 54 * The equipment sending this cause does not wish to accept this call, although it could have 55 * accepted the call because the equipment sending this cause is neither busy nor incompatible. 56 * The network may also generate this cause, indicating that the call was cleared due to a 57 * supplementary service constraint. The diagnostic field may contain additional information 58 * about the supplementary service and reason for rejection. 59 */ 60 int CALL_REJECTED = 21; 61 62 int NUMBER_CHANGED = 22; 63 int PRE_EMPTION = 25; 64 65 // The user has not been awarded the incoming call. 66 int NON_SELECTED_USER_CLEARING = 26; 67 68 int DESTINATION_OUT_OF_ORDER = 27; 69 70 // Incomplete number 71 int INVALID_NUMBER_FORMAT = 28; 72 73 // Supplementary service requested by the user cannot be provide by the network. 74 int FACILITY_REJECTED = 29; 75 76 int STATUS_ENQUIRY = 30; 77 int NORMAL_UNSPECIFIED = 31; 78 int NO_CIRCUIT_AVAIL = 34; 79 80 // Resource unavailable 81 int NETWORK_OUT_OF_ORDER = 38; 82 int TEMPORARY_FAILURE = 41; 83 int SWITCHING_CONGESTION = 42; 84 int ACCESS_INFORMATION_DISCARDED = 43; 85 int CHANNEL_NOT_AVAIL = 44; 86 int RESOURCES_UNAVAILABLE_UNSPECIFIED = 47; 87 int QOS_NOT_AVAIL = 49; 88 89 // Service or option unavailable 90 /** 91 * The user has requested a supplementary service, which is available, but the user is not 92 * authorized to use. 93 */ 94 int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; 95 /** 96 * Although the called party is a member of the CUG (Closed User Group) for the incoming CUG 97 * call, incoming calls are not allowed to this member of the CUG. 98 */ 99 int INCOMING_CALL_BARRED_WITHIN_CUG = 55; 100 int BEARER_CAPABILITY_NOT_AUTHORISED = 57; 101 int BEARER_NOT_AVAIL = 58; 102 /** 103 * This cause is used to report a service or option not available event only when no other cause 104 * between 49-62 (where a service or option is unavailable) applies. 105 */ 106 int SERVICE_OR_OPTION_NOT_AVAILABLE = 63; 107 int BEARER_SERVICE_NOT_IMPLEMENTED = 65; 108 109 // Service or option not implemented 110 int ACM_LIMIT_EXCEEDED = 68; 111 int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; 112 /** 113 * The calling party has requested an unrestricted bearer service but that the equipment sending 114 * this cause only supports the restricted version of the requested bearer capability. 115 */ 116 int ONLY_RESTRICTED_DIGITAL_INFO_BC_AVAILABLE = 70; 117 int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; 118 int INVALID_TRANSACTION_ID_VALUE = 81; 119 120 // Invalid message 121 int USER_NOT_MEMBER_OF_CUG = 87; 122 int INCOMPATIBLE_DESTINATION = 88; 123 int INVALID_TRANSIT_NETWORK_SELECTION = 91; 124 int SEMANTICALLY_INCORRECT_MESSAGE = 95; 125 int INVALID_MANDATORY_INFORMATION = 96; 126 127 // Protocol error 128 int MESSAGE_TYPE_NON_EXISTENT = 97; 129 int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROT_STATE = 98; 130 int IE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99; 131 /** 132 * The equipment sending this cause has received an information element which it has 133 * implemented; however, one or more fields in the information element are coded in such a way 134 * which has not been implemented by the equipment sending this cause. 135 */ 136 int CONDITIONAL_IE_ERROR = 100; 137 int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; 138 int RECOVERY_ON_TIMER_EXPIRY = 102; 139 int PROTOCOL_ERROR_UNSPECIFIED = 111; 140 int INTERWORKING_UNSPECIFIED = 127; 141 142 // Others 143 int CALL_BARRED = 240; 144 int FDN_BLOCKED = 241; 145 int IMEI_NOT_ACCEPTED = 243; 146 147 // Stk Call Control 148 int DIAL_MODIFIED_TO_USSD = 244; 149 int DIAL_MODIFIED_TO_SS = 245; 150 int DIAL_MODIFIED_TO_DIAL = 246; 151 152 //Emergency Redial 153 int EMERGENCY_TEMP_FAILURE = 325; 154 int EMERGENCY_PERM_FAILURE = 326; 155 156 int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; 157 int CDMA_DROP = 1001; 158 int CDMA_INTERCEPT = 1002; 159 int CDMA_REORDER = 1003; 160 int CDMA_SO_REJECT = 1004; 161 int CDMA_RETRY_ORDER = 1005; 162 int CDMA_ACCESS_FAILURE = 1006; 163 int CDMA_PREEMPTED = 1007; 164 165 // For non-emergency number dialed while in emergency callback mode. 166 int CDMA_NOT_EMERGENCY = 1008; 167 168 // Access Blocked by CDMA Network. 169 int CDMA_ACCESS_BLOCKED = 1009; 170 171 int ERROR_UNSPECIFIED = 0xffff; 172 173 } 174