/* * 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; // Datagram type indicating that the datagram to be sent or received is of type SOS message and // is the last message to emergency service provider indicating still needs help. DATAGRAM_TYPE_LAST_SOS_MESSAGE_STILL_NEED_HELP = 4; // Datagram type indicating that the datagram to be sent or received is of type SOS message and // is the last message to emergency service provider indicating no more help is needed. DATAGRAM_TYPE_LAST_SOS_MESSAGE_NO_HELP_NEEDED = 5; // Datagram type indicating that the message to be sent or received is of type SMS. DATAGRAM_TYPE_SMS = 6; } // Result code of Incoming / Outgoing satellite datagram // SatelliteServiceResultEnum is not completed yet, it'll be updated once design is fixed enum SatelliteError { SATELLITE_RESULT_SUCCESS = 0; SATELLITE_RESULT_ERROR = 1; SATELLITE_RESULT_SERVER_ERROR = 2; SATELLITE_RESULT_SERVICE_ERROR = 3; SATELLITE_RESULT_MODEM_ERROR = 4; SATELLITE_RESULT_NETWORK_ERROR = 5; SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6; SATELLITE_RESULT_INVALID_MODEM_STATE = 7; SATELLITE_RESULT_INVALID_ARGUMENTS = 8; SATELLITE_RESULT_REQUEST_FAILED = 9; SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10; SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11; SATELLITE_RESULT_NO_RESOURCES = 12; SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13; SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14; SATELLITE_RESULT_REQUEST_ABORTED = 15; SATELLITE_RESULT_ACCESS_BARRED = 16; SATELLITE_RESULT_NETWORK_TIMEOUT = 17; SATELLITE_RESULT_NOT_REACHABLE = 18; SATELLITE_RESULT_NOT_AUTHORIZED = 19; SATELLITE_RESULT_NOT_SUPPORTED = 20; SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21; SATELLITE_RESULT_MODEM_BUSY = 22; SATELLITE_RESULT_ILLEGAL_STATE = 23; SATELLITE_RESULT_MODEM_TIMEOUT = 24; SATELLITE_RESULT_LOCATION_DISABLED = 25; SATELLITE_RESULT_LOCATION_NOT_AVAILABLE = 26; SATELLITE_RESULT_EMERGENCY_CALL_IN_PROGRESS = 27; } // 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; } // Satellite access controller triggering event enum TriggeringEvent { // Unknown reason. TRIGGERING_EVENT_UNKNOWN = 0; // Satellite Access Controller has been triggered by an external event. TRIGGERING_EVENT_EXTERNAL_REQUEST = 1; // Satellite Access Controller has been triggered by an MCC change event. TRIGGERING_EVENT_MCC_CHANGED = 2; //Satellite Access Controller has been triggered due to the location setting being enabled TRIGGERING_EVENT_LOCATION_SETTINGS_ENABLED = 3; // Satellite Access Controller has been triggered due to the location setting being disabled. TRIGGERING_EVENT_LOCATION_SETTINGS_DISABLED = 4; // Satellite Access Controller has been triggered due to the config data updated. TRIGGERING_EVENT_CONFIG_DATA_UPDATED = 5; } enum SatelliteEntitlementServicePolicy { // Satellite service policy entitlement status is Unknown SATELLITE_ENTITLEMENT_SERVICE_POLICY_UNKNOWN = 0; // Satellite service policy entitlement status is restricted SATELLITE_ENTITLEMENT_SERVICE_POLICY_RESTRICTED = 1; // Satellite service policy entitlement is constrained SATELLITE_ENTITLEMENT_SERVICE_POLICY_CONSTRAINED = 2; // Satellite service policy entitlement is unconstrained SATELLITE_ENTITLEMENT_SERVICE_POLICY_SUPPORT_ALL = 3; }