| /* |
| * Copyright (C) 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.telephony; |
| |
| import android.annotation.SystemApi; |
| |
| /** |
| * Contains precise disconnect call causes generated by the framework and the RIL. |
| * @hide |
| */ |
| @SystemApi |
| public final class PreciseDisconnectCause { |
| |
| /** The disconnect cause is not valid (Not received a disconnect cause).*/ |
| public static final int NOT_VALID = -1; |
| /** No disconnect cause provided. Generally a local disconnect or an incoming missed call. */ |
| public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; |
| /** |
| * The destination cannot be reached because the number, although valid, |
| * is not currently assigned. |
| */ |
| public static final int UNOBTAINABLE_NUMBER = 1; |
| /** |
| * The user cannot be reached because the network through which the call has been routed does |
| * not serve the destination desired. |
| */ |
| public static final int NO_ROUTE_TO_DESTINATION = 3; |
| /** |
| * The channel most recently identified is not acceptable to the sending entity for use in this |
| * call. |
| */ |
| public static final int CHANNEL_UNACCEPTABLE = 6; |
| /** |
| * The mobile station (MS) has tried to access a service that the MS's network operator or |
| * service provider is not prepared to allow. |
| */ |
| public static final int OPERATOR_DETERMINED_BARRING = 8; |
| /** One of the users involved in the call has requested that the call is cleared. */ |
| public static final int NORMAL = 16; |
| /** The called user is unable to accept another call. */ |
| public static final int BUSY = 17; |
| /** |
| * The user does not respond to a call establishment message with either an alerting or connect |
| * indication within the prescribed period of time allocated. |
| */ |
| public static final int NO_USER_RESPONDING = 18; |
| /** |
| * The user has provided an alerting indication but has not provided a connect indication |
| * within a prescribed period of time. |
| */ |
| public static final int NO_ANSWER_FROM_USER = 19; |
| /** The equipment sending this cause does not wish to accept this call. */ |
| public static final int CALL_REJECTED = 21; |
| /** The called number is no longer assigned. */ |
| public static final int NUMBER_CHANGED = 22; |
| /** |
| * This cause is returned to the network when a mobile station clears an active call which is |
| * being pre-empted by another call with higher precedence. |
| */ |
| public static final int PREEMPTION = 25; |
| /** |
| * The destination indicated by the mobile station cannot be reached because the interface to |
| * the destination is not functioning correctly. |
| */ |
| public static final int DESTINATION_OUT_OF_ORDER = 27; |
| /** The called party number is not a valid format or is not complete. */ |
| public static final int INVALID_NUMBER_FORMAT = 28; |
| /** The facility requested by user can not be provided by the network. */ |
| public static final int FACILITY_REJECTED = 29; |
| /** Provided in response to a STATUS ENQUIRY message. */ |
| public static final int STATUS_ENQUIRY = 30; |
| /** Reports a normal disconnect only when no other normal cause applies. */ |
| public static final int NORMAL_UNSPECIFIED = 31; |
| /** There is no channel presently available to handle the call. */ |
| public static final int NO_CIRCUIT_AVAIL = 34; |
| /** |
| * The network is not functioning correctly and that the condition is likely to last a |
| * relatively long period of time. |
| */ |
| public static final int NETWORK_OUT_OF_ORDER = 38; |
| /** |
| * The network is not functioning correctly and the condition is not likely to last a long |
| * period of time. |
| */ |
| public static final int TEMPORARY_FAILURE = 41; |
| /** The switching equipment is experiencing a period of high traffic. */ |
| public static final int SWITCHING_CONGESTION = 42; |
| /** The network could not deliver access information to the remote user as requested. */ |
| public static final int ACCESS_INFORMATION_DISCARDED = 43; |
| /** The channel cannot be provided. */ |
| public static final int CHANNEL_NOT_AVAIL = 44; |
| /** |
| * This cause is used to report a resource unavailable event only when no other cause in the |
| * resource unavailable class applies. |
| */ |
| public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; |
| /** The requested quality of service (ITU-T X.213) cannot be provided. */ |
| public static final int QOS_NOT_AVAIL = 49; |
| /** |
| * The facility could not be provided by the network because the user has no complete |
| * subscription. |
| */ |
| public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; |
| /** Incoming calls are not allowed within this calling user group (CUG). */ |
| public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; |
| /** The mobile station is not authorized to use bearer capability requested. */ |
| public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; |
| /** The requested bearer capability is not available at this time. */ |
| public static final int BEARER_NOT_AVAIL = 58; |
| /** The service option is not availble at this time. */ |
| public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; |
| /** The equipment sending this cause does not support the bearer capability requested. */ |
| public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; |
| /** The call clearing is due to ACM being greater than or equal to ACMmax. */ |
| public static final int ACM_LIMIT_EXCEEDED = 68; |
| /** The equipment sending this cause does not support the requested facility. */ |
| public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; |
| /** |
| * The equipment sending this cause only supports the restricted version of the requested bearer |
| * capability. |
| */ |
| public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; |
| /** The service requested is not implemented at network. */ |
| public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; |
| /** |
| * The equipment sending this cause has received a message with a transaction identifier |
| * which is not currently in use on the mobile station network interface. |
| */ |
| public static final int INVALID_TRANSACTION_IDENTIFIER = 81; |
| /** |
| * The called user for the incoming CUG call is not a member of the specified calling user |
| * group (CUG). |
| */ |
| public static final int USER_NOT_MEMBER_OF_CUG = 87; |
| /** The equipment sending this cause has received a request which can't be accomodated. */ |
| public static final int INCOMPATIBLE_DESTINATION = 88; |
| /** This cause is used to report receipt of a message with semantically incorrect contents. */ |
| public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; |
| /** |
| * The equipment sending this cause has received a message with a non-semantical mandatory |
| * information element (IE) error. |
| */ |
| public static final int INVALID_MANDATORY_INFORMATION = 96; |
| /** |
| * This is sent in response to a message which is not defined, or defined but not implemented |
| * by the equipment sending this cause. |
| */ |
| public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; |
| /** |
| * The equipment sending this cause has received a message not compatible with the protocol |
| * state. |
| */ |
| public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; |
| /** |
| * The equipment sending this cause has received a message which includes information |
| * elements not recognized because its identifier is not defined or it is defined but not |
| * implemented by the equipment sending the cause. |
| */ |
| public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; |
| /** The equipment sending this cause has received a message with conditional IE errors. */ |
| public static final int CONDITIONAL_IE_ERROR = 100; |
| /** The message has been received which is incompatible with the protocol state. */ |
| public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; |
| /** |
| * The procedure has been initiated by the expiry of a timer in association with |
| * 3GPP TS 24.008 error handling procedures. |
| */ |
| public static final int RECOVERY_ON_TIMER_EXPIRED = 102; |
| /** |
| * This protocol error event is reported only when no other cause in the protocol error class |
| * applies. |
| */ |
| public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; |
| /** |
| * Interworking with a network which does not provide causes for actions it takes thus, the |
| * precise cause for a message which is being sent cannot be ascertained. |
| */ |
| public static final int INTERWORKING_UNSPECIFIED = 127; |
| /** The call is restricted. */ |
| public static final int CALL_BARRED = 240; |
| /** The call is blocked by the Fixed Dialing Number list. */ |
| public static final int FDN_BLOCKED = 241; |
| /** The given IMSI is not known at the Visitor Location Register (VLR) TS 24.008 cause . */ |
| public static final int IMSI_UNKNOWN_IN_VLR = 242; |
| /** |
| * The network does not accept emergency call establishment using an IMEI or not accept attach |
| * procedure for emergency services using an IMEI. |
| */ |
| public static final int IMEI_NOT_ACCEPTED = 243; |
| /** The call cannot be established because RADIO is OFF. */ |
| public static final int RADIO_OFF = 247; |
| /** The call cannot be established because of no cell coverage. */ |
| public static final int OUT_OF_SRV = 248; |
| /** The call cannot be established because of no valid SIM. */ |
| public static final int NO_VALID_SIM = 249; |
| /** The call is dropped or failed internally by modem. */ |
| public static final int RADIO_INTERNAL_ERROR = 250; |
| /** Call failed because of UE timer expired while waiting for a response from network. */ |
| public static final int NETWORK_RESP_TIMEOUT = 251; |
| /** Call failed because of a network reject. */ |
| public static final int NETWORK_REJECT = 252; |
| /** Call failed because of radio access failure. ex. RACH failure. */ |
| public static final int RADIO_ACCESS_FAILURE = 253; |
| /** Call failed/dropped because of a Radio Link Failure (RLF). */ |
| public static final int RADIO_LINK_FAILURE = 254; |
| /** Call failed/dropped because of radio link lost. */ |
| public static final int RADIO_LINK_LOST = 255; |
| /** Call failed because of a radio uplink issue. */ |
| public static final int RADIO_UPLINK_FAILURE = 256; |
| /** Call failed because of a RRC (Radio Resource Control) connection setup failure. */ |
| public static final int RADIO_SETUP_FAILURE = 257; |
| /** Call failed/dropped because of RRC (Radio Resource Control) connection release from NW. */ |
| public static final int RADIO_RELEASE_NORMAL = 258; |
| /** |
| * Call failed/dropped because of RRC (Radio Resource Control) abnormally released by |
| * modem/network. |
| */ |
| public static final int RADIO_RELEASE_ABNORMAL = 259; |
| /** Call setup failed because of access class barring. */ |
| public static final int ACCESS_CLASS_BLOCKED = 260; |
| /** Call failed/dropped because of a network detach. */ |
| public static final int NETWORK_DETACH = 261; |
| |
| /** Mobile station (MS) is locked until next power cycle. */ |
| public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; |
| /** Drop call. */ |
| public static final int CDMA_DROP = 1001; |
| /** INTERCEPT order received, Mobile station (MS) state idle entered. */ |
| public static final int CDMA_INTERCEPT = 1002; |
| /** Mobile station (MS) has been redirected, call is cancelled. */ |
| public static final int CDMA_REORDER = 1003; |
| /** Service option rejection. */ |
| public static final int CDMA_SO_REJECT = 1004; |
| /** Requested service is rejected, retry delay is set. */ |
| public static final int CDMA_RETRY_ORDER = 1005; |
| /** Unable to obtain access to the CDMA system. */ |
| public static final int CDMA_ACCESS_FAILURE = 1006; |
| /** Not a preempted call. */ |
| public static final int CDMA_PREEMPTED = 1007; |
| /** Not an emergency call. */ |
| public static final int CDMA_NOT_EMERGENCY = 1008; |
| /** Access Blocked by CDMA network. */ |
| public static final int CDMA_ACCESS_BLOCKED = 1009; |
| |
| /* OEM specific error codes. To be used by OEMs when they don't want to |
| reveal error code which would be replaced by ERROR_UNSPECIFIED */ |
| public static final int OEM_CAUSE_1 = 0xf001; |
| public static final int OEM_CAUSE_2 = 0xf002; |
| public static final int OEM_CAUSE_3 = 0xf003; |
| public static final int OEM_CAUSE_4 = 0xf004; |
| public static final int OEM_CAUSE_5 = 0xf005; |
| public static final int OEM_CAUSE_6 = 0xf006; |
| public static final int OEM_CAUSE_7 = 0xf007; |
| public static final int OEM_CAUSE_8 = 0xf008; |
| public static final int OEM_CAUSE_9 = 0xf009; |
| public static final int OEM_CAUSE_10 = 0xf00a; |
| public static final int OEM_CAUSE_11 = 0xf00b; |
| public static final int OEM_CAUSE_12 = 0xf00c; |
| public static final int OEM_CAUSE_13 = 0xf00d; |
| public static final int OEM_CAUSE_14 = 0xf00e; |
| public static final int OEM_CAUSE_15 = 0xf00f; |
| |
| /** Disconnected due to unspecified reasons. */ |
| public static final int ERROR_UNSPECIFIED = 0xffff; |
| |
| /** Private constructor to avoid class instantiation. */ |
| private PreciseDisconnectCause() { |
| // Do nothing. |
| } |
| } |