xref: /aosp_15_r20/frameworks/proto_logging/stats/enums/telephony/satellite/enums.proto (revision 64c55175f22a2714b5ba1250098ad9bbc12ec7cd)
1/*
2 * Copyright (C) 2023 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18package android.telephony;
19
20option java_outer_classname = "SatelliteProtoEnums";
21option java_multiple_files = true;
22
23// Feature types of satellite datagram
24enum DatagramType {
25  // Datagram type is unknown. This generic datagram type should be used only when the datagram
26  // type cannot be mapped to other specific datagram types
27  DATAGRAM_TYPE_UNKNOWN = 0;
28  // Datagram type indicating that the datagram to be sent or received is of type SOS message.
29  DATAGRAM_TYPE_SOS_MESSAGE = 1;
30  // Datagram type indicating that the datagram to be sent or received is of type  location sharing.
31  DATAGRAM_TYPE_LOCATION_SHARING = 2;
32  // Datagram type indicating that keep the device in satellite connected state or check if there is
33  // any incoming message.
34  DATAGRAM_TYPE_KEEP_ALIVE = 3;
35  // Datagram type indicating that the datagram to be sent or received is of type SOS message and
36  // is the last message to emergency service provider indicating still needs help.
37  DATAGRAM_TYPE_LAST_SOS_MESSAGE_STILL_NEED_HELP = 4;
38  // Datagram type indicating that the datagram to be sent or received is of type SOS message and
39  // is the last message to emergency service provider indicating no more help is needed.
40  DATAGRAM_TYPE_LAST_SOS_MESSAGE_NO_HELP_NEEDED = 5;
41  // Datagram type indicating that the message to be sent or received is of type SMS.
42  DATAGRAM_TYPE_SMS = 6;
43}
44
45// Result code of Incoming / Outgoing satellite datagram
46// SatelliteServiceResultEnum is not completed yet, it'll be updated once design is fixed
47enum SatelliteError {
48  SATELLITE_RESULT_SUCCESS = 0;
49  SATELLITE_RESULT_ERROR = 1;
50  SATELLITE_RESULT_SERVER_ERROR = 2;
51  SATELLITE_RESULT_SERVICE_ERROR = 3;
52  SATELLITE_RESULT_MODEM_ERROR = 4;
53  SATELLITE_RESULT_NETWORK_ERROR = 5;
54  SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6;
55  SATELLITE_RESULT_INVALID_MODEM_STATE = 7;
56  SATELLITE_RESULT_INVALID_ARGUMENTS = 8;
57  SATELLITE_RESULT_REQUEST_FAILED = 9;
58  SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10;
59  SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11;
60  SATELLITE_RESULT_NO_RESOURCES = 12;
61  SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13;
62  SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14;
63  SATELLITE_RESULT_REQUEST_ABORTED = 15;
64  SATELLITE_RESULT_ACCESS_BARRED = 16;
65  SATELLITE_RESULT_NETWORK_TIMEOUT = 17;
66  SATELLITE_RESULT_NOT_REACHABLE = 18;
67  SATELLITE_RESULT_NOT_AUTHORIZED = 19;
68  SATELLITE_RESULT_NOT_SUPPORTED = 20;
69  SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21;
70  SATELLITE_RESULT_MODEM_BUSY = 22;
71  SATELLITE_RESULT_ILLEGAL_STATE = 23;
72  SATELLITE_RESULT_MODEM_TIMEOUT = 24;
73  SATELLITE_RESULT_LOCATION_DISABLED = 25;
74  SATELLITE_RESULT_LOCATION_NOT_AVAILABLE = 26;
75  SATELLITE_RESULT_EMERGENCY_CALL_IN_PROGRESS = 27;
76}
77
78// Technology of Satellite Communication
79enum NTRadioTechnology {
80  /* Satellite technology unknown */
81  NT_RADIO_TECHNOLOGY_UNKNOWN = 0;
82  /* 3GPP NB-IoT (Narrowband Internet of Things) over Non-Terrestrial-Networks technology */
83  NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1;
84  /* 3GPP 5G NR over Non-Terrestrial-Networks technology */
85  NT_RADIO_TECHNOLOGY_NR_NTN = 2;
86  /* 3GPP eMTC (enhanced Machine-Type Communication) over Non-Terrestrial-Networks technology */
87  NT_RADIO_TECHNOLOGY_EMTC_NTN = 3;
88  /* Proprietary technology like Iridium or Bullitt */
89  NT_RADIO_TECHNOLOGY_PROPRIETARY = 4;
90}
91
92// Handover type from emergency call to satellite messaging
93enum RecommendingHandoverType {
94  RECOMMENDING_HANDOVER_TYPE_UNKNOWN = 0;
95  RECOMMENDING_HANDOVER_TYPE_SOS = 1;
96  RECOMMENDING_HANDOVER_TYPE_T911 = 2;
97}
98
99// Data source of carrier roaming satellite network
100enum ConfigDataSource {
101  CONFIG_DATA_SOURCE_UNKNOWN = 0;
102  CONFIG_DATA_SOURCE_ENTITLEMENT = 1;
103  CONFIG_DATA_SOURCE_CONFIG_UPDATER = 2;
104  CONFIG_DATA_SOURCE_CARRIER_CONFIG = 3;
105  CONFIG_DATA_SOURCE_DEVICE_CONFIG = 4;
106}
107
108// Satellite entitlement status of the subscription
109enum SatelliteEntitlementStatus {
110  // Satellite entitlement status unknown
111  SATELLITE_ENTITLEMENT_STATUS_UNKNOWN = 0;
112  // SatMode allowed, but not yet provisioned and activated on the network.
113  SATELLITE_ENTITLEMENT_STATUS_DISABLED = 1;
114  // SatMode service allowed, provisioned and activated on the network. User can access the
115  // satellite service.
116  SATELLITE_ENTITLEMENT_STATUS_ENABLED = 2;
117  // SatMode cannot be offered for network or device.
118  SATELLITE_ENTITLEMENT_STATUS_INCOMPATIBLE = 3;
119  // SatMode is being provisioned on the network. Not yet activated.
120  SATELLITE_ENTITLEMENT_STATUS_PROVISIONING = 4;
121}
122
123// Config update result codes.
124enum ConfigUpdateResult {
125  CONFIG_UPDATE_RESULT_UNKNOWN = 0;
126  CONFIG_UPDATE_RESULT_SUCCESS = 1;
127  CONFIG_UPDATE_RESULT_INVALID_DOMAIN = 2;
128  CONFIG_UPDATE_RESULT_INVALID_VERSION = 3;
129  CONFIG_UPDATE_RESULT_NO_DATA = 4;
130  CONFIG_UPDATE_RESULT_NO_SATELLITE_DATA = 5;
131  CONFIG_UPDATE_RESULT_PARSE_ERROR = 6;
132  CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_PLMN = 7;
133  CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_SUPPORTED_SERVICES = 8;
134  CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_COUNTRY_CODE = 9;
135  CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_S2_CELL_FILE = 10;
136  CONFIG_UPDATE_RESULT_IO_ERROR = 11;
137}
138
139// Satellite access control type
140enum AccessControlType {
141  ACCESS_CONTROL_TYPE_UNKNOWN = 0;
142  // Network country code is used for satellite access decision
143  ACCESS_CONTROL_TYPE_NETWORK_COUNTRY_CODE = 1;
144  // Device's current location is used for satellite access decision
145  ACCESS_CONTROL_TYPE_CURRENT_LOCATION = 2;
146  // Device's last known location is used for satellite access decision
147  ACCESS_CONTROL_TYPE_LAST_KNOWN_LOCATION = 3;
148  // Cached country codes are used for satellite access decision
149  ACCESS_CONTROL_TYPE_CACHED_COUNTRY_CODE = 4;
150}
151
152// Satellite access controller triggering event
153enum TriggeringEvent {
154  // Unknown reason.
155  TRIGGERING_EVENT_UNKNOWN = 0;
156  // Satellite Access Controller has been triggered by an external event.
157  TRIGGERING_EVENT_EXTERNAL_REQUEST = 1;
158  // Satellite Access Controller has been triggered by an MCC change event.
159  TRIGGERING_EVENT_MCC_CHANGED = 2;
160  //Satellite Access Controller has been triggered due to the location setting being enabled
161  TRIGGERING_EVENT_LOCATION_SETTINGS_ENABLED = 3;
162}
163