1// 2// Copyright (C) 2016 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"; 18 19package clearcut.connectivity; 20 21option java_package = "com.android.internal.telephony"; 22option java_outer_classname = "TelephonyProto"; 23 24// The information about Telephony events. 25message TelephonyLog { 26 27 // Events logged by telephony services 28 repeated TelephonyEvent events = 1; 29 30 // Voice/Video call sessions 31 repeated TelephonyCallSession call_sessions = 2; 32 33 // Send/Receive SMS sessions 34 repeated SmsSession sms_sessions = 3; 35 36 // Telephony Histograms 37 repeated TelephonyHistogram histograms = 4; 38 39 // Indicating some telephony events are dropped 40 optional bool events_dropped = 5; 41 42 // The start time of this log 43 optional Time start_time = 6; 44 45 // The end time of this log 46 optional Time end_time = 7; 47 48 // Modem power stats 49 optional ModemPowerStats modem_power_stats = 8; 50 51 // Hardware revision (EVT, DVT, PVT etc.) 52 optional string hardware_revision = 9; 53 54 // The last active subscription info for each slot. 55 repeated ActiveSubscriptionInfo last_active_subscription_info = 10; 56 57 // Bandwidth estimator stats 58 optional BandwidthEstimatorStats bandwidth_estimator_stats = 11; 59} 60 61// The time information 62message Time { 63 // The system time in milli seconds. This represents the actual 64 // time of the events. 65 optional int64 system_timestamp_millis = 1; 66 67 // The time since boot in milli seconds. 68 // This is used for calculating the time interval between events. Different 69 // from the system time, this won't be affected by time changed by the network or users. 70 optional int64 elapsed_timestamp_millis = 2; 71} 72 73// Telephony Histogram 74message TelephonyHistogram { 75 76 // Type of histogram 77 optional int32 category = 1; 78 79 // Unique Id identifying a sample within 80 // particular category of the histogram. 81 optional int32 id = 2; 82 83 // Min time taken in millis. 84 optional int32 min_time_millis = 3; 85 86 // Max time taken in millis. 87 optional int32 max_time_millis = 4; 88 89 // Average time taken in millis. 90 optional int32 avg_time_millis = 5; 91 92 // Total count of histogram samples. 93 optional int32 count = 6; 94 95 // Total number of time ranges expected 96 // (must be greater than 1). 97 optional int32 bucket_count = 7; 98 99 // Array storing endpoints of range buckets. 100 repeated int32 bucket_end_points = 8; 101 102 // Array storing counts for each time range 103 // starting from smallest value range. 104 repeated int32 bucket_counters = 9; 105} 106 107// Telephony related user settings 108message TelephonySettings { 109 110 // NETWORK_MODE_* See ril.h PREF_NET_TYPE_XXXX 111 enum RilNetworkMode { 112 113 // Mode is unknown. 114 NETWORK_MODE_UNKNOWN = 0; 115 116 // GSM/WCDMA (WCDMA preferred). Note the following values are all off by 1. 117 NETWORK_MODE_WCDMA_PREF = 1; 118 119 // GSM only 120 NETWORK_MODE_GSM_ONLY = 2; 121 122 // WCDMA only 123 NETWORK_MODE_WCDMA_ONLY = 3; 124 125 // GSM/WCDMA (auto mode, according to PRL) 126 NETWORK_MODE_GSM_UMTS = 4; 127 128 // CDMA and EvDo (auto mode, according to PRL) 129 NETWORK_MODE_CDMA = 5; 130 131 // CDMA only 132 NETWORK_MODE_CDMA_NO_EVDO = 6; 133 134 // EvDo only 135 NETWORK_MODE_EVDO_NO_CDMA = 7; 136 137 // GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) 138 NETWORK_MODE_GLOBAL = 8; 139 140 // LTE, CDMA and EvDo 141 NETWORK_MODE_LTE_CDMA_EVDO = 9; 142 143 // LTE, GSM/WCDMA 144 NETWORK_MODE_LTE_GSM_WCDMA = 10; 145 146 // LTE, CDMA, EvDo, GSM/WCDMA 147 NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 11; 148 149 // LTE Only mode 150 NETWORK_MODE_LTE_ONLY = 12; 151 152 // LTE/WCDMA 153 NETWORK_MODE_LTE_WCDMA = 13; 154 155 // TD-SCDMA only 156 NETWORK_MODE_TDSCDMA_ONLY = 14; 157 158 // TD-SCDMA and WCDMA 159 NETWORK_MODE_TDSCDMA_WCDMA = 15; 160 161 // TD-SCDMA and LTE 162 NETWORK_MODE_LTE_TDSCDMA = 16; 163 164 // TD-SCDMA and GSM 165 NETWORK_MODE_TDSCDMA_GSM = 17; 166 167 // TD-SCDMA,GSM and LTE 168 NETWORK_MODE_LTE_TDSCDMA_GSM = 18; 169 170 // TD-SCDMA, GSM/WCDMA 171 NETWORK_MODE_TDSCDMA_GSM_WCDMA = 19; 172 173 // TD-SCDMA, WCDMA and LTE 174 NETWORK_MODE_LTE_TDSCDMA_WCDMA = 20; 175 176 // TD-SCDMA, GSM/WCDMA and LTE 177 NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 21; 178 179 // TD-SCDMA,EvDo,CDMA,GSM/WCDMA 180 NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; 181 182 // TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo 183 NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 23; 184 } 185 186 // Constants for WiFi Calling mode 187 enum WiFiCallingMode { 188 189 // Calling mode is unknown. 190 WFC_MODE_UNKNOWN = 0; 191 192 WFC_MODE_WIFI_ONLY = 1; 193 194 WFC_MODE_CELLULAR_PREFERRED = 2; 195 196 WFC_MODE_WIFI_PREFERRED = 3; 197 } 198 199 // If the device is in airplane mode. 200 optional bool is_airplane_mode = 1; 201 202 // If cell-data has been enabled. 203 optional bool is_cellular_data_enabled = 2; 204 205 // If cell-roaming has been enabled. 206 optional bool is_data_roaming_enabled = 3; 207 208 // Preferred network mode. 209 optional RilNetworkMode preferred_network_mode = 4; 210 211 // If enhanced mode enabled. 212 optional bool is_enhanced_4g_lte_mode_enabled = 5; 213 214 // If wifi has been enabled. 215 optional bool is_wifi_enabled = 6; 216 217 // If wifi-calling has been enabled. 218 optional bool is_wifi_calling_enabled = 7; 219 220 // Wifi-calling Mode. 221 optional WiFiCallingMode wifi_calling_mode = 8; 222 223 // If video over LTE enabled. 224 optional bool is_vt_over_lte_enabled = 9; 225 226 // If video over wifi enabled. 227 optional bool is_vt_over_wifi_enabled = 10; 228} 229 230// Contains phone state and service related information. 231message TelephonyServiceState { 232 233 // The information about cellular network operator 234 message TelephonyOperator { 235 236 // Name in long alphanumeric format 237 optional string alpha_long = 1; 238 239 // Name in short alphanumeric format 240 optional string alpha_short = 2; 241 242 // Numeric id. 243 // In GSM/UMTS, numeric format is 3 digit country code plus 2 or 3 digit 244 // network code. Same as MCC/MNC. 245 optional string numeric = 3; 246 } 247 248 message NetworkRegistrationInfo { 249 // Network domain 250 optional Domain domain = 1; 251 252 // Network transport 253 optional Transport transport = 2; 254 255 // Radio access technology 256 optional RadioAccessTechnology rat = 3; 257 } 258 259 // Roaming type 260 enum RoamingType { 261 262 // Undefined. The default value. Different from ROAMING_TYPE_UNKNOWN. 263 ROAMING_TYPE_UNDEFINED = -1; 264 265 // In home network 266 ROAMING_TYPE_NOT_ROAMING = 0; 267 268 // In a roaming network, but we can not tell 269 // if it's domestic or international 270 ROAMING_TYPE_UNKNOWN = 1; 271 272 // In domestic roaming network 273 ROAMING_TYPE_DOMESTIC = 2; 274 275 // In international roaming network 276 ROAMING_TYPE_INTERNATIONAL = 3; 277 } 278 279 // Frequency range 280 enum FrequencyRange { 281 // Unknown. The default value. 282 FREQUENCY_RANGE_UNKNOWN = 0; 283 284 // Frequency range is below 1GHz. 285 FREQUENCY_RANGE_LOW = 1; 286 287 // Frequency range is between 1GHz and 3GHz. 288 FREQUENCY_RANGE_MID = 2; 289 290 // Frequency range is between 3GHz and 6GHz. 291 FREQUENCY_RANGE_HIGH = 3; 292 293 // Frequency range is above 6GHz (millimeter wave frequency). 294 FREQUENCY_RANGE_MMWAVE = 4; 295 } 296 297 // NR (5G) state 298 enum NrState { 299 // The device isn't camped on an LTE cell 300 // or the LTE cell doesn't support EN-DC. 301 NR_STATE_NONE = 0; 302 303 // The device is camped on an LTE cell that supports EN-DC 304 // but either DCNR is restricted 305 // or NR is not supported by the selected PLMN. 306 NR_STATE_RESTRICTED = 1; 307 308 // The device is camped on an LTE cell that supports EN-DC 309 // and both DCNR is not restricted and NR is supported 310 // by the selected PLMN. 311 NR_STATE_NOT_RESTRICTED = 2; 312 313 // The device is camped on an LTE cell that supports EN-DC 314 // and connected to at least one 5G cell 315 // as a secondary serving cell. 316 NR_STATE_CONNECTED = 3; 317 } 318 319 // Domain type 320 enum Domain { 321 // Unknown 322 DOMAIN_UNKNOWN = 0; 323 324 // Circuit switching domain 325 DOMAIN_CS = 1; 326 327 // Packet switching domain 328 DOMAIN_PS = 2; 329 } 330 331 enum Transport { 332 // Unknown 333 TRANSPORT_UNKNOWN = 0; 334 335 // Transport type for Wireless Wide Area Networks (i.e. Cellular) 336 TRANSPORT_WWAN = 1; 337 338 // Transport type for Wireless Local Area Networks (i.e. Wifi) 339 TRANSPORT_WLAN = 2; 340 } 341 342 // Current registered operator 343 optional TelephonyOperator voice_operator = 1; 344 345 // Current registered data network operator 346 optional TelephonyOperator data_operator = 2; 347 348 // Current voice network roaming type 349 optional RoamingType voice_roaming_type = 3 [default = ROAMING_TYPE_UNDEFINED]; 350 351 // Current data network roaming type 352 optional RoamingType data_roaming_type = 4 [default = ROAMING_TYPE_UNDEFINED]; 353 354 // Current voice radio technology 355 optional RadioAccessTechnology voice_rat = 5 [default = UNKNOWN]; 356 357 // Current data radio technology 358 optional RadioAccessTechnology data_rat = 6 [default = UNKNOWN]; 359 360 // Current Channel Number 361 optional int32 channel_number = 7; 362 363 // Current NR frequency range 364 optional FrequencyRange nr_frequency_range = 8; 365 366 // Current NR state 367 optional NrState nr_state = 9; 368 369 // Network registration info 370 repeated NetworkRegistrationInfo networkRegistrationInfo = 10; 371} 372 373// Radio access families 374enum RadioAccessTechnology { 375 376 // This is the default value. Different from RAT_UNKNOWN. 377 UNKNOWN = -1; 378 379 // Airplane mode, out of service, or when the modem cannot determine 380 // the RAT. 381 RAT_UNKNOWN = 0; 382 383 RAT_GPRS = 1; 384 385 RAT_EDGE = 2; 386 387 RAT_UMTS = 3; 388 389 RAT_IS95A = 4; 390 391 RAT_IS95B = 5; 392 393 RAT_1XRTT = 6; 394 395 RAT_EVDO_0 = 7; 396 397 RAT_EVDO_A = 8; 398 399 RAT_HSDPA = 9; 400 401 RAT_HSUPA = 10; 402 403 RAT_HSPA = 11; 404 405 RAT_EVDO_B = 12; 406 407 RAT_EHRPD = 13; 408 409 RAT_LTE = 14; 410 411 RAT_HSPAP = 15; 412 413 RAT_GSM = 16; 414 415 RAT_TD_SCDMA = 17; 416 417 RAT_IWLAN = 18; 418 419 RAT_LTE_CA = 19; 420 421 RAT_NR = 20; 422} 423 424// NR (5G) operation mode 425enum NrMode { 426 // The device is not in a NR network. 427 NR_NONE = 1; 428 // The device is in a NR non-standalone network at non-MMWAVE frequencies. 429 NR_NSA = 2; 430 // The device is in a NR non-standalone network at MMWAVE frequencies. 431 NR_NSA_MMWAVE = 3; 432 // The device is in a NR standalone network at non-MMWAVE frequencies. 433 NR_SA = 4; 434 // The device is in a NR standalone network at MMWAVE frequencies. 435 NR_SA_MMWAVE = 5; 436} 437 438// The information about IMS errors 439// https://cs.corp.google.com/#android/frameworks/base/telephony/java/com/android/ims/ImsReasonInfo.java 440message ImsReasonInfo { 441 442 // Main reason code. 443 optional int32 reason_code = 1; 444 445 // Extra code value; it depends on the code value. 446 optional int32 extra_code = 2; 447 448 // Additional message of the reason info. We get this from the modem. 449 optional string extra_message = 3; 450} 451 452// The information about state connection between IMS service and IMS server 453message ImsConnectionState { 454 455 // Current state 456 optional State state = 1; 457 458 // If DISCONNECTED then this field may have additional information about 459 // connection problem. 460 optional ImsReasonInfo reason_info = 2; 461 462 // Posible states 463 enum State { 464 465 // State is unknown. 466 STATE_UNKNOWN = 0; 467 468 CONNECTED = 1; 469 470 PROGRESSING = 2; 471 472 DISCONNECTED = 3; 473 474 RESUMED = 4; 475 476 SUSPENDED = 5; 477 } 478} 479 480// The information about current capabilities of IMS service 481message ImsCapabilities { 482 483 optional bool voice_over_lte = 1; 484 485 optional bool voice_over_wifi = 2; 486 487 optional bool video_over_lte = 3; 488 489 optional bool video_over_wifi = 4; 490 491 optional bool ut_over_lte = 5; 492 493 optional bool ut_over_wifi = 6; 494} 495 496// Errors returned by RIL 497enum RilErrno { 498 499 // type is unknown. 500 RIL_E_UNKNOWN = 0; 501 502 // Note the following values are all off by 1. 503 RIL_E_SUCCESS = 1; 504 505 // If radio did not start or is resetting 506 RIL_E_RADIO_NOT_AVAILABLE = 2; 507 508 RIL_E_GENERIC_FAILURE = 3; 509 510 // for PIN/PIN2 methods only! 511 RIL_E_PASSWORD_INCORRECT = 4; 512 513 // Operation requires SIM PIN2 to be entered 514 RIL_E_SIM_PIN2 = 5; 515 516 // Operation requires SIM PIN2 to be entered 517 RIL_E_SIM_PUK2 = 6; 518 519 RIL_E_REQUEST_NOT_SUPPORTED = 7; 520 521 RIL_E_CANCELLED = 8; 522 523 // data ops are not allowed during voice call on a Class C GPRS device 524 RIL_E_OP_NOT_ALLOWED_DURING_VOICE_CALL = 9; 525 526 // data ops are not allowed before device registers in network 527 RIL_E_OP_NOT_ALLOWED_BEFORE_REG_TO_NW = 10; 528 529 // fail to send sms and need retry 530 RIL_E_SMS_SEND_FAIL_RETRY = 11; 531 532 // fail to set the location where CDMA subscription shall be retrieved 533 // because of SIM or RUIM card absent 534 RIL_E_SIM_ABSENT = 12; 535 536 // fail to find CDMA subscription from specified location 537 RIL_E_SUBSCRIPTION_NOT_AVAILABLE = 13; 538 539 // HW does not support preferred network type 540 RIL_E_MODE_NOT_SUPPORTED = 14; 541 542 // command failed because recipient is not on FDN list 543 RIL_E_FDN_CHECK_FAILURE = 15; 544 545 // network selection failed due to illegal SIM or ME 546 RIL_E_ILLEGAL_SIM_OR_ME = 16; 547 548 // no logical channel available 549 RIL_E_MISSING_RESOURCE = 17; 550 551 // application not found on SIM 552 RIL_E_NO_SUCH_ELEMENT = 18; 553 554 // DIAL request modified to USSD 555 RIL_E_DIAL_MODIFIED_TO_USSD = 19; 556 557 // DIAL request modified to SS 558 RIL_E_DIAL_MODIFIED_TO_SS = 20; 559 560 // DIAL request modified to DIAL with different data 561 RIL_E_DIAL_MODIFIED_TO_DIAL = 21; 562 563 // USSD request modified to DIAL 564 RIL_E_USSD_MODIFIED_TO_DIAL = 22; 565 566 // USSD request modified to SS 567 RIL_E_USSD_MODIFIED_TO_SS = 23; 568 569 // USSD request modified to different USSD request 570 RIL_E_USSD_MODIFIED_TO_USSD = 24; 571 572 // SS request modified to DIAL 573 RIL_E_SS_MODIFIED_TO_DIAL = 25; 574 575 // SS request modified to USSD 576 RIL_E_SS_MODIFIED_TO_USSD = 26; 577 578 // Subscription not supported by RIL 579 RIL_E_SUBSCRIPTION_NOT_SUPPORTED = 27; 580 581 // SS request modified to different SS request 582 RIL_E_SS_MODIFIED_TO_SS = 28; 583 584 // LCE service not supported(36 in RILConstants.java. This is a mistake. 585 // The value should be off by 1 ideally.) 586 RIL_E_LCE_NOT_SUPPORTED = 36 [deprecated=true]; 587 588 // LCE service not supported 589 RIL_E_LCE_NOT_SUPPORTED_NEW = 37; 590 591 // Not sufficient memory to process the request 592 RIL_E_NO_MEMORY = 38; 593 594 // Modem hit unexpected error scenario while handling this request 595 RIL_E_INTERNAL_ERR = 39; 596 597 // Hit platform or system error 598 RIL_E_SYSTEM_ERR = 40; 599 600 // Vendor RIL got unexpected or incorrect response from modem for this request 601 RIL_E_MODEM_ERR = 41; 602 603 // Unexpected request for the current state 604 RIL_E_INVALID_STATE = 42; 605 606 // Not sufficient resource to process the request 607 RIL_E_NO_RESOURCES = 43; 608 609 // Received error from SIM card 610 RIL_E_SIM_ERR = 44; 611 612 // Received invalid arguments in request 613 RIL_E_INVALID_ARGUMENTS = 45; 614 615 // Cannot process the request in current SIM state 616 RIL_E_INVALID_SIM_STATE = 46; 617 618 // Cannot process the request in current Modem state 619 RIL_E_INVALID_MODEM_STATE = 47; 620 621 // Received invalid call id in request 622 RIL_E_INVALID_CALL_ID = 48; 623 624 // ACK received when there is no SMS to ack 625 RIL_E_NO_SMS_TO_ACK = 49; 626 627 // Received error from network 628 RIL_E_NETWORK_ERR = 50; 629 630 // Operation denied due to overly-frequent requests 631 RIL_E_REQUEST_RATE_LIMITED = 51; 632 633 // SIM is busy 634 RIL_E_SIM_BUSY = 52; 635 636 // The target EF is full 637 RIL_E_SIM_FULL = 53; 638 639 // Request is rejected by network 640 RIL_E_NETWORK_REJECT = 54; 641 642 // Not allowed the request now 643 RIL_E_OPERATION_NOT_ALLOWED = 55; 644 645 // The request record is empty 646 RIL_E_EMPTY_RECORD = 56; 647 648 // Invalid sms format 649 RIL_E_INVALID_SMS_FORMAT = 57; 650 651 // Message not encoded properly 652 RIL_E_ENCODING_ERR = 58; 653 654 // SMSC address specified is invalid 655 RIL_E_INVALID_SMSC_ADDRESS = 59; 656 657 // No such entry present to perform the request 658 RIL_E_NO_SUCH_ENTRY = 60; 659 660 // Network is not ready to perform the request 661 RIL_E_NETWORK_NOT_READY = 61; 662 663 // Device does not have this value provisioned 664 RIL_E_NOT_PROVISIONED = 62; 665 666 // Device does not have subscription 667 RIL_E_NO_SUBSCRIPTION = 63; 668 669 // Network cannot be found 670 RIL_E_NO_NETWORK_FOUND = 64; 671 672 // Operation cannot be performed because the device is currently in use 673 RIL_E_DEVICE_IN_USE = 65; 674 675 // Operation aborted 676 RIL_E_ABORTED = 66; 677 678 // Invalid response sent by vendor code 679 RIL_E_INVALID_RESPONSE = 67; 680} 681 682// Errors returned by ImsService 683enum ImsServiceErrno { 684 685 // The operation error is unknown 686 IMS_E_UNKNOWN = 0; 687 // The operation has succeeded 688 IMS_E_SUCCESS = 1; 689 // Sending SMS over IMS failed. Do not retry over IMS again or fallback to CS. 690 IMS_E_SMS_SEND_STATUS_ERROR = 2; 691 // Sending SMS over IMS failed. Retry over IMS again. 692 IMS_E_SMS_SEND_STATUS_ERROR_RETRY = 3; 693 // Sending SMS over IMS failed. Fallback to sending the SMS over CS. 694 IMS_E_SMS_SEND_STATUS_ERROR_FALLBACK = 4; 695} 696 697// PDP_type values in TS 27.007 section 10.1.1. 698enum PdpType { 699 700 // type is unknown. 701 PDP_UNKNOWN = 0; 702 703 PDP_TYPE_IP = 1; 704 705 PDP_TYPE_IPV6 = 2; 706 707 PDP_TYPE_IPV4V6 = 3; 708 709 PDP_TYPE_PPP = 4; 710 711 PDP_TYPE_NON_IP = 5; 712 713 PDP_TYPE_UNSTRUCTURED = 6; 714} 715 716// The information about packet data connection 717message RilDataCall { 718 719 // Context ID, uniquely identifies this call 720 optional int32 cid = 1; 721 722 // One of the PDP_type values in TS 27.007 section 10.1.1 723 optional PdpType type = 2; 724 725 // The network interface name e.g. wlan0, rmnet_data0. 726 optional string ifname = 3; 727 728 // State of the Data Call connection 729 optional State state = 4; 730 731 // Bitmask of APN types 732 optional int32 apn_type_bitmask = 5; 733 734 enum State { 735 736 // Unknown event 737 UNKNOWN = 0; 738 739 // Connected event 740 CONNECTED = 1; 741 742 // Disconnected event 743 DISCONNECTED = 2; 744 } 745} 746 747message EmergencyNumberInfo { 748 // Dialing address 749 optional string address = 1 /* [ 750 (datapol.semantic_type) = ST_PHONE_NUMBER, 751 (datapol.qualifier) = {is_public: true} 752 ] */; 753 754 // Country code string (lowercase character) in ISO 3166 format 755 optional string country_iso = 2 /* [(datapol.semantic_type) = ST_LOCATION] */; 756 757 // Mobile Network Code 758 optional string mnc = 3 /* [(datapol.semantic_type) = ST_LOCATION] */; 759 760 // Bitmask of emergency service categories 761 optional int32 service_categories_bitmask = 4; 762 763 // Emergency Uniform Resources Names (URN) 764 // Reference: https://tools.ietf.org/html/rfc5031 765 repeated string urns = 5; 766 767 // Bitmask of the sources 768 optional int32 number_sources_bitmask = 6; 769 770 // Emergency call routing information. 771 // Emergency call routing is a flag to tell how modem handles the calling with 772 // emergency numbers. For example, 110 in India, modem needs to handle/route 773 // it like a normal call. There are only two possible options for emergency 774 // call routing: emergency call routing vs normal call routing. It is usually 775 // a country or carrier requirement. 776 optional int32 routing = 7; 777} 778 779message TelephonyEvent { 780 781 enum Type { 782 783 // Unknown event 784 UNKNOWN = 0; 785 786 // Telephony related user settings changed 787 SETTINGS_CHANGED = 1; 788 789 // Phone state changed 790 RIL_SERVICE_STATE_CHANGED = 2; 791 792 // IMS connected/disconnected 793 IMS_CONNECTION_STATE_CHANGED = 3; 794 795 // IMS Voice, Video and Ut capabilities changed 796 IMS_CAPABILITIES_CHANGED = 4; 797 798 // Setup a packet data connection 799 DATA_CALL_SETUP = 5; 800 801 // RIL request result 802 DATA_CALL_SETUP_RESPONSE = 6; 803 804 // Notification that new data call has appeared in the list 805 // or old data call has removed. 806 DATA_CALL_LIST_CHANGED = 7; 807 808 // Deactivate packet data connection 809 DATA_CALL_DEACTIVATE = 8; 810 811 // RIL request result 812 DATA_CALL_DEACTIVATE_RESPONSE = 9; 813 814 // Logging a data stall + its action 815 DATA_STALL_ACTION = 10; 816 817 // Modem Restarted. Logging a baseband version and reason for restart 818 // along with the event if it is available 819 MODEM_RESTART = 11; 820 821 // A system time update suggestion was made from a received NITZ (Network time) signal 822 NITZ_TIME = 12; 823 824 // Carrier Identification Matching Event 825 CARRIER_ID_MATCHING = 13; 826 827 // Carrier Key Change event. 828 CARRIER_KEY_CHANGED = 14; 829 830 // Data switch event. 831 DATA_SWITCH = 15; 832 833 // Network validate event. 834 NETWORK_VALIDATE = 16; 835 836 // On deman data switch event. 837 ON_DEMAND_DATA_SWITCH = 17; 838 839 // SIM state change event. 840 SIM_STATE_CHANGED = 18; 841 842 // Active subscription info change event. 843 ACTIVE_SUBSCRIPTION_INFO_CHANGED = 19; 844 845 // Enabled modem change event. 846 ENABLED_MODEM_CHANGED = 20; 847 848 // Emergency Number update event (Device HAL >= 1.4). 849 EMERGENCY_NUMBER_REPORT = 21; 850 851 // Network capabilities change event. 852 NETWORK_CAPABILITIES_CHANGED = 22; 853 854 // Signal strength 855 SIGNAL_STRENGTH = 23; 856 857 // Radio state change event 858 RADIO_STATE_CHANGED = 24; 859 } 860 861 enum ApnType { 862 APN_TYPE_UNKNOWN = 0; 863 864 APN_TYPE_DEFAULT = 1; 865 866 APN_TYPE_MMS = 2; 867 868 APN_TYPE_SUPL = 3; 869 870 APN_TYPE_DUN = 4; 871 872 APN_TYPE_HIPRI = 5; 873 874 APN_TYPE_FOTA = 6; 875 876 APN_TYPE_IMS = 7; 877 878 APN_TYPE_CBS = 8; 879 880 APN_TYPE_IA = 9; 881 882 APN_TYPE_EMERGENCY = 10; 883 } 884 885 enum EventState { 886 EVENT_STATE_UNKNOWN = 0; 887 888 EVENT_STATE_START = 1; 889 890 EVENT_STATE_END = 2; 891 } 892 893 enum NetworkValidationState { 894 /** The network validation state is unknown. */ 895 NETWORK_VALIDATION_STATE_UNKNOWN = 0; 896 897 /** The network under validation is initial established. */ 898 NETWORK_VALIDATION_STATE_AVAILABLE = 1; 899 900 /** The validation is failed. */ 901 NETWORK_VALIDATION_STATE_FAILED = 2; 902 903 /** The validation is passed. */ 904 NETWORK_VALIDATION_STATE_PASSED = 3; 905 } 906 907 enum RadioState { 908 /** Radio state is unknown or invalid. */ 909 RADIO_STATE_UNKNOWN = 0; 910 911 /** Radio is explicitly off (e.g. airplane mode). */ 912 RADIO_STATE_OFF = 1; 913 914 /** Radio is on. */ 915 RADIO_STATE_ON = 2; 916 917 /** Radio power unavailable (eg, modem resetting or not booted). */ 918 RADIO_STATE_UNAVAILABLE = 3; 919 } 920 921 message DataSwitch { 922 enum Reason { 923 /** Data switch caused by unknown reason. */ 924 DATA_SWITCH_REASON_UNKNOWN = 0; 925 926 /** Data switch caused by user's manual switch. */ 927 DATA_SWITCH_REASON_MANUAL = 1; 928 929 /** Data switch caused by incoming/outgoing call. */ 930 DATA_SWITCH_REASON_IN_CALL = 2; 931 932 /** Data switch caused by CBRS switch. */ 933 DATA_SWITCH_REASON_CBRS = 3; 934 935 /** Data switch caused by non-default SIM having better availability(e.g.signal). */ 936 DATA_SWITCH_REASON_AUTO = 4; 937 } 938 939 /** The reason for data switch. */ 940 optional Reason reason = 1; 941 942 /** Current state of the data switch event. */ 943 optional EventState state = 2; 944 } 945 946 message OnDemandDataSwitch { 947 /** The apn associated with this event. */ 948 optional ApnType apn = 1; 949 950 /** Current state of the on demand data switch event. */ 951 optional EventState state = 2; 952 } 953 954 // Setup a packet data connection 955 message RilSetupDataCall { 956 957 // See ril.h RIL_REQUEST_SETUP_DATA_CALL 958 enum RilDataProfile { 959 960 // type is unknown. 961 RIL_DATA_UNKNOWN = 0; 962 963 RIL_DATA_PROFILE_DEFAULT = 1; 964 965 RIL_DATA_PROFILE_TETHERED = 2; 966 967 RIL_DATA_PROFILE_IMS = 3; 968 969 RIL_DATA_PROFILE_FOTA = 4; 970 971 RIL_DATA_PROFILE_CBS = 5; 972 973 RIL_DATA_PROFILE_OEM_BASE = 6; 974 975 RIL_DATA_PROFILE_INVALID = 7; 976 } 977 978 // Radio technology to use 979 optional RadioAccessTechnology rat = 1 [default = UNKNOWN]; 980 981 // optional RIL_DataProfile 982 optional RilDataProfile data_profile = 2; 983 984 // APN to connect to if radio technology is GSM/UMTS 985 optional string apn = 3; 986 987 // the connection type to request 988 optional PdpType type = 4; 989 } 990 991 // RIL response to RilSetupDataCall 992 message RilSetupDataCallResponse { 993 994 // Copy of enum RIL_DataCallFailCause defined at ril.h 995 enum RilDataCallFailCause { 996 997 // Failure reason is unknown. 998 PDP_FAIL_UNKNOWN = 0; 999 1000 // No error, connection ok 1001 PDP_FAIL_NONE = 1; 1002 1003 PDP_FAIL_OPERATOR_BARRED = 8; 1004 1005 PDP_FAIL_NAS_SIGNALLING = 14; 1006 1007 PDP_FAIL_LLC_SNDCP = 25; 1008 1009 PDP_FAIL_INSUFFICIENT_RESOURCES = 26; 1010 1011 PDP_FAIL_MISSING_UKNOWN_APN = 27; 1012 1013 PDP_FAIL_UNKNOWN_PDP_ADDRESS_TYPE = 28; 1014 1015 PDP_FAIL_USER_AUTHENTICATION = 29; 1016 1017 PDP_FAIL_ACTIVATION_REJECT_GGSN = 30; 1018 1019 PDP_FAIL_ACTIVATION_REJECT_UNSPECIFIED = 31; 1020 1021 PDP_FAIL_SERVICE_OPTION_NOT_SUPPORTED = 32; 1022 1023 PDP_FAIL_SERVICE_OPTION_NOT_SUBSCRIBED = 33; 1024 1025 PDP_FAIL_SERVICE_OPTION_OUT_OF_ORDER = 34; 1026 1027 PDP_FAIL_NSAPI_IN_USE = 35; 1028 1029 // Possibly restart radio, based on framework config 1030 PDP_FAIL_REGULAR_DEACTIVATION = 36; 1031 1032 PDP_FAIL_QOS_NOT_ACCEPTED = 37; 1033 1034 PDP_FAIL_NETWORK_FAILURE = 38; 1035 1036 PDP_FAIL_UMTS_REACTIVATION_REQ = 39; 1037 1038 PDP_FAIL_FEATURE_NOT_SUPP = 40; 1039 1040 PDP_FAIL_TFT_SEMANTIC_ERROR = 41; 1041 1042 PDP_FAIL_TFT_SYTAX_ERROR = 42; 1043 1044 PDP_FAIL_UNKNOWN_PDP_CONTEXT = 43; 1045 1046 PDP_FAIL_FILTER_SEMANTIC_ERROR = 44; 1047 1048 PDP_FAIL_FILTER_SYTAX_ERROR = 45; 1049 1050 PDP_FAIL_PDP_WITHOUT_ACTIVE_TFT = 46; 1051 1052 PDP_FAIL_ACTIVATION_REJECTED_BCM_VIOLATION = 48; 1053 1054 PDP_FAIL_ONLY_IPV4_ALLOWED = 50; 1055 1056 PDP_FAIL_ONLY_IPV6_ALLOWED = 51; 1057 1058 PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED = 52; 1059 1060 PDP_FAIL_ESM_INFO_NOT_RECEIVED = 53; 1061 1062 PDP_FAIL_PDN_CONN_DOES_NOT_EXIST = 54; 1063 1064 PDP_FAIL_MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55; 1065 1066 PDP_FAIL_COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56; 1067 1068 PDP_FAIL_ONLY_IPV4V6_ALLOWED = 57; 1069 1070 PDP_FAIL_ONLY_NON_IP_ALLOWED = 58; 1071 1072 PDP_FAIL_UNSUPPORTED_QCI_VALUE = 59; 1073 1074 PDP_FAIL_BEARER_HANDLING_NOT_SUPPORTED = 60; 1075 1076 PDP_FAIL_MAX_ACTIVE_PDP_CONTEXT_REACHED = 65; 1077 1078 PDP_FAIL_UNSUPPORTED_APN_IN_CURRENT_PLMN = 66; 1079 1080 PDP_FAIL_INVALID_TRANSACTION_ID = 81; 1081 1082 PDP_FAIL_MESSAGE_INCORRECT_SEMANTIC = 95; 1083 1084 PDP_FAIL_INVALID_MANDATORY_INFO = 96; 1085 1086 PDP_FAIL_MESSAGE_TYPE_UNSUPPORTED = 97; 1087 1088 PDP_FAIL_MSG_TYPE_NONCOMPATIBLE_STATE = 98; 1089 1090 PDP_FAIL_UNKNOWN_INFO_ELEMENT = 99; 1091 1092 PDP_FAIL_CONDITIONAL_IE_ERROR = 100; 1093 1094 PDP_FAIL_MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101; 1095 1096 PDP_FAIL_PROTOCOL_ERRORS = 111; 1097 1098 PDP_FAIL_APN_TYPE_CONFLICT = 112; 1099 1100 PDP_FAIL_INVALID_PCSCF_ADDR = 113; 1101 1102 PDP_FAIL_INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114; 1103 1104 PDP_FAIL_EMM_ACCESS_BARRED = 115; 1105 1106 PDP_FAIL_EMERGENCY_IFACE_ONLY = 116; 1107 1108 PDP_FAIL_IFACE_MISMATCH = 117; 1109 1110 PDP_FAIL_COMPANION_IFACE_IN_USE = 118; 1111 1112 PDP_FAIL_IP_ADDRESS_MISMATCH = 119; 1113 1114 PDP_FAIL_IFACE_AND_POL_FAMILY_MISMATCH = 120; 1115 1116 PDP_FAIL_EMM_ACCESS_BARRED_INFINITE_RETRY = 121; 1117 1118 PDP_FAIL_AUTH_FAILURE_ON_EMERGENCY_CALL = 122; 1119 1120 PDP_FAIL_INVALID_DNS_ADDR = 123; 1121 1122 PDP_FAIL_INVALID_PCSCF_OR_DNS_ADDRESS = 124; 1123 1124 PDP_FAIL_CALL_PREEMPT_BY_EMERGENCY_APN = 127; 1125 1126 PDP_FAIL_UE_INITIATED_DETACH_OR_DISCONNECT = 128; 1127 1128 PDP_FAIL_MIP_FA_REASON_UNSPECIFIED = 2000; 1129 1130 PDP_FAIL_MIP_FA_ADMIN_PROHIBITED = 2001; 1131 1132 PDP_FAIL_MIP_FA_INSUFFICIENT_RESOURCES = 2002; 1133 1134 PDP_FAIL_MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003; 1135 1136 PDP_FAIL_MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004; 1137 1138 PDP_FAIL_MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005; 1139 1140 PDP_FAIL_MIP_FA_MALFORMED_REQUEST = 2006; 1141 1142 PDP_FAIL_MIP_FA_MALFORMED_REPLY = 2007; 1143 1144 PDP_FAIL_MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008; 1145 1146 PDP_FAIL_MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009; 1147 1148 PDP_FAIL_MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010; 1149 1150 PDP_FAIL_MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011; 1151 1152 PDP_FAIL_MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012; 1153 1154 PDP_FAIL_MIP_FA_MISSING_NAI = 2013; 1155 1156 PDP_FAIL_MIP_FA_MISSING_HOME_AGENT = 2014; 1157 1158 PDP_FAIL_MIP_FA_MISSING_HOME_ADDRESS = 2015; 1159 1160 PDP_FAIL_MIP_FA_UNKNOWN_CHALLENGE = 2016; 1161 1162 PDP_FAIL_MIP_FA_MISSING_CHALLENGE = 2017; 1163 1164 PDP_FAIL_MIP_FA_STALE_CHALLENGE = 2018; 1165 1166 PDP_FAIL_MIP_HA_REASON_UNSPECIFIED = 2019; 1167 1168 PDP_FAIL_MIP_HA_ADMIN_PROHIBITED = 2020; 1169 1170 PDP_FAIL_MIP_HA_INSUFFICIENT_RESOURCES = 2021; 1171 1172 PDP_FAIL_MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022; 1173 1174 PDP_FAIL_MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023; 1175 1176 PDP_FAIL_MIP_HA_REGISTRATION_ID_MISMATCH = 2024; 1177 1178 PDP_FAIL_MIP_HA_MALFORMED_REQUEST = 2025; 1179 1180 PDP_FAIL_MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026; 1181 1182 PDP_FAIL_MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027; 1183 1184 PDP_FAIL_MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028; 1185 1186 PDP_FAIL_MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029; 1187 1188 PDP_FAIL_CLOSE_IN_PROGRESS = 2030; 1189 1190 PDP_FAIL_NETWORK_INITIATED_TERMINATION = 2031; 1191 1192 PDP_FAIL_MODEM_APP_PREEMPTED = 2032; 1193 1194 PDP_FAIL_PDN_IPV4_CALL_DISALLOWED = 2033; 1195 1196 PDP_FAIL_PDN_IPV4_CALL_THROTTLED = 2034; 1197 1198 PDP_FAIL_PDN_IPV6_CALL_DISALLOWED = 2035; 1199 1200 PDP_FAIL_PDN_IPV6_CALL_THROTTLED = 2036; 1201 1202 PDP_FAIL_MODEM_RESTART = 2037; 1203 1204 PDP_FAIL_PDP_PPP_NOT_SUPPORTED = 2038; 1205 1206 PDP_FAIL_UNPREFERRED_RAT = 2039; 1207 1208 PDP_FAIL_PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040; 1209 1210 PDP_FAIL_APN_PENDING_HANDOVER = 2041; 1211 1212 PDP_FAIL_PROFILE_BEARER_INCOMPATIBLE = 2042; 1213 1214 PDP_FAIL_SIM_CARD_CHANGED = 2043; 1215 1216 PDP_FAIL_LOW_POWER_MODE_OR_POWERING_DOWN = 2044; 1217 1218 PDP_FAIL_APN_DISABLED = 2045; 1219 1220 PDP_FAIL_MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046; 1221 1222 PDP_FAIL_IPV6_ADDRESS_TRANSFER_FAILED = 2047; 1223 1224 PDP_FAIL_TRAT_SWAP_FAILED = 2048; 1225 1226 PDP_FAIL_EHRPD_TO_HRPD_FALLBACK = 2049; 1227 1228 PDP_FAIL_MIP_CONFIG_FAILURE = 2050; 1229 1230 PDP_FAIL_PDN_INACTIVITY_TIMER_EXPIRED = 2051; 1231 1232 PDP_FAIL_MAX_IPV4_CONNECTIONS = 2052; 1233 1234 PDP_FAIL_MAX_IPV6_CONNECTIONS = 2053; 1235 1236 PDP_FAIL_APN_MISMATCH = 2054; 1237 1238 PDP_FAIL_IP_VERSION_MISMATCH = 2055; 1239 1240 PDP_FAIL_DUN_CALL_DISALLOWED = 2056; 1241 1242 PDP_FAIL_INTERNAL_EPC_NONEPC_TRANSITION = 2057; 1243 1244 PDP_FAIL_INTERFACE_IN_USE = 2058; 1245 1246 PDP_FAIL_APN_DISALLOWED_ON_ROAMING = 2059; 1247 1248 PDP_FAIL_APN_PARAMETERS_CHANGED = 2060; 1249 1250 PDP_FAIL_NULL_APN_DISALLOWED = 2061; 1251 1252 PDP_FAIL_THERMAL_MITIGATION = 2062; 1253 1254 PDP_FAIL_DATA_SETTINGS_DISABLED = 2063; 1255 1256 PDP_FAIL_DATA_ROAMING_SETTINGS_DISABLED = 2064; 1257 1258 PDP_FAIL_DDS_SWITCHED = 2065; 1259 1260 PDP_FAIL_FORBIDDEN_APN_NAME = 2066; 1261 1262 PDP_FAIL_DDS_SWITCH_IN_PROGRESS = 2067; 1263 1264 PDP_FAIL_CALL_DISALLOWED_IN_ROAMING = 2068; 1265 1266 PDP_FAIL_NON_IP_NOT_SUPPORTED = 2069; 1267 1268 PDP_FAIL_PDN_NON_IP_CALL_THROTTLED = 2070; 1269 1270 PDP_FAIL_PDN_NON_IP_CALL_DISALLOWED = 2071; 1271 1272 PDP_FAIL_CDMA_LOCK = 2072; 1273 1274 PDP_FAIL_CDMA_INTERCEPT = 2073; 1275 1276 PDP_FAIL_CDMA_REORDER = 2074; 1277 1278 PDP_FAIL_CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075; 1279 1280 PDP_FAIL_CDMA_INCOMING_CALL = 2076; 1281 1282 PDP_FAIL_CDMA_ALERT_STOP = 2077; 1283 1284 PDP_FAIL_CHANNEL_ACQUISITION_FAILURE = 2078; 1285 1286 PDP_FAIL_MAX_ACCESS_PROBE = 2079; 1287 1288 PDP_FAIL_CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080; 1289 1290 PDP_FAIL_NO_RESPONSE_FROM_BASE_STATION = 2081; 1291 1292 PDP_FAIL_REJECTED_BY_BASE_STATION = 2082; 1293 1294 PDP_FAIL_CONCURRENT_SERVICES_INCOMPATIBLE = 2083; 1295 1296 PDP_FAIL_NO_CDMA_SERVICE = 2084; 1297 1298 PDP_FAIL_RUIM_NOT_PRESENT = 2085; 1299 1300 PDP_FAIL_CDMA_RETRY_ORDER = 2086; 1301 1302 PDP_FAIL_ACCESS_BLOCK = 2087; 1303 1304 PDP_FAIL_ACCESS_BLOCK_ALL = 2088; 1305 1306 PDP_FAIL_IS707B_MAX_ACCESS_PROBES = 2089; 1307 1308 PDP_FAIL_THERMAL_EMERGENCY = 2090; 1309 1310 PDP_FAIL_CONCURRENT_SERVICES_NOT_ALLOWED = 2091; 1311 1312 PDP_FAIL_INCOMING_CALL_REJECTED = 2092; 1313 1314 PDP_FAIL_NO_SERVICE_ON_GATEWAY = 2093; 1315 1316 PDP_FAIL_NO_GPRS_CONTEXT = 2094; 1317 1318 PDP_FAIL_ILLEGAL_MS = 2095; 1319 1320 PDP_FAIL_ILLEGAL_ME = 2096; 1321 1322 PDP_FAIL_GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097; 1323 1324 PDP_FAIL_GPRS_SERVICES_NOT_ALLOWED = 2098; 1325 1326 PDP_FAIL_MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099; 1327 1328 PDP_FAIL_IMPLICITLY_DETACHED = 2100; 1329 1330 PDP_FAIL_PLMN_NOT_ALLOWED = 2101; 1331 1332 PDP_FAIL_LOCATION_AREA_NOT_ALLOWED = 2102; 1333 1334 PDP_FAIL_GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103; 1335 1336 PDP_FAIL_PDP_DUPLICATE = 2104; 1337 1338 PDP_FAIL_UE_RAT_CHANGE = 2105; 1339 1340 PDP_FAIL_CONGESTION = 2106; 1341 1342 PDP_FAIL_NO_PDP_CONTEXT_ACTIVATED = 2107; 1343 1344 PDP_FAIL_ACCESS_CLASS_DSAC_REJECTION = 2108; 1345 1346 PDP_FAIL_PDP_ACTIVATE_MAX_RETRY_FAILED = 2109; 1347 1348 PDP_FAIL_RADIO_ACCESS_BEARER_FAILURE = 2110; 1349 1350 PDP_FAIL_ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111; 1351 1352 PDP_FAIL_DRB_RELEASED_BY_RRC = 2112; 1353 1354 PDP_FAIL_CONNECTION_RELEASED = 2113; 1355 1356 PDP_FAIL_EMM_DETACHED = 2114; 1357 1358 PDP_FAIL_EMM_ATTACH_FAILED = 2115; 1359 1360 PDP_FAIL_EMM_ATTACH_STARTED = 2116; 1361 1362 PDP_FAIL_LTE_NAS_SERVICE_REQUEST_FAILED = 2117; 1363 1364 PDP_FAIL_DUPLICATE_BEARER_ID = 2118; 1365 1366 PDP_FAIL_ESM_COLLISION_SCENARIOS = 2119; 1367 1368 PDP_FAIL_ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120; 1369 1370 PDP_FAIL_ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121; 1371 1372 PDP_FAIL_ESM_BAD_OTA_MESSAGE = 2122; 1373 1374 PDP_FAIL_ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123; 1375 1376 PDP_FAIL_ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124; 1377 1378 PDP_FAIL_DS_EXPLICIT_DEACTIVATION = 2125; 1379 1380 PDP_FAIL_ESM_LOCAL_CAUSE_NONE = 2126; 1381 1382 PDP_FAIL_LTE_THROTTLING_NOT_REQUIRED = 2127; 1383 1384 PDP_FAIL_ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128; 1385 1386 PDP_FAIL_SERVICE_NOT_ALLOWED_ON_PLMN = 2129; 1387 1388 PDP_FAIL_EMM_T3417_EXPIRED = 2130; 1389 1390 PDP_FAIL_EMM_T3417_EXT_EXPIRED = 2131; 1391 1392 PDP_FAIL_RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132; 1393 1394 PDP_FAIL_RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133; 1395 1396 PDP_FAIL_RRC_UPLINK_CONNECTION_RELEASE = 2134; 1397 1398 PDP_FAIL_RRC_UPLINK_RADIO_LINK_FAILURE = 2135; 1399 1400 PDP_FAIL_RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136; 1401 1402 PDP_FAIL_RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137; 1403 1404 PDP_FAIL_RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138; 1405 1406 PDP_FAIL_RRC_CONNECTION_ACCESS_BARRED = 2139; 1407 1408 PDP_FAIL_RRC_CONNECTION_CELL_RESELECTION = 2140; 1409 1410 PDP_FAIL_RRC_CONNECTION_CONFIG_FAILURE = 2141; 1411 1412 PDP_FAIL_RRC_CONNECTION_TIMER_EXPIRED = 2142; 1413 1414 PDP_FAIL_RRC_CONNECTION_LINK_FAILURE = 2143; 1415 1416 PDP_FAIL_RRC_CONNECTION_CELL_NOT_CAMPED = 2144; 1417 1418 PDP_FAIL_RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145; 1419 1420 PDP_FAIL_RRC_CONNECTION_REJECT_BY_NETWORK = 2146; 1421 1422 PDP_FAIL_RRC_CONNECTION_NORMAL_RELEASE = 2147; 1423 1424 PDP_FAIL_RRC_CONNECTION_RADIO_LINK_FAILURE = 2148; 1425 1426 PDP_FAIL_RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149; 1427 1428 PDP_FAIL_RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150; 1429 1430 PDP_FAIL_RRC_CONNECTION_ABORT_REQUEST = 2151; 1431 1432 PDP_FAIL_RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152; 1433 1434 PDP_FAIL_NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153; 1435 1436 PDP_FAIL_NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154; 1437 1438 PDP_FAIL_ESM_PROCEDURE_TIME_OUT = 2155; 1439 1440 PDP_FAIL_INVALID_CONNECTION_ID = 2156; 1441 1442 PDP_FAIL_MAXIMIUM_NSAPIS_EXCEEDED = 2157; 1443 1444 PDP_FAIL_INVALID_PRIMARY_NSAPI = 2158; 1445 1446 PDP_FAIL_CANNOT_ENCODE_OTA_MESSAGE = 2159; 1447 1448 PDP_FAIL_RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160; 1449 1450 PDP_FAIL_PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161; 1451 1452 PDP_FAIL_PDP_MODIFY_TIMEOUT_EXPIRED = 2162; 1453 1454 PDP_FAIL_PDP_INACTIVE_TIMEOUT_EXPIRED = 2163; 1455 1456 PDP_FAIL_PDP_LOWERLAYER_ERROR = 2164; 1457 1458 PDP_FAIL_PDP_MODIFY_COLLISION = 2165; 1459 1460 PDP_FAIL_MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166; 1461 1462 PDP_FAIL_NAS_REQUEST_REJECTED_BY_NETWORK = 2167; 1463 1464 PDP_FAIL_RRC_CONNECTION_INVALID_REQUEST = 2168; 1465 1466 PDP_FAIL_RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169; 1467 1468 PDP_FAIL_RRC_CONNECTION_RF_UNAVAILABLE = 2170; 1469 1470 PDP_FAIL_RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171; 1471 1472 PDP_FAIL_RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172; 1473 1474 PDP_FAIL_RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173; 1475 1476 PDP_FAIL_RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174; 1477 1478 PDP_FAIL_RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175; 1479 1480 PDP_FAIL_IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176; 1481 1482 PDP_FAIL_IMEI_NOT_ACCEPTED = 2177; 1483 1484 PDP_FAIL_EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178; 1485 1486 PDP_FAIL_EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179; 1487 1488 PDP_FAIL_MSC_TEMPORARILY_NOT_REACHABLE = 2180; 1489 1490 PDP_FAIL_CS_DOMAIN_NOT_AVAILABLE = 2181; 1491 1492 PDP_FAIL_ESM_FAILURE = 2182; 1493 1494 PDP_FAIL_MAC_FAILURE = 2183; 1495 1496 PDP_FAIL_SYNCHRONIZATION_FAILURE = 2184; 1497 1498 PDP_FAIL_UE_SECURITY_CAPABILITIES_MISMATCH = 2185; 1499 1500 PDP_FAIL_SECURITY_MODE_REJECTED = 2186; 1501 1502 PDP_FAIL_UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187; 1503 1504 PDP_FAIL_CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188; 1505 1506 PDP_FAIL_NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189; 1507 1508 PDP_FAIL_INVALID_EMM_STATE = 2190; 1509 1510 PDP_FAIL_NAS_LAYER_FAILURE = 2191; 1511 1512 PDP_FAIL_MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192; 1513 1514 PDP_FAIL_EMBMS_NOT_ENABLED = 2193; 1515 1516 PDP_FAIL_IRAT_HANDOVER_FAILED = 2194; 1517 1518 PDP_FAIL_EMBMS_REGULAR_DEACTIVATION = 2195; 1519 1520 PDP_FAIL_TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196; 1521 1522 PDP_FAIL_LOWER_LAYER_REGISTRATION_FAILURE = 2197; 1523 1524 PDP_FAIL_DATA_PLAN_EXPIRED = 2198; 1525 1526 PDP_FAIL_UMTS_HANDOVER_TO_IWLAN = 2199; 1527 1528 PDP_FAIL_EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200; 1529 1530 PDP_FAIL_EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201; 1531 1532 PDP_FAIL_EVDO_HDR_CHANGED = 2202; 1533 1534 PDP_FAIL_EVDO_HDR_EXITED = 2203; 1535 1536 PDP_FAIL_EVDO_HDR_NO_SESSION = 2204; 1537 1538 PDP_FAIL_EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205; 1539 1540 PDP_FAIL_EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206; 1541 1542 PDP_FAIL_FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207; 1543 1544 PDP_FAIL_OTASP_COMMIT_IN_PROGRESS = 2208; 1545 1546 PDP_FAIL_NO_HYBRID_HDR_SERVICE = 2209; 1547 1548 PDP_FAIL_HDR_NO_LOCK_GRANTED = 2210; 1549 1550 PDP_FAIL_DBM_OR_SMS_IN_PROGRESS = 2211; 1551 1552 PDP_FAIL_HDR_FADE = 2212; 1553 1554 PDP_FAIL_HDR_ACCESS_FAILURE = 2213; 1555 1556 PDP_FAIL_UNSUPPORTED_1X_PREV = 2214; 1557 1558 PDP_FAIL_LOCAL_END = 2215; 1559 1560 PDP_FAIL_NO_SERVICE = 2216; 1561 1562 PDP_FAIL_FADE = 2217; 1563 1564 PDP_FAIL_NORMAL_RELEASE = 2218; 1565 1566 PDP_FAIL_ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219; 1567 1568 PDP_FAIL_REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220; 1569 1570 PDP_FAIL_EMERGENCY_MODE = 2221; 1571 1572 PDP_FAIL_PHONE_IN_USE = 2222; 1573 1574 PDP_FAIL_INVALID_MODE = 2223; 1575 1576 PDP_FAIL_INVALID_SIM_STATE = 2224; 1577 1578 PDP_FAIL_NO_COLLOCATED_HDR = 2225; 1579 1580 PDP_FAIL_UE_IS_ENTERING_POWERSAVE_MODE = 2226; 1581 1582 PDP_FAIL_DUAL_SWITCH = 2227; 1583 1584 PDP_FAIL_PPP_TIMEOUT = 2228; 1585 1586 PDP_FAIL_PPP_AUTH_FAILURE = 2229; 1587 1588 PDP_FAIL_PPP_OPTION_MISMATCH = 2230; 1589 1590 PDP_FAIL_PPP_PAP_FAILURE = 2231; 1591 1592 PDP_FAIL_PPP_CHAP_FAILURE = 2232; 1593 1594 PDP_FAIL_PPP_CLOSE_IN_PROGRESS = 2233; 1595 1596 PDP_FAIL_LIMITED_TO_IPV4 = 2234; 1597 1598 PDP_FAIL_LIMITED_TO_IPV6 = 2235; 1599 1600 PDP_FAIL_VSNCP_TIMEOUT = 2236; 1601 1602 PDP_FAIL_VSNCP_GEN_ERROR = 2237; 1603 1604 PDP_FAIL_VSNCP_APN_UNATHORIZED = 2238; 1605 1606 PDP_FAIL_VSNCP_PDN_LIMIT_EXCEEDED = 2239; 1607 1608 PDP_FAIL_VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240; 1609 1610 PDP_FAIL_VSNCP_PDN_GATEWAY_UNREACHABLE = 2241; 1611 1612 PDP_FAIL_VSNCP_PDN_GATEWAY_REJECT = 2242; 1613 1614 PDP_FAIL_VSNCP_INSUFFICIENT_PARAMETERS = 2243; 1615 1616 PDP_FAIL_VSNCP_RESOURCE_UNAVAILABLE = 2244; 1617 1618 PDP_FAIL_VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245; 1619 1620 PDP_FAIL_VSNCP_PDN_ID_IN_USE = 2246; 1621 1622 PDP_FAIL_VSNCP_SUBSCRIBER_LIMITATION = 2247; 1623 1624 PDP_FAIL_VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248; 1625 1626 PDP_FAIL_VSNCP_RECONNECT_NOT_ALLOWED = 2249; 1627 1628 PDP_FAIL_IPV6_PREFIX_UNAVAILABLE = 2250; 1629 1630 PDP_FAIL_HANDOFF_PREFERENCE_CHANGED = 2251; 1631 1632 // Not mentioned in the specification 1633 PDP_FAIL_VOICE_REGISTRATION_FAIL = -1; 1634 1635 PDP_FAIL_DATA_REGISTRATION_FAIL = -2; 1636 1637 // Reasons for data call drop - network/modem disconnect 1638 PDP_FAIL_SIGNAL_LOST = -3; 1639 1640 // Preferred technology has changed, should retry with parameters 1641 // appropriate for new technology 1642 PDP_FAIL_PREF_RADIO_TECH_CHANGED = -4; 1643 1644 // Data call was disconnected because radio was resetting, 1645 // powered off - no retry 1646 PDP_FAIL_RADIO_POWER_OFF = -5; 1647 1648 // Data call was disconnected by modem because tethered mode was up 1649 // on same APN/data profile - no retry until tethered call is off 1650 PDP_FAIL_TETHERED_CALL_ACTIVE = -6; 1651 1652 // retry silently 1653 PDP_FAIL_ERROR_UNSPECIFIED = 65535; 1654 } 1655 1656 // A RIL_DataCallFailCause, 0 which is PDP_FAIL_NONE if no error 1657 optional RilDataCallFailCause status = 1; 1658 1659 // If status != 0, this fields indicates the suggested retry back-off timer 1660 // value RIL wants to override the one pre-configured in FW 1661 optional int32 suggested_retry_time_millis = 2; 1662 1663 optional RilDataCall call = 3; 1664 } 1665 1666 // Carrier Key Change Event. 1667 message CarrierKeyChange { 1668 1669 enum KeyType { 1670 1671 // Key Type Unknown. 1672 UNKNOWN = 0; 1673 // Key Type for WLAN. 1674 WLAN = 1; 1675 // Key Type for EPDG. 1676 EPDG = 2; 1677 } 1678 1679 // Key type of the Encryption key. 1680 optional KeyType key_type = 1; 1681 1682 // Whether the download was successful or not. 1683 optional bool isDownloadSuccessful = 2; 1684 } 1685 1686 // Deactivate packet data connection 1687 message RilDeactivateDataCall { 1688 1689 // Context ID 1690 optional int32 cid = 1; 1691 1692 // Reason for deactivating data call 1693 optional DeactivateReason reason = 2; 1694 1695 // Deactivate data call reasons 1696 enum DeactivateReason { 1697 1698 // Reason is unknown. 1699 DEACTIVATE_REASON_UNKNOWN = 0; 1700 1701 DEACTIVATE_REASON_NONE = 1; 1702 1703 DEACTIVATE_REASON_RADIO_OFF = 2; 1704 1705 DEACTIVATE_REASON_PDP_RESET = 3; 1706 1707 DEACTIVATE_REASON_HANDOVER = 4; 1708 } 1709 } 1710 1711 message ModemRestart { 1712 // The baseband_version is used to identify the particular software version 1713 // where the modem restarts happened 1714 optional string baseband_version = 1; 1715 1716 // Indicates the modem restart reason. The restart reason can be used to 1717 // categorize any modem crashes and group similar crashes together. This 1718 // information will be useful to identify the cause of modem crashes, 1719 // reproduce the issue and confirm that the fix works. 1720 optional string reason = 2; 1721 } 1722 1723 message CarrierIdMatching { 1724 1725 // Carrier id table version number 1726 optional int32 cid_table_version = 1; 1727 1728 // Carrier id matching result object 1729 optional CarrierIdMatchingResult result = 2; 1730 } 1731 1732 message CarrierIdMatchingResult { 1733 1734 // A unique carrier id 1735 optional int32 carrier_id = 1; 1736 1737 // Group id level 1. Logged only if gid1 is configured from subscription 1738 // but its matching rule is unknown 1739 optional string unknown_gid1 = 2; 1740 1741 // MCC and MNC that map to this carrier. Logged only if mccmnc is configured 1742 // from subscription but its matching rule is unknown 1743 optional string unknown_mccmnc = 3; 1744 1745 // MCC and MNC from the subscription that map to this carrier. 1746 optional string mccmnc = 4; 1747 1748 // Group id level 1 from the subscription that map to this carrier. 1749 optional string gid1 = 5; 1750 1751 // Group id level 2 from the subscription that map to this carrier. 1752 optional string gid2 = 6; 1753 1754 // spn from the subscription that map to this carrier. 1755 optional string spn = 7; 1756 1757 // pnn from the subscription that map to this carrier. 1758 optional string pnn = 8; 1759 1760 // iccid prefix from the subscription that map to this carrier. 1761 // only log first 7 outof 20 bit of full iccid 1762 optional string iccid_prefix = 9; 1763 1764 // imsi prefix from the subscription that map to this carrier. 1765 // only log additional 2 bits other than MCC MNC. 1766 optional string imsi_prefix = 10; 1767 1768 // Carrier Privilege Access Rule in hex string from the subscription. 1769 // Sample values: 61ed377e85d386a8dfee6b864bd85b0bfaa5af88 1770 repeated string privilege_access_rule = 11; 1771 1772 // The Access Point Name, corresponding to "apn" field returned by 1773 // "content://telephony/carriers/preferapn" on device. 1774 // Sample values: fast.t-mobile.com, internet. Note only log if this apn is not user edited. 1775 optional string preferApn = 12; 1776 } 1777 1778 message NetworkCapabilitiesInfo { 1779 // Is network unmetered 1780 optional bool is_network_unmetered = 1; 1781 } 1782 1783 // Time when event happened on device, in milliseconds since boot 1784 optional int64 timestamp_millis = 1; 1785 1786 // In Multi-SIM devices this indicates SIM slot 1787 optional int32 phone_id = 2; 1788 1789 // Event type 1790 optional Type type = 3; 1791 1792 // User settings 1793 optional TelephonySettings settings = 4; 1794 1795 // RIL Service State 1796 optional TelephonyServiceState service_state = 5; 1797 1798 // IMS state 1799 optional ImsConnectionState ims_connection_state = 6; 1800 1801 // IMS capabilities 1802 optional ImsCapabilities ims_capabilities = 7; 1803 1804 // List of data calls when changed 1805 repeated RilDataCall data_calls = 8; 1806 1807 // RIL error code 1808 optional RilErrno error = 9; 1809 1810 // Setup data call request 1811 optional RilSetupDataCall setup_data_call = 10; 1812 1813 // Setup data call response 1814 optional RilSetupDataCallResponse setup_data_call_response = 11; 1815 1816 // Deactivate data call request 1817 optional RilDeactivateDataCall deactivate_data_call = 12; 1818 1819 // Data call stall recovery action 1820 optional int32 data_stall_action = 13; 1821 1822 // Modem restart event 1823 optional ModemRestart modem_restart = 14; 1824 1825 // NITZ time in milliseconds (see TelephonyEvent.Type.NITZ_TIME) 1826 optional int64 nitz_timestamp_millis = 15; 1827 1828 // Carrier id matching event 1829 optional CarrierIdMatching carrier_id_matching = 16; 1830 1831 // Carrier key change 1832 optional CarrierKeyChange carrier_key_change = 17; 1833 1834 // Data switch event 1835 optional DataSwitch data_switch = 19; 1836 1837 // For network validate event 1838 optional NetworkValidationState network_validation_state = 20; 1839 1840 // On demand data switch event 1841 optional OnDemandDataSwitch on_demand_data_switch = 21; 1842 1843 // Sim state for each slot. 1844 repeated SimState sim_state = 22; 1845 1846 // The active subscription info for a specific slot. 1847 optional ActiveSubscriptionInfo active_subscription_info = 23; 1848 1849 // The modem state represent by a bitmap, the i-th bit(LSB) indicates the i-th modem 1850 // state (0 - disabled, 1 - enabled). 1851 optional int32 enabled_modem_bitmap = 24; 1852 1853 // Updated Emergency Call info. 1854 optional EmergencyNumberInfo updated_emergency_number = 25; 1855 1856 // NetworkCapabilities changed info. 1857 optional NetworkCapabilitiesInfo network_capabilities = 26; 1858 1859 // Signal strength 1860 optional int32 signal_strength = 27; 1861 1862 // Indicate the version of emergency number database in Android platform 1863 optional int32 emergency_number_database_version = 28; 1864 // [ 1865 // (datapol.semantic_type) = ST_SOFTWARE_ID, 1866 // (datapol.qualifier) = { is_public: true } 1867 //] 1868 1869 // Radio state for the given phone_id 1870 optional RadioState radio_state = 29; 1871} 1872 1873message ActiveSubscriptionInfo { 1874 /** The slot index which this subscription is associated with. */ 1875 optional int32 slot_index = 1; 1876 1877 /** The Carrier id of this subscription. -1 indicates unknown value. */ 1878 optional int32 carrier_id = 2; 1879 1880 /** whether subscription is opportunistic (0 - false, 1 - true, -1 - unknown). */ 1881 optional int32 is_opportunistic = 3; 1882 1883 /** The mccmnc associated with the subscription. Useful for differentiating 1884 * between subscriptions with different mccmnc but same carrier_id (eg. Fi 1885 * Sprint vs. Fi T-Mobile).*/ 1886 optional string sim_mccmnc = 4 /*[ 1887 (datapol.semantic_type) = ST_LOCATION, 1888 (datapol.location_qualifier) = { precise_location: false } 1889 ]*/; 1890}; 1891 1892enum SimState { 1893 /** 1894 * SIM card is inserted, but the state is unknown. Typically happened when the SIM is inserted 1895 * but not loaded. 1896 */ 1897 SIM_STATE_UNKNOWN = 0; 1898 1899 /** No SIM card is inserted in the slot. */ 1900 SIM_STATE_ABSENT = 1; 1901 1902 /** SIM card applications have been loaded. */ 1903 SIM_STATE_LOADED = 2; 1904}; 1905 1906enum TimeInterval { 1907 TI_UNKNOWN = 0; 1908 TI_10_MILLIS = 1; 1909 TI_20_MILLIS = 2; 1910 TI_50_MILLIS = 3; 1911 TI_100_MILLIS = 4; 1912 TI_200_MILLIS = 5; 1913 TI_500_MILLIS = 6; 1914 TI_1_SEC = 7; 1915 TI_2_SEC = 8; 1916 TI_5_SEC = 9; 1917 TI_10_SEC = 10; 1918 TI_30_SEC = 11; 1919 TI_1_MINUTE = 12; 1920 TI_3_MINUTES = 13; 1921 TI_10_MINUTES = 14; 1922 TI_30_MINUTES = 15; 1923 TI_1_HOUR = 16; 1924 TI_2_HOURS = 17; 1925 TI_4_HOURS = 18; 1926 TI_MANY_HOURS = 19; 1927} 1928 1929// Information about CS and/or PS call session. 1930// Session starts when call is placed or accepted and 1931// ends when there are no more active calls. 1932message TelephonyCallSession { 1933 1934 message Event { 1935 1936 enum Type { 1937 1938 // Unknown event 1939 EVENT_UNKNOWN = 0; 1940 1941 // Telephony related user settings changed 1942 SETTINGS_CHANGED = 1; 1943 1944 // Phone state changed 1945 RIL_SERVICE_STATE_CHANGED = 2; 1946 1947 // IMS connected/disconnected 1948 IMS_CONNECTION_STATE_CHANGED = 3; 1949 1950 // IMS Voice, Video and Ut capabilities changed 1951 IMS_CAPABILITIES_CHANGED = 4; 1952 1953 // Notification that new data call has appeared in the list 1954 // or old data call has removed. 1955 DATA_CALL_LIST_CHANGED = 5; 1956 1957 // Send request to RIL 1958 RIL_REQUEST = 6; 1959 1960 // Result of the RIL request 1961 RIL_RESPONSE = 7; 1962 1963 // Ring indication for an incoming call 1964 RIL_CALL_RING = 8; 1965 1966 // Notification that Single Radio Voice Call Continuity(SRVCC) 1967 // progress state has changed. 1968 RIL_CALL_SRVCC = 9; 1969 1970 // Notification that list of calls has changed. 1971 RIL_CALL_LIST_CHANGED = 10; 1972 1973 // Command sent to IMS Service. See ImsCommand. 1974 IMS_COMMAND = 11; 1975 1976 // Command sent to IMS Service. See ImsCommand. 1977 IMS_COMMAND_RECEIVED = 12; 1978 1979 // Command sent to IMS Service. See ImsCommand. 1980 IMS_COMMAND_FAILED = 13; 1981 1982 // Command sent to IMS Service. See ImsCommand. 1983 IMS_COMMAND_COMPLETE = 14; 1984 1985 // Notification about incoming voice call 1986 IMS_CALL_RECEIVE = 15; 1987 1988 // Notification that state of the call has changed 1989 IMS_CALL_STATE_CHANGED = 16; 1990 1991 // Notification about IMS call termination 1992 IMS_CALL_TERMINATED = 17; 1993 1994 // Notification that session access technology has changed 1995 IMS_CALL_HANDOVER = 18; 1996 1997 // Notification that session access technology has changed 1998 IMS_CALL_HANDOVER_FAILED = 19; 1999 2000 // Notification about phone state changed. 2001 PHONE_STATE_CHANGED = 20; 2002 2003 // System time overwritten by NITZ (Network time) 2004 NITZ_TIME = 21; 2005 2006 // Change of audio codec 2007 AUDIO_CODEC = 22; 2008 2009 // Notification that the call quality has changed 2010 CALL_QUALITY_CHANGED = 23; 2011 } 2012 2013 enum RilRequest { 2014 2015 RIL_REQUEST_UNKNOWN = 0; 2016 2017 // Initiate voice call 2018 RIL_REQUEST_DIAL = 1; 2019 2020 // Answer incoming call 2021 RIL_REQUEST_ANSWER = 2; 2022 2023 // Hang up a specific line 2024 RIL_REQUEST_HANGUP = 3; 2025 2026 // Configure current call waiting state 2027 RIL_REQUEST_SET_CALL_WAITING = 4; 2028 2029 RIL_REQUEST_SWITCH_HOLDING_AND_ACTIVE = 5; 2030 2031 // Send FLASH 2032 RIL_REQUEST_CDMA_FLASH = 6; 2033 2034 // Conference holding and active 2035 RIL_REQUEST_CONFERENCE = 7; 2036 } 2037 2038 enum ImsCommand { 2039 2040 // Command is unknown. 2041 IMS_CMD_UNKNOWN = 0; 2042 2043 IMS_CMD_START = 1; 2044 2045 IMS_CMD_ACCEPT = 2; 2046 2047 IMS_CMD_REJECT = 3; 2048 2049 IMS_CMD_TERMINATE = 4; 2050 2051 IMS_CMD_HOLD = 5; 2052 2053 IMS_CMD_RESUME = 6; 2054 2055 IMS_CMD_MERGE = 7; 2056 2057 IMS_CMD_UPDATE = 8; 2058 2059 IMS_CMD_CONFERENCE_EXTEND = 9; 2060 2061 IMS_CMD_INVITE_PARTICIPANT = 10; 2062 2063 IMS_CMD_REMOVE_PARTICIPANT = 11; 2064 } 2065 2066 enum PhoneState { 2067 2068 // State is unknown. 2069 STATE_UNKNOWN = 0; 2070 2071 STATE_IDLE = 1; 2072 2073 STATE_RINGING = 2; 2074 2075 STATE_OFFHOOK = 3; 2076 } 2077 2078 // Telephony call states 2079 enum CallState { 2080 2081 // State is unknown. 2082 CALL_UNKNOWN = 0; 2083 2084 CALL_IDLE = 1; 2085 2086 CALL_ACTIVE = 2; 2087 2088 CALL_HOLDING = 3; 2089 2090 CALL_DIALING = 4; 2091 2092 CALL_ALERTING = 5; 2093 2094 CALL_INCOMING = 6; 2095 2096 CALL_WAITING = 7; 2097 2098 CALL_DISCONNECTED = 8; 2099 2100 CALL_DISCONNECTING = 9; 2101 } 2102 2103 // Audio codecs 2104 enum AudioCodec { 2105 2106 // Unknown codec 2107 AUDIO_CODEC_UNKNOWN = 0; 2108 2109 AUDIO_CODEC_AMR = 1; 2110 2111 AUDIO_CODEC_AMR_WB = 2; 2112 2113 AUDIO_CODEC_QCELP13K = 3; 2114 2115 AUDIO_CODEC_EVRC = 4; 2116 2117 AUDIO_CODEC_EVRC_B = 5; 2118 2119 AUDIO_CODEC_EVRC_WB = 6; 2120 2121 AUDIO_CODEC_EVRC_NW = 7; 2122 2123 AUDIO_CODEC_GSM_EFR = 8; 2124 2125 AUDIO_CODEC_GSM_FR = 9; 2126 2127 AUDIO_CODEC_GSM_HR = 10; 2128 2129 AUDIO_CODEC_G711U = 11; 2130 2131 AUDIO_CODEC_G723 = 12; 2132 2133 AUDIO_CODEC_G711A = 13; 2134 2135 AUDIO_CODEC_G722 = 14; 2136 2137 AUDIO_CODEC_G711AB = 15; 2138 2139 AUDIO_CODEC_G729 = 16; 2140 2141 AUDIO_CODEC_EVS_NB = 17; 2142 2143 AUDIO_CODEC_EVS_WB = 18; 2144 2145 AUDIO_CODEC_EVS_SWB = 19; 2146 2147 AUDIO_CODEC_EVS_FB = 20; 2148 } 2149 2150 // The information about a voice call 2151 message RilCall { 2152 2153 enum Type { 2154 2155 // Scan Type is unknown. 2156 UNKNOWN = 0; 2157 2158 // Mobile originated 2159 MO = 1; 2160 2161 // Mobile terminated 2162 MT = 2; 2163 } 2164 2165 // Connection Index 2166 optional int32 index = 1; 2167 2168 optional CallState state = 2; 2169 2170 optional Type type = 3; 2171 2172 // For possible values for a call end reason check 2173 // frameworks/base/telephony/java/android/telephony/DisconnectCause.java 2174 optional int32 call_end_reason = 4; 2175 2176 // This field is true for Conference Calls 2177 optional bool is_multiparty = 5; 2178 2179 // Detailed cause code for CS Call failures 2180 // frameworks/base/telephony/java/android/telephony/PreciseDisconnectCause.java 2181 optional int32 precise_disconnect_cause = 6; 2182 2183 // Indicate if the call is an emergency call 2184 optional bool is_emergency_call = 7; 2185 2186 // Indicate the emergency call information dialed from the CS call 2187 optional EmergencyNumberInfo emergency_number_info = 8; 2188 2189 // Indicate the version of emergency number database in Android platform 2190 optional int32 emergency_number_database_version = 9; 2191 // [ 2192 // (datapol.semantic_type) = ST_SOFTWARE_ID, 2193 // (datapol.qualifier) = { is_public: true } 2194 //] 2195 } 2196 2197 // Single Radio Voice Call Continuity(SRVCC) progress state 2198 enum RilSrvccState { 2199 2200 // State is unknown. 2201 HANDOVER_UNKNOWN = 0; 2202 2203 HANDOVER_STARTED = 1; 2204 2205 HANDOVER_COMPLETED = 2; 2206 2207 HANDOVER_FAILED = 3; 2208 2209 HANDOVER_CANCELED = 4; 2210 } 2211 2212 message SignalStrength { 2213 2214 // signal to noise ratio for LTE signal strength 2215 optional int32 lte_snr = 1; 2216 2217 // in the future we may include more measures of signal strength, or 2218 // measurements for other RATs 2219 } 2220 2221 // CallQuality information. (This proto class corresponds to 2222 // android.telephony.CallQuality) 2223 message CallQuality { 2224 2225 enum CallQualityLevel { 2226 2227 // leaving the first value explicitly as unspecified avoids breaking 2228 // clients if the desired default behavior changes 2229 UNDEFINED = 0; 2230 2231 EXCELLENT = 1; 2232 2233 GOOD = 2; 2234 2235 FAIR = 3; 2236 2237 POOR = 4; 2238 2239 BAD = 5; 2240 2241 // this typically indicates a failure in the modem 2242 NOT_AVAILABLE = 6; 2243 } 2244 2245 // the downlink CallQualityLevel for a given ongoing call 2246 optional CallQualityLevel downlink_level = 1; 2247 2248 // the uplink CallQualityLevel for a given ongoing call 2249 optional CallQualityLevel uplink_level = 2; 2250 2251 // the duration of the call, in seconds 2252 optional int32 duration_in_seconds = 3; 2253 2254 // the total number of RTP packets transmitted by this device for an 2255 // ongoing call 2256 optional int32 rtp_packets_transmitted = 4; 2257 2258 // the total number of RTP packets received by this device for an ongoing 2259 // call 2260 optional int32 rtp_packets_received = 5; 2261 2262 // the number of RTP packets which were sent by this device but were lost 2263 // in the network before reaching the other party 2264 optional int32 rtp_packets_transmitted_lost = 6; 2265 2266 // the number of RTP packets which were sent by the other party but were 2267 // lost in the network before reaching this device 2268 optional int32 rtp_packets_not_received = 7; 2269 2270 // the average relative jitter in milliseconds. Jitter represents the 2271 // amount of variance in interarrival time of packets, for example, if two 2272 // packets are sent 2 milliseconds apart but received 3 milliseconds 2273 // apart, the relative jitter between those packets is 1 millisecond. 2274 // 2275 // See RFC 3550 for more information on jitter calculations 2276 optional int32 average_relative_jitter_millis = 8; 2277 2278 // the maximum relative jitter for a given ongoing call. Jitter represents 2279 // the amount of variance in interarrival time of packets, for example, if 2280 // two packets are sent 2 milliseconds apart but received 3 milliseconds 2281 // apart, the relative jitter between those packets is 1 millisecond. 2282 // 2283 // See RFC 3550 for more information on jitter calculations. 2284 optional int32 max_relative_jitter_millis = 9; 2285 2286 // the average round trip time of RTP packets in an ongoing call, in milliseconds 2287 optional int32 average_round_trip_time = 10; 2288 2289 // the codec type of an ongoing call 2290 optional AudioCodec codec_type = 11; 2291 2292 // true if no incoming RTP is received for a continuous duration of 4 seconds 2293 optional bool rtp_inactivity_detected = 12; 2294 2295 // true if only silence RTP packets are received for 20 seconds immediately 2296 // after call is connected 2297 optional bool rx_silence_detected = 13; 2298 2299 // true if only silence RTP packets are sent for 20 seconds immediately 2300 // after call is connected 2301 optional bool tx_silence_detected = 14; 2302 2303 // the number of Voice frames sent by jitter buffer to audio 2304 optional int32 voice_frames = 15; 2305 2306 // the number of NO_DATA frames sent by jitter buffer to audio 2307 optional int32 no_data_frames = 16; 2308 2309 // the number of RTP voice packets dropped by jitter buffer 2310 optional int32 rtp_dropped_packets = 17; 2311 2312 // the minimum playout delay in the reporting interval, in milliseconds 2313 optional int64 min_playout_delay_millis = 18; 2314 2315 // the maximum playout delay in the reporting interval, in milliseconds 2316 optional int64 max_playout_delay_millis = 19; 2317 2318 // the total number of RTP SID packets received by this device 2319 // for an ongoing call 2320 optional int32 rx_rtp_sid_packets = 20; 2321 2322 // the total number of RTP duplicate packets received by this device 2323 // for an ongoing call 2324 optional int32 rtp_duplicate_packets = 21; 2325 } 2326 2327 message CallQualitySummary { 2328 2329 // Total duration of good call quality reported at the end of a call 2330 optional int32 total_good_quality_duration_in_seconds = 1; 2331 2332 // Total duration of bad call quality reported at the end of a call 2333 optional int32 total_bad_quality_duration_in_seconds = 2; 2334 2335 // Total duration of the call for which we have call quality 2336 // information, reported at the end of a call. For example, if an IMS call 2337 // is converted to a CS call, which doesn't report call quality information, 2338 // this value is the duration of the IMS component. 2339 optional int32 total_duration_with_quality_information_in_seconds = 3; 2340 2341 // Snapshot of the CallQuality when signal strength is worst within good 2342 // quality section 2343 optional CallQuality snapshot_of_worst_ss_with_good_quality = 4; 2344 2345 // Snapshot of the CallQuality when signal strength is best within good 2346 // quality section 2347 optional CallQuality snapshot_of_best_ss_with_good_quality = 5; 2348 2349 // Snapshot of the CallQuality when signal strength is worst within bad 2350 // quality section 2351 optional CallQuality snapshot_of_worst_ss_with_bad_quality = 6; 2352 2353 // Snapshot of the CallQuality when signal strength is best within bad 2354 // quality section 2355 optional CallQuality snapshot_of_best_ss_with_bad_quality = 7; 2356 2357 // The worst SignalStrength in any good quality section 2358 optional SignalStrength worst_ss_with_good_quality = 8; 2359 2360 // The best SignalStrength in any good quality section 2361 optional SignalStrength best_ss_with_good_quality = 9; 2362 2363 // The worst SignalStrength in any bad quality section 2364 optional SignalStrength worst_ss_with_bad_quality = 10; 2365 2366 // The best SignalStrength in any bad quality section 2367 optional SignalStrength best_ss_with_bad_quality = 11; 2368 2369 // Snapshot of the CallQuality at the end of a call. This includes 2370 // cumulative statistics like total duration and total RTP packets. 2371 optional CallQuality snapshot_of_end = 12; 2372 2373 } 2374 2375 // Event type 2376 optional Type type = 1; 2377 2378 // Time since previous event 2379 optional TimeInterval delay = 2; 2380 2381 // Settings at the beginning of the session or when changed 2382 optional TelephonySettings settings = 3; 2383 2384 // State at the beginning of the session or when changed 2385 optional TelephonyServiceState service_state = 4; 2386 2387 // State at the beginning of the session or when changed 2388 optional ImsConnectionState ims_connection_state = 5; 2389 2390 // Capabilities at the beginning of the session or when changed 2391 optional ImsCapabilities ims_capabilities = 6; 2392 2393 // List of data calls at the beginning of the session or when changed 2394 repeated RilDataCall data_calls = 7; 2395 2396 // New state 2397 optional PhoneState phone_state = 8; 2398 2399 // New state 2400 optional CallState call_state = 9; 2401 2402 // CS or IMS Voice call index 2403 optional int32 call_index = 10; 2404 2405 // New merged call 2406 optional int32 merged_call_index = 11; 2407 2408 // Active CS Voice calls 2409 repeated RilCall calls = 12; 2410 2411 // RIL error code 2412 optional RilErrno error = 13; 2413 2414 // RIL request 2415 optional RilRequest ril_request = 14; 2416 2417 // Numeric ID 2418 optional int32 ril_request_id = 15; 2419 2420 // New SRVCC state 2421 optional RilSrvccState srvcc_state = 16; 2422 2423 // IMS command 2424 optional ImsCommand ims_command = 17; 2425 2426 // IMS Failure reason 2427 optional ImsReasonInfo reason_info = 18; 2428 2429 // Original access technology 2430 optional RadioAccessTechnology src_access_tech = 19 [default = UNKNOWN]; 2431 2432 // New access technology 2433 optional RadioAccessTechnology target_access_tech = 20 [default = UNKNOWN]; 2434 2435 // NITZ time in milliseconds 2436 optional int64 nitz_timestamp_millis = 21; 2437 2438 // Audio codec at the beginning of the session or when changed 2439 optional AudioCodec audio_codec = 22; 2440 2441 // Call quality when changed 2442 optional CallQuality call_quality = 23; 2443 2444 // Downlink call quality summary at the end of a call 2445 optional CallQualitySummary call_quality_summary_dl = 24; 2446 2447 // Uplink call quality summary at the end of a call 2448 optional CallQualitySummary call_quality_summary_ul = 25; 2449 2450 // Indicate if it is IMS emergency call 2451 optional bool is_ims_emergency_call = 26; 2452 2453 // Emergency call info 2454 optional EmergencyNumberInfo ims_emergency_number_info = 27; 2455 2456 // Indicate the version of emergency number database in Android platform 2457 optional int32 emergency_number_database_version = 28; 2458 // [ 2459 // (datapol.semantic_type) = ST_SOFTWARE_ID, 2460 // (datapol.qualifier) = { is_public: true } 2461 //] 2462 } 2463 2464 // Time when call has started, in minutes since epoch, 2465 // with 5 minutes precision 2466 optional int32 start_time_minutes = 1; 2467 2468 // In Multi-SIM devices this indicates SIM slot 2469 optional int32 phone_id = 2; 2470 2471 // List of events happened during the call 2472 repeated Event events = 3; 2473 2474 // Indicating some call events are dropped 2475 optional bool events_dropped = 4; 2476} 2477 2478message SmsSession { 2479 2480 message Event { 2481 2482 enum Type { 2483 2484 // Unknown event 2485 EVENT_UNKNOWN = 0; 2486 2487 // Telephony related user settings changed 2488 SETTINGS_CHANGED = 1; 2489 2490 // Phone state changed 2491 RIL_SERVICE_STATE_CHANGED = 2; 2492 2493 // IMS connected/disconnected 2494 IMS_CONNECTION_STATE_CHANGED = 3; 2495 2496 // IMS Voice, Video and Ut capabilities changed 2497 IMS_CAPABILITIES_CHANGED = 4; 2498 2499 // Notification that new data call has appeared in the list 2500 // or old data call has removed. 2501 DATA_CALL_LIST_CHANGED = 5; 2502 2503 // Send a SMS message over RIL 2504 SMS_SEND = 6; 2505 2506 // Message has been sent to network using RIL 2507 SMS_SEND_RESULT = 7; 2508 2509 // Notification about received SMS using RIL 2510 SMS_RECEIVED = 8; 2511 2512 // CB message received 2513 CB_SMS_RECEIVED = 9; 2514 2515 // Incomplete multipart message received 2516 INCOMPLETE_SMS_RECEIVED = 10; 2517 } 2518 2519 // Formats used to encode SMS messages 2520 enum Format { 2521 2522 // Format is unknown. 2523 SMS_FORMAT_UNKNOWN = 0; 2524 2525 // GSM, WCDMA 2526 SMS_FORMAT_3GPP = 1; 2527 2528 // CDMA 2529 SMS_FORMAT_3GPP2 = 2; 2530 } 2531 2532 enum Tech { 2533 SMS_UNKNOWN = 0; 2534 2535 SMS_GSM = 1; 2536 2537 SMS_CDMA = 2; 2538 2539 SMS_IMS = 3; 2540 } 2541 2542 message CBMessage { 2543 // CB message format 2544 optional Format msg_format = 1; 2545 2546 // CB message priority 2547 optional CBPriority msg_priority = 2; 2548 2549 // Type of CB msg 2550 optional CBMessageType msg_type = 3; 2551 2552 // Service category of CB message 2553 optional int32 service_category = 4; 2554 2555 // Message's serial number 2556 optional int32 serial_number = 5; 2557 2558 // The delivered time (UTC) of the message 2559 optional int64 delivered_timestamp_millis = 6; 2560 } 2561 2562 enum CBMessageType { 2563 // Unknown type 2564 TYPE_UNKNOWN = 0; 2565 2566 // ETWS CB msg 2567 ETWS = 1; 2568 2569 // CMAS CB msg 2570 CMAS = 2; 2571 2572 // CB msg other than ETWS and CMAS 2573 OTHER = 3; 2574 } 2575 2576 enum CBPriority { 2577 // Unknown priority 2578 PRIORITY_UNKNOWN = 0; 2579 2580 // NORMAL priority 2581 NORMAL = 1; 2582 2583 // Interactive priority 2584 INTERACTIVE = 2; 2585 2586 // Urgent priority 2587 URGENT = 3; 2588 2589 // Emergency priority 2590 EMERGENCY = 4; 2591 } 2592 2593 // Types of SMS messages 2594 enum SmsType { 2595 2596 // Normal type 2597 SMS_TYPE_NORMAL = 0; 2598 2599 // SMS-PP. 2600 SMS_TYPE_SMS_PP = 1; 2601 2602 // Voicemail indication 2603 SMS_TYPE_VOICEMAIL_INDICATION = 2; 2604 2605 // Type 0 message (3GPP TS 23.040 9.2.3.9) 2606 SMS_TYPE_ZERO = 3; 2607 2608 // WAP-PUSH message 2609 SMS_TYPE_WAP_PUSH = 4; 2610 } 2611 2612 message IncompleteSms { 2613 // Number of received parts 2614 optional int32 received_parts = 1; 2615 2616 // Number of expected parts 2617 optional int32 total_parts = 2; 2618 } 2619 2620 // Event type 2621 optional Type type = 1; 2622 2623 // Time since previous event 2624 optional TimeInterval delay = 2; 2625 2626 // Settings at the beginning of the session or when changed 2627 optional TelephonySettings settings = 3; 2628 2629 // State at the beginning of the session or when changed 2630 optional TelephonyServiceState service_state = 4; 2631 2632 // State at the beginning of the session or when changed 2633 optional ImsConnectionState ims_connection_state = 5; 2634 2635 // Capabilities at the beginning of the session or when changed 2636 optional ImsCapabilities ims_capabilities = 6; 2637 2638 // List of data calls at the beginning of the session or when changed 2639 repeated RilDataCall data_calls = 7; 2640 2641 // Format of the message 2642 optional Format format = 8; 2643 2644 // Technology used to send/receive SMS 2645 optional Tech tech = 9; 2646 2647 // For outgoing SMS: 2648 // - See 3GPP 27.005, 3.2.5 for GSM/UMTS, 2649 // - 3GPP2 N.S0005 (IS-41C) Table 171 for CDMA, 2650 // For incoming SMS of any type: 2651 // - it is mapped to a SmsManager.RESULT_* code 2652 // SmsManager can be accessed from 2653 // frameworks/base/telephony/java/android/telephony/SmsManager.java 2654 optional int32 error_code = 10; 2655 2656 // RIL error code - Not used. 2657 optional RilErrno error = 11; 2658 2659 // Numeric ID - Used only for outgoing SMS 2660 optional int32 ril_request_id = 12; 2661 2662 // Cellbroadcast message content 2663 optional CBMessage cell_broadcast_message = 13; 2664 2665 // ImsService error code. Used only for outgoing SMS 2666 optional ImsServiceErrno ims_error = 14; 2667 2668 // Details of incoming incomplete multipart SMS 2669 optional IncompleteSms incomplete_sms = 15; 2670 2671 // Indicate the type of incoming SMS 2672 optional SmsType sms_type = 16; 2673 2674 // Indicates if the incoming SMS was blocked 2675 optional bool blocked = 17; 2676 2677 // Optional xMS message unique id 2678 optional int64 message_id = 18; 2679 } 2680 2681 // Time when session has started, in minutes since epoch, 2682 // with 5 minutes precision 2683 optional int32 start_time_minutes = 1; 2684 2685 // In Multi-SIM devices this indicates SIM slot 2686 optional int32 phone_id = 2; 2687 2688 // List of events happened during the call 2689 repeated Event events = 3; 2690 2691 // Indicating some sms session events are dropped 2692 optional bool events_dropped = 4; 2693} 2694 2695// Power stats for modem 2696message ModemPowerStats { 2697 2698 // Duration of log (ms). This is the duration of time device is 2699 // on battery and modem power stats are collected. 2700 optional int64 logging_duration_ms = 1; 2701 2702 // Energy consumed by modem (mAh) 2703 optional double energy_consumed_mah = 2; 2704 2705 // Number of packets sent (tx) 2706 optional int64 num_packets_tx = 3; 2707 2708 // Amount of time kernel is active because of cellular data (ms) 2709 optional int64 cellular_kernel_active_time_ms = 4; 2710 2711 // Amount of time spent in very poor rx signal level (ms) 2712 optional int64 time_in_very_poor_rx_signal_level_ms = 5; 2713 2714 // Amount of time modem is in sleep (ms) 2715 optional int64 sleep_time_ms = 6; 2716 2717 // Amount of time modem is in idle (ms) 2718 optional int64 idle_time_ms = 7; 2719 2720 // Amount of time modem is in rx (ms) 2721 optional int64 rx_time_ms = 8; 2722 2723 // Amount of time modem is in tx (ms) 2724 repeated int64 tx_time_ms = 9; 2725 2726 // Number of bytes sent (tx) 2727 optional int64 num_bytes_tx = 10; 2728 2729 // Number of packets received (rx) 2730 optional int64 num_packets_rx = 11; 2731 2732 // Number of bytes received (rx) 2733 optional int64 num_bytes_rx = 12; 2734 2735 // Amount of time phone spends in various Radio Access Technologies (ms) 2736 repeated int64 time_in_rat_ms = 13; 2737 2738 // Amount of time phone spends in various cellular 2739 // rx signal strength levels (ms) 2740 repeated int64 time_in_rx_signal_strength_level_ms = 14; 2741 2742 // Actual monitored rail energy consumed by modem (mAh) 2743 optional double monitored_rail_energy_consumed_mah = 15; 2744} 2745 2746// Bandwidth estimator stats 2747message BandwidthEstimatorStats { 2748 // Bandwidth stats of each level 2749 message PerLevel { 2750 optional uint32 signal_level = 1; 2751 // Accumulated bandwidth sample count 2752 optional uint32 count = 2; 2753 // Average end-to-end bandwidth in kbps 2754 optional uint32 avg_bw_kbps = 3; 2755 // Normalized error of static BW values in percent 2756 optional uint32 static_bw_error_percent = 4; 2757 // Normalized error of end-to-end BW estimation in percent 2758 optional uint32 bw_est_error_percent = 5; 2759 } 2760 2761 // Bandwidth stats of each RAT 2762 message PerRat { 2763 // radio access technology 2764 optional RadioAccessTechnology rat = 1; 2765 // NR (5g) operation mode 2766 optional NrMode nr_mode = 2; 2767 // bandwidth stats of signal levels 2768 repeated PerLevel per_level = 3; 2769 } 2770 2771 // Tx Stats of visited RATs 2772 repeated PerRat per_rat_tx = 1; 2773 // Rx Stats of visited RATs 2774 repeated PerRat per_rat_rx = 2; 2775} 2776