/* * Copyright (C) 2023 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. */ syntax = "proto2"; package android.telephony; option java_outer_classname = "SatelliteProtoEnums"; option java_multiple_files = true; // Feature types of satellite datagram enum DatagramType { // Datagram type is unknown. This generic datagram type should be used only when the datagram // type cannot be mapped to other specific datagram types DATAGRAM_TYPE_UNKNOWN = 0; // Datagram type indicating that the datagram to be sent or received is of type SOS message. DATAGRAM_TYPE_SOS_MESSAGE = 1; // Datagram type indicating that the datagram to be sent or received is of type location sharing. DATAGRAM_TYPE_LOCATION_SHARING = 2; // Datagram type indicating that keep the device in satellite connected state or check if there is // any incoming message. DATAGRAM_TYPE_KEEP_ALIVE = 3; } // Result code of Incoming / Outgoing satellite datagram // SatelliteServiceResultEnum is not completed yet, it'll be updated once design is fixed enum SatelliteError { SATELLITE_ERROR_NONE = 0; SATELLITE_ERROR = 1; SATELLITE_SERVER_ERROR = 2; SATELLITE_SERVICE_ERROR = 3; SATELLITE_MODEM_ERROR = 4; SATELLITE_NETWORK_ERROR = 5; SATELLITE_INVALID_TELEPHONY_STATE = 6; SATELLITE_INVALID_MODEM_STATE = 7; SATELLITE_INVALID_ARGUMENTS = 8; SATELLITE_REQUEST_FAILED = 9; SATELLITE_RADIO_NOT_AVAILABLE = 10; SATELLITE_REQUEST_NOT_SUPPORTED = 11; SATELLITE_NO_RESOURCES = 12; SATELLITE_SERVICE_NOT_PROVISIONED = 13; SATELLITE_SERVICE_PROVISION_IN_PROGRESS = 14; SATELLITE_REQUEST_ABORTED = 15; SATELLITE_ACCESS_BARRED = 16; SATELLITE_NETWORK_TIMEOUT = 17; SATELLITE_NOT_REACHABLE = 18; SATELLITE_NOT_AUTHORIZED = 19; SATELLITE_NOT_SUPPORTED = 20; } // Technology of Satellite Communication enum NTRadioTechnology { /* Satellite technology unknown */ NT_RADIO_TECHNOLOGY_UNKNOWN = 0; /* 3GPP NB-IoT (Narrowband Internet of Things) over Non-Terrestrial-Networks technology */ NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1; /* 3GPP 5G NR over Non-Terrestrial-Networks technology */ NT_RADIO_TECHNOLOGY_NR_NTN = 2; /* 3GPP eMTC (enhanced Machine-Type Communication) over Non-Terrestrial-Networks technology */ NT_RADIO_TECHNOLOGY_EMTC_NTN = 3; /* Proprietary technology like Iridium or Bullitt */ NT_RADIO_TECHNOLOGY_PROPRIETARY = 4; } // Handover type from emergency call to satellite messaging enum RecommendingHandoverType { RECOMMENDING_HANDOVER_TYPE_UNKNOWN = 0; RECOMMENDING_HANDOVER_TYPE_SOS = 1; RECOMMENDING_HANDOVER_TYPE_T911 = 2; } // Data source of carrier roaming satellite network enum ConfigDataSource { CONFIG_DATA_SOURCE_UNKNOWN = 0; CONFIG_DATA_SOURCE_ENTITLEMENT = 1; CONFIG_DATA_SOURCE_CONFIG_UPDATER = 2; CONFIG_DATA_SOURCE_CARRIER_CONFIG = 3; CONFIG_DATA_SOURCE_DEVICE_CONFIG = 4; } // Satellite entitlement status of the subscription enum SatelliteEntitlementStatus { // Satellite entitlement status unknown SATELLITE_ENTITLEMENT_STATUS_UNKNOWN = 0; // SatMode allowed, but not yet provisioned and activated on the network. SATELLITE_ENTITLEMENT_STATUS_DISABLED = 1; // SatMode service allowed, provisioned and activated on the network. User can access the // satellite service. SATELLITE_ENTITLEMENT_STATUS_ENABLED = 2; // SatMode cannot be offered for network or device. SATELLITE_ENTITLEMENT_STATUS_INCOMPATIBLE = 3; // SatMode is being provisioned on the network. Not yet activated. SATELLITE_ENTITLEMENT_STATUS_PROVISIONING = 4; } // Config update result codes. enum ConfigUpdateResult { CONFIG_UPDATE_RESULT_UNKNOWN = 0; CONFIG_UPDATE_RESULT_SUCCESS = 1; CONFIG_UPDATE_RESULT_INVALID_DOMAIN = 2; CONFIG_UPDATE_RESULT_INVALID_VERSION = 3; CONFIG_UPDATE_RESULT_NO_DATA = 4; CONFIG_UPDATE_RESULT_NO_SATELLITE_DATA = 5; CONFIG_UPDATE_RESULT_PARSE_ERROR = 6; CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_PLMN = 7; CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_SUPPORTED_SERVICES = 8; CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_COUNTRY_CODE = 9; CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_S2_CELL_FILE = 10; CONFIG_UPDATE_RESULT_IO_ERROR = 11; } // Satellite access control type enum AccessControlType { ACCESS_CONTROL_TYPE_UNKNOWN = 0; // Network country code is used for satellite access decision ACCESS_CONTROL_TYPE_NETWORK_COUNTRY_CODE = 1; // Device's current location is used for satellite access decision ACCESS_CONTROL_TYPE_CURRENT_LOCATION = 2; // Device's last known location is used for satellite access decision ACCESS_CONTROL_TYPE_LAST_KNOWN_LOCATION = 3; // Cached country codes are used for satellite access decision ACCESS_CONTROL_TYPE_CACHED_COUNTRY_CODE = 4; }