blob: e441f71ca81ec89fcf7e65613b13164e4e2ee571 [file] [log] [blame]
//
// 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;
// Modem power stats
optional ModemPowerStats modem_power_stats = 8;
}
// 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 PREF_NET_TYPE_XXXX
enum RilNetworkMode {
// Mode is unknown.
NETWORK_MODE_UNKNOWN = 0;
// GSM/WCDMA (WCDMA preferred). Note the following values are all off by 1.
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 {
// Unknown. The default value. Different from ROAMING_TYPE_UNKNOWN.
UNKNOWN = -1;
// 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 [default = UNKNOWN];
// Current data network roaming type
optional RoamingType data_roaming_type = 4 [default = UNKNOWN];
// Current voice radio technology
optional RadioAccessTechnology voice_rat = 5 [default = UNKNOWN];
// Current data radio technology
optional RadioAccessTechnology data_rat = 6 [default = UNKNOWN];
}
// Radio access families
enum RadioAccessTechnology {
// This is the default value. Different from RAT_UNKNOWN.
UNKNOWN = -1;
// Airplane mode, out of service, or when the modem cannot determine
// the RAT.
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;
RAT_LTE_CA = 19;
}
// 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;
// Note the following values are all off by 1.
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. This is a mistake.
// The value should be off by 1 ideally.)
RIL_E_LCE_NOT_SUPPORTED = 36 [deprecated=true];
// LCE service not supported
RIL_E_LCE_NOT_SUPPORTED_NEW = 37;
// Not sufficient memory to process the request
RIL_E_NO_MEMORY = 38;
// Modem hit unexpected error scenario while handling this request
RIL_E_INTERNAL_ERR = 39;
// Hit platform or system error
RIL_E_SYSTEM_ERR = 40;
// Vendor RIL got unexpected or incorrect response from modem for this request
RIL_E_MODEM_ERR = 41;
// Unexpected request for the current state
RIL_E_INVALID_STATE = 42;
// Not sufficient resource to process the request
RIL_E_NO_RESOURCES = 43;
// Received error from SIM card
RIL_E_SIM_ERR = 44;
// Received invalid arguments in request
RIL_E_INVALID_ARGUMENTS = 45;
// Cannot process the request in current SIM state
RIL_E_INVALID_SIM_STATE = 46;
// Cannot process the request in current Modem state
RIL_E_INVALID_MODEM_STATE = 47;
// Received invalid call id in request
RIL_E_INVALID_CALL_ID = 48;
// ACK received when there is no SMS to ack
RIL_E_NO_SMS_TO_ACK = 49;
// Received error from network
RIL_E_NETWORK_ERR = 50;
// Operation denied due to overly-frequent requests
RIL_E_REQUEST_RATE_LIMITED = 51;
// SIM is busy
RIL_E_SIM_BUSY = 52;
// The target EF is full
RIL_E_SIM_FULL = 53;
// Request is rejected by network
RIL_E_NETWORK_REJECT = 54;
// Not allowed the request now
RIL_E_OPERATION_NOT_ALLOWED = 55;
// The request record is empty
RIL_E_EMPTY_RECORD = 56;
// Invalid sms format
RIL_E_INVALID_SMS_FORMAT = 57;
// Message not encoded properly
RIL_E_ENCODING_ERR = 58;
// SMSC address specified is invalid
RIL_E_INVALID_SMSC_ADDRESS = 59;
// No such entry present to perform the request
RIL_E_NO_SUCH_ENTRY = 60;
// Network is not ready to perform the request
RIL_E_NETWORK_NOT_READY = 61;
// Device does not have this value provisioned
RIL_E_NOT_PROVISIONED = 62;
// Device does not have subscription
RIL_E_NO_SUBSCRIPTION = 63;
// Network cannot be found
RIL_E_NO_NETWORK_FOUND = 64;
// Operation cannot be performed because the device is currently in use
RIL_E_DEVICE_IN_USE = 65;
// Operation aborted
RIL_E_ABORTED = 66;
// Invalid response sent by vendor code
RIL_E_INVALID_RESPONSE = 67;
}
// 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;
// Carrier Identification Matching Event
CARRIER_ID_MATCHING = 13;
// Carrier Key Change event.
CARRIER_KEY_CHANGED = 14;
}
// 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 [default = UNKNOWN];
// 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 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;
}
// Carrier Key Change Event.
message CarrierKeyChange {
enum KeyType {
// Key Type Unknown.
UNKNOWN = 0;
// Key Type for WLAN.
WLAN = 1;
// Key Type for EPDG.
EPDG = 2;
}
// Key type of the Encryption key.
optional KeyType key_type = 1;
// Whether the download was successful or not.
optional bool isDownloadSuccessful = 2;
}
// 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;
DEACTIVATE_REASON_HANDOVER = 4;
}
}
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;
}
message CarrierIdMatching {
// Carrier id table version number
optional int32 cid_table_version = 1;
// Carrier id matching result object
optional CarrierIdMatchingResult result = 2;
}
message CarrierIdMatchingResult {
// A unique carrier id
optional int32 carrier_id = 1;
// Group id level 1. Logged only if gid1 is configured from subscription
// but its matching rule is unknown
optional string gid1 = 2;
// MCC and MNC that map to this carrier. Logged only if mccmnc is configured
// from subscription but its matching rule is unknown
optional string mccmnc = 3;
}
// 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;
// Setup data call request
optional RilSetupDataCall setup_data_call = 10;
// Setup data call response
optional RilSetupDataCallResponse setup_data_call_response = 11;
// Deactivate data call request
optional RilDeactivateDataCall deactivate_data_call = 12;
// Data call stall recovery action
optional int32 data_stall_action = 13;
// Modem restart event
optional ModemRestart modem_restart = 14;
// NITZ time in milliseconds
optional int64 nitz_timestamp_millis = 15;
// Carrier id matching event
optional CarrierIdMatching carrier_id_matching = 16;
// Carrier key change
optional CarrierKeyChange carrier_key_change = 17;
}
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;
// For possible values for a call end reason check
// frameworks/base/telephony/java/android/telephony/DisconnectCause.java
optional int32 call_end_reason = 4;
// This field is true for Conference Calls
optional bool is_multiparty = 5;
}
// 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 beginning 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 [default = UNKNOWN];
// New access technology
optional RadioAccessTechnology target_access_tech = 20 [default = UNKNOWN];
// 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;
// CB message received
CB_SMS_RECEIVED = 9;
}
// 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;
}
message CBMessage {
// CB message format
optional Format msg_format = 1;
// CB message priority
optional CBPriority msg_priority = 2;
// Type of CB msg
optional CBMessageType msg_type = 3;
// Service category of CB message
optional int32 service_category = 4;
}
enum CBMessageType {
// Unknown type
TYPE_UNKNOWN = 0;
// ETWS CB msg
ETWS = 1;
// CMAS CB msg
CMAS = 2;
// CB msg other than ETWS and CMAS
OTHER = 3;
}
enum CBPriority {
// Unknown priority
PRIORITY_UNKNOWN = 0;
// NORMAL priority
NORMAL = 1;
// Interactive priority
INTERACTIVE = 2;
// Urgent priority
URGENT = 3;
// Emergency priority
EMERGENCY = 4;
}
// Event type
optional Type type = 1;
// Time since previous event
optional TimeInterval delay = 2;
// Settings at the beginning 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;
// Cellbroadcast message content
optional CBMessage cell_broadcast_message = 13;
}
// 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;
}
// Power stats for modem
message ModemPowerStats {
// Duration of log (ms). This is the duration of time device is
// on battery and modem power stats are collected.
optional int64 logging_duration_ms = 1;
// Energy consumed by modem (mAh)
optional double energy_consumed_mah = 2;
// Number of packets sent (tx)
optional int64 num_packets_tx = 3;
// Amount of time kernel is active because of cellular data (ms)
optional int64 cellular_kernel_active_time_ms = 4;
// Amount of time spent in very poor rx signal level (ms)
optional int64 time_in_very_poor_rx_signal_level_ms = 5;
// Amount of time modem is in sleep (ms)
optional int64 sleep_time_ms = 6;
// Amount of time modem is in idle (ms)
optional int64 idle_time_ms = 7;
// Amount of time modem is in rx (ms)
optional int64 rx_time_ms = 8;
// Amount of time modem is in tx (ms)
repeated int64 tx_time_ms = 9;
}