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