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 102ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh //Call failures for FDN 103ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public static final int CODE_FDN_BLOCKED = 241; 104ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 105f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 106f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * STATUSCODE (SIP response code) (IMS -> Telephony) 107f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 108f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 3xx responses 109f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // SIP request is redirected 110f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_REDIRECTED = 321; 111f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 4xx responses 112f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 400 : Bad Request 113f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_BAD_REQUEST = 331; 114f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 403 : Forbidden 115f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_FORBIDDEN = 332; 116f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 404 : Not Found 117f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_FOUND = 333; 118f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 415 : Unsupported Media Type 119f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 416 : Unsupported URI Scheme 120f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 420 : Bad Extension 121f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_SUPPORTED = 334; 122f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 408 : Request Timeout 123f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_REQUEST_TIMEOUT = 335; 124f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 480 : Temporarily Unavailable 125f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_TEMPRARILY_UNAVAILABLE = 336; 126f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 484 : Address Incomplete 127f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_BAD_ADDRESS = 337; 128f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 486 : Busy Here 129f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 600 : Busy Everywhere 130f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_BUSY = 338; 131f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 487 : Request Terminated 132f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_REQUEST_CANCELLED = 339; 133f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 406 : Not Acceptable 134f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 488 : Not Acceptable Here 135f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 606 : Not Acceptable 136f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_ACCEPTABLE = 340; 137f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 410 : Gone 138f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 604 : Does Not Exist Anywhere 139f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_NOT_REACHABLE = 341; 140f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Others 141f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_CLIENT_ERROR = 342; 142f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 5xx responses 143f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 501 : Server Internal Error 144f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVER_INTERNAL_ERROR = 351; 145f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 503 : Service Unavailable 146f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVICE_UNAVAILABLE = 352; 147f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 504 : Server Time-out 148f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVER_TIMEOUT = 353; 149f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Others 150f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_SERVER_ERROR = 354; 151f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 6xx responses 152f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 603 : Decline 153f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_USER_REJECTED = 361; 154f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Others 155f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_SIP_GLOBAL_ERROR = 362; 156f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 157f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 158f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * MEDIA (IMS -> Telephony) 159f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 160f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Media resource initialization failed 161f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_INIT_FAILED = 401; 162f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // RTP timeout (no audio / video traffic in the session) 163f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_NO_DATA = 402; 164f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Media is not supported; so dropped the call 165f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_NOT_ACCEPTABLE = 403; 166f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Unknown media related errors 167f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_MEDIA_UNSPECIFIED = 404; 168f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 169f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 170f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * USER 171f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 172f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Telephony -> IMS 173f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User triggers the call end 174f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_TERMINATED = 501; 175f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // No action while an incoming call is ringing 176f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_NOANSWER = 502; 177f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User ignores an incoming call 178f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_IGNORE = 503; 179f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // User declines an incoming call 180f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_DECLINE = 504; 18193c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade // Device declines/ends a call due to low battery 18293c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade public static final int CODE_LOW_BATTERY = 505; 18393c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade // Device declines call due to blacklisted call ID 18493c33d7d9042319ec59609309a4e5d0bff1f1151Omkar Kolangade public static final int CODE_BLACKLISTED_CALL_ID = 506; 185f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // IMS -> Telephony 186f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // The call is terminated by the network or remote user 187f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_USER_TERMINATED_BY_REMOTE = 510; 188f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 189f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 190f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Extra codes for the specific code value 191f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * This value can be referred when the code is CODE_LOCAL_CALL_CS_RETRY_REQUIRED. 192f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 193f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Try to connect CS call; normal 194f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int EXTRA_CODE_CALL_RETRY_NORMAL = 1; 195f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Try to connect CS call without the notification to user 196f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int EXTRA_CODE_CALL_RETRY_SILENT_REDIAL = 2; 197f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // Try to connect CS call by the settings of the menu 198f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int EXTRA_CODE_CALL_RETRY_BY_SETTINGS = 3; 199f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 200f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 201f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * UT 202f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 203f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_NOT_SUPPORTED = 801; 204f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_SERVICE_UNAVAILABLE = 802; 205f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_OPERATION_NOT_ALLOWED = 803; 20661aac3aa0a65d0edd20342440b984707f22a0ba5Shriram Ganesh public static final int CODE_UT_NETWORK_ERROR = 804; 207f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int CODE_UT_CB_PASSWORD_MISMATCH = 821; 208f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 2091c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam /** 2101c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam * ECBM 2111c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam */ 2121c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam public static final int CODE_ECBM_NOT_SUPPORTED = 901; 213f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 214827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade /** 215b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * Ims Registration error code 216b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar */ 217b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar public static final int CODE_REGISTRATION_ERROR = 1000; 218b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar 219b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar /** 220b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * CALL DROP error codes (Call could drop because of many reasons like Network not available, 221b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * handover, failed, etc) 222b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar */ 223b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar 224b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar /** 225b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * CALL DROP error code for the case when a device is ePDG capable and when the user is on an 226b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * active wifi call and at the edge of coverage and there is no qualified LTE network available 227b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * to handover the call to. We get a handover NOT_TRIGERRED message from the modem. This error 228b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar * code is received as part of the handover message. 229b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar */ 230b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; 231b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar 232b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar /** 233ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * MT call has ended due to a release from the network 234ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * because the call was answered elsewhere 235ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh */ 236ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public static final int CODE_ANSWERED_ELSEWHERE = 1014; 237ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 238ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh /** 239827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade * Network string error messages. 240827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade * mExtraMessage may have these values. 241827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade */ 242827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED 243827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade = "Forbidden. Not Authorized for Service"; 244827fcb7f8dfbf694e1838e1e3e4432ef4f45949fOmkar Kolangade 245f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // For main reason code 246f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int mCode; 247f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // For the extra code value; it depends on the code value. 248f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int mExtraCode; 249f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // For the additional message of the reason info. 250f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public String mExtraMessage; 251f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo() { 252f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = CODE_UNSPECIFIED; 253f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = CODE_UNSPECIFIED; 254f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = null; 255f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 256f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 257f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo(Parcel in) { 258f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville readFromParcel(in); 259f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 260f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 261f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo(int code, int extraCode) { 262f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = code; 263f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = extraCode; 264f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = null; 265f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 266f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 267f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo(int code, int extraCode, String extraMessage) { 268f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = code; 269f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = extraCode; 270f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = extraMessage; 271f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 272f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 273f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 274f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 275f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 276f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int getCode() { 277f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return mCode; 278f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 279f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 280f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 281f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 282f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 283f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int getExtraCode() { 284f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return mExtraCode; 285f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 286f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 287f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 288f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 289f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 290f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public String getExtraMessage() { 291f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return mExtraMessage; 292f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 293f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 294f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 295f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Returns the string format of {@link ImsReasonInfo} 296f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 297f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return the string format of {@link ImsReasonInfo} 298f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 299f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public String toString() { 300b54d218d8b1c765865d0efb4a40e631f8bfa02deRekha Kumar return "ImsReasonInfo :: {" + mCode + ", " + mExtraCode + ", " + mExtraMessage + "}"; 301f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 302f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 303f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 304f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int describeContents() { 305f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return 0; 306f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 307f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 308f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 309f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public void writeToParcel(Parcel out, int flags) { 310f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville out.writeInt(mCode); 311f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville out.writeInt(mExtraCode); 312f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville out.writeString(mExtraMessage); 313f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 314f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 315f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville private void readFromParcel(Parcel in) { 316f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mCode = in.readInt(); 317f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraCode = in.readInt(); 318f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mExtraMessage = in.readString(); 319f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 320f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 321f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final Creator<ImsReasonInfo> CREATOR = new Creator<ImsReasonInfo>() { 322f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 323f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo createFromParcel(Parcel in) { 324f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return new ImsReasonInfo(in); 325f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 326f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 327f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 328f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsReasonInfo[] newArray(int size) { 329f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return new ImsReasonInfo[size]; 330f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 331f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville }; 332f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville} 333