ImsReasonInfo.java revision b54d218d8b1c765865d0efb4a40e631f8bfa02de
1f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/* 2f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Copyright (c) 2013 The Android Open Source Project 3f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 4f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * you may not use this file except in compliance with the License. 6f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * You may obtain a copy of the License at 7f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 8f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 9f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 10f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Unless required by applicable law or agreed to in writing, software 11f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * See the License for the specific language governing permissions and 14f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * limitations under the License. 15f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 16f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 17f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savillepackage com.android.ims; 18f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 19f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport android.os.Parcel; 20f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport android.os.Parcelable; 21f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 22f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/** 23f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * This class enables an application to get details on why a method call failed. 24f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 25f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @hide 26f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 27f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savillepublic class ImsReasonInfo implements Parcelable { 28f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 29f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Specific code of each types 30f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 31f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UNSPECIFIED = 0; 32f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 33f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 34f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * LOCAL 35f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 36f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS -> Telephony 37f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // The passed argument is an invalid 38f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_ILLEGAL_ARGUMENT = 101; 39f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // The operation is invoked in invalid call state 40f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_ILLEGAL_STATE = 102; 41f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS service internal error 42f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_INTERNAL_ERROR = 103; 43f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS service goes down (service connection is lost) 44f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_IMS_SERVICE_DOWN = 106; 45f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // No pending incoming call exists 46f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_NO_PENDING_CALL = 107; 47f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 48f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS -> Telephony 49f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; by power off 50f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_POWER_OFF = 111; 51f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; by low battery 52f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_LOW_BATTERY = 112; 53f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; by out of service (data service state) 54f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_NETWORK_NO_SERVICE = 121; 55f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; by no LTE coverage 56f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // (VoLTE is not supported even though IMS is registered) 57f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_NETWORK_NO_LTE_COVERAGE = 122; 58f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; by located in roaming area 59f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_NETWORK_ROAMING = 123; 60f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; by IP changed 61f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_NETWORK_IP_CHANGED = 124; 62f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; other 63f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_SERVICE_UNAVAILABLE = 131; 64f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Service unavailable; IMS connection is lost (IMS is not registered) 65f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_NOT_REGISTERED = 132; 66f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 67f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS <-> Telephony 68f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Max call exceeded 69f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_EXCEEDED = 141; 70f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS <- Telephony 71f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Call busy 72f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_BUSY = 142; 73f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Call decline 74f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_DECLINE = 143; 75f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS -> Telephony 76f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // SRVCC is in progress 77f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_VCC_ON_PROGRESSING = 144; 78f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Resource reservation is failed (QoS precondition) 79f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED = 145; 80f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Retry CS call; VoLTE service can't be provided by the network or remote end 81f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Resolve the extra code(EXTRA_CODE_CALL_RETRY_*) if the below code is set 82f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_CS_RETRY_REQUIRED = 146; 83f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Retry VoLTE call; VoLTE service can't be provided by the network temporarily 84f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED = 147; 85f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS call is already terminated (in TERMINATED state) 86f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_LOCAL_CALL_TERMINATED = 148; 87f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 88f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 89f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * TIMEOUT (IMS -> Telephony) 90f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 91f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 1xx waiting timer is expired after sending INVITE request (MO only) 92f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_TIMEOUT_1XX_WAITING = 201; 93f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User no answer during call setup operation (MO/MT) 94f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // MO : 200 OK to INVITE request is not received, 95f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // MT : No action from user after alerting the call 96f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_TIMEOUT_NO_ANSWER = 202; 97f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User no answer during call update operation (MO/MT) 98f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // MO : 200 OK to re-INVITE request is not received, 99f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // MT : No action from user after alerting the call 100f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE = 203; 101f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 102f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 103f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * STATUSCODE (SIP response code) (IMS -> Telephony) 104f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 105f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 3xx responses 106f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // SIP request is redirected 107f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_REDIRECTED = 321; 108f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 4xx responses 109f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 400 : Bad Request 110f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_BAD_REQUEST = 331; 111f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 403 : Forbidden 112f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_FORBIDDEN = 332; 113f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 404 : Not Found 114f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_FOUND = 333; 115f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 415 : Unsupported Media Type 116f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 416 : Unsupported URI Scheme 117f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 420 : Bad Extension 118f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_SUPPORTED = 334; 119f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 408 : Request Timeout 120f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_REQUEST_TIMEOUT = 335; 121f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 480 : Temporarily Unavailable 122f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_TEMPRARILY_UNAVAILABLE = 336; 123f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 484 : Address Incomplete 124f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_BAD_ADDRESS = 337; 125f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 486 : Busy Here 126f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 600 : Busy Everywhere 127f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_BUSY = 338; 128f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 487 : Request Terminated 129f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_REQUEST_CANCELLED = 339; 130f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 406 : Not Acceptable 131f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 488 : Not Acceptable Here 132f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 606 : Not Acceptable 133f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_ACCEPTABLE = 340; 134f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 410 : Gone 135f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 604 : Does Not Exist Anywhere 136f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_REACHABLE = 341; 137f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Others 138f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_CLIENT_ERROR = 342; 139f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 5xx responses 140f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 501 : Server Internal Error 141f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVER_INTERNAL_ERROR = 351; 142f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 503 : Service Unavailable 143f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVICE_UNAVAILABLE = 352; 144f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 504 : Server Time-out 145f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVER_TIMEOUT = 353; 146f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Others 147f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVER_ERROR = 354; 148f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 6xx responses 149f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 603 : Decline 150f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_USER_REJECTED = 361; 151f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Others 152f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_GLOBAL_ERROR = 362; 153f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 154f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 155f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * MEDIA (IMS -> Telephony) 156f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 157f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Media resource initialization failed 158f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_INIT_FAILED = 401; 159f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // RTP timeout (no audio / video traffic in the session) 160f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_NO_DATA = 402; 161f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Media is not supported; so dropped the call 162f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_NOT_ACCEPTABLE = 403; 163f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Unknown media related errors 164f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_UNSPECIFIED = 404; 165f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 166f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 167f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * USER 168f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 169f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Telephony -> IMS 170f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User triggers the call end 171f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_TERMINATED = 501; 172f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // No action while an incoming call is ringing 173f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_NOANSWER = 502; 174f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User ignores an incoming call 175f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_IGNORE = 503; 176f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User declines an incoming call 177f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_DECLINE = 504; 17893c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade // Device declines/ends a call due to low battery 17993c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade public static final int CODE_LOW_BATTERY = 505; 18093c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade // Device declines call due to blacklisted call ID 18193c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade public static final int CODE_BLACKLISTED_CALL_ID = 506; 182f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS -> Telephony 183f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // The call is terminated by the network or remote user 184f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_TERMINATED_BY_REMOTE = 510; 185f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 186f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 187f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Extra codes for the specific code value 188f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * This value can be referred when the code is CODE_LOCAL_CALL_CS_RETRY_REQUIRED. 189f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 190f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Try to connect CS call; normal 191f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int EXTRA_CODE_CALL_RETRY_NORMAL = 1; 192f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Try to connect CS call without the notification to user 193f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int EXTRA_CODE_CALL_RETRY_SILENT_REDIAL = 2; 194f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Try to connect CS call by the settings of the menu 195f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int EXTRA_CODE_CALL_RETRY_BY_SETTINGS = 3; 196f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 197f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 198f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * UT 199f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 200f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_NOT_SUPPORTED = 801; 201f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_SERVICE_UNAVAILABLE = 802; 202f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_OPERATION_NOT_ALLOWED = 803; 20361aac3aa0a65d0edd20342440b984707f22a0ba5Shriram Ganesh public static final int CODE_UT_NETWORK_ERROR = 804; 204f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_CB_PASSWORD_MISMATCH = 821; 205f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 2061c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam /** 2071c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam * ECBM 2081c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam */ 2091c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam public static final int CODE_ECBM_NOT_SUPPORTED = 901; 210f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 211827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade /** 212b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * Ims Registration error code 213b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar */ 214b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar public static final int CODE_REGISTRATION_ERROR = 1000; 215b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar 216b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar /** 217b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * CALL DROP error codes (Call could drop because of many reasons like Network not available, 218b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * handover, failed, etc) 219b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar */ 220b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar 221b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar /** 222b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * CALL DROP error code for the case when a device is ePDG capable and when the user is on an 223b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * active wifi call and at the edge of coverage and there is no qualified LTE network available 224b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * to handover the call to. We get a handover NOT_TRIGERRED message from the modem. This error 225b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * code is received as part of the handover message. 226b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar */ 227b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; 228b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar 229b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar /** 230827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade * Network string error messages. 231827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade * mExtraMessage may have these values. 232827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade */ 233827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED 234827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade = "Forbidden. Not Authorized for Service"; 235827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade 236f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // For main reason code 237f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int mCode; 238f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // For the extra code value; it depends on the code value. 239f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int mExtraCode; 240f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // For the additional message of the reason info. 241f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public String mExtraMessage; 242f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo() { 243f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = CODE_UNSPECIFIED; 244f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = CODE_UNSPECIFIED; 245f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = null; 246f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 247f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 248f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo(Parcel in) { 249f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville readFromParcel(in); 250f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 251f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 252f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo(int code, int extraCode) { 253f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = code; 254f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = extraCode; 255f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = null; 256f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 257f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 258f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo(int code, int extraCode, String extraMessage) { 259f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = code; 260f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = extraCode; 261f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = extraMessage; 262f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 263f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 264f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 265f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 266f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 267f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int getCode() { 268f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return mCode; 269f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 270f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 271f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 272f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 273f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 274f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int getExtraCode() { 275f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return mExtraCode; 276f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 277f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 278f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 279f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 280f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 281f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public String getExtraMessage() { 282f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return mExtraMessage; 283f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 284f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 285f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 286f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Returns the string format of {@link ImsReasonInfo} 287f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 288f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return the string format of {@link ImsReasonInfo} 289f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 290f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public String toString() { 291b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar return "ImsReasonInfo :: {" + mCode + ", " + mExtraCode + ", " + mExtraMessage + "}"; 292f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 293f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 294f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 295f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int describeContents() { 296f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return 0; 297f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 298f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 299f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 300f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public void writeToParcel(Parcel out, int flags) { 301f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville out.writeInt(mCode); 302f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville out.writeInt(mExtraCode); 303f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville out.writeString(mExtraMessage); 304f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 305f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 306f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville private void readFromParcel(Parcel in) { 307f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = in.readInt(); 308f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = in.readInt(); 309f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = in.readString(); 310f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 311f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 312f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final Creator<ImsReasonInfo> CREATOR = new Creator<ImsReasonInfo>() { 313f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 314f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo createFromParcel(Parcel in) { 315f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return new ImsReasonInfo(in); 316f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 317f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 318f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 319f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo[] newArray(int size) { 320f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return new ImsReasonInfo[size]; 321f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 322f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville }; 323f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville} 324