xref: /aosp_15_r20/frameworks/proto_logging/stats/enums/telephony/enums.proto (revision 64c55175f22a2714b5ba1250098ad9bbc12ec7cd)
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    option deprecated = true;
49    CALL_SETUP_DURATION_UNKNOWN = 0;
50    CALL_SETUP_DURATION_EXTREMELY_FAST = 1;
51    CALL_SETUP_DURATION_ULTRA_FAST = 2;
52    CALL_SETUP_DURATION_VERY_FAST = 3;
53    CALL_SETUP_DURATION_FAST = 4;
54    CALL_SETUP_DURATION_NORMAL = 5;
55    CALL_SETUP_DURATION_SLOW = 6;
56    CALL_SETUP_DURATION_VERY_SLOW = 7;
57    CALL_SETUP_DURATION_ULTRA_SLOW = 8;
58    CALL_SETUP_DURATION_EXTREMELY_SLOW = 9;
59}
60
61// Data conn. power states, primarily used by android/telephony/DataConnectionRealTimeInfo.java.
62enum DataConnectionPowerStateEnum {
63    DATA_CONNECTION_POWER_STATE_LOW = 1;
64    DATA_CONNECTION_POWER_STATE_MEDIUM = 2;
65    DATA_CONNECTION_POWER_STATE_HIGH = 3;
66    DATA_CONNECTION_POWER_STATE_UNKNOWN = 2147483647; // Java Integer.MAX_VALUE;
67}
68
69// Network type enums, primarily used by android/telephony/TelephonyManager.java.
70// Do not add negative types.
71enum NetworkTypeEnum {
72    NETWORK_TYPE_UNKNOWN = 0;
73    NETWORK_TYPE_GPRS = 1;
74    NETWORK_TYPE_EDGE = 2;
75    NETWORK_TYPE_UMTS = 3;
76    NETWORK_TYPE_CDMA = 4;
77    NETWORK_TYPE_EVDO_0 = 5;
78    NETWORK_TYPE_EVDO_A = 6;
79    NETWORK_TYPE_1XRTT = 7;
80    NETWORK_TYPE_HSDPA = 8;
81    NETWORK_TYPE_HSUPA = 9;
82    NETWORK_TYPE_HSPA = 10;
83    NETWORK_TYPE_IDEN = 11;
84    NETWORK_TYPE_EVDO_B = 12;
85    NETWORK_TYPE_LTE = 13;
86    NETWORK_TYPE_EHRPD = 14;
87    NETWORK_TYPE_HSPAP = 15;
88    NETWORK_TYPE_GSM = 16;
89    NETWORK_TYPE_TD_SCDMA = 17;
90    NETWORK_TYPE_IWLAN = 18;
91    NETWORK_TYPE_LTE_CA = 19;
92    NETWORK_TYPE_NR = 20;
93    NETWORK_TYPE_NB_IOT_NTN = 21;
94}
95
96// Cellular radio power state, see android/telephony/TelephonyManager.java for definitions.
97enum CellularRadioPowerStateEnum {
98    RADIO_POWER_STATE_UNKNOWN = 0;
99    RADIO_POWER_STATE_OFF = 1;
100    RADIO_POWER_STATE_ON = 2;
101    RADIO_POWER_STATE_UNAVAILABLE = 3;
102}
103
104// Roaming type enums, see android.telephony.ServiceState.RoamingType for definitions.
105enum RoamingTypeEnum {
106    ROAMING_TYPE_NOT_ROAMING = 0;
107    ROAMING_TYPE_ROAMING = 1;
108    ROAMING_TYPE_ROAMING_DOMESTIC = 2;
109    ROAMING_TYPE_ROAMING_INTERNATIONAL = 3;
110}
111
112// Signal strength levels, as defined in android/telephony/SignalStrength.java.
113enum SignalStrengthEnum {
114    SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
115    SIGNAL_STRENGTH_POOR = 1;
116    SIGNAL_STRENGTH_MODERATE = 2;
117    SIGNAL_STRENGTH_GOOD = 3;
118    SIGNAL_STRENGTH_GREAT = 4;
119}
120
121enum ServiceStateEnum {
122    /**
123     * Normal operation condition, the phone is registered
124     * with an operator either in home network or in roaming.
125     */
126    SERVICE_STATE_IN_SERVICE = 0;
127
128    /**
129     * Phone is not registered with any operator, the phone
130     * can be currently searching a new operator to register to, or not
131     * searching to registration at all, or registration is denied, or radio
132     * signal is not available.
133     */
134    SERVICE_STATE_OUT_OF_SERVICE = 1;
135
136    /**
137     * The phone is registered and locked.  Only emergency numbers are allowed. {@more}
138     */
139    SERVICE_STATE_EMERGENCY_ONLY = 2;
140
141    /**
142     * Radio of telephony is explicitly powered off.
143     */
144    SERVICE_STATE_POWER_OFF = 3;
145}
146
147enum NetworkRegistrationState {
148    /**
149     * Not registered. The device is not currently searching a new operator to register.
150     */
151    REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0;
152
153    /**
154     * Registered on home network.
155     */
156    REGISTRATION_STATE_HOME = 1;
157
158    /**
159     * Not registered. The device is currently searching a new operator to register.
160     */
161    REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2;
162
163    /**
164     * Registration denied.
165     */
166    REGISTRATION_STATE_DENIED = 3;
167
168    /**
169     * Registration state is unknown.
170     */
171    REGISTRATION_STATE_UNKNOWN = 4;
172
173    /**
174     * Registered on roaming network.
175     */
176    REGISTRATION_STATE_ROAMING = 5;
177}
178
179enum SimStateEnum {
180    SIM_STATE_UNKNOWN = 0;
181    /** SIM card state: no SIM card is available in the device */
182    SIM_STATE_ABSENT = 1;
183    /** SIM card state: Locked: requires the user's SIM PIN to unlock */
184    SIM_STATE_PIN_REQUIRED = 2;
185    /** SIM card state: Locked: requires the user's SIM PUK to unlock */
186    SIM_STATE_PUK_REQUIRED = 3;
187    /** SIM card state: Locked: requires a network PIN to unlock */
188    SIM_STATE_NETWORK_LOCKED = 4;
189    /** SIM card state: Ready */
190    SIM_STATE_READY = 5;
191    /** SIM card state: SIM Card is NOT READY */
192    SIM_STATE_NOT_READY = 6;
193    /** SIM card state: SIM Card Error, permanently disabled */
194    SIM_STATE_PERM_DISABLED = 7;
195    /** SIM card state: SIM Card Error, present but faulty */
196    SIM_STATE_CARD_IO_ERROR = 8;
197    /** SIM card state: SIM Card restricted, present but not usable due to
198     * carrier restrictions.
199     */
200    SIM_STATE_CARD_RESTRICTED = 9;
201    /**
202     * SIM card state: Loaded: SIM card applications have been loaded
203     * @hide
204     */
205    SIM_STATE_LOADED = 10;
206    /**
207     * SIM card state: SIM Card is present
208     * @hide
209     */
210    SIM_STATE_PRESENT = 11;
211}
212
213// Format of SMS message
214enum SmsFormatEnum {
215    /** Unknown format */
216    SMS_FORMAT_UNKNOWN = 0;
217    /** Format compliant with 3GPP TS 23.040 */
218    SMS_FORMAT_3GPP = 1;
219    /** Format compliant with 3GPP2 TS C.S0015-B */
220    SMS_FORMAT_3GPP2 = 2;
221}
222
223// Technology used to carry an SMS message
224enum SmsTechEnum {
225    /**
226     * Unknown SMS technology used to carry the SMS.
227     * This value is also used for injected SMS.
228     */
229    SMS_TECH_UNKNOWN = 0;
230    /** The SMS was carried over CS bearer in 3GPP network */
231    SMS_TECH_CS_3GPP = 1;
232    /** The SMS was carried over CS bearer in 3GPP2 network */
233    SMS_TECH_CS_3GPP2 = 2;
234    /** The SMS was carried over IMS */
235    SMS_TECH_IMS = 3;
236}
237
238// Types of SMS message
239enum SmsTypeEnum {
240    /** Normal type. */
241    SMS_TYPE_NORMAL = 0;
242    /** SMS-PP (point-to-point). */
243    SMS_TYPE_SMS_PP = 1;
244    /** Voicemail indication. */
245    SMS_TYPE_VOICEMAIL_INDICATION = 2;
246    /** Type 0 message (3GPP TS 23.040 9.2.3.9). */
247    SMS_TYPE_ZERO = 3;
248    /** WAP-PUSH message. */
249    SMS_TYPE_WAP_PUSH = 4;
250}
251
252// Incoming SMS errors
253enum SmsIncomingErrorEnum {
254    SMS_SUCCESS = 0;
255    SMS_ERROR_GENERIC = 1;
256    SMS_ERROR_NO_MEMORY = 2;
257    SMS_ERROR_NOT_SUPPORTED = 3;
258}
259
260// Outgoing SMS results
261enum SmsSendResultEnum {
262    // Unknown error
263    SMS_SEND_RESULT_UNKNOWN = 0;
264    // Success
265    SMS_SEND_RESULT_SUCCESS = 1;
266    // Permanent error
267    SMS_SEND_RESULT_ERROR = 2;
268    // Temporary error, retry
269    SMS_SEND_RESULT_ERROR_RETRY = 3;
270    // Error over IMS, retry on CS
271    SMS_SEND_RESULT_ERROR_FALLBACK = 4;
272}
273
274// Data profile of the data call. From
275// frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java
276enum DataProfileEnum {
277    DATA_PROFILE_DEFAULT = 0;
278    DATA_PROFILE_TETHERED = 1;
279    DATA_PROFILE_IMS = 2;
280    DATA_PROFILE_FOTA = 3;
281    DATA_PROFILE_CBS = 4;
282    DATA_PROFILE_OEM_BASE = 1000;
283    DATA_PROFILE_INVALID = -1;
284}
285
286// Reason of data call deactivation. From
287// frameworks/opt/telephony/src/java/com/android/internal/telephony/data/
288// DataNetwork.java#TearDownReason
289enum DataDeactivateReasonEnum {
290    // pre-U legacy enum
291    DEACTIVATE_REASON_UNKNOWN = 0;
292    DEACTIVATE_REASON_NORMAL = 1;
293    DEACTIVATE_REASON_RADIO_OFF = 2;
294    DEACTIVATE_REASON_HANDOVER = 3;
295    // Starting in U
296    DEACTIVATE_REASON_NONE = 4;
297    DEACTIVATE_REASON_CONNECTIVITY_SERVICE_UNWANTED = 5;
298    DEACTIVATE_REASON_SIM_REMOVAL = 6;
299    DEACTIVATE_REASON_AIRPLANE_MODE_ON = 7;
300    DEACTIVATE_REASON_DATA_DISABLED = 8;
301    DEACTIVATE_REASON_NO_LIVE_REQUEST = 9;
302    DEACTIVATE_REASON_RAT_NOT_ALLOWED = 10;
303    DEACTIVATE_REASON_ROAMING_DISABLED = 11;
304    DEACTIVATE_REASON_CONCURRENT_VOICE_DATA_NOT_ALLOWED = 12;
305    DEACTIVATE_REASON_DATA_SERVICE_OPTION_NOT_SUPPORTED = 13;
306    DEACTIVATE_REASON_DATA_SERVICE_NOT_READY = 14;
307    DEACTIVATE_REASON_POWER_OFF_BY_CARRIER = 15;
308    DEACTIVATE_REASON_DATA_STALL = 16;
309    DEACTIVATE_REASON_HANDOVER_FAILED = 17;
310    DEACTIVATE_REASON_HANDOVER_NOT_ALLOWED = 18;
311    DEACTIVATE_REASON_VCN_REQUESTED = 19;
312    DEACTIVATE_REASON_VOPS_NOT_SUPPORTED = 20;
313    DEACTIVATE_REASON_DEFAULT_DATA_UNSELECTED = 21;
314    DEACTIVATE_REASON_NOT_IN_SERVICE = 22;
315    DEACTIVATE_REASON_DATA_CONFIG_NOT_READY = 23;
316    DEACTIVATE_REASON_PENDING_TEAR_DOWN_ALL = 24;
317    DEACTIVATE_REASON_NO_SUITABLE_DATA_PROFILE = 25;
318    DEACTIVATE_REASON_CDMA_EMERGENCY_CALLBACK_MODE = 26;
319    DEACTIVATE_REASON_RETRY_SCHEDULED = 27;
320    DEACTIVATE_REASON_DATA_THROTTLED = 28;
321    DEACTIVATE_REASON_DATA_PROFILE_INVALID = 29;
322    DEACTIVATE_REASON_DATA_PROFILE_NOT_PREFERRED = 30;
323    DEACTIVATE_REASON_NOT_ALLOWED_BY_POLICY = 31;
324    DEACTIVATE_REASON_ILLEGAL_STATE = 32;
325    DEACTIVATE_REASON_ONLY_ALLOWED_SINGLE_NETWORK = 33;
326    DEACTIVATE_REASON_PREFERRED_DATA_SWITCHED = 34;
327    DEACTIVATE_REASON_DATA_LIMIT_REACHED = 35;
328    DEACTIVATE_REASON_DATA_NETWORK_TRANSPORT_NOT_ALLOWED = 36;
329}
330
331// IP type of the data call
332// see frameworks/base/telephony/java/android/telephony/data/ApnSetting.java#ProtocolType
333enum ApnProtocolEnum {
334    APN_PROTOCOL_IPV4 = 0;
335    APN_PROTOCOL_IPV6 = 1;
336    APN_PROTOCOL_IPV4V6 = 2;
337    APN_PROTOCOL_PPP = 3;
338}
339
340// Action taken to recover a data call that is stalled. From
341// frameworks/opt/telephony/src/java/com/android/internal/telephony/data/
342// DataStallRecoveryManager.java#RecoveryAction
343enum DataStallRecoveryActionEnum {
344    /**
345     * DataStallRecoveryManager queries RIL for link properties (IP addresses, DNS server addresses
346     * etc).  This will help in cases where the data stall occurred because of a link property
347     * changed but not notified to connectivity service.
348     */
349    RECOVERY_ACTION_GET_DATA_CALL_LIST = 0;
350    /**
351     * DataStallRecoveryManager will request DataNetworkController to reestablish internet and sets
352     * up the data call back using SETUP_DATA_CALL. It will help to reestablish the channel between
353     * RIL and modem.
354     */
355    RECOVERY_ACTION_CLEANUP = 1;
356    /**
357     * DcTracker triggers RIL to detach for GPRS and re-attach(re-register the network).
358     * RECOVERY_ACTION_REREGISTER is no longer used in Android T and later.
359     */
360    RECOVERY_ACTION_REREGISTER = 2;
361    /**
362     * DataStallRecoveryManager will request ServiceStateTracker to power off and on, equivalent
363     * to airplane mode toggle on and off.
364     */
365    RECOVERY_ACTION_RADIO_RESTART = 3;
366    /**
367     * DataStallRecoveryManager will request to reboot modem. It will recover if there is a problem
368     * in modem side. RECOVERY_ACTION_RESET_MODEM is introduced in Android T.
369     */
370    RECOVERY_ACTION_RESET_MODEM = 4;
371 }
372
373// The data stall recovered reason.
374// frameworks/opt/telephony/src/java/com/android/internal/telephony/data/
375// DataStallRecoveryManager.java#RecoveredReason
376enum DataStallRecoveredReason {
377   /* The data stall symptom not recover yet. */
378   RECOVERED_REASON_NONE = 0;
379   /* The data stall symptom recovered by DataStallRecoveryManager. */
380   RECOVERED_REASON_DSRM = 1;
381   /* The data stall symptom recovered by modem. */
382   RECOVERED_REASON_MODEM = 2;
383   /* The data stall symptom recovered by user. */
384   RECOVERED_REASON_USER = 3;
385}
386
387// Codec quality
388enum CodecQuality {
389    /** Codec quality: unknown */
390    CODEC_QUALITY_UNKNOWN = 0;
391
392    /** Codec quality: narrowband */
393    CODEC_QUALITY_NARROWBAND = 1;
394
395    /** Codec quality: wideband */
396    CODEC_QUALITY_WIDEBAND = 2;
397
398    /** Codec quality: super-wideband */
399    CODEC_QUALITY_SUPER_WIDEBAND = 3;
400
401    /** Codec quality: fullband */
402    CODEC_QUALITY_FULLBAND = 4;
403}
404
405
406// Result from restore of sim-specific settings.
407enum SimSpecfifcSettingsRestoreResult {
408    SIM_RESTORE_RESULT_UNKNOWN = 0;
409    // SIM-specific settings were successfully restored.
410    SIM_RESTORE_RESULT_SUCCESS = 1;
411    // SIM-specific settings didn't restore because no matching SIM was
412    // found in backed up data.
413    SIM_RESTORE_RESULT_NONE_MATCH = 2;
414    // No SIM-specific settings were found in backup file
415    SIM_RESTORE_RESULT_ZERO_SIM_IN_BACKUP = 3;
416}
417
418// Case of sim-specific settings restore.
419enum SimSpecificSettingsRestoreCase {
420    SIM_RESTORE_CASE_UNDEFINED_USE_CASE = 0;
421    // Restore was done during SuW.
422    SIM_RESTORE_CASE_SUW = 1;
423    // Restore was done once sim was inserted.
424    SIM_RESTORE_CASE_SIM_INSERTED = 2;
425}
426
427// Matching criteria for sim-specific settings restore.
428enum SimSpecificSettingsRestoreMatchingCriteria {
429    SIM_RESTORE_MATCHING_CRITERIA_UNSET= 0;
430    // No match was found.
431    SIM_RESTORE_MATCHING_CRITERIA_NONE = 1;
432    // Restore was done by matching two sims by ICCID.
433    SIM_RESTORE_MATCHING_CRITERIA_ICCID = 2;
434    // Restore was done by matching carrierId and phoneNumber.
435    SIM_RESTORE_MATCHING_CRITERIA_CARRIER_ID_AND_PHONE_NUMBER = 3;
436    // Restore was done by matching carrierId only.
437    SIM_RESTORE_MATCHING_CRITERIA_CARRIER_ID_ONLY = 4;
438}
439
440// Describe IMS feature tags
441// See frameworks/opt/net/ims/src/java/com/android/ims/rcs/uce/util/FeatureTags.java
442enum ImsFeatureTag {
443    IMS_FEATURE_TAG_UNSPECIFIED = 0;
444    IMS_FEATURE_TAG_CUSTOM = 1;
445    IMS_FEATURE_TAG_STANDALONE_MSG = 2;
446    IMS_FEATURE_TAG_CHAT_IM = 3;
447    IMS_FEATURE_TAG_CHAT_SESSION = 4;
448    IMS_FEATURE_TAG_FILE_TRANSFER = 5;
449    IMS_FEATURE_TAG_FILE_TRANSFER_VIA_SMS = 6;
450    IMS_FEATURE_TAG_CALL_COMPOSER_ENRICHED_CALLING = 7;
451    IMS_FEATURE_TAG_CALL_COMPOSER_VIA_TELEPHONY = 8;
452    IMS_FEATURE_TAG_POST_CALL = 9;
453    IMS_FEATURE_TAG_SHARED_MAP = 10;
454    IMS_FEATURE_TAG_SHARED_SKETCH = 11;
455    IMS_FEATURE_TAG_GEO_PUSH = 12;
456    IMS_FEATURE_TAG_GEO_PUSH_VIA_SMS = 13;
457    IMS_FEATURE_TAG_CHATBOT_COMMUNICATION_USING_SESSION = 14;
458    IMS_FEATURE_TAG_CHATBOT_COMMUNICATION_USING_STANDALONE_MSG = 15;
459    IMS_FEATURE_TAG_CHATBOT_VERSION_SUPPORTED = 16;
460    IMS_FEATURE_TAG_CHATBOT_ROLE = 17;
461    IMS_FEATURE_TAG_MMTEL = 18;
462    IMS_FEATURE_TAG_VIDEO = 19;
463    IMS_FEATURE_TAG_PRESENCE = 20;
464}
465
466// Define the SIP request method types used in IMS.
467enum SipRequestMethodType {
468    SIP_REQUEST_UNSPECIFIED = 0;
469    // A SIP request that is not defined in the specification has been sent.
470    SIP_REQUEST_CUSTOM = 1;
471    SIP_REQUEST_INVITE = 2;
472    SIP_REQUEST_ACK = 3;
473    SIP_REQUEST_OPTIONS = 4;
474    SIP_REQUEST_BYE = 5;
475    SIP_REQUEST_CANCEL = 6;
476    SIP_REQUEST_REGISTER  = 7;
477    SIP_REQUEST_PRACK = 8;
478    SIP_REQUEST_SUBSCRIBE = 9;
479    SIP_REQUEST_NOTIFY = 10;
480    SIP_REQUEST_PUBLISH = 11;
481    SIP_REQUEST_INFO = 12;
482    SIP_REQUEST_REFER = 13;
483    SIP_REQUEST_MESSAGE = 14;
484    SIP_REQUEST_UPDATE = 15;
485}
486
487// Buckets of call duration in a voice call.
488enum CallDuration {
489  CALL_DURATION_UNKNOWN = 0; // Unknown duration
490  CALL_DURATION_LESS_THAN_ONE_MINUTE = 1; // Call lasted less than 1 minute
491  CALL_DURATION_LESS_THAN_FIVE_MINUTES = 2; // Call lasted between 1 and 5 minutes
492  CALL_DURATION_LESS_THAN_TEN_MINUTES = 3; // Call lasted between 5 and 10 minutes
493  CALL_DURATION_LESS_THAN_THIRTY_MINUTES = 4; // Call lasted between 10 and 30 minutes
494  CALL_DURATION_LESS_THAN_ONE_HOUR = 5; // Call lasted between 30 minutes and 1 hour
495  CALL_DURATION_MORE_THAN_ONE_HOUR = 6; // Call lasted more than 1 hour
496}
497
498// Short code SMS categories
499// See frameworks/base/telephony/java/android/telephony/SmsManager.java
500enum ShortCodeSmsEnum {
501    SMS_CATEGORY_NOT_SHORT_CODE = 0;
502    SMS_CATEGORY_FREE_SHORT_CODE = 1;
503    SMS_CATEGORY_STANDARD_SHORT_CODE = 2;
504    SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE = 3;
505    SMS_CATEGORY_PREMIUM_SHORT_CODE = 4;
506}
507
508// Outgoing SMS send error codes, which are mapped from SmsManager#Result
509// See frameworks/base/telephony/java/android/telephony/SmsManager.java
510enum SmsSendErrorEnum {
511    SMS_SEND_ERROR_NONE = 0;
512    SMS_SEND_ERROR_GENERIC_FAILURE = 1;
513    SMS_SEND_ERROR_RADIO_OFF = 2;
514    SMS_SEND_ERROR_NULL_PDU = 3;
515    SMS_SEND_ERROR_NO_SERVICE = 4;
516    SMS_SEND_ERROR_LIMIT_EXCEEDED = 5;
517    SMS_SEND_ERROR_FDN_CHECK_FAILURE = 6;
518    SMS_SEND_ERROR_SHORT_CODE_NOT_ALLOWED = 7;
519    SMS_SEND_ERROR_SHORT_CODE_NEVER_ALLOWED = 8;
520    SMS_SEND_ERROR_RADIO_NOT_AVAILABLE = 9;
521    SMS_SEND_ERROR_NETWORK_REJECT = 10;
522    SMS_SEND_ERROR_INVALID_ARGUMENTS = 11;
523    SMS_SEND_ERROR_INVALID_STATE = 12;
524    SMS_SEND_ERROR_NO_MEMORY = 13;
525    SMS_SEND_ERROR_INVALID_SMS_FORMAT = 14;
526    SMS_SEND_ERROR_SYSTEM_ERROR = 15;
527    SMS_SEND_ERROR_MODEM_ERROR = 16;
528    SMS_SEND_ERROR_NETWORK_ERROR = 17;
529    SMS_SEND_ERROR_INVALID_SMSC_ADDRESS = 19;
530    SMS_SEND_ERROR_OPERATION_NOT_ALLOWED = 20;
531    SMS_SEND_ERROR_INTERNAL_ERROR = 21;
532    SMS_SEND_ERROR_NO_RESOURCES = 22;
533    SMS_SEND_ERROR_CANCELLED = 23;
534    SMS_SEND_ERROR_REQUEST_NOT_SUPPORTED = 24;
535    SMS_SEND_ERROR_NO_BLUETOOTH_SERVICE = 25;
536    SMS_SEND_ERROR_INVALID_BLUETOOTH_ADDRESS = 26;
537    SMS_SEND_ERROR_BLUETOOTH_DISCONNECTED = 27;
538    SMS_SEND_ERROR_UNEXPECTED_EVENT_STOP_SENDING = 28;
539    SMS_SEND_ERROR_SMS_BLOCKED_DURING_EMERGENCY = 29;
540    SMS_SEND_ERROR_SMS_SEND_RETRY_FAILED = 30;
541    SMS_SEND_ERROR_REMOTE_EXCEPTION = 31;
542    SMS_SEND_ERROR_NO_DEFAULT_SMS_APP = 32;
543    SMS_SEND_ERROR_USER_NOT_ALLOWED = 33;
544    SMS_SEND_ERROR_RIL_RADIO_NOT_AVAILABLE = 100;
545    SMS_SEND_ERROR_RIL_SMS_SEND_FAIL_RETRY = 101;
546    SMS_SEND_ERROR_RIL_NETWORK_REJECT = 102;
547    SMS_SEND_ERROR_RIL_INVALID_STATE = 103;
548    SMS_SEND_ERROR_RIL_INVALID_ARGUMENTS = 104;
549    SMS_SEND_ERROR_RIL_NO_MEMORY = 105;
550    SMS_SEND_ERROR_RIL_REQUEST_RATE_LIMITED = 106;
551    SMS_SEND_ERROR_RIL_INVALID_SMS_FORMAT = 107;
552    SMS_SEND_ERROR_RIL_SYSTEM_ERR = 108;
553    SMS_SEND_ERROR_RIL_ENCODING_ERR = 109;
554    SMS_SEND_ERROR_RIL_INVALID_SMSC_ADDRESS = 110;
555    SMS_SEND_ERROR_RIL_MODEM_ERR = 111;
556    SMS_SEND_ERROR_RIL_NETWORK_ERR = 112;
557    SMS_SEND_ERROR_RIL_INTERNAL_ERR = 113;
558    SMS_SEND_ERROR_RIL_REQUEST_NOT_SUPPORTED = 114;
559    SMS_SEND_ERROR_RIL_INVALID_MODEM_STATE = 115;
560    SMS_SEND_ERROR_RIL_NETWORK_NOT_READY = 116;
561    SMS_SEND_ERROR_RIL_OPERATION_NOT_ALLOWED = 117;
562    SMS_SEND_ERROR_RIL_NO_RESOURCES = 118;
563    SMS_SEND_ERROR_RIL_CANCELLED = 119;
564    SMS_SEND_ERROR_RIL_SIM_ABSENT = 120;
565    SMS_SEND_ERROR_RIL_SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED = 121;
566    SMS_SEND_ERROR_RIL_ACCESS_BARRED = 122;
567    SMS_SEND_ERROR_RIL_BLOCKED_DUE_TO_CALL = 123;
568    SMS_SEND_ERROR_RIL_GENERIC_ERROR = 124;
569    SMS_SEND_ERROR_RIL_INVALID_RESPONSE = 125;
570    SMS_SEND_ERROR_RIL_SIM_PIN2 = 126;
571    SMS_SEND_ERROR_RIL_SIM_PUK2 = 127;
572    SMS_SEND_ERROR_RIL_SUBSCRIPTION_NOT_AVAILABLE = 128;
573    SMS_SEND_ERROR_RIL_SIM_ERR = 129;
574    SMS_SEND_ERROR_RIL_INVALID_SIM_STATE = 130;
575    SMS_SEND_ERROR_RIL_NO_SMS_TO_ACK = 131;
576    SMS_SEND_ERROR_RIL_SIM_BUSY = 132;
577    SMS_SEND_ERROR_RIL_SIM_FULL = 133;
578    SMS_SEND_ERROR_RIL_NO_SUBSCRIPTION = 134;
579    SMS_SEND_ERROR_RIL_NO_NETWORK_FOUND = 135;
580    SMS_SEND_ERROR_RIL_DEVICE_IN_USE = 136;
581    SMS_SEND_ERROR_RIL_ABORTED = 137;
582}
583
584/**
585 * enum for service category of emergency numbers
586 */
587enum ServiceCategory {
588    // Emergency Service Category UNSPECIFIED
589    EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED = 0;
590
591    // Emergency Service Category for Police
592    EMERGENCY_SERVICE_CATEGORY_POLICE = 1;
593
594    // Emergency Service Category for Ambulance
595    EMERGENCY_SERVICE_CATEGORY_AMBULANCE = 2;
596
597    // Emergency Service Category for Fire Brigade
598    EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE = 3;
599
600    // Emergency Service Category for Marine Guard
601    EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD = 4;
602
603    // Emergency Service Category for Mountain Rescue
604    EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE = 5;
605
606    // Emergency Service Category for Manually Initiated eCall
607    EMERGENCY_SERVICE_CATEGORY_MIEC = 6;
608
609    // Emergency Service Category for Automatically Initiated eCall
610    EMERGENCY_SERVICE_CATEGORY_AIEC = 7;
611}
612
613/**
614 * enum for source of emergency numbers
615 */
616enum Source {
617    // emergency number is from the network signalling.
618    EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING = 0;
619
620    // emergency number is from the SIM
621    EMERGENCY_NUMBER_SOURCE_SIM = 1;
622
623    // emergency number is from the platform-maintained database
624    EMERGENCY_NUMBER_SOURCE_DATABASE = 2;
625
626    // emergency number is from the modem config
627    EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = 3;
628
629    // emergency number is available as default
630    EMERGENCY_NUMBER_SOURCE_DEFAULT = 4;
631}
632
633/**
634 * enum for call route of emergency numbers
635 */
636enum CallRoute {
637
638    /**
639     * Indicated the framework does not know whether an emergency call should be placed using
640     * emergency or normal call routing. This means the underlying radio or IMS implementation is
641     * free to determine for itself how to route the call.
642     */
643    EMERGENCY_CALL_ROUTE_UNKNOWN = 0;
644
645    // Emergency call to handle through emergency routing.
646    EMERGENCY_CALL_ROUTE_EMERGENCY = 1;
647
648    // Emergency call to handle through normal routing
649    EMERGENCY_CALL_ROUTE_NORMAL = 2;
650}
651
652/**
653 * enum for device fold state
654 */
655enum FoldState {
656    STATE_UNKNOWN = 0;
657    STATE_CLOSED = 1;
658    STATE_HALF_OPENED = 2;
659    STATE_OPENED = 3;
660    STATE_FLIPPED = 4;
661}
662
663/**
664 * enum for result of data network validation.
665 */
666enum NetworkValidationResult {
667    VALIDATION_RESULT_UNSPECIFIED = 0;
668    VALIDATION_RESULT_NOT_SUPPORTED = 1;
669    VALIDATION_RESULT_ALREADY_IN_PROGRESS = 2;
670    VALIDATION_RESULT_SUCCESS = 3;
671    VALIDATION_RESULT_FAILURE = 4;
672}
673
674/**
675 * enum for call composer status
676 */
677enum CallComposerStatus {
678    CALL_COMPOSER_UNKNOWN = 0;
679    CALL_COMPOSER_STATUS_OFF = 1;
680    CALL_COMPOSER_STATUS_ON = 2;
681    CALL_COMPOSER_STATUS_BUSINESS_ONLY = 3;
682}
683
684/**
685 * enum for call state
686 * See frameworks/base/telephony/java/android/telephony/PreciseCallState.java
687 */
688enum CallState {
689    CALL_STATE_UNKNOWN = 0;
690    CALL_STATE_IDLE = 1;
691    CALL_STATE_ACTIVE = 2;
692    CALL_STATE_HOLDING = 3;
693    CALL_STATE_DIALING = 4;
694    CALL_STATE_ALERTING = 5;
695    CALL_STATE_INCOMING = 6;
696    CALL_STATE_WAITING = 7;
697    CALL_STATE_DISCONNECTED = 8;
698    CALL_STATE_DISCONNECTING = 9;
699    CALL_STATE_INCOMING_SETUP = 10;
700}
701