aboutsummaryrefslogtreecommitdiffstats
path: root/proto
diff options
context:
space:
mode:
authorJack Yu <jackyu@google.com>2016-09-27 12:07:53 -0700
committerJack Yu <jackyu@google.com>2016-09-29 15:11:11 -0700
commitf2d0fa64860a12423fb8709766d6af90fba5e6cf (patch)
treed480633f557abddf08ab603eb6b4e9d0e1b6a9d2 /proto
parent957fbb63fbbf2545f0d5f0b0f59b8322ee13d4f9 (diff)
downloadandroid_frameworks_opt_telephony-f2d0fa64860a12423fb8709766d6af90fba5e6cf.tar.gz
android_frameworks_opt_telephony-f2d0fa64860a12423fb8709766d6af90fba5e6cf.tar.bz2
android_frameworks_opt_telephony-f2d0fa64860a12423fb8709766d6af90fba5e6cf.zip
Combined TelephonyEventLog and part of the connectivity metrics
app into the new TelephonyMetrics Added the new TelephonyMetrics to support metrics collection through dumpsys. bug: 31224848 Change-Id: If4b6032e98b6cc8b68e8459e0e799a3755b1f2f9
Diffstat (limited to 'proto')
-rw-r--r--proto/telephony.proto1218
1 files changed, 1218 insertions, 0 deletions
diff --git a/proto/telephony.proto b/proto/telephony.proto
new file mode 100644
index 000000000..3531f39e3
--- /dev/null
+++ b/proto/telephony.proto
@@ -0,0 +1,1218 @@
+//
+// Copyright (C) 2016 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+syntax = "proto2";
+
+package clearcut.connectivity;
+
+option java_package = "com.android.internal.telephony";
+option java_outer_classname = "TelephonyProto";
+
+// The information about Telephony events.
+message TelephonyLog {
+
+ // Events logged by telephony services
+ repeated TelephonyEvent events = 1;
+
+ // Voice/Video call sessions
+ repeated TelephonyCallSession call_sessions = 2;
+
+ // Send/Receive SMS sessions
+ repeated SmsSession sms_sessions = 3;
+
+ // Telephony Histograms
+ repeated TelephonyHistogram histograms = 4;
+
+ // Indicating some telephony events are dropped
+ optional bool events_dropped = 5;
+
+ // The start time of this log
+ optional Time start_time = 6;
+
+ // The end time of this log
+ optional Time end_time = 7;
+}
+
+// The time information
+message Time {
+ // The system time in milli seconds. This represents the actual
+ // time of the events.
+ optional int64 system_timestamp_millis = 1;
+
+ // The time since boot in milli seconds.
+ // This is used for calculating the time interval between events. Different
+ // from the system time, this won't be affected by time changed by the network or users.
+ optional int64 elapsed_timestamp_millis = 2;
+}
+
+// Telephony Histogram
+message TelephonyHistogram {
+
+ // Type of histogram
+ optional int32 category = 1;
+
+ // Unique Id identifying a sample within
+ // particular category of the histogram.
+ optional int32 id = 2;
+
+ // Min time taken in millis.
+ optional int32 min_time_millis = 3;
+
+ // Max time taken in millis.
+ optional int32 max_time_millis = 4;
+
+ // Average time taken in millis.
+ optional int32 avg_time_millis = 5;
+
+ // Total count of histogram samples.
+ optional int32 count = 6;
+
+ // Total number of time ranges expected
+ // (must be greater than 1).
+ optional int32 bucket_count = 7;
+
+ // Array storing endpoints of range buckets.
+ repeated int32 bucket_end_points = 8;
+
+ // Array storing counts for each time range
+ // starting from smallest value range.
+ repeated int32 bucket_counters = 9;
+}
+
+// Telephony related user settings
+message TelephonySettings {
+
+ // NETWORK_MODE_* See ril.h RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE
+ enum RilNetworkMode {
+
+ // Mode is unknown.
+ NETWORK_MODE_UNKNOWN = 0;
+
+ // GSM/WCDMA (WCDMA preferred)
+ NETWORK_MODE_WCDMA_PREF = 1;
+
+ // GSM only
+ NETWORK_MODE_GSM_ONLY = 2;
+
+ // WCDMA only
+ NETWORK_MODE_WCDMA_ONLY = 3;
+
+ // GSM/WCDMA (auto mode, according to PRL)
+ NETWORK_MODE_GSM_UMTS = 4;
+
+ // CDMA and EvDo (auto mode, according to PRL)
+ NETWORK_MODE_CDMA = 5;
+
+ // CDMA only
+ NETWORK_MODE_CDMA_NO_EVDO = 6;
+
+ // EvDo only
+ NETWORK_MODE_EVDO_NO_CDMA = 7;
+
+ // GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
+ NETWORK_MODE_GLOBAL = 8;
+
+ // LTE, CDMA and EvDo
+ NETWORK_MODE_LTE_CDMA_EVDO = 9;
+
+ // LTE, GSM/WCDMA
+ NETWORK_MODE_LTE_GSM_WCDMA = 10;
+
+ // LTE, CDMA, EvDo, GSM/WCDMA
+ NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 11;
+
+ // LTE Only mode
+ NETWORK_MODE_LTE_ONLY = 12;
+
+ // LTE/WCDMA
+ NETWORK_MODE_LTE_WCDMA = 13;
+
+ // TD-SCDMA only
+ NETWORK_MODE_TDSCDMA_ONLY = 14;
+
+ // TD-SCDMA and WCDMA
+ NETWORK_MODE_TDSCDMA_WCDMA = 15;
+
+ // TD-SCDMA and LTE
+ NETWORK_MODE_LTE_TDSCDMA = 16;
+
+ // TD-SCDMA and GSM
+ NETWORK_MODE_TDSCDMA_GSM = 17;
+
+ // TD-SCDMA,GSM and LTE
+ NETWORK_MODE_LTE_TDSCDMA_GSM = 18;
+
+ // TD-SCDMA, GSM/WCDMA
+ NETWORK_MODE_TDSCDMA_GSM_WCDMA = 19;
+
+ // TD-SCDMA, WCDMA and LTE
+ NETWORK_MODE_LTE_TDSCDMA_WCDMA = 20;
+
+ // TD-SCDMA, GSM/WCDMA and LTE
+ NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 21;
+
+ // TD-SCDMA,EvDo,CDMA,GSM/WCDMA
+ NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22;
+
+ // TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo
+ NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 23;
+ }
+
+ // Constants for WiFi Calling mode
+ enum WiFiCallingMode {
+
+ // Calling mode is unknown.
+ WFC_MODE_UNKNOWN = 0;
+
+ WFC_MODE_WIFI_ONLY = 1;
+
+ WFC_MODE_CELLULAR_PREFERRED = 2;
+
+ WFC_MODE_WIFI_PREFERRED = 3;
+ }
+
+ // If the device is in airplane mode.
+ optional bool is_airplane_mode = 1;
+
+ // If cell-data has been enabled.
+ optional bool is_cellular_data_enabled = 2;
+
+ // If cell-roaming has been enabled.
+ optional bool is_data_roaming_enabled = 3;
+
+ // Preferred network mode.
+ optional RilNetworkMode preferred_network_mode = 4;
+
+ // If enhanced mode enabled.
+ optional bool is_enhanced_4g_lte_mode_enabled = 5;
+
+ // If wifi has been enabled.
+ optional bool is_wifi_enabled = 6;
+
+ // If wifi-calling has been enabled.
+ optional bool is_wifi_calling_enabled = 7;
+
+ // Wifi-calling Mode.
+ optional WiFiCallingMode wifi_calling_mode = 8;
+
+ // If video over LTE enabled.
+ optional bool is_vt_over_lte_enabled = 9;
+
+ // If video over wifi enabled.
+ optional bool is_vt_over_wifi_enabled = 10;
+}
+
+// Contains phone state and service related information.
+message TelephonyServiceState {
+
+ // The information about cellular network operator
+ message TelephonyOperator {
+
+ // Name in long alphanumeric format
+ optional string alpha_long = 1;
+
+ // Name in short alphanumeric format
+ optional string alpha_short = 2;
+
+ // Numeric id.
+ // In GSM/UMTS, numeric format is 3 digit country code plus 2 or 3 digit
+ // network code. Same as MCC/MNC.
+ optional string numeric = 3;
+ }
+
+ // Roaming type
+ enum RoamingType {
+
+ // In home network
+ ROAMING_TYPE_NOT_ROAMING = 0;
+
+ // In a roaming network, but we can not tell
+ // if it's domestic or international
+ ROAMING_TYPE_UNKNOWN = 1;
+
+ // In domestic roaming network
+ ROAMING_TYPE_DOMESTIC = 2;
+
+ // In international roaming network
+ ROAMING_TYPE_INTERNATIONAL = 3;
+ }
+
+ // Current registered operator
+ optional TelephonyOperator voice_operator = 1;
+
+ // Current registered data network operator
+ optional TelephonyOperator data_operator = 2;
+
+ // Current voice network roaming type
+ optional RoamingType voice_roaming_type = 3;
+
+ // Current data network roaming type
+ optional RoamingType data_roaming_type = 4;
+
+ // Current voice radio technology
+ optional RadioAccessTechnology voice_rat = 5;
+
+ // Current data radio technology
+ optional RadioAccessTechnology data_rat = 6;
+}
+
+// Radio access families
+enum RadioAccessTechnology {
+
+ RAT_UNKNOWN = 0;
+
+ RAT_GPRS = 1;
+
+ RAT_EDGE = 2;
+
+ RAT_UMTS = 3;
+
+ RAT_IS95A = 4;
+
+ RAT_IS95B = 5;
+
+ RAT_1XRTT = 6;
+
+ RAT_EVDO_0 = 7;
+
+ RAT_EVDO_A = 8;
+
+ RAT_HSDPA = 9;
+
+ RAT_HSUPA = 10;
+
+ RAT_HSPA = 11;
+
+ RAT_EVDO_B = 12;
+
+ RAT_EHRPD = 13;
+
+ RAT_LTE = 14;
+
+ RAT_HSPAP = 15;
+
+ RAT_GSM = 16;
+
+ RAT_TD_SCDMA = 17;
+
+ RAT_IWLAN = 18;
+}
+
+// The information about IMS errors
+// https://cs.corp.google.com/#android/frameworks/base/telephony/java/com/android/ims/ImsReasonInfo.java
+message ImsReasonInfo {
+
+ // Main reason code.
+ optional int32 reason_code = 1;
+
+ // Extra code value; it depends on the code value.
+ optional int32 extra_code = 2;
+
+ // Additional message of the reason info. We get this from the modem.
+ optional string extra_message = 3;
+}
+
+// The information about state connection between IMS service and IMS server
+message ImsConnectionState {
+
+ // Current state
+ optional State state = 1;
+
+ // If DISCONNECTED then this field may have additional information about
+ // connection problem.
+ optional ImsReasonInfo reason_info = 2;
+
+ // Posible states
+ enum State {
+
+ // State is unknown.
+ STATE_UNKNOWN = 0;
+
+ CONNECTED = 1;
+
+ PROGRESSING = 2;
+
+ DISCONNECTED = 3;
+
+ RESUMED = 4;
+
+ SUSPENDED = 5;
+ }
+}
+
+// The information about current capabilities of IMS service
+message ImsCapabilities {
+
+ optional bool voice_over_lte = 1;
+
+ optional bool voice_over_wifi = 2;
+
+ optional bool video_over_lte = 3;
+
+ optional bool video_over_wifi = 4;
+
+ optional bool ut_over_lte = 5;
+
+ optional bool ut_over_wifi = 6;
+}
+
+// Errors returned by RIL
+enum RilErrno {
+
+ // type is unknown.
+ RIL_E_UNKNOWN = 0;
+
+ RIL_E_SUCCESS = 1;
+
+ // If radio did not start or is resetting
+ RIL_E_RADIO_NOT_AVAILABLE = 2;
+
+ RIL_E_GENERIC_FAILURE = 3;
+
+ // for PIN/PIN2 methods only!
+ RIL_E_PASSWORD_INCORRECT = 4;
+
+ // Operation requires SIM PIN2 to be entered
+ RIL_E_SIM_PIN2 = 5;
+
+ // Operation requires SIM PIN2 to be entered
+ RIL_E_SIM_PUK2 = 6;
+
+ RIL_E_REQUEST_NOT_SUPPORTED = 7;
+
+ RIL_E_CANCELLED = 8;
+
+ // data ops are not allowed during voice call on a Class C GPRS device
+ RIL_E_OP_NOT_ALLOWED_DURING_VOICE_CALL = 9;
+
+ // data ops are not allowed before device registers in network
+ RIL_E_OP_NOT_ALLOWED_BEFORE_REG_TO_NW = 10;
+
+ // fail to send sms and need retry
+ RIL_E_SMS_SEND_FAIL_RETRY = 11;
+
+ // fail to set the location where CDMA subscription shall be retrieved
+ // because of SIM or RUIM card absent
+ RIL_E_SIM_ABSENT = 12;
+
+ // fail to find CDMA subscription from specified location
+ RIL_E_SUBSCRIPTION_NOT_AVAILABLE = 13;
+
+ // HW does not support preferred network type
+ RIL_E_MODE_NOT_SUPPORTED = 14;
+
+ // command failed because recipient is not on FDN list
+ RIL_E_FDN_CHECK_FAILURE = 15;
+
+ // network selection failed due to illegal SIM or ME
+ RIL_E_ILLEGAL_SIM_OR_ME = 16;
+
+ // no logical channel available
+ RIL_E_MISSING_RESOURCE = 17;
+
+ // application not found on SIM
+ RIL_E_NO_SUCH_ELEMENT = 18;
+
+ // DIAL request modified to USSD
+ RIL_E_DIAL_MODIFIED_TO_USSD = 19;
+
+ // DIAL request modified to SS
+ RIL_E_DIAL_MODIFIED_TO_SS = 20;
+
+ // DIAL request modified to DIAL with different data
+ RIL_E_DIAL_MODIFIED_TO_DIAL = 21;
+
+ // USSD request modified to DIAL
+ RIL_E_USSD_MODIFIED_TO_DIAL = 22;
+
+ // USSD request modified to SS
+ RIL_E_USSD_MODIFIED_TO_SS = 23;
+
+ // USSD request modified to different USSD request
+ RIL_E_USSD_MODIFIED_TO_USSD = 24;
+
+ // SS request modified to DIAL
+ RIL_E_SS_MODIFIED_TO_DIAL = 25;
+
+ // SS request modified to USSD
+ RIL_E_SS_MODIFIED_TO_USSD = 26;
+
+ // Subscription not supported by RIL
+ RIL_E_SUBSCRIPTION_NOT_SUPPORTED = 27;
+
+ // SS request modified to different SS request
+ RIL_E_SS_MODIFIED_TO_SS = 28;
+
+ // LCE service not supported(36 in RILConstants.java)
+ RIL_E_LCE_NOT_SUPPORTED = 36;
+}
+
+// PDP_type values in TS 27.007 section 10.1.1.
+enum PdpType {
+
+ // type is unknown.
+ PDP_UNKNOWN = 0;
+
+ PDP_TYPE_IP = 1;
+
+ PDP_TYPE_IPV6 = 2;
+
+ PDP_TYPE_IPV4V6 = 3;
+
+ PDP_TYPE_PPP = 4;
+}
+
+// The information about packet data connection
+message RilDataCall {
+
+ // Context ID, uniquely identifies this call
+ optional int32 cid = 1;
+
+ // One of the PDP_type values in TS 27.007 section 10.1.1
+ optional PdpType type = 2;
+
+ // The network interface name e.g. wlan0, rmnet_data0.
+ optional string iframe = 3;
+}
+
+message TelephonyEvent {
+
+ enum Type {
+
+ // Unknown event
+ UNKNOWN = 0;
+
+ // Telephony related user settings changed
+ SETTINGS_CHANGED = 1;
+
+ // Phone state changed
+ RIL_SERVICE_STATE_CHANGED = 2;
+
+ // IMS connected/disconnected
+ IMS_CONNECTION_STATE_CHANGED = 3;
+
+ // IMS Voice, Video and Ut capabilities changed
+ IMS_CAPABILITIES_CHANGED = 4;
+
+ // Setup a packet data connection
+ DATA_CALL_SETUP = 5;
+
+ // RIL request result
+ DATA_CALL_SETUP_RESPONSE = 6;
+
+ // Notification that new data call has appeared in the list
+ // or old data call has removed.
+ DATA_CALL_LIST_CHANGED = 7;
+
+ // Deactivate packet data connection
+ DATA_CALL_DEACTIVATE = 8;
+
+ // RIL request result
+ DATA_CALL_DEACTIVATE_RESPONSE = 9;
+
+ // Logging a data stall + its action
+ DATA_STALL_ACTION = 10;
+
+ // Modem Restarted. Logging a baseband version and reason for restart
+ // along with the event if it is available
+ MODEM_RESTART = 11;
+
+ // System time overwritten by NITZ (Network time)
+ NITZ_TIME = 12;
+ }
+
+ // Setup a packet data connection
+ message RilSetupDataCall {
+
+ // See ril.h RIL_REQUEST_SETUP_DATA_CALL
+ enum RilDataProfile {
+
+ // type is unknown.
+ RIL_DATA_UNKNOWN = 0;
+
+ RIL_DATA_PROFILE_DEFAULT = 1;
+
+ RIL_DATA_PROFILE_TETHERED = 2;
+
+ RIL_DATA_PROFILE_IMS = 3;
+
+ RIL_DATA_PROFILE_FOTA = 4;
+
+ RIL_DATA_PROFILE_CBS = 5;
+
+ RIL_DATA_PROFILE_OEM_BASE = 6;
+
+ RIL_DATA_PROFILE_INVALID = 7;
+ }
+
+ // Radio technology to use
+ optional RadioAccessTechnology rat = 1;
+
+ // optional RIL_DataProfile
+ optional RilDataProfile data_profile = 2;
+
+ // APN to connect to if radio technology is GSM/UMTS
+ optional string apn = 3;
+
+ // the connection type to request
+ optional PdpType type = 4;
+ }
+
+ // RIL response to RilSetupDataCall
+ message RilSetupDataCallResponse {
+
+ // Copy of enum RIL_DataCallFailCause defined at
+ // https://cs.corp.google.com/android/hardware/ril/include/telephony/ril.h
+ enum RilDataCallFailCause {
+
+ // Failure reason is unknown.
+ PDP_FAIL_UNKNOWN = 0;
+
+ // No error, connection ok
+ PDP_FAIL_NONE = 1;
+
+ PDP_FAIL_OPERATOR_BARRED = 8;
+
+ PDP_FAIL_NAS_SIGNALLING = 14;
+
+ PDP_FAIL_LLC_SNDCP = 25;
+
+ PDP_FAIL_INSUFFICIENT_RESOURCES = 26;
+
+ PDP_FAIL_MISSING_UKNOWN_APN = 27;
+
+ PDP_FAIL_UNKNOWN_PDP_ADDRESS_TYPE = 28;
+
+ PDP_FAIL_USER_AUTHENTICATION = 29;
+
+ PDP_FAIL_ACTIVATION_REJECT_GGSN = 30;
+
+ PDP_FAIL_ACTIVATION_REJECT_UNSPECIFIED = 31;
+
+ PDP_FAIL_SERVICE_OPTION_NOT_SUPPORTED = 32;
+
+ PDP_FAIL_SERVICE_OPTION_NOT_SUBSCRIBED = 33;
+
+ PDP_FAIL_SERVICE_OPTION_OUT_OF_ORDER = 34;
+
+ PDP_FAIL_NSAPI_IN_USE = 35;
+
+ // Possibly restart radio, based on framework config
+ PDP_FAIL_REGULAR_DEACTIVATION = 36;
+
+ PDP_FAIL_QOS_NOT_ACCEPTED = 37;
+
+ PDP_FAIL_NETWORK_FAILURE = 38;
+
+ PDP_FAIL_UMTS_REACTIVATION_REQ = 39;
+
+ PDP_FAIL_FEATURE_NOT_SUPP = 40;
+
+ PDP_FAIL_TFT_SEMANTIC_ERROR = 41;
+
+ PDP_FAIL_TFT_SYTAX_ERROR = 42;
+
+ PDP_FAIL_UNKNOWN_PDP_CONTEXT = 43;
+
+ PDP_FAIL_FILTER_SEMANTIC_ERROR = 44;
+
+ PDP_FAIL_FILTER_SYTAX_ERROR = 45;
+
+ PDP_FAIL_PDP_WITHOUT_ACTIVE_TFT = 46;
+
+ PDP_FAIL_ONLY_IPV4_ALLOWED = 50;
+
+ PDP_FAIL_ONLY_IPV6_ALLOWED = 51;
+
+ PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED = 52;
+
+ PDP_FAIL_ESM_INFO_NOT_RECEIVED = 53;
+
+ PDP_FAIL_PDN_CONN_DOES_NOT_EXIST = 54;
+
+ PDP_FAIL_MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55;
+
+ PDP_FAIL_MAX_ACTIVE_PDP_CONTEXT_REACHED = 65;
+
+ PDP_FAIL_UNSUPPORTED_APN_IN_CURRENT_PLMN = 66;
+
+ PDP_FAIL_INVALID_TRANSACTION_ID = 81;
+
+ PDP_FAIL_MESSAGE_INCORRECT_SEMANTIC = 95;
+
+ PDP_FAIL_INVALID_MANDATORY_INFO = 96;
+
+ PDP_FAIL_MESSAGE_TYPE_UNSUPPORTED = 97;
+
+ PDP_FAIL_MSG_TYPE_NONCOMPATIBLE_STATE = 98;
+
+ PDP_FAIL_UNKNOWN_INFO_ELEMENT = 99;
+
+ PDP_FAIL_CONDITIONAL_IE_ERROR = 100;
+
+ PDP_FAIL_MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101;
+
+ PDP_FAIL_PROTOCOL_ERRORS = 111;
+
+ PDP_FAIL_APN_TYPE_CONFLICT = 112;
+
+ PDP_FAIL_INVALID_PCSCF_ADDR = 113;
+
+ PDP_FAIL_INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114;
+
+ PDP_FAIL_EMM_ACCESS_BARRED = 115;
+
+ PDP_FAIL_EMERGENCY_IFACE_ONLY = 116;
+
+ PDP_FAIL_IFACE_MISMATCH = 117;
+
+ PDP_FAIL_COMPANION_IFACE_IN_USE = 118;
+
+ PDP_FAIL_IP_ADDRESS_MISMATCH = 119;
+
+ PDP_FAIL_IFACE_AND_POL_FAMILY_MISMATCH = 120;
+
+ PDP_FAIL_EMM_ACCESS_BARRED_INFINITE_RETRY = 121;
+
+ PDP_FAIL_AUTH_FAILURE_ON_EMERGENCY_CALL = 122;
+
+ // Not mentioned in the specification
+ PDP_FAIL_VOICE_REGISTRATION_FAIL = -1;
+
+ PDP_FAIL_DATA_REGISTRATION_FAIL = -2;
+
+ // Reasons for data call drop - network/modem disconnect
+ PDP_FAIL_SIGNAL_LOST = -3;
+
+ // Preferred technology has changed, should retry with parameters
+ // appropriate for new technology
+ PDP_FAIL_PREF_RADIO_TECH_CHANGED = -4;
+
+ // Data call was disconnected because radio was resetting,
+ // powered off - no retry
+ PDP_FAIL_RADIO_POWER_OFF = -5;
+
+ // Data call was disconnected by modem because tethered mode was up
+ // on same APN/data profile - no retry until tethered call is off
+ PDP_FAIL_TETHERED_CALL_ACTIVE = -6;
+
+ // retry silently
+ PDP_FAIL_ERROR_UNSPECIFIED = 65535;
+ }
+
+ // A RIL_DataCallFailCause, 0 which is PDP_FAIL_NONE if no error
+ optional RilDataCallFailCause status = 1;
+
+ // If status != 0, this fields indicates the suggested retry back-off timer
+ // value RIL wants to override the one pre-configured in FW
+ optional int32 suggested_retry_time_millis = 2;
+
+ optional RilDataCall call = 3;
+ }
+
+ // Deactivate packet data connection
+ message RilDeactivateDataCall {
+
+ // Context ID
+ optional int32 cid = 1;
+
+ // Reason for deactivating data call
+ optional DeactivateReason reason = 2;
+
+ // Deactivate data call reasons
+ enum DeactivateReason {
+
+ // Reason is unknown.
+ DEACTIVATE_REASON_UNKNOWN = 0;
+
+ DEACTIVATE_REASON_NONE = 1;
+
+ DEACTIVATE_REASON_RADIO_OFF = 2;
+
+ DEACTIVATE_REASON_PDP_RESET = 3;
+ }
+ }
+
+ message ModemRestart {
+ // The baseband_version is used to identify the particular software version
+ // where the modem restarts happened
+ optional string baseband_version = 1;
+
+ // Indicates the modem restart reason. The restart reason can be used to
+ // categorize any modem crashes and group similar crashes together. This
+ // information will be useful to identify the cause of modem crashes,
+ // reproduce the issue and confirm that the fix works.
+ optional string reason = 2;
+ }
+
+ // Time when event happened on device, in milliseconds since epoch
+ optional int64 timestamp_millis = 1;
+
+ // In Multi-SIM devices this indicates SIM slot
+ optional int32 phone_id = 2;
+
+ // Event type
+ optional Type type = 3;
+
+ // User settings
+ optional TelephonySettings settings = 4;
+
+ // RIL Service State
+ optional TelephonyServiceState service_state = 5;
+
+ // IMS state
+ optional ImsConnectionState ims_connection_state = 6;
+
+ // IMS capabilities
+ optional ImsCapabilities ims_capabilities = 7;
+
+ // List of data calls when changed
+ repeated RilDataCall data_calls = 8;
+
+ // RIL error code
+ optional RilErrno error = 9;
+
+ optional RilSetupDataCall setup_data_call = 10;
+
+ optional RilSetupDataCallResponse setup_data_call_response = 11;
+
+ optional RilDeactivateDataCall deactivate_data_call = 12;
+
+ optional int32 data_stall_action = 13;
+
+ optional ModemRestart modem_restart = 14;
+
+ // NITZ time in milliseconds
+ optional int64 nitz_timestamp_millis = 15;
+}
+
+enum TimeInterval {
+ TI_UNKNOWN = 0;
+ TI_10_MILLIS = 1;
+ TI_20_MILLIS = 2;
+ TI_50_MILLIS = 3;
+ TI_100_MILLIS = 4;
+ TI_200_MILLIS = 5;
+ TI_500_MILLIS = 6;
+ TI_1_SEC = 7;
+ TI_2_SEC = 8;
+ TI_5_SEC = 9;
+ TI_10_SEC = 10;
+ TI_30_SEC = 11;
+ TI_1_MINUTE = 12;
+ TI_3_MINUTES = 13;
+ TI_10_MINUTES = 14;
+ TI_30_MINUTES = 15;
+ TI_1_HOUR = 16;
+ TI_2_HOURS = 17;
+ TI_4_HOURS = 18;
+ TI_MANY_HOURS = 19;
+}
+
+// Information about CS and/or PS call session.
+// Session starts when call is placed or accepted and
+// ends when there are no more active calls.
+message TelephonyCallSession {
+
+ message Event {
+
+ enum Type {
+
+ // Unknown event
+ EVENT_UNKNOWN = 0;
+
+ // Telephony related user settings changed
+ SETTINGS_CHANGED = 1;
+
+ // Phone state changed
+ RIL_SERVICE_STATE_CHANGED = 2;
+
+ // IMS connected/disconnected
+ IMS_CONNECTION_STATE_CHANGED = 3;
+
+ // IMS Voice, Video and Ut capabilities changed
+ IMS_CAPABILITIES_CHANGED = 4;
+
+ // Notification that new data call has appeared in the list
+ // or old data call has removed.
+ DATA_CALL_LIST_CHANGED = 5;
+
+ // Send request to RIL
+ RIL_REQUEST = 6;
+
+ // Result of the RIL request
+ RIL_RESPONSE = 7;
+
+ // Ring indication for an incoming call
+ RIL_CALL_RING = 8;
+
+ // Notification that Single Radio Voice Call Continuity(SRVCC)
+ // progress state has changed.
+ RIL_CALL_SRVCC = 9;
+
+ // Notification that list of calls has changed.
+ RIL_CALL_LIST_CHANGED = 10;
+
+ // Command sent to IMS Service. See ImsCommand.
+ IMS_COMMAND = 11;
+
+ // Command sent to IMS Service. See ImsCommand.
+ IMS_COMMAND_RECEIVED = 12;
+
+ // Command sent to IMS Service. See ImsCommand.
+ IMS_COMMAND_FAILED = 13;
+
+ // Command sent to IMS Service. See ImsCommand.
+ IMS_COMMAND_COMPLETE = 14;
+
+ // Notification about incoming voice call
+ IMS_CALL_RECEIVE = 15;
+
+ // Notification that state of the call has changed
+ IMS_CALL_STATE_CHANGED = 16;
+
+ // Notification about IMS call termination
+ IMS_CALL_TERMINATED = 17;
+
+ // Notification that session access technology has changed
+ IMS_CALL_HANDOVER = 18;
+
+ // Notification that session access technology has changed
+ IMS_CALL_HANDOVER_FAILED = 19;
+
+ // Notification about phone state changed.
+ PHONE_STATE_CHANGED = 20;
+
+ // System time overwritten by NITZ (Network time)
+ NITZ_TIME = 21;
+ }
+
+ enum RilRequest {
+
+ RIL_REQUEST_UNKNOWN = 0;
+
+ // Initiate voice call
+ RIL_REQUEST_DIAL = 1;
+
+ // Answer incoming call
+ RIL_REQUEST_ANSWER = 2;
+
+ // Hang up a specific line
+ RIL_REQUEST_HANGUP = 3;
+
+ // Configure current call waiting state
+ RIL_REQUEST_SET_CALL_WAITING = 4;
+
+ RIL_REQUEST_SWITCH_HOLDING_AND_ACTIVE = 5;
+
+ // Send FLASH
+ RIL_REQUEST_CDMA_FLASH = 6;
+
+ // Conference holding and active
+ RIL_REQUEST_CONFERENCE = 7;
+ }
+
+ enum ImsCommand {
+
+ // Command is unknown.
+ IMS_CMD_UNKNOWN = 0;
+
+ IMS_CMD_START = 1;
+
+ IMS_CMD_ACCEPT = 2;
+
+ IMS_CMD_REJECT = 3;
+
+ IMS_CMD_TERMINATE = 4;
+
+ IMS_CMD_HOLD = 5;
+
+ IMS_CMD_RESUME = 6;
+
+ IMS_CMD_MERGE = 7;
+
+ IMS_CMD_UPDATE = 8;
+
+ IMS_CMD_CONFERENCE_EXTEND = 9;
+
+ IMS_CMD_INVITE_PARTICIPANT = 10;
+
+ IMS_CMD_REMOVE_PARTICIPANT = 11;
+ }
+
+ enum PhoneState {
+
+ // State is unknown.
+ STATE_UNKNOWN = 0;
+
+ STATE_IDLE = 1;
+
+ STATE_RINGING = 2;
+
+ STATE_OFFHOOK = 3;
+ }
+
+ // Telephony call states
+ enum CallState {
+
+ // State is unknown.
+ CALL_UNKNOWN = 0;
+
+ CALL_IDLE = 1;
+
+ CALL_ACTIVE = 2;
+
+ CALL_HOLDING = 3;
+
+ CALL_DIALING = 4;
+
+ CALL_ALERTING = 5;
+
+ CALL_INCOMING = 6;
+
+ CALL_WAITING = 7;
+
+ CALL_DISCONNECTED = 8;
+
+ CALL_DISCONNECTING = 9;
+ }
+
+ // The information about a voice call
+ message RilCall {
+
+ enum Type {
+
+ // Scan Type is unknown.
+ UNKNOWN = 0;
+
+ // Mobile originated
+ MO = 1;
+
+ // Mobile terminated
+ MT = 2;
+ }
+
+ // Connection Index
+ optional int32 index = 1;
+
+ optional CallState state = 2;
+
+ optional Type type = 3;
+ }
+
+ // Single Radio Voice Call Continuity(SRVCC) progress state
+ enum RilSrvccState {
+
+ // State is unknown.
+ HANDOVER_UNKNOWN = 0;
+
+ HANDOVER_STARTED = 1;
+
+ HANDOVER_COMPLETED = 2;
+
+ HANDOVER_FAILED = 3;
+
+ HANDOVER_CANCELED = 4;
+ }
+
+ // Event type
+ optional Type type = 1;
+
+ // Time since previous event
+ optional TimeInterval delay = 2;
+
+ // Settings at the begining of the session or when changed
+ optional TelephonySettings settings = 3;
+
+ // State at the beginning of the session or when changed
+ optional TelephonyServiceState service_state = 4;
+
+ // State at the beginning of the session or when changed
+ optional ImsConnectionState ims_connection_state = 5;
+
+ // Capabilities at the beginning of the session or when changed
+ optional ImsCapabilities ims_capabilities = 6;
+
+ // List of data calls at the beginning of the session or when changed
+ repeated RilDataCall data_calls = 7;
+
+ // New state
+ optional PhoneState phone_state = 8;
+
+ // New state
+ optional CallState call_state = 9;
+
+ // CS or IMS Voice call index
+ optional int32 call_index = 10;
+
+ // New merged call
+ optional int32 merged_call_index = 11;
+
+ // Active CS Voice calls
+ repeated RilCall calls = 12;
+
+ // RIL error code
+ optional RilErrno error = 13;
+
+ // RIL request
+ optional RilRequest ril_request = 14;
+
+ // Numeric ID
+ optional int32 ril_request_id = 15;
+
+ // New SRVCC state
+ optional RilSrvccState srvcc_state = 16;
+
+ // IMS command
+ optional ImsCommand ims_command = 17;
+
+ // IMS Failure reason
+ optional ImsReasonInfo reason_info = 18;
+
+ // Original access technology
+ optional RadioAccessTechnology src_access_tech = 19;
+
+ // New access technology
+ optional RadioAccessTechnology target_access_tech = 20;
+
+ // NITZ time in milliseconds
+ optional int64 nitz_timestamp_millis = 21;
+ }
+
+ // Time when call has started, in minutes since epoch,
+ // with 5 minutes precision
+ optional int32 start_time_minutes = 1;
+
+ // In Multi-SIM devices this indicates SIM slot
+ optional int32 phone_id = 2;
+
+ // List of events happened during the call
+ repeated Event events = 3;
+
+ // Indicating some call events are dropped
+ optional bool events_dropped = 4;
+}
+
+message SmsSession {
+
+ message Event {
+
+ enum Type {
+
+ // Unknown event
+ EVENT_UNKNOWN = 0;
+
+ // Telephony related user settings changed
+ SETTINGS_CHANGED = 1;
+
+ // Phone state changed
+ RIL_SERVICE_STATE_CHANGED = 2;
+
+ // IMS connected/disconnected
+ IMS_CONNECTION_STATE_CHANGED = 3;
+
+ // IMS Voice, Video and Ut capabilities changed
+ IMS_CAPABILITIES_CHANGED = 4;
+
+ // Notification that new data call has appeared in the list
+ // or old data call has removed.
+ DATA_CALL_LIST_CHANGED = 5;
+
+ // Send a SMS message
+ SMS_SEND = 6;
+
+ // Message has been sent to network
+ SMS_SEND_RESULT = 7;
+
+ // Notification about received SMS
+ SMS_RECEIVED = 8;
+ }
+
+ // Formats used to encode SMS messages
+ enum Format {
+
+ // State is unknown.
+ SMS_FORMAT_UNKNOWN = 0;
+
+ // GSM, WCDMA
+ SMS_FORMAT_3GPP = 1;
+
+ // CDMA
+ SMS_FORMAT_3GPP2 = 2;
+ }
+
+ enum Tech {
+ SMS_UNKNOWN = 0;
+
+ SMS_GSM = 1;
+
+ SMS_CDMA = 2;
+
+ SMS_IMS = 3;
+ }
+
+ // Event type
+ optional Type type = 1;
+
+ // Time since previous event
+ optional TimeInterval delay = 2;
+
+ // Settings at the begining of the session or when changed
+ optional TelephonySettings settings = 3;
+
+ // State at the beginning of the session or when changed
+ optional TelephonyServiceState service_state = 4;
+
+ // State at the beginning of the session or when changed
+ optional ImsConnectionState ims_connection_state = 5;
+
+ // Capabilities at the beginning of the session or when changed
+ optional ImsCapabilities ims_capabilities = 6;
+
+ // List of data calls at the beginning of the session or when changed
+ repeated RilDataCall data_calls = 7;
+
+ // Format of the message
+ optional Format format = 8;
+
+ // Technology used to send/receive SMS
+ optional Tech tech = 9;
+
+ // See 3GPP 27.005, 3.2.5 for GSM/UMTS,
+ // 3GPP2 N.S0005 (IS-41C) Table 171 for CDMA,
+ // -1 if unknown or not applicable
+ optional int32 error_code = 10;
+
+ // RIL error code
+ optional RilErrno error = 11;
+
+ // Numeric ID
+ optional int32 ril_request_id = 12;
+ }
+
+ // Time when session has started, in minutes since epoch,
+ // with 5 minutes precision
+ optional int32 start_time_minutes = 1;
+
+ // In Multi-SIM devices this indicates SIM slot
+ optional int32 phone_id = 2;
+
+ // List of events happened during the call
+ repeated Event events = 3;
+
+ // Indicating some sms session events are dropped
+ optional bool events_dropped = 4;
+}