/*
* 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;
/**
* Contains precise disconnect call causes generated by the
* framework and the RIL.
*
* @hide
*/
public 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;
/** 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 called number is no longer assigned */
public static final int NUMBER_CHANGED = 22;
/** 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 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 channel cannot be provided */
public static final int CHANNEL_NOT_AVAIL = 44;
/** The requested quality of service (ITU-T X.213) cannot be provided */
public static final int QOS_NOT_AVAIL = 49;
/** The requested bearer capability is not available at this time */
public static final int BEARER_NOT_AVAIL = 58;
/** The call clearing is due to ACM being greater than or equal to ACMmax */
public static final int ACM_LIMIT_EXCEEDED = 68;
/** 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 VLR */
/** TS 24.008 cause 4 */
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;
/** 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, MS state idle entered */
public static final int CDMA_INTERCEPT = 1002;
/** 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;
/** Disconnected due to unspecified reasons */
public static final int ERROR_UNSPECIFIED = 0xffff;
/** Private constructor to avoid class instantiation. */
private PreciseDisconnectCause() {
// Do nothing.
}
}