| /* |
| * Copyright (C) 2018 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.hardware.radio@1.4; |
| |
| import @1.0::ApnAuthType; |
| import @1.0::ApnTypes; |
| import @1.0::Carrier; |
| import @1.0::CellInfoType; |
| import @1.0::CdmaSignalStrength; |
| import @1.0::DataCallFailCause; |
| import @1.0::DataProfileId; |
| import @1.0::DataProfileInfoType; |
| import @1.0::EvdoSignalStrength; |
| import @1.0::GsmSignalStrength; |
| import @1.0::LteSignalStrength; |
| import @1.0::RadioAccessFamily; |
| import @1.0::RadioCapabilityPhase; |
| import @1.0::RadioCapabilityStatus; |
| import @1.0::RadioError; |
| import @1.0::RadioTechnology; |
| import @1.0::RegState; |
| import @1.0::TimeStampType; |
| import @1.1::ScanStatus; |
| import @1.2::AccessNetwork; |
| import @1.2::CellInfo; |
| import @1.2::CellInfoCdma; |
| import @1.2::CellInfoGsm; |
| import @1.2::CellInfoLte; |
| import @1.2::CellInfoTdscdma; |
| import @1.2::CellInfoWcdma; |
| import @1.2::CardStatus; |
| import @1.2::CellConnectionStatus; |
| import @1.2::CellIdentityCdma; |
| import @1.2::CellIdentityGsm; |
| import @1.2::CellIdentityLte; |
| import @1.2::CellIdentityTdscdma; |
| import @1.2::CellIdentityWcdma; |
| import @1.2::CellIdentityOperatorNames; |
| import @1.2::DataRegStateResult; |
| import @1.2::PhysicalChannelConfig; |
| import @1.2::TdscdmaSignalStrength; |
| import @1.2::WcdmaSignalStrength; |
| |
| import android.hidl.safe_union@1.0::Monostate; |
| |
| enum AccessNetwork : @1.2::AccessNetwork { |
| /** |
| * Unknown access network |
| */ |
| UNKNOWN = 0, |
| }; |
| |
| enum ApnTypes : @1.0::ApnTypes { |
| /** |
| * Due to the addition of this new value, the value ALL defined in 1.0::ApnTypes is now |
| * deprecated and should not be used. |
| */ |
| MCX = 1 << 10, // APN type for Mission Critical Service |
| // Reference: 3GPP TS 22.280 V15.3.0 |
| }; |
| |
| /** |
| * Emergency number contains information of number, one or more service category(s), zero or more |
| * emergency uniform resource names, mobile country code (mcc), mobile network country (mnc) and |
| * source(s) that indicate where it comes from. |
| * |
| * If the emergency number is associated with country, field ‘mcc’ must be provided, otherwise |
| * field ‘mcc’ must be an empty string. If the emergency number is associated with network |
| * operator, field ‘mcc’ and 'mnc' must be provided, otherwise field ‘mnc’ must be an empty |
| * string. If the emergency number is specified with emergency service category(s), field |
| * 'categories' must be provided, otherwise field 'categories' must be |
| * @1.4::EmergencyServiceCategories::UNSPECIFIED. If the emergency number is specified with |
| * emergency uniform resource names (URN), field 'urns' must be provided, otherwise field 'urns' |
| * must be an empty list. |
| * |
| * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’, 'mnc', 'categories' and |
| * 'urns' fields. Multiple @1.4::EmergencyNumberSource should be merged into one 'sources' field |
| * via bitwise-OR combination for the same EmergencyNumber. |
| * |
| * Reference: 3gpp 22.101, Section 10 - Emergency Calls; |
| * 3gpp 23.167, Section 6 - Functional description; |
| * 3gpp 24.503, Section 5.1.6.8.1 - General; |
| * RFC 5031 |
| */ |
| struct EmergencyNumber{ |
| /** |
| * The emergency number. The character in the number string should only be the dial pad |
| * character('0'-'9', '*', or '#'). For example: 911. |
| */ |
| string number; |
| /** |
| * 3-digit Mobile Country Code, 0..999. Empty string if not applicable. |
| */ |
| string mcc; |
| /** |
| * 2 or 3-digit Mobile Network Code, 0..999. Empty string if not applicable. |
| */ |
| string mnc; |
| /** |
| * The bitfield of @1.4::EmergencyServiceCategory(s). See @1.4::EmergencyServiceCategory for |
| * the value of each bit. |
| */ |
| bitfield<EmergencyServiceCategory> categories; |
| /** |
| * The list of emergency Uniform Resource Names (URN). |
| */ |
| vec<string> urns; |
| /** |
| * The bitfield of @1.4::EmergencyNumberSource(s). See @1.4::EmergencyNumberSource for the |
| * value of each bit. |
| */ |
| bitfield<EmergencyNumberSource> sources; |
| }; |
| |
| /** |
| * Defining Emergency Service Category as follows: |
| * - General emergency call, all categories; |
| * - Police; |
| * - Ambulance; |
| * - Fire Brigade; |
| * - Marine Guard; |
| * - Mountain Rescue; |
| * - Manually Initiated eCall (MIeC); |
| * - Automatically Initiated eCall (AIeC); |
| * |
| * Category UNSPECIFIED (General emergency call, all categories) indicates that no specific |
| * services are associated with this emergency number. |
| * |
| * Reference: 3gpp 22.101, Section 10 - Emergency Calls |
| */ |
| enum EmergencyServiceCategory : int32_t { |
| /** |
| * General emergency call, all categories |
| */ |
| UNSPECIFIED = 0, |
| POLICE = 1 << 0, |
| AMBULANCE = 1 << 1, |
| FIRE_BRIGADE = 1 << 2, |
| MARINE_GUARD = 1 << 3, |
| MOUNTAIN_RESCUE = 1 << 4, |
| /** |
| * Manually Initiated eCall (MIeC) |
| */ |
| MIEC = 1 << 5, |
| /** |
| * Automatically Initiated eCall (AIeC) |
| */ |
| AIEC = 1 << 6, |
| }; |
| |
| /** |
| * The source to tell where the corresponding @1.4::EmergencyNumber comes from. |
| * |
| * Reference: 3gpp 22.101, Section 10 - Emergency Calls |
| */ |
| enum EmergencyNumberSource : int32_t { |
| /** |
| * Indicates the number is from the network signal. |
| */ |
| NETWORK_SIGNALING = 1 << 0, |
| /** |
| * Indicates the number is from the sim card. |
| */ |
| SIM = 1 << 1, |
| /** |
| * Indicates the number is from the modem config. |
| */ |
| MODEM_CONFIG = 1 << 2, |
| /** |
| * Indicates the number is available as default. Per the reference, 112, 911 must always be |
| * available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not |
| * present. |
| */ |
| DEFAULT = 1 << 3, |
| }; |
| |
| /** |
| * Indicates how the implementation should handle the emergency call if it is required by Android. |
| */ |
| enum EmergencyCallRouting : int32_t { |
| /** |
| * Indicates Android does not require how to handle the corresponding emergency call; it is |
| * decided by implementation. |
| */ |
| UNKNOWN = 0, |
| /** |
| * Indicates the implementation must handle the call through emergency routing. |
| */ |
| EMERGENCY = 1, |
| /** |
| * Indicates the implementation must handle the call through normal call routing. |
| */ |
| NORMAL = 2, |
| }; |
| |
| enum RadioTechnology : @1.0::RadioTechnology { |
| /** 5G NR. This is only use in 5G Standalone mode. */ |
| NR = 20, |
| }; |
| |
| enum RadioAccessFamily : @1.0::RadioAccessFamily { |
| /** 5G NR. This is only use in 5G Standalone mode. */ |
| NR = 1 << RadioTechnology:NR, |
| }; |
| |
| /** Mapping the frequency to a rough range. */ |
| enum FrequencyRange : int32_t { |
| /** Indicates the frequency range is below 1GHz. */ |
| LOW = 1, |
| |
| /** Indicates the frequency range is between 1GHz and 3GHz. */ |
| MID = 2, |
| |
| /** Indicates the frequency range is between 3GHz and 6GHz. */ |
| HIGH = 3, |
| |
| /** Indicates the frequency range is above 6GHz (millimeter wave frequency). */ |
| MMWAVE = 4, |
| }; |
| |
| /** |
| * Expose more setup data call failures. |
| */ |
| enum DataCallFailCause : @1.0::DataCallFailCause { |
| /** |
| * Network cannot provide the requested service and PDP context is deactivated because of LLC |
| * or SNDCP failure. |
| */ |
| LLC_SNDCP = 0x19, |
| /** |
| * UE requested to modify QoS parameters or the bearer control mode, which is not compatible |
| * with the selected bearer control mode. |
| */ |
| ACTIVATION_REJECTED_BCM_VIOLATION = 0x30, |
| /** |
| * Network has already initiated the activation, modification, or deactivation of bearer |
| * resources that was requested by the UE. |
| */ |
| COLLISION_WITH_NETWORK_INITIATED_REQUEST = 0x38, |
| /** |
| * Network supports IPv4v6 PDP type only. Non-IP type is not allowed. In LTE mode of operation, |
| * this is a PDN throttling cause code, meaning the UE may throttle further requests to the |
| * same APN. |
| */ |
| ONLY_IPV4V6_ALLOWED = 0x39, |
| /** |
| * Network supports non-IP PDP type only. IPv4, IPv6 and IPv4v6 is not allowed. In LTE mode of |
| * operation, this is a PDN throttling cause code, meaning the UE can throttle further requests |
| * to the same APN. |
| */ |
| ONLY_NON_IP_ALLOWED = 0x3A, |
| /** |
| * QCI (QoS Class Identifier) indicated in the UE request cannot be supported. |
| */ |
| UNSUPPORTED_QCI_VALUE = 0x3B, |
| /** |
| * Procedure requested by the UE was rejected because the bearer handling is not supported. |
| */ |
| BEARER_HANDLING_NOT_SUPPORTED = 0x3C, |
| /** |
| * Not receiving a DNS address that was mandatory. |
| */ |
| INVALID_DNS_ADDR = 0x7B, |
| /** |
| * Not receiving either a PCSCF or a DNS address, one of them being mandatory. |
| */ |
| INVALID_PCSCF_OR_DNS_ADDRESS = 0x7C, |
| /** |
| * Emergency call bring up on a different ePDG. |
| */ |
| CALL_PREEMPT_BY_EMERGENCY_APN = 0x7F, |
| /** |
| * UE performs a detach or disconnect PDN action based on TE requirements. |
| */ |
| UE_INITIATED_DETACH_OR_DISCONNECT = 0x80, |
| |
| /** |
| * Reason unspecified for foreign agent rejected MIP (Mobile IP) registration. |
| */ |
| MIP_FA_REASON_UNSPECIFIED = 0x7D0, |
| /** |
| * Foreign agent administratively prohibited MIP (Mobile IP) registration. |
| */ |
| MIP_FA_ADMIN_PROHIBITED = 0x7D1, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of insufficient resources. |
| */ |
| MIP_FA_INSUFFICIENT_RESOURCES = 0x7D2, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of MN-AAA authenticator was |
| * wrong. |
| */ |
| MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7D3, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of home agent authentication |
| * failure. |
| */ |
| MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 0x7D4, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of requested lifetime was too |
| * long. |
| */ |
| MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 0x7D5, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of malformed request. |
| */ |
| MIP_FA_MALFORMED_REQUEST = 0x7D6, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of malformed reply. |
| */ |
| MIP_FA_MALFORMED_REPLY = 0x7D7, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of requested encapsulation was |
| * unavailable. |
| */ |
| MIP_FA_ENCAPSULATION_UNAVAILABLE = 0x7D8, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration of VJ Header Compression was unavailable. |
| */ |
| MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 0x7D9, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was |
| * unavailable. |
| */ |
| MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 0x7DA, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was mandatory |
| * but not requested by device. |
| */ |
| MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 0x7DB, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of delivery style was not |
| * supported. |
| */ |
| MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 0x7DC, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of missing NAI (Network Access |
| * Identifier). |
| */ |
| MIP_FA_MISSING_NAI = 0x7DD, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Agent. |
| */ |
| MIP_FA_MISSING_HOME_AGENT = 0x7DE, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Address. |
| */ |
| MIP_FA_MISSING_HOME_ADDRESS = 0x7DF, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of unknown challenge. |
| */ |
| MIP_FA_UNKNOWN_CHALLENGE = 0x7E0, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of missing challenge. |
| */ |
| MIP_FA_MISSING_CHALLENGE = 0x7E1, |
| /** |
| * Foreign agent rejected MIP (Mobile IP) registration because of stale challenge. |
| */ |
| MIP_FA_STALE_CHALLENGE = 0x7E2, |
| /** |
| * Reason unspecified for home agent rejected MIP (Mobile IP) registration. |
| */ |
| MIP_HA_REASON_UNSPECIFIED = 0x7E3, |
| /** |
| * Home agent administratively prohibited MIP (Mobile IP) registration. |
| */ |
| MIP_HA_ADMIN_PROHIBITED = 0x7E4, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of insufficient resources. |
| */ |
| MIP_HA_INSUFFICIENT_RESOURCES = 0x7E5, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of MN-HA authenticator was wrong. |
| */ |
| MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7E6, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of foreign agent authentication |
| * failure. |
| */ |
| MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 0x7E7, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of registration id mismatch. |
| */ |
| MIP_HA_REGISTRATION_ID_MISMATCH = 0x7E8, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of malformed request. |
| */ |
| MIP_HA_MALFORMED_REQUEST = 0x7E9, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of unknown home agent address. |
| */ |
| MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 0x7EA, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel was unavailable. |
| */ |
| MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 0x7EB, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel is mandatory but |
| * not requested by device. |
| */ |
| MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 0x7EC, |
| /** |
| * Home agent rejected MIP (Mobile IP) registration because of encapsulation unavailable. |
| */ |
| MIP_HA_ENCAPSULATION_UNAVAILABLE = 0x7ED, |
| /** |
| * Tearing down is in progress. |
| */ |
| CLOSE_IN_PROGRESS = 0x7EE, |
| /** |
| * Brought down by the network. |
| */ |
| NETWORK_INITIATED_TERMINATION = 0x7EF, |
| /** |
| * Another application in modem preempts the data call. |
| */ |
| MODEM_APP_PREEMPTED = 0x7F0, |
| /** |
| * IPV4 PDN is in throttled state due to network providing only IPV6 address during the previous |
| * VSNCP bringup (subs_limited_to_v6). |
| */ |
| PDN_IPV4_CALL_DISALLOWED = 0x7F1, |
| /** |
| * IPV4 PDN is in throttled state due to previous VSNCP bringup failure(s). |
| */ |
| PDN_IPV4_CALL_THROTTLED = 0x7F2, |
| /** |
| * IPV6 PDN is in throttled state due to network providing only IPV4 address during the previous |
| * VSNCP bringup (subs_limited_to_v4). |
| */ |
| PDN_IPV6_CALL_DISALLOWED = 0x7F3, |
| /** |
| * IPV6 PDN is in throttled state due to previous VSNCP bringup failure(s). |
| */ |
| PDN_IPV6_CALL_THROTTLED = 0x7F4, |
| /** |
| * Modem restart. |
| */ |
| MODEM_RESTART = 0x7F5, |
| /** |
| * PDP PPP calls are not supported. |
| */ |
| PDP_PPP_NOT_SUPPORTED = 0x7F6, |
| /** |
| * RAT on which the data call is attempted/connected is no longer the preferred RAT. |
| */ |
| UNPREFERRED_RAT = 0x7F7, |
| /** |
| * Physical link is in the process of cleanup. |
| */ |
| PHYSICAL_LINK_CLOSE_IN_PROGRESS = 0x7F8, |
| /** |
| * Interface bring up is attempted for an APN that is yet to be handed over to target RAT. |
| */ |
| APN_PENDING_HANDOVER = 0x7F9, |
| /** |
| * APN bearer type in the profile does not match preferred network mode. |
| */ |
| PROFILE_BEARER_INCOMPATIBLE = 0x7FA, |
| /** |
| * Card was refreshed or removed. |
| */ |
| SIM_CARD_CHANGED = 0x7FB, |
| /** |
| * Device is going into lower power mode or powering down. |
| */ |
| LOW_POWER_MODE_OR_POWERING_DOWN = 0x7FC, |
| /** |
| * APN has been disabled. |
| */ |
| APN_DISABLED = 0x7FD, |
| /** |
| * Maximum PPP inactivity timer expired. |
| */ |
| MAX_PPP_INACTIVITY_TIMER_EXPIRED = 0x7FE, |
| /** |
| * IPv6 address transfer failed. |
| */ |
| IPV6_ADDRESS_TRANSFER_FAILED = 0x7FF, |
| /** |
| * Target RAT swap failed. |
| */ |
| TRAT_SWAP_FAILED = 0x800, |
| /** |
| * Device falls back from eHRPD to HRPD. |
| */ |
| EHRPD_TO_HRPD_FALLBACK = 0x801, |
| /** |
| * UE is in MIP-only configuration but the MIP configuration fails on call bring up due to |
| * incorrect provisioning. |
| */ |
| MIP_CONFIG_FAILURE = 0x802, |
| /** |
| * PDN inactivity timer expired due to no data transmission in a configurable duration of time. |
| */ |
| PDN_INACTIVITY_TIMER_EXPIRED = 0x803, |
| /** |
| * IPv4 data call bring up is rejected because the UE already maintains the allotted maximum |
| * number of IPv4 data connections. |
| */ |
| MAX_IPV4_CONNECTIONS = 0x804, |
| /** |
| * IPv6 data call bring up is rejected because the UE already maintains the allotted maximum |
| * number of IPv6 data connections. |
| */ |
| MAX_IPV6_CONNECTIONS = 0x805, |
| /** |
| * New PDN bring up is rejected during interface selection because the UE has already allotted |
| * the available interfaces for other PDNs. |
| */ |
| APN_MISMATCH = 0x806, |
| /** |
| * New call bring up is rejected since the existing data call IP type doesn't match the |
| * requested IP. |
| */ |
| IP_VERSION_MISMATCH = 0x807, |
| /** |
| * Dial up networking (DUN) call bring up is rejected since UE is in eHRPD RAT. |
| */ |
| DUN_CALL_DISALLOWED = 0x808, |
| /** |
| * Rejected/Brought down since UE is transition between EPC and NONEPC RAT. |
| */ |
| INTERNAL_EPC_NONEPC_TRANSITION = 0x809, |
| /** |
| * The current interface is being in use. |
| */ |
| INTERFACE_IN_USE = 0x80A, |
| /** |
| * PDN connection to the APN is disallowed on the roaming network. |
| */ |
| APN_DISALLOWED_ON_ROAMING = 0x80B, |
| /** |
| * APN-related parameters are changed. |
| */ |
| APN_PARAMETERS_CHANGED = 0x80C, |
| /** |
| * PDN is attempted to be brought up with NULL APN but NULL APN is not supported. |
| */ |
| NULL_APN_DISALLOWED = 0x80D, |
| /** |
| * Thermal level increases and causes calls to be torn down when normal mode of operation is |
| * not allowed. |
| */ |
| THERMAL_MITIGATION = 0x80E, |
| /** |
| * PDN Connection to a given APN is disallowed because data is disabled from the device user |
| * interface settings. |
| */ |
| DATA_SETTINGS_DISABLED = 0x80F, |
| /** |
| * PDN Connection to a given APN is disallowed because data roaming is disabled from the device |
| * user interface settings and the UE is roaming. |
| */ |
| DATA_ROAMING_SETTINGS_DISABLED = 0x810, |
| /** |
| * DDS (Default data subscription) switch occurs. |
| */ |
| DDS_SWITCHED = 0x811, |
| /** |
| * PDN being brought up with an APN that is part of forbidden APN Name list. |
| */ |
| FORBIDDEN_APN_NAME = 0x812, |
| /** |
| * Default data subscription switch is in progress. |
| */ |
| DDS_SWITCH_IN_PROGRESS = 0x813, |
| /** |
| * Roaming is disallowed during call bring up. |
| */ |
| CALL_DISALLOWED_IN_ROAMING = 0x814, |
| /** |
| * UE is unable to bring up a non-IP data call because the device is not camped on a NB1 cell. |
| */ |
| NON_IP_NOT_SUPPORTED = 0x815, |
| /** |
| * Non-IP PDN is in throttled state due to previous VSNCP bringup failure(s). |
| */ |
| PDN_NON_IP_CALL_THROTTLED = 0x816, |
| /** |
| * Non-IP PDN is in disallowed state due to the network providing only an IP address. |
| */ |
| PDN_NON_IP_CALL_DISALLOWED = 0x817, |
| /** |
| * Device in CDMA locked state. |
| */ |
| CDMA_LOCK = 0x818, |
| /** |
| * Received an intercept order from the base station. |
| */ |
| CDMA_INTERCEPT = 0x819, |
| /** |
| * Receiving a reorder from the base station. |
| */ |
| CDMA_REORDER = 0x81A, |
| /** |
| * Receiving a release from the base station with a SO (Service Option) Reject reason. |
| */ |
| CDMA_RELEASE_DUE_TO_SO_REJECTION = 0x81B, |
| /** |
| * Receiving an incoming call from the base station. |
| */ |
| CDMA_INCOMING_CALL = 0x81C, |
| /** |
| * Received an alert stop from the base station due to incoming only. |
| */ |
| CDMA_ALERT_STOP = 0x81D, |
| /** |
| * Channel acquisition failures. This indicates that device has failed acquiring all the |
| * channels in the PRL. |
| */ |
| CHANNEL_ACQUISITION_FAILURE = 0x81E, |
| /** |
| * Maximum access probes transmitted. |
| */ |
| MAX_ACCESS_PROBE = 0x81F, |
| /** |
| * Concurrent service is not supported by base station. |
| */ |
| CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 0x820, |
| /** |
| * There was no response received from the base station. |
| */ |
| NO_RESPONSE_FROM_BASE_STATION = 0x821, |
| /** |
| * The base station rejecting the call. |
| */ |
| REJECTED_BY_BASE_STATION = 0x822, |
| /** |
| * The concurrent services requested were not compatible. |
| */ |
| CONCURRENT_SERVICES_INCOMPATIBLE = 0x823, |
| /** |
| * Device does not have CDMA service. |
| */ |
| NO_CDMA_SERVICE = 0x824, |
| /** |
| * RUIM not being present. |
| */ |
| RUIM_NOT_PRESENT = 0x825, |
| /** |
| * Receiving a retry order from the base station. |
| */ |
| CDMA_RETRY_ORDER = 0x826, |
| /** |
| * Access blocked by the base station. |
| */ |
| ACCESS_BLOCK = 0x827, |
| /** |
| * Access blocked by the base station for all mobile devices. |
| */ |
| ACCESS_BLOCK_ALL = 0x828, |
| /** |
| * Maximum access probes for the IS-707B call. |
| */ |
| IS707B_MAX_ACCESS_PROBES = 0x829, |
| /** |
| * Put device in thermal emergency. |
| */ |
| THERMAL_EMERGENCY = 0x82A, |
| /** |
| * In favor of a voice call or SMS when concurrent voice and data are not supported. |
| */ |
| CONCURRENT_SERVICES_NOT_ALLOWED = 0x82B, |
| /** |
| * The other clients rejected incoming call. |
| */ |
| INCOMING_CALL_REJECTED = 0x82C, |
| /** |
| * No service on the gateway. |
| */ |
| NO_SERVICE_ON_GATEWAY = 0x82D, |
| /** |
| * GPRS context is not available. |
| */ |
| NO_GPRS_CONTEXT = 0x82E, |
| /** |
| * Network refuses service to the MS because either an identity of the MS is not acceptable to |
| * the network or the MS does not pass the authentication check. |
| */ |
| ILLEGAL_MS = 0x82F, |
| /** |
| * ME could not be authenticated and the ME used is not acceptable to the network. |
| */ |
| ILLEGAL_ME = 0x830, |
| /** |
| * Not allowed to operate either GPRS or non-GPRS services. |
| */ |
| GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 0x831, |
| /** |
| * MS is not allowed to operate GPRS services. |
| */ |
| GPRS_SERVICES_NOT_ALLOWED = 0x832, |
| /** |
| * No matching identity or context could be found in the network. |
| */ |
| MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 0x833, |
| /** |
| * Mobile reachable timer has expired, or the GMM context data related to the subscription does |
| * not exist in the SGSN. |
| */ |
| IMPLICITLY_DETACHED = 0x834, |
| /** |
| * UE requests GPRS service, or the network initiates a detach request in a PLMN which does not |
| * offer roaming for GPRS services to that MS. |
| */ |
| PLMN_NOT_ALLOWED = 0x835, |
| /** |
| * MS requests service, or the network initiates a detach request, in a location area where the |
| * HPLMN determines that the MS, by subscription, is not allowed to operate. |
| */ |
| LOCATION_AREA_NOT_ALLOWED = 0x836, |
| /** |
| * UE requests GPRS service or the network initiates a detach request in a PLMN that does not |
| * offer roaming for GPRS services. |
| */ |
| GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 0x837, |
| /** |
| * PDP context already exists. |
| */ |
| PDP_DUPLICATE = 0x838, |
| /** |
| * RAT change on the UE. |
| */ |
| UE_RAT_CHANGE = 0x839, |
| /** |
| * Network cannot serve a request from the MS due to congestion. |
| */ |
| CONGESTION = 0x83A, |
| /** |
| * MS requests an establishment of the radio access bearers for all active PDP contexts by |
| * sending a service request message indicating data to the network, but the SGSN does not have |
| * any active PDP context. |
| */ |
| NO_PDP_CONTEXT_ACTIVATED = 0x83B, |
| /** |
| * Access class blocking restrictions for the current camped cell. |
| */ |
| ACCESS_CLASS_DSAC_REJECTION = 0x83C, |
| /** |
| * SM attempts PDP activation for a maximum of four attempts. |
| */ |
| PDP_ACTIVATE_MAX_RETRY_FAILED = 0x83D, |
| /** |
| * Radio access bearer failure. |
| */ |
| RADIO_ACCESS_BEARER_FAILURE = 0x83E, |
| /** |
| * Invalid EPS bearer identity in the request. |
| */ |
| ESM_UNKNOWN_EPS_BEARER_CONTEXT = 0x83F, |
| /** |
| * Data radio bearer is released by the RRC. |
| */ |
| DRB_RELEASED_BY_RRC = 0x840, |
| /** |
| * Indicate the connection was released. |
| */ |
| CONNECTION_RELEASED = 0x841, |
| /** |
| * UE is detached. |
| */ |
| EMM_DETACHED = 0x842, |
| /** |
| * Attach procedure is rejected by the network. |
| */ |
| EMM_ATTACH_FAILED = 0x843, |
| /** |
| * Attach procedure is started for EMC purposes. |
| */ |
| EMM_ATTACH_STARTED = 0x844, |
| /** |
| * Service request procedure failure. |
| */ |
| LTE_NAS_SERVICE_REQUEST_FAILED = 0x845, |
| /** |
| * Active dedicated bearer was requested using the same default bearer ID. |
| */ |
| DUPLICATE_BEARER_ID = 0x846, |
| /** |
| * Collision scenarios for the UE and network-initiated procedures. |
| */ |
| ESM_COLLISION_SCENARIOS = 0x847, |
| /** |
| * Bearer must be deactivated to synchronize with the network. |
| */ |
| ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 0x848, |
| /** |
| * Active dedicated bearer was requested for an existing default bearer. |
| */ |
| ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 0x849, |
| /** |
| * Bad OTA message is received from the network. |
| */ |
| ESM_BAD_OTA_MESSAGE = 0x84A, |
| /** |
| * Download server rejected the call. |
| */ |
| ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 0x84B, |
| /** |
| * PDN was disconnected by the downlaod server due to IRAT. |
| */ |
| ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 0x84C, |
| /** |
| * Dedicated bearer will be deactivated regardless of the network response. |
| */ |
| DS_EXPLICIT_DEACTIVATION = 0x84D, |
| /** |
| * No specific local cause is mentioned, usually a valid OTA cause. |
| */ |
| ESM_LOCAL_CAUSE_NONE = 0x84E, |
| /** |
| * Throttling is not needed for this service request failure. |
| */ |
| LTE_THROTTLING_NOT_REQUIRED = 0x84F, |
| /** |
| * Access control list check failure at the lower layer. |
| */ |
| ACCESS_CONTROL_LIST_CHECK_FAILURE = 0x850, |
| /** |
| * Service is not allowed on the requested PLMN. |
| */ |
| SERVICE_NOT_ALLOWED_ON_PLMN = 0x851, |
| /** |
| * T3417 timer expiration of the service request procedure. |
| */ |
| EMM_T3417_EXPIRED = 0x852, |
| /** |
| * Extended service request fails due to expiration of the T3417 EXT timer. |
| */ |
| EMM_T3417_EXT_EXPIRED = 0x853, |
| /** |
| * Transmission failure of radio resource control (RRC) uplink data. |
| */ |
| RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 0x854, |
| /** |
| * Radio resource control (RRC) uplink data delivery failed due to a handover. |
| */ |
| RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 0x855, |
| /** |
| * Radio resource control (RRC) uplink data delivery failed due to a connection release. |
| */ |
| RRC_UPLINK_CONNECTION_RELEASE = 0x856, |
| /** |
| * Radio resource control (RRC) uplink data delivery failed due to a radio link failure. |
| */ |
| RRC_UPLINK_RADIO_LINK_FAILURE = 0x857, |
| /** |
| * Radio resource control (RRC) is not connected but the non-access stratum (NAS) sends an |
| * uplink data request. |
| */ |
| RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 0x858, |
| /** |
| * Radio resource control (RRC) connection failure at access stratum. |
| */ |
| RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 0x859, |
| /** |
| * Radio resource control (RRC) connection establishment is aborted due to another procedure. |
| */ |
| RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 0x85A, |
| /** |
| * Radio resource control (RRC) connection establishment failed due to access barrred. |
| */ |
| RRC_CONNECTION_ACCESS_BARRED = 0x85B, |
| /** |
| * Radio resource control (RRC) connection establishment failed due to cell reselection at |
| * access stratum. |
| */ |
| RRC_CONNECTION_CELL_RESELECTION = 0x85C, |
| /** |
| * Connection establishment failed due to configuration failure at the radio resource control |
| * (RRC). |
| */ |
| RRC_CONNECTION_CONFIG_FAILURE = 0x85D, |
| /** |
| * Radio resource control (RRC) connection could not be established in the time limit. |
| */ |
| RRC_CONNECTION_TIMER_EXPIRED = 0x85E, |
| /** |
| * Connection establishment failed due to a link failure at the radio resource control (RRC). |
| */ |
| RRC_CONNECTION_LINK_FAILURE = 0x85F, |
| /** |
| * Connection establishment failed as the radio resource control (RRC) is not camped on any |
| * cell. |
| */ |
| RRC_CONNECTION_CELL_NOT_CAMPED = 0x860, |
| /** |
| * Connection establishment failed due to a service interval failure at the radio resource |
| * control (RRC). |
| */ |
| RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 0x861, |
| /** |
| * Radio resource control (RRC) connection establishment failed due to the network rejecting the |
| * UE connection request. |
| */ |
| RRC_CONNECTION_REJECT_BY_NETWORK = 0x862, |
| /** |
| * Normal radio resource control (RRC) connection release. |
| */ |
| RRC_CONNECTION_NORMAL_RELEASE = 0x863, |
| /** |
| * Radio resource control (RRC) connection release failed due to radio link failure conditions. |
| */ |
| RRC_CONNECTION_RADIO_LINK_FAILURE = 0x864, |
| /** |
| * Radio resource control (RRC) connection re-establishment failure. |
| */ |
| RRC_CONNECTION_REESTABLISHMENT_FAILURE = 0x865, |
| /** |
| * UE is out of service during the call register. |
| */ |
| RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 0x866, |
| /** |
| * Connection has been released by the radio resource control (RRC) due to an abort request. |
| */ |
| RRC_CONNECTION_ABORT_REQUEST = 0x867, |
| /** |
| * Radio resource control (RRC) connection released due to a system information block read |
| * error. |
| */ |
| RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 0x868, |
| /** |
| * Network-initiated detach with reattach. |
| */ |
| NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 0x869, |
| /** |
| * Network-initiated detach without reattach. |
| */ |
| NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 0x86A, |
| /** |
| * ESM procedure maximum attempt timeout failure. |
| */ |
| ESM_PROCEDURE_TIME_OUT = 0x86B, |
| /** |
| * No PDP exists with the given connection ID while modifying or deactivating or activation for |
| * an already active PDP. |
| */ |
| INVALID_CONNECTION_ID = 0x86C, |
| /** |
| * Maximum NSAPIs have been exceeded during PDP activation. |
| */ |
| MAXIMIUM_NSAPIS_EXCEEDED = 0x86D, |
| /** |
| * Primary context for NSAPI does not exist. |
| */ |
| INVALID_PRIMARY_NSAPI = 0x86E, |
| /** |
| * Unable to encode the OTA message for MT PDP or deactivate PDP. |
| */ |
| CANNOT_ENCODE_OTA_MESSAGE = 0x86F, |
| /** |
| * Radio access bearer is not established by the lower layers during activation, modification, |
| * or deactivation. |
| */ |
| RADIO_ACCESS_BEARER_SETUP_FAILURE = 0x870, |
| /** |
| * Expiration of the PDP establish timer with a maximum of five retries. |
| */ |
| PDP_ESTABLISH_TIMEOUT_EXPIRED = 0x871, |
| /** |
| * Expiration of the PDP modify timer with a maximum of four retries. |
| */ |
| PDP_MODIFY_TIMEOUT_EXPIRED = 0x872, |
| /** |
| * Expiration of the PDP deactivate timer with a maximum of four retries. |
| */ |
| PDP_INACTIVE_TIMEOUT_EXPIRED = 0x873, |
| /** |
| * PDP activation failed due to RRC_ABORT or a forbidden PLMN. |
| */ |
| PDP_LOWERLAYER_ERROR = 0x874, |
| /** |
| * MO PDP modify collision when the MT PDP is already in progress. |
| */ |
| PDP_MODIFY_COLLISION = 0x875, |
| /** |
| * Maximum size of the L2 message was exceeded. |
| */ |
| MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 0x876, |
| /** |
| * Non-access stratum (NAS) request was rejected by the network. |
| */ |
| NAS_REQUEST_REJECTED_BY_NETWORK = 0x877, |
| /** |
| * Radio resource control (RRC) connection establishment failure due to an error in the request |
| * message. |
| */ |
| RRC_CONNECTION_INVALID_REQUEST = 0x878, |
| /** |
| * Radio resource control (RRC) connection establishment failure due to a change in the tracking |
| * area ID. |
| */ |
| RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 0x879, |
| /** |
| * Radio resource control (RRC) connection establishment failure due to the RF was unavailable. |
| */ |
| RRC_CONNECTION_RF_UNAVAILABLE = 0x87A, |
| /** |
| * Radio resource control (RRC) connection was aborted before deactivating the LTE stack due to |
| * a successful LTE to WCDMA/GSM/TD-SCDMA IRAT change. |
| */ |
| RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 0x87B, |
| /** |
| * If the UE has an LTE radio link failure before security is established, the radio resource |
| * control (RRC) connection must be released and the UE must return to idle. |
| */ |
| RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 0x87C, |
| /** |
| * Radio resource control (RRC) connection was aborted by the non-access stratum (NAS) after an |
| * IRAT to LTE IRAT handover. |
| */ |
| RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 0x87D, |
| /** |
| * Radio resource control (RRC) connection was aborted before deactivating the LTE stack after a |
| * successful LTE to GSM/EDGE IRAT cell change order procedure. |
| */ |
| RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 0x87E, |
| /** |
| * Radio resource control (RRC) connection was aborted in the middle of a LTE to GSM IRAT cell |
| * change order procedure. |
| */ |
| RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 0x87F, |
| /** |
| * IMSI present in the UE is unknown in the home subscriber server. |
| */ |
| IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 0x880, |
| /** |
| * IMEI of the UE is not accepted by the network. |
| */ |
| IMEI_NOT_ACCEPTED = 0x881, |
| /** |
| * EPS and non-EPS services are not allowed by the network. |
| */ |
| EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 0x882, |
| /** |
| * EPS services are not allowed in the PLMN. |
| */ |
| EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 0x883, |
| /** |
| * Mobile switching center is temporarily unreachable. |
| */ |
| MSC_TEMPORARILY_NOT_REACHABLE = 0x884, |
| /** |
| * CS domain is not available. |
| */ |
| CS_DOMAIN_NOT_AVAILABLE = 0x885, |
| /** |
| * ESM level failure. |
| */ |
| ESM_FAILURE = 0x886, |
| /** |
| * MAC level failure. |
| */ |
| MAC_FAILURE = 0x887, |
| /** |
| * Synchronization failure. |
| */ |
| SYNCHRONIZATION_FAILURE = 0x888, |
| /** |
| * UE security capabilities mismatch. |
| */ |
| UE_SECURITY_CAPABILITIES_MISMATCH = 0x889, |
| /** |
| * Unspecified security mode reject. |
| */ |
| SECURITY_MODE_REJECTED = 0x88A, |
| /** |
| * Unacceptable non-EPS authentication. |
| */ |
| UNACCEPTABLE_NON_EPS_AUTHENTICATION = 0x88B, |
| /** |
| * CS fallback call establishment is not allowed. |
| */ |
| CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 0x88C, |
| /** |
| * No EPS bearer context was activated. |
| */ |
| NO_EPS_BEARER_CONTEXT_ACTIVATED = 0x88D, |
| /** |
| * Invalid EMM state. |
| */ |
| INVALID_EMM_STATE = 0x88E, |
| /** |
| * Non-Access Spectrum layer failure. |
| */ |
| NAS_LAYER_FAILURE = 0x88F, |
| /** |
| * Multiple PDP call feature is disabled. |
| */ |
| MULTIPLE_PDP_CALL_NOT_ALLOWED = 0x890, |
| /** |
| * Data call has been brought down because EMBMS is not enabled at the RRC layer. |
| */ |
| EMBMS_NOT_ENABLED = 0x891, |
| /** |
| * Data call was unsuccessfully transferred during the IRAT handover. |
| */ |
| IRAT_HANDOVER_FAILED = 0x892, |
| /** |
| * EMBMS data call has been successfully brought down. |
| */ |
| EMBMS_REGULAR_DEACTIVATION = 0x893, |
| /** |
| * Test loop-back data call has been successfully brought down. |
| */ |
| TEST_LOOPBACK_REGULAR_DEACTIVATION = 0x894, |
| /** |
| * Lower layer registration failure. |
| */ |
| LOWER_LAYER_REGISTRATION_FAILURE = 0x895, |
| /** |
| * Network initiates a detach on LTE with error cause "data plan has been replenished or has |
| * expired". |
| */ |
| DATA_PLAN_EXPIRED = 0x896, |
| /** |
| * UMTS interface is brought down due to handover from UMTS to iWLAN. |
| */ |
| UMTS_HANDOVER_TO_IWLAN = 0x897, |
| /** |
| * Received a connection deny due to general or network busy on EVDO network. |
| */ |
| EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 0x898, |
| /** |
| * Received a connection deny due to billing or authentication failure on EVDO network. |
| */ |
| EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 0x899, |
| /** |
| * HDR system has been changed due to redirection or the PRL was not preferred. |
| */ |
| EVDO_HDR_CHANGED = 0x89A, |
| /** |
| * Device exited HDR due to redirection or the PRL was not preferred. |
| */ |
| EVDO_HDR_EXITED = 0x89B, |
| /** |
| * Device does not have an HDR session. |
| */ |
| EVDO_HDR_NO_SESSION = 0x89C, |
| /** |
| * It is ending an HDR call origination in favor of a GPS fix. |
| */ |
| EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 0x89D, |
| /** |
| * Connection setup on the HDR system was time out. |
| */ |
| EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 0x89E, |
| /** |
| * Device failed to acquire a co-located HDR for origination. |
| */ |
| FAILED_TO_ACQUIRE_COLOCATED_HDR = 0x89F, |
| /** |
| * OTASP commit is in progress. |
| */ |
| OTASP_COMMIT_IN_PROGRESS = 0x8A0, |
| /** |
| * Device has no hybrid HDR service. |
| */ |
| NO_HYBRID_HDR_SERVICE = 0x8A1, |
| /** |
| * HDR module could not be obtained because of the RF locked. |
| */ |
| HDR_NO_LOCK_GRANTED = 0x8A2, |
| /** |
| * DBM or SMS is in progress. |
| */ |
| DBM_OR_SMS_IN_PROGRESS = 0x8A3, |
| /** |
| * HDR module released the call due to fade. |
| */ |
| HDR_FADE = 0x8A4, |
| /** |
| * HDR system access failure. |
| */ |
| HDR_ACCESS_FAILURE = 0x8A5, |
| /** |
| * P_rev supported by 1 base station is less than 6, which is not supported for a 1X data call. |
| * The UE must be in the footprint of BS which has p_rev >= 6 to support this SO33 call. |
| */ |
| UNSUPPORTED_1X_PREV = 0x8A6, |
| /** |
| * Client ended the data call. |
| */ |
| LOCAL_END = 0x8A7, |
| /** |
| * Device has no service. |
| */ |
| NO_SERVICE = 0x8A8, |
| /** |
| * Device lost the system due to fade. |
| */ |
| FADE = 0x8A9, |
| /** |
| * Receiving a release from the base station with no reason. |
| */ |
| NORMAL_RELEASE = 0x8AA, |
| /** |
| * Access attempt is already in progress. |
| */ |
| ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 0x8AB, |
| /** |
| * Device is in the process of redirecting or handing off to a different target system. |
| */ |
| REDIRECTION_OR_HANDOFF_IN_PROGRESS = 0x8AC, |
| /** |
| * Device is operating in Emergency mode. |
| */ |
| EMERGENCY_MODE = 0x8AD, |
| /** |
| * Device is in use (e.g., voice call). |
| */ |
| PHONE_IN_USE = 0x8AE, |
| /** |
| * Device operational mode is different from the mode requested in the traffic channel bring up. |
| */ |
| INVALID_MODE = 0x8AF, |
| /** |
| * SIM was marked by the network as invalid for the circuit and/or packet service domain. |
| */ |
| INVALID_SIM_STATE = 0x8B0, |
| /** |
| * There is no co-located HDR. |
| */ |
| NO_COLLOCATED_HDR = 0x8B1, |
| /** |
| * UE is entering power save mode. |
| */ |
| UE_IS_ENTERING_POWERSAVE_MODE = 0x8B2, |
| /** |
| * Dual switch from single standby to dual standby is in progress. |
| */ |
| DUAL_SWITCH = 0x8B3, |
| /** |
| * Data call bring up fails in the PPP setup due to a timeout. (e.g., an LCP conf ack was not |
| * received from the network) |
| */ |
| PPP_TIMEOUT = 0x8B4, |
| /** |
| * Data call bring up fails in the PPP setup due to an authorization failure. |
| * (e.g., authorization is required, but not negotiated with the network during an LCP phase) |
| */ |
| PPP_AUTH_FAILURE = 0x8B5, |
| /** |
| * Data call bring up fails in the PPP setup due to an option mismatch. |
| */ |
| PPP_OPTION_MISMATCH = 0x8B6, |
| /** |
| * Data call bring up fails in the PPP setup due to a PAP failure. |
| */ |
| PPP_PAP_FAILURE = 0x8B7, |
| /** |
| * Data call bring up fails in the PPP setup due to a CHAP failure. |
| */ |
| PPP_CHAP_FAILURE = 0x8B8, |
| /** |
| * Data call bring up fails in the PPP setup because the PPP is in the process of cleaning the |
| * previous PPP session. |
| */ |
| PPP_CLOSE_IN_PROGRESS = 0x8B9, |
| /** |
| * IPv6 interface bring up fails because the network provided only the IPv4 address for the |
| * upcoming PDN permanent client can reattempt a IPv6 call bring up after the IPv4 interface is |
| * also brought down. However, there is no guarantee that the network will provide a IPv6 |
| * address. |
| */ |
| LIMITED_TO_IPV4 = 0x8BA, |
| /** |
| * IPv4 interface bring up fails because the network provided only the IPv6 address for the |
| * upcoming PDN permanent client can reattempt a IPv4 call bring up after the IPv6 interface is |
| * also brought down. However there is no guarantee that the network will provide a IPv4 |
| * address. |
| */ |
| LIMITED_TO_IPV6 = 0x8BB, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a VSNCP timeout error. |
| */ |
| VSNCP_TIMEOUT = 0x8BC, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a general error. It's used when there is |
| * no other specific error code available to report the failure. |
| */ |
| VSNCP_GEN_ERROR = 0x8BD, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request because the requested APN is unauthorized. |
| */ |
| VSNCP_APN_UNATHORIZED = 0x8BE, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request because the PDN limit has been exceeded. |
| */ |
| VSNCP_PDN_LIMIT_EXCEEDED = 0x8BF, |
| /** |
| * Data call bring up fails in the VSNCP phase due to the network rejected the VSNCP |
| * configuration request due to no PDN gateway address. |
| */ |
| VSNCP_NO_PDN_GATEWAY_ADDRESS = 0x8C0, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request because the PDN gateway is unreachable. |
| */ |
| VSNCP_PDN_GATEWAY_UNREACHABLE = 0x8C1, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request due to a PDN gateway reject. |
| */ |
| VSNCP_PDN_GATEWAY_REJECT = 0x8C2, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request with the reason of insufficient parameter. |
| */ |
| VSNCP_INSUFFICIENT_PARAMETERS = 0x8C3, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request with the reason of resource unavailable. |
| */ |
| VSNCP_RESOURCE_UNAVAILABLE = 0x8C4, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request with the reason of administratively prohibited at the HSGW. |
| */ |
| VSNCP_ADMINISTRATIVELY_PROHIBITED = 0x8C5, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of PDN ID in use, or |
| * all existing PDNs are brought down with this end reason because one of the PDN bring up was |
| * rejected by the network with the reason of PDN ID in use. |
| */ |
| VSNCP_PDN_ID_IN_USE = 0x8C6, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request for the reason of subscriber limitation. |
| */ |
| VSNCP_SUBSCRIBER_LIMITATION = 0x8C7, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request because the PDN exists for this APN. |
| */ |
| VSNCP_PDN_EXISTS_FOR_THIS_APN = 0x8C8, |
| /** |
| * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP |
| * configuration request with reconnect to this PDN not allowed, or an active data call is |
| * terminated by the network because reconnection to this PDN is not allowed. Upon receiving |
| * this error code from the network, the modem infinitely throttles the PDN until the next power |
| * cycle. |
| */ |
| VSNCP_RECONNECT_NOT_ALLOWED = 0x8C9, |
| /** |
| * Device failure to obtain the prefix from the network. |
| */ |
| IPV6_PREFIX_UNAVAILABLE = 0x8CA, |
| /** |
| * System preference change back to SRAT during handoff |
| */ |
| HANDOFF_PREFERENCE_CHANGED = 0x8CB, |
| }; |
| |
| /** |
| * Data connection active status |
| */ |
| enum DataConnActiveStatus : int32_t { |
| /** |
| * Indicates the data connection is inactive. |
| */ |
| INACTIVE = 0, |
| /** |
| * Indicates the data connection is active with physical link dormant. |
| */ |
| DORMANT = 1, |
| /** |
| * Indicates the data connection is active with physical link up. |
| */ |
| ACTIVE = 2, |
| }; |
| |
| /** |
| * Specifies the type of packet data protocol which is defined in TS 27.007 section 10.1.1. |
| */ |
| enum PdpProtocolType : int32_t { |
| /** |
| * Unknown protocol |
| */ |
| UNKNOWN = -1, |
| /** |
| * Internet protocol |
| */ |
| IP = 0, |
| /** |
| * Internet protocol, version 6 |
| */ |
| IPV6 = 1, |
| /** |
| * Virtual PDP type introduced to handle dual IP stack UE capability. |
| */ |
| IPV4V6 = 2, |
| /** |
| * Point to point protocol |
| */ |
| PPP = 3, |
| /** |
| * Transfer of Non-IP data to external packet data network |
| */ |
| NON_IP = 4, |
| /** |
| * Transfer of Unstructured data to the Data Network via N6 |
| */ |
| UNSTRUCTURED = 5, |
| }; |
| |
| safe_union RadioFrequencyInfo { |
| /** A rough frequency range. */ |
| FrequencyRange range; |
| |
| /** The Absolute Radio Frequency Channel Number. */ |
| int32_t channelNumber; |
| }; |
| |
| struct PhysicalChannelConfig { |
| @1.2::PhysicalChannelConfig base; |
| |
| /** The radio technology for this physical channel. */ |
| RadioTechnology rat; |
| |
| /** The radio frequency info. */ |
| RadioFrequencyInfo rfInfo; |
| |
| /** |
| * A list of data calls mapped to this physical channel. The context id must match the cid of |
| * @1.4::SetupDataCallResult. An empty list means the physical channel has no data call mapped |
| * to it. |
| */ |
| vec<int32_t> contextIds; |
| |
| /** |
| * The physical cell identifier for this cell. |
| * |
| * In UTRAN, this value is primary scrambling code. The range is [0, 511]. |
| * Reference: 3GPP TS 25.213 section 5.2.2. |
| * |
| * In EUTRAN, this value is physical layer cell identity. The range is [0, 503]. |
| * Reference: 3GPP TS 36.211 section 6.11. |
| * |
| * In 5G RAN, this value is physical layer cell identity. The range is [0, 1008]. |
| * Reference: 3GPP TS 38.211 section 7.4.2.1. |
| */ |
| uint32_t physicalCellId; |
| }; |
| |
| /** |
| * Type to define the LTE specific network capabilities for voice over PS including |
| * emergency and normal voice calls. |
| */ |
| struct LteVopsInfo { |
| /** |
| * This indicates if camped network support VoLTE services. This information is received |
| * from LTE network during LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU |
| * ACCEPT. Refer 3GPP 24.301 EPS network feature support -> IMS VoPS |
| */ |
| bool isVopsSupported; |
| /** |
| * This indicates if camped network support VoLTE emergency bearers. This information |
| * is received from LTE network through two sources: |
| * a. During LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT. Refer |
| * 3GPP 24.301 EPS network feature support -> EMC BS |
| * b. In case device is not registered on network. Refer 3GPP 25.331 LTE RRC |
| * SIB1 : ims-EmergencySupport-r9 |
| * If device is registered on LTE, then this field indicates (a). |
| * In case of limited service on LTE this field indicates (b). |
| */ |
| bool isEmcBearerSupported; |
| }; |
| |
| /** The parameters of NR 5G Non-Standalone. */ |
| struct NrIndicators { |
| /** |
| * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the primary serving |
| * cell. |
| * |
| * True the primary serving cell is LTE cell and the plmn-InfoList-r15 is present in SIB2 and |
| * at least one bit in this list is true, otherwise this value should be false. |
| * |
| * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks. |
| */ |
| bool isEndcAvailable; |
| |
| /** |
| * True if use of dual connectivity with NR is restricted. |
| * Reference: 3GPP TS 24.301 v15.03 section 9.3.3.12A. |
| */ |
| bool isDcNrRestricted; |
| |
| /** |
| * True if the bit N is in the PLMN-InfoList-r15 is true and the selected PLMN is present in |
| * plmn-IdentityList at position N. |
| * Reference: 3GPP TS 36.331 v15.2.2 section 6.3.1 PLMN-InfoList-r15. |
| * 3GPP TS 36.331 v15.2.2 section 6.2.2 SystemInformationBlockType1 message. |
| */ |
| bool isNrAvailable; |
| }; |
| |
| struct DataRegStateResult { |
| @1.2::DataRegStateResult base; |
| |
| /** |
| * Network capabilities for voice over PS services. This info is valid only on LTE network and |
| * must be present when device is camped on LTE. vopsInfo must be empty when device is camped |
| * only on 2G/3G. |
| */ |
| safe_union VopsInfo { |
| Monostate noinit; |
| |
| LteVopsInfo lteVopsInfo; // LTE network capability |
| } vopsInfo; |
| |
| /** |
| * The parameters of NR 5G Non-Standalone. This value is only valid on E-UTRAN, otherwise |
| * must be empty. |
| */ |
| NrIndicators nrIndicators; |
| }; |
| |
| /** Contains the configuration of the LTE cell tower. */ |
| struct CellConfigLte { |
| /** |
| * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the LTE cell. |
| * |
| * True if the plmn-InfoList-r15 is present in SIB2 and at least one bit in this list is true, |
| * otherwise this value should be false. |
| * |
| * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks. |
| */ |
| bool isEndcAvailable; |
| }; |
| |
| /** Inherits from @1.2::CellInfoLte, in order to add the LTE configuration. */ |
| struct CellInfoLte { |
| @1.2::CellInfoLte base; |
| CellConfigLte cellConfig; |
| }; |
| |
| /** Overwritten from @1.2::CellInfo in order to update the CellInfoLte to 1.4 version. */ |
| struct CellInfo { |
| /** |
| * True if the phone is registered to a mobile network that provides service on this cell and |
| * this cell is being used or would be used for network signaling. |
| */ |
| bool isRegistered; |
| |
| /** Connection status for the cell. */ |
| CellConnectionStatus connectionStatus; |
| |
| /** CellInfo details, cellInfoType can tell which cell info should be used. */ |
| safe_union Info { |
| CellInfoGsm gsm; |
| CellInfoCdma cdma; |
| CellInfoWcdma wcdma; |
| CellInfoTdscdma tdscdma; |
| CellInfoLte lte; |
| CellInfoNr nr; |
| } info; |
| }; |
| |
| struct CellInfoNr { |
| NrSignalStrength signalStrength; |
| CellIdentityNr cellidentity; |
| }; |
| |
| /** Overwritten from @1.2::NetworkScanResult in order to update the CellInfo to 1.4 version. */ |
| struct NetworkScanResult { |
| /** |
| * The status of the scan. |
| */ |
| ScanStatus status; |
| |
| /** |
| * The error code of the incremental result. |
| */ |
| RadioError error; |
| |
| /** |
| * List of network information as CellInfo. |
| */ |
| vec<CellInfo> networkInfos; |
| }; |
| |
| /** |
| * Overwritten from @1.0::DataProfileInfo in order to deprecate 'mvnoType', and 'mvnoMatchData'. |
| * In the future, this must be extended instead of overwritten. |
| * Also added 'preferred' and 'persistent' in this version. |
| */ |
| struct DataProfileInfo { |
| /** id of the data profile */ |
| DataProfileId profileId; |
| |
| /** The APN name */ |
| string apn; |
| |
| /** PDP_type values */ |
| PdpProtocolType protocol; |
| |
| /** PDP_type values used on roaming network */ |
| PdpProtocolType roamingProtocol; |
| |
| /** APN authentication type */ |
| ApnAuthType authType; |
| |
| /** The username for APN, or empty string */ |
| string user; |
| |
| /** The password for APN, or empty string */ |
| string password; |
| |
| /** Data profile technology type */ |
| DataProfileInfoType type; |
| |
| /** The period in seconds to limit the maximum connections */ |
| int32_t maxConnsTime; |
| |
| /** The maximum connections during maxConnsTime */ |
| int32_t maxConns; |
| |
| /** |
| * The required wait time in seconds after a successful UE initiated disconnect of a given PDN |
| * connection before the device can send a new PDN connection request for that given PDN. |
| */ |
| int32_t waitTime; |
| |
| /** True to enable the profile, false to disable */ |
| bool enabled; |
| |
| /** Supported APN types bitmap. See ApnTypes for the value of each bit. */ |
| bitfield<ApnTypes> supportedApnTypesBitmap; |
| |
| /** The bearer bitmap. See RadioAccessFamily for the value of each bit. */ |
| bitfield<RadioAccessFamily> bearerBitmap; |
| |
| /** Maximum transmission unit (MTU) size in bytes */ |
| int32_t mtu; |
| |
| /** |
| * True if this data profile was used to bring up the last default (i.e internet) data |
| * connection successfully. |
| */ |
| bool preferred; |
| |
| /** |
| * If true, modem must persist this data profile and profileId must not be |
| * set to DataProfileId.INVALID. If the same data profile exists, this data profile must |
| * overwrite it. |
| */ |
| bool persistent; |
| }; |
| |
| struct CardStatus { |
| @1.2::CardStatus base; |
| /** |
| * The EID is the eUICC identifier. The EID shall be stored within the ECASD and can be |
| * retrieved by the Device at any time using the standard GlobalPlatform GET DATA command. |
| * |
| * This data is mandatory and applicable only when cardState is CardState:PRESENT and SIM card |
| * supports eUICC. |
| */ |
| string eid; |
| }; |
| |
| /** Overwritten from @1.0::RadioCapability in order to use the latest RadioAccessFamily. */ |
| struct RadioCapability { |
| /** Unique session value defined by fr amework returned in all "responses/unslo". */ |
| int32_t session; |
| |
| RadioCapabilityPhase phase; |
| |
| /** 32-bit bitmap of RadioAccessFamily. */ |
| bitfield<RadioAccessFamily> raf; |
| |
| /** |
| * A UUID typically "com.xxxx.lmX" where X is the logical modem. |
| * RadioConst:MAX_UUID_LENGTH is the max length. |
| */ |
| string logicalModemUuid; |
| |
| RadioCapabilityStatus status; |
| }; |
| |
| /** |
| * Overwritten from @1.0::SetupDataCallResult in order to update the DataCallFailCause to 1.4 |
| * version. |
| */ |
| struct SetupDataCallResult { |
| /** Data call fail cause. DataCallFailCause.NONE if no error. */ |
| DataCallFailCause cause; |
| |
| /** |
| * If status != DataCallFailCause.NONE, this field indicates the suggested retry back-off timer |
| * value RIL wants to override the one pre-configured in FW. The unit is milliseconds. |
| * The value < 0 means no value is suggested. |
| * The value 0 means retry must be done ASAP. |
| * The value of INT_MAX(0x7fffffff) means no retry. |
| */ |
| int32_t suggestedRetryTime; |
| |
| /** Context ID, uniquely identifies this call. */ |
| int32_t cid; |
| |
| /** Data connection active status. */ |
| DataConnActiveStatus active; |
| |
| /** |
| * PDP_type values. If cause is DataCallFailCause.ONLY_SINGLE_BEARER_ALLOWED, this is the type |
| * supported such as "IP" or "IPV6". |
| */ |
| PdpProtocolType type; |
| |
| /** The network interface name. */ |
| string ifname; |
| |
| /** |
| * List of addresses with optional "/" prefix length, e.g., "192.0.1.3" or |
| * "192.0.1.11/16 2001:db8::1/64". Typically one IPv4 or one IPv6 or one of each. If the |
| * prefix length is absent the addresses are assumed to be point to point with IPv4 having a |
| * prefix length of 32 and IPv6 128. |
| */ |
| vec<string> addresses; |
| |
| /** |
| * List of DNS server addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1". Empty if no dns |
| * server addresses returned. |
| */ |
| vec<string> dnses; |
| |
| /** |
| * List of default gateway addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1". |
| * When empty, the addresses represent point to point connections. |
| */ |
| vec<string> gateways; |
| |
| /** |
| * List of P-CSCF(Proxy Call State Control Function) addresses via PCO(Protocol Configuration |
| * Option), e.g., "2001:db8::1 2001:db8::2 2001:db8::3". Empty if not IMS client. |
| */ |
| vec<string> pcscf; |
| |
| /** |
| * MTU received from network. Value <= 0 means network has either not sent a value or sent an |
| * invalid value. |
| */ |
| int32_t mtu; |
| }; |
| |
| enum SimLockMultiSimPolicy : int32_t { |
| /** |
| * Indicates that configuration applies to each slot independently. |
| */ |
| NO_MULTISIM_POLICY = 0, |
| /** |
| * Indicates that any SIM card can be used as far as one valid card is present in the device. |
| * For the modem, a SIM card is valid when its content (i.e. MCC, MNC, GID, SPN) matches the |
| * carrier restriction configuration. |
| */ |
| ONE_VALID_SIM_MUST_BE_PRESENT = 1, |
| }; |
| |
| struct CarrierRestrictionsWithPriority { |
| /** |
| * List of allowed carriers. |
| * The character '?' is used as wildcard character to match any value. |
| */ |
| vec<Carrier> allowedCarriers; |
| /** |
| * List of excluded carriers. |
| * The character '?' is used as wildcard character to match any value. |
| */ |
| vec<Carrier> excludedCarriers; |
| /** |
| * True means that only carriers included in the allowed list and not in the excluded list |
| * are permitted. Eg. allowedCarriers match mcc/mnc, excludedCarriers has same mcc/mnc and |
| * gid1 is ABCD. It means except the carrier whose gid1 is ABCD, all carriers with the |
| * same mcc/mnc are allowed. |
| * False means that all carriers are allowed except those included in the excluded list |
| * and not in the allowed list. |
| */ |
| bool allowedCarriersPrioritized; |
| }; |
| |
| struct CellIdentityNr { |
| /** 3-digit Mobile Country Code, in range[0, 999]; This value must be valid for registered or |
| * camped cells; INT_MAX means invalid/unreported. |
| */ |
| string mcc; |
| |
| /** |
| * 2 or 3-digit Mobile Network Code, in range [0, 999], This value must be valid for |
| * registered or camped cells; INT_MAX means invalid/unreported. |
| */ |
| string mnc; |
| |
| /** |
| * NR Cell Identity in range [0, 68719476735] (36 bits) described in 3GPP TS 38.331, which |
| * unambiguously identifies a cell within a PLMN. This value must be valid for registered or |
| * camped cells; LONG_MAX (2^63-1) means invalid/unreported. |
| */ |
| uint64_t nci; |
| |
| /** |
| * Physical cell id in range [0, 1007] described in 3GPP TS 38.331. This value must be valid. |
| */ |
| uint32_t pci; |
| |
| /** 16-bit tracking area code, INT_MAX means invalid/unreported. */ |
| int32_t tac; |
| |
| /** |
| * NR Absolute Radio Frequency Channel Number, in range [0, 3279165]. |
| * Reference: 3GPP TS 38.101-1 and 3GPP TS 38.101-2 section 5.4.2.1. |
| * This value must be valid. |
| */ |
| int32_t nrarfcn; |
| |
| CellIdentityOperatorNames operatorNames; |
| }; |
| |
| struct NrSignalStrength { |
| /** |
| * SS reference signal received power, multipled by -1. |
| * |
| * Reference: 3GPP TS 38.215. |
| * |
| * Range [44, 140], INT_MAX means invalid/unreported. |
| */ |
| int32_t ssRsrp; |
| |
| /** |
| * SS reference signal received quality, multipled by -1. |
| * |
| * Reference: 3GPP TS 38.215, 3GPP TS 38.133 section 10. |
| * |
| * Range [-20 dB, 43 dB], INT_MAX means invalid/unreported. |
| */ |
| int32_t ssRsrq; |
| |
| /** |
| * SS signal-to-noise and interference ratio. |
| * |
| * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1. |
| * |
| * Range [-23, 40], INT_MAX means invalid/unreported. |
| */ |
| int32_t ssSinr; |
| |
| /** |
| * CSI reference signal received power, multipled by -1. |
| * |
| * Reference: 3GPP TS 38.215. |
| * |
| * Range [44, 140], INT_MAX means invalid/unreported. |
| */ |
| int32_t csiRsrp; |
| |
| /** |
| * CSI reference signal received quality, multipled by -1. |
| * |
| * Reference: 3GPP TS 38.215. |
| * |
| * Range [3, 20], INT_MAX means invalid/unreported. |
| */ |
| int32_t csiRsrq; |
| |
| /** |
| * CSI signal-to-noise and interference ratio. |
| * |
| * Reference: 3GPP TS 138.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1. |
| * |
| * Range [-23, 40], INT_MAX means invalid/unreported. |
| */ |
| int32_t csiSinr; |
| }; |
| |
| /** Overwritten from @1.2::SignalStrength in order to add signal strength for NR. */ |
| struct SignalStrength { |
| /** |
| * If GSM measurements are provided, this structure must contain valid measurements; otherwise |
| * all fields should be set to INT_MAX to mark them as invalid. |
| */ |
| GsmSignalStrength gsm; |
| |
| /** |
| * If CDMA measurements are provided, this structure must contain valid measurements; otherwise |
| * all fields should be set to INT_MAX to mark them as invalid. |
| */ |
| CdmaSignalStrength cdma; |
| |
| /** |
| * If EvDO measurements are provided, this structure must contain valid measurements; otherwise |
| * all fields should be set to INT_MAX to mark them as invalid. |
| */ |
| EvdoSignalStrength evdo; |
| |
| /** |
| * If LTE measurements are provided, this structure must contain valid measurements; otherwise |
| * all fields should be set to INT_MAX to mark them as invalid. |
| */ |
| LteSignalStrength lte; |
| |
| /** |
| * If TD-SCDMA measurements are provided, this structure must contain valid measurements; |
| * otherwise all fields should be set to INT_MAX to mark them as invalid. |
| */ |
| TdscdmaSignalStrength tdscdma; |
| |
| /** |
| * If WCDMA measurements are provided, this structure must contain valid measurements; otherwise |
| * all fields should be set to INT_MAX to mark them as invalid. |
| */ |
| WcdmaSignalStrength wcdma; |
| |
| /** |
| * If NR 5G measurements are provided, this structure must contain valid measurements; otherwise |
| * all fields should be set to INT_MAX to mark them as invalid. |
| */ |
| NrSignalStrength nr; |
| }; |