• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2018 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 = "TelephonyProtoEnums";
21option java_multiple_files = true;
22
23enum CallBearerEnum {
24    /** Call bearer is unknown or invalid */
25    CALL_BEARER_UNKNOWN = 0;
26
27    /** Call bearer is legacy CS */
28    CALL_BEARER_CS = 1;
29
30    /** Call bearer is IMS */
31    CALL_BEARER_IMS = 2;
32}
33
34enum CallDirectionEnum {
35    /** Call direction: unknown or invalid */
36    CALL_DIRECTION_UNKNOWN = 0;
37
38    /** Call direction: mobile originated (outgoing for this device) */
39    CALL_DIRECTION_MO = 1;
40
41    /** Call direction: mobile terminated (incoming for this device) */
42    CALL_DIRECTION_MT = 2;
43}
44
45// Call setup duration buckets.
46// See com.android.internal.telephony.metrics.VoiceCallSessionStats for definition.
47enum CallSetupDurationEnum {
48    CALL_SETUP_DURATION_UNKNOWN = 0;
49    CALL_SETUP_DURATION_EXTREMELY_FAST = 1;
50    CALL_SETUP_DURATION_ULTRA_FAST = 2;
51    CALL_SETUP_DURATION_VERY_FAST = 3;
52    CALL_SETUP_DURATION_FAST = 4;
53    CALL_SETUP_DURATION_NORMAL = 5;
54    CALL_SETUP_DURATION_SLOW = 6;
55    CALL_SETUP_DURATION_VERY_SLOW = 7;
56    CALL_SETUP_DURATION_ULTRA_SLOW = 8;
57    CALL_SETUP_DURATION_EXTREMELY_SLOW = 9;
58}
59
60// Data conn. power states, primarily used by android/telephony/DataConnectionRealTimeInfo.java.
61enum DataConnectionPowerStateEnum {
62    DATA_CONNECTION_POWER_STATE_LOW = 1;
63    DATA_CONNECTION_POWER_STATE_MEDIUM = 2;
64    DATA_CONNECTION_POWER_STATE_HIGH = 3;
65    DATA_CONNECTION_POWER_STATE_UNKNOWN = 2147483647; // Java Integer.MAX_VALUE;
66}
67
68// Network type enums, primarily used by android/telephony/TelephonyManager.java.
69// Do not add negative types.
70enum NetworkTypeEnum {
71    NETWORK_TYPE_UNKNOWN = 0;
72    NETWORK_TYPE_GPRS = 1;
73    NETWORK_TYPE_EDGE = 2;
74    NETWORK_TYPE_UMTS = 3;
75    NETWORK_TYPE_CDMA = 4;
76    NETWORK_TYPE_EVDO_0 = 5;
77    NETWORK_TYPE_EVDO_A = 6;
78    NETWORK_TYPE_1XRTT = 7;
79    NETWORK_TYPE_HSDPA = 8;
80    NETWORK_TYPE_HSUPA = 9;
81    NETWORK_TYPE_HSPA = 10;
82    NETWORK_TYPE_IDEN = 11;
83    NETWORK_TYPE_EVDO_B = 12;
84    NETWORK_TYPE_LTE = 13;
85    NETWORK_TYPE_EHRPD = 14;
86    NETWORK_TYPE_HSPAP = 15;
87    NETWORK_TYPE_GSM = 16;
88    NETWORK_TYPE_TD_SCDMA = 17;
89    NETWORK_TYPE_IWLAN = 18;
90    NETWORK_TYPE_LTE_CA = 19;
91    NETWORK_TYPE_NR = 20;
92}
93
94// Roaming type enums, see android.telephony.ServiceState.RoamingType for definitions.
95enum RoamingTypeEnum {
96    ROAMING_TYPE_NOT_ROAMING = 0;
97    ROAMING_TYPE_ROAMING = 1;
98    ROAMING_TYPE_ROAMING_DOMESTIC = 2;
99    ROAMING_TYPE_ROAMING_INTERNATIONAL = 3;
100}
101
102// Signal strength levels, as defined in android/telephony/SignalStrength.java.
103enum SignalStrengthEnum {
104    SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
105    SIGNAL_STRENGTH_POOR = 1;
106    SIGNAL_STRENGTH_MODERATE = 2;
107    SIGNAL_STRENGTH_GOOD = 3;
108    SIGNAL_STRENGTH_GREAT = 4;
109}
110
111enum ServiceStateEnum {
112    /**
113     * Normal operation condition, the phone is registered
114     * with an operator either in home network or in roaming.
115     */
116    SERVICE_STATE_IN_SERVICE = 0;
117
118    /**
119     * Phone is not registered with any operator, the phone
120     * can be currently searching a new operator to register to, or not
121     * searching to registration at all, or registration is denied, or radio
122     * signal is not available.
123     */
124    SERVICE_STATE_OUT_OF_SERVICE = 1;
125
126    /**
127     * The phone is registered and locked.  Only emergency numbers are allowed. {@more}
128     */
129    SERVICE_STATE_EMERGENCY_ONLY = 2;
130
131    /**
132     * Radio of telephony is explicitly powered off.
133     */
134    SERVICE_STATE_POWER_OFF = 3;
135}
136
137enum NetworkRegistrationState {
138    /**
139     * Not registered. The device is not currently searching a new operator to register.
140     */
141    REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0;
142
143    /**
144     * Registered on home network.
145     */
146    REGISTRATION_STATE_HOME = 1;
147
148    /**
149     * Not registered. The device is currently searching a new operator to register.
150     */
151    REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2;
152
153    /**
154     * Registration denied.
155     */
156    REGISTRATION_STATE_DENIED = 3;
157
158    /**
159     * Registration state is unknown.
160     */
161    REGISTRATION_STATE_UNKNOWN = 4;
162
163    /**
164     * Registered on roaming network.
165     */
166    REGISTRATION_STATE_ROAMING = 5;
167}
168
169enum SimStateEnum {
170    SIM_STATE_UNKNOWN = 0;
171    /** SIM card state: no SIM card is available in the device */
172    SIM_STATE_ABSENT = 1;
173    /** SIM card state: Locked: requires the user's SIM PIN to unlock */
174    SIM_STATE_PIN_REQUIRED = 2;
175    /** SIM card state: Locked: requires the user's SIM PUK to unlock */
176    SIM_STATE_PUK_REQUIRED = 3;
177    /** SIM card state: Locked: requires a network PIN to unlock */
178    SIM_STATE_NETWORK_LOCKED = 4;
179    /** SIM card state: Ready */
180    SIM_STATE_READY = 5;
181    /** SIM card state: SIM Card is NOT READY */
182    SIM_STATE_NOT_READY = 6;
183    /** SIM card state: SIM Card Error, permanently disabled */
184    SIM_STATE_PERM_DISABLED = 7;
185    /** SIM card state: SIM Card Error, present but faulty */
186    SIM_STATE_CARD_IO_ERROR = 8;
187    /** SIM card state: SIM Card restricted, present but not usable due to
188     * carrier restrictions.
189     */
190    SIM_STATE_CARD_RESTRICTED = 9;
191    /**
192     * SIM card state: Loaded: SIM card applications have been loaded
193     * @hide
194     */
195    SIM_STATE_LOADED = 10;
196    /**
197     * SIM card state: SIM Card is present
198     * @hide
199     */
200    SIM_STATE_PRESENT = 11;
201}
202
203// Format of SMS message
204enum SmsFormatEnum {
205    /** Unknown format */
206    SMS_FORMAT_UNKNOWN = 0;
207    /** Format compliant with 3GPP TS 23.040 */
208    SMS_FORMAT_3GPP = 1;
209    /** Format compliant with 3GPP2 TS C.S0015-B */
210    SMS_FORMAT_3GPP2 = 2;
211}
212
213// Technology used to carry an SMS message
214enum SmsTechEnum {
215    /**
216     * Unknown SMS technology used to carry the SMS.
217     * This value is also used for injected SMS.
218     */
219    SMS_TECH_UNKNOWN = 0;
220    /** The SMS was carried over CS bearer in 3GPP network */
221    SMS_TECH_CS_3GPP = 1;
222    /** The SMS was carried over CS bearer in 3GPP2 network */
223    SMS_TECH_CS_3GPP2 = 2;
224    /** The SMS was carried over IMS */
225    SMS_TECH_IMS = 3;
226}
227
228// Types of SMS message
229enum SmsTypeEnum {
230    /** Normal type. */
231    SMS_TYPE_NORMAL = 0;
232    /** SMS-PP (point-to-point). */
233    SMS_TYPE_SMS_PP = 1;
234    /** Voicemail indication. */
235    SMS_TYPE_VOICEMAIL_INDICATION = 2;
236    /** Type 0 message (3GPP TS 23.040 9.2.3.9). */
237    SMS_TYPE_ZERO = 3;
238    /** WAP-PUSH message. */
239    SMS_TYPE_WAP_PUSH = 4;
240}
241
242// Incoming SMS errors
243enum SmsIncomingErrorEnum {
244    SMS_SUCCESS = 0;
245    SMS_ERROR_GENERIC = 1;
246    SMS_ERROR_NO_MEMORY = 2;
247    SMS_ERROR_NOT_SUPPORTED = 3;
248}
249
250// Outgoing SMS results
251enum SmsSendResultEnum {
252    // Unknown error
253    SMS_SEND_RESULT_UNKNOWN = 0;
254    // Success
255    SMS_SEND_RESULT_SUCCESS = 1;
256    // Permanent error
257    SMS_SEND_RESULT_ERROR = 2;
258    // Temporary error, retry
259    SMS_SEND_RESULT_ERROR_RETRY = 3;
260    // Error over IMS, retry on CS
261    SMS_SEND_RESULT_ERROR_FALLBACK = 4;
262}
263
264// Data profile of the data call. From
265// frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java
266enum DataProfileEnum {
267    DATA_PROFILE_DEFAULT = 0;
268    DATA_PROFILE_TETHERED = 1;
269    DATA_PROFILE_IMS = 2;
270    DATA_PROFILE_FOTA = 3;
271    DATA_PROFILE_CBS = 4;
272    DATA_PROFILE_OEM_BASE = 1000;
273    DATA_PROFILE_INVALID = -1;
274}
275
276// Reason of data call deactivation. From
277// frameworks/base/telephony/java/android/telephony/data/DataService.java#DeactivateDataReason
278enum DataDeactivateReasonEnum {
279    DEACTIVATE_REASON_UNKNOWN = 0;
280    DEACTIVATE_REASON_NORMAL = 1;
281    DEACTIVATE_REASON_RADIO_OFF = 2;
282    DEACTIVATE_REASON_HANDOVER = 3;
283}
284
285// IP type of the data call
286// see frameworks/base/telephony/java/android/telephony/data/ApnSetting.java#ProtocolType
287enum ApnProtocolEnum {
288    APN_PROTOCOL_IPV4 = 0;
289    APN_PROTOCOL_IPV6 = 1;
290    APN_PROTOCOL_IPV4V6 = 2;
291    APN_PROTOCOL_PPP = 3;
292}
293
294// Action taken to recover a data call that is stalled. From
295// frameworks/opt/telephony/src/java/com/android/internal/telephony/data/
296// DataStallRecoveryManager.java#RecoveryAction
297enum DataStallRecoveryActionEnum {
298    /**
299     * DataStallRecoveryManager queries RIL for link properties (IP addresses, DNS server addresses
300     * etc).  This will help in cases where the data stall occurred because of a link property
301     * changed but not notified to connectivity service.
302     */
303    RECOVERY_ACTION_GET_DATA_CALL_LIST = 0;
304    /**
305     * DataStallRecoveryManager will request DataNetworkController to reestablish internet and sets
306     * up the data call back using SETUP_DATA_CALL. It will help to reestablish the channel between
307     * RIL and modem.
308     */
309    RECOVERY_ACTION_CLEANUP = 1;
310    /**
311     * DcTracker triggers RIL to detach for GPRS and re-attach(re-register the network).
312     * RECOVERY_ACTION_REREGISTER is no longer used in Android T and later.
313     */
314    RECOVERY_ACTION_REREGISTER = 2;
315    /**
316     * DataStallRecoveryManager will request ServiceStateTracker to power off and on, equivalent
317     * to airplane mode toggle on and off.
318     */
319    RECOVERY_ACTION_RADIO_RESTART = 3;
320    /**
321     * DataStallRecoveryManager will request to reboot modem. It will recover if there is a problem
322     * in modem side. RECOVERY_ACTION_RESET_MODEM is introduced in Android T.
323     */
324    RECOVERY_ACTION_RESET_MODEM = 4;
325 }
326
327// The data stall recovered reason.
328// frameworks/opt/telephony/src/java/com/android/internal/telephony/data/
329// DataStallRecoveryManager.java#RecoveredReason
330enum DataStallRecoveredReason {
331   /* The data stall symptom not recover yet. */
332   RECOVERED_REASON_NONE = 0;
333   /* The data stall symptom recovered by DataStallRecoveryManager. */
334   RECOVERED_REASON_DSRM = 1;
335   /* The data stall symptom recovered by modem. */
336   RECOVERED_REASON_MODEM = 2;
337   /* The data stall symptom recovered by user. */
338   RECOVERED_REASON_USER = 3;
339}
340
341// Codec quality
342enum CodecQuality {
343    /** Codec quality: unknown */
344    CODEC_QUALITY_UNKNOWN = 0;
345
346    /** Codec quality: narrowband */
347    CODEC_QUALITY_NARROWBAND = 1;
348
349    /** Codec quality: wideband */
350    CODEC_QUALITY_WIDEBAND = 2;
351
352    /** Codec quality: super-wideband */
353    CODEC_QUALITY_SUPER_WIDEBAND = 3;
354
355    /** Codec quality: fullband */
356    CODEC_QUALITY_FULLBAND = 4;
357}
358
359
360// Result from restore of sim-specific settings.
361enum SimSpecfifcSettingsRestoreResult {
362    SIM_RESTORE_RESULT_UNKNOWN = 0;
363    // SIM-specific settings were successfully restored.
364    SIM_RESTORE_RESULT_SUCCESS = 1;
365    // SIM-specific settings didn't restore because no matching SIM was
366    // found in backed up data.
367    SIM_RESTORE_RESULT_NONE_MATCH = 2;
368    // No SIM-specific settings were found in backup file
369    SIM_RESTORE_RESULT_ZERO_SIM_IN_BACKUP = 3;
370}
371
372// Case of sim-specific settings restore.
373enum SimSpecificSettingsRestoreCase {
374    SIM_RESTORE_CASE_UNDEFINED_USE_CASE = 0;
375    // Restore was done during SuW.
376    SIM_RESTORE_CASE_SUW = 1;
377    // Restore was done once sim was inserted.
378    SIM_RESTORE_CASE_SIM_INSERTED = 2;
379}
380
381// Matching criteria for sim-specific settings restore.
382enum SimSpecificSettingsRestoreMatchingCriteria {
383    SIM_RESTORE_MATCHING_CRITERIA_UNSET= 0;
384    // No match was found.
385    SIM_RESTORE_MATCHING_CRITERIA_NONE = 1;
386    // Restore was done by matching two sims by ICCID.
387    SIM_RESTORE_MATCHING_CRITERIA_ICCID = 2;
388    // Restore was done by matching carrierId and phoneNumber.
389    SIM_RESTORE_MATCHING_CRITERIA_CARRIER_ID_AND_PHONE_NUMBER = 3;
390    // Restore was done by matching carrierId only.
391    SIM_RESTORE_MATCHING_CRITERIA_CARRIER_ID_ONLY = 4;
392}
393
394// Describe IMS feature tags
395// See frameworks/opt/net/ims/src/java/com/android/ims/rcs/uce/util/FeatureTags.java
396enum ImsFeatureTag {
397    IMS_FEATURE_TAG_UNSPECIFIED = 0;
398    IMS_FEATURE_TAG_CUSTOM = 1;
399    IMS_FEATURE_TAG_STANDALONE_MSG = 2;
400    IMS_FEATURE_TAG_CHAT_IM = 3;
401    IMS_FEATURE_TAG_CHAT_SESSION = 4;
402    IMS_FEATURE_TAG_FILE_TRANSFER = 5;
403    IMS_FEATURE_TAG_FILE_TRANSFER_VIA_SMS = 6;
404    IMS_FEATURE_TAG_CALL_COMPOSER_ENRICHED_CALLING = 7;
405    IMS_FEATURE_TAG_CALL_COMPOSER_VIA_TELEPHONY = 8;
406    IMS_FEATURE_TAG_POST_CALL = 9;
407    IMS_FEATURE_TAG_SHARED_MAP = 10;
408    IMS_FEATURE_TAG_SHARED_SKETCH = 11;
409    IMS_FEATURE_TAG_GEO_PUSH = 12;
410    IMS_FEATURE_TAG_GEO_PUSH_VIA_SMS = 13;
411    IMS_FEATURE_TAG_CHATBOT_COMMUNICATION_USING_SESSION = 14;
412    IMS_FEATURE_TAG_CHATBOT_COMMUNICATION_USING_STANDALONE_MSG = 15;
413    IMS_FEATURE_TAG_CHATBOT_VERSION_SUPPORTED = 16;
414    IMS_FEATURE_TAG_CHATBOT_ROLE = 17;
415    IMS_FEATURE_TAG_MMTEL = 18;
416    IMS_FEATURE_TAG_VIDEO = 19;
417    IMS_FEATURE_TAG_PRESENCE = 20;
418}
419
420// Define the SIP request method types used in IMS.
421enum SipRequestMethodType {
422    SIP_REQUEST_UNSPECIFIED = 0;
423    // A SIP request that is not defined in the specification has been sent.
424    SIP_REQUEST_CUSTOM = 1;
425    SIP_REQUEST_INVITE = 2;
426    SIP_REQUEST_ACK = 3;
427    SIP_REQUEST_OPTIONS = 4;
428    SIP_REQUEST_BYE = 5;
429    SIP_REQUEST_CANCEL = 6;
430    SIP_REQUEST_REGISTER  = 7;
431    SIP_REQUEST_PRACK = 8;
432    SIP_REQUEST_SUBSCRIBE = 9;
433    SIP_REQUEST_NOTIFY = 10;
434    SIP_REQUEST_PUBLISH = 11;
435    SIP_REQUEST_INFO = 12;
436    SIP_REQUEST_REFER = 13;
437    SIP_REQUEST_MESSAGE = 14;
438    SIP_REQUEST_UPDATE = 15;
439}
440
441// Buckets of call duration in a voice call.
442enum CallDuration {
443  CALL_DURATION_UNKNOWN = 0; // Unknown duration
444  CALL_DURATION_LESS_THAN_ONE_MINUTE = 1; // Call lasted less than 1 minute
445  CALL_DURATION_LESS_THAN_FIVE_MINUTES = 2; // Call lasted between 1 and 5 minutes
446  CALL_DURATION_LESS_THAN_TEN_MINUTES = 3; // Call lasted between 5 and 10 minutes
447  CALL_DURATION_LESS_THAN_THIRTY_MINUTES = 4; // Call lasted between 10 and 30 minutes
448  CALL_DURATION_LESS_THAN_ONE_HOUR = 5; // Call lasted between 30 minutes and 1 hour
449  CALL_DURATION_MORE_THAN_ONE_HOUR = 6; // Call lasted more than 1 hour
450}