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