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