1/*
2 * Copyright (C) 2020 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 telephonyStatsLog;
20
21option java_package = "com.android.internal.telephony";
22option java_outer_classname = "PersistAtomsProto";
23
24// Holds atoms to store on persist storage in case of power cycle or process crash.
25// NOTE: using int64 rather than google.protobuf.Timestamp for timestamps simplifies implementation.
26// Next id: 82
27message PersistAtoms {
28    /* Aggregated RAT usage during the call. */
29    repeated VoiceCallRatUsage voice_call_rat_usage = 1;
30
31    /* Timestamp of last voice_call_rat_usages pull. */
32    optional int64 voice_call_rat_usage_pull_timestamp_millis = 2;
33
34    /* Per call statistics and information. */
35    repeated VoiceCallSession voice_call_session = 3;
36
37    /* Timestamp of last voice_call_sessions pull. */
38    optional int64 voice_call_session_pull_timestamp_millis = 4;
39
40    /* Incoming SMS statistics and information. */
41    repeated IncomingSms incoming_sms = 5;
42
43    /* Timestamp of last incoming_sms pull. */
44    optional int64 incoming_sms_pull_timestamp_millis = 6;
45
46    /* Outgoing SMS statistics and information. */
47    repeated OutgoingSms outgoing_sms = 7;
48
49    /* Timestamp of last incoming_sms pull. */
50    optional int64 outgoing_sms_pull_timestamp_millis = 8;
51
52    /* List of carrier ID mismatch events already sent. */
53    repeated CarrierIdMismatch carrier_id_mismatch = 9;
54
55    /* Last version of carrier ID table sent. */
56    optional int32 carrier_id_table_version = 10;
57
58    /* Data Call session statistics and information. */
59    repeated DataCallSession data_call_session = 11;
60
61    /* Timestamp of last data_call_session pull. */
62    optional int64 data_call_session_pull_timestamp_millis = 12;
63
64    /* Duration spent in each possible service state. */
65    repeated CellularServiceState cellular_service_state = 13;
66
67    /* Timestamp of last cellular_service_state pull. */
68    optional int64 cellular_service_state_pull_timestamp_millis = 14;
69
70    /* Switch count between data RATs. */
71    repeated CellularDataServiceSwitch cellular_data_service_switch = 15;
72
73    /* Timestamp of last cellular_data_service_switch pull. */
74    optional int64 cellular_data_service_switch_pull_timestamp_millis = 16;
75
76    /* List of IMS registration terminations. */
77    repeated ImsRegistrationTermination ims_registration_termination = 17;
78
79    /* Timestamp of last ims_registration_termination pull. */
80    optional int64 ims_registration_termination_pull_timestamp_millis = 18;
81
82    /* Durations of IMS registrations and capabilities. */
83    repeated ImsRegistrationStats ims_registration_stats = 19;
84
85    /* Timestamp of last ims_registration_stats pull. */
86    optional int64 ims_registration_stats_pull_timestamp_millis = 20;
87
88    /* Last Android build fingerprint. This usually changes after system OTA. */
89    optional string build_fingerprint = 21;
90
91    /* Summary of received network requests. */
92    repeated NetworkRequests network_requests = 22 [deprecated = true];
93
94    /* Timestamp of last network_requests pull. */
95    optional int64 network_requests_pull_timestamp_millis = 23 [deprecated = true];
96
97    /* RCS single registrtions feature tag information. */
98    repeated ImsRegistrationFeatureTagStats ims_registration_feature_tag_stats = 24;
99
100    /* Timestamp of last ims_registration_feature_tag_stats pull. */
101    optional int64 ims_registration_feature_tag_stats_pull_timestamp_millis = 25;
102
103    /* RCS client provisioning statistics and information. */
104    repeated RcsClientProvisioningStats rcs_client_provisioning_stats = 26;
105
106    /* Timestamp of last rcs_client_provisioning_stats pull. */
107    optional int64 rcs_client_provisioning_stats_pull_timestamp_millis = 27;
108
109    /* RCS configuration statistics and information based ACS. */
110    repeated RcsAcsProvisioningStats rcs_acs_provisioning_stats = 28;
111
112    /* Timestamp of last rcs_acs_provisioning_stats pull. */
113    optional int64 rcs_acs_provisioning_stats_pull_timestamp_millis = 29;
114
115    /* SIP delegate statistics and information. */
116    repeated SipDelegateStats sip_delegate_stats = 30;
117
118    /* Timestamp of last sip_delegate_stats pull. */
119    optional int64 sip_delegate_stats_pull_timestamp_millis = 31;
120
121    /* SIP Transport featuere tag statistics and information. */
122    repeated SipTransportFeatureTagStats sip_transport_feature_tag_stats = 32;
123
124    /* Timestamp of last sip_transport_feature_tag_stats pull. */
125    optional int64 sip_transport_feature_tag_stats_pull_timestamp_millis = 33;
126
127    /* SIP Message response statistics and information. */
128    repeated SipMessageResponse sip_message_response = 34;
129
130    /* Timestamp of last sip_message_response pull. */
131    optional int64 sip_message_response_pull_timestamp_millis = 35;
132
133    /* SIP Transport session statistics and information. */
134    repeated SipTransportSession sip_transport_session = 36;
135
136    /* Timestamp of last sip_transport_session pull. */
137    optional int64 sip_transport_session_pull_timestamp_millis = 37;
138
139    /* Dedicated bearer listener statistics and information. */
140    repeated ImsDedicatedBearerListenerEvent ims_dedicated_bearer_listener_event = 38;
141
142    /* Timestamp of last ims_dedicated_bearer_listener_event pull. */
143    optional int64 ims_dedicated_bearer_listener_event_pull_timestamp_millis = 39;
144
145    /* Dedicated bearer event statistics and information. */
146    repeated ImsDedicatedBearerEvent ims_dedicated_bearer_event = 40;
147
148    /* Timestamp of last ims_dedicated_bearer_event pull. */
149    optional int64 ims_dedicated_bearer_event_pull_timestamp_millis = 41;
150
151    /* Publish featere tag statistics and information. */
152    repeated ImsRegistrationServiceDescStats ims_registration_service_desc_stats = 42;
153
154    /* Timestamp of last ims_registration_service_desc_stats pull. */
155    optional int64 ims_registration_service_desc_stats_pull_timestamp_millis = 43;
156
157    /* UCE event stats statistics and information. */
158    repeated UceEventStats uce_event_stats = 44;
159
160    /* Timestamp of last uce_event_stats pull. */
161    optional int64 uce_event_stats_pull_timestamp_millis = 45;
162
163    /* Presence notify event statistics and information. */
164    repeated PresenceNotifyEvent presence_notify_event = 46;
165
166    /* Timestamp of last presence_notify_event pull. */
167    optional int64 presence_notify_event_pull_timestamp_millis = 47;
168
169    /* GBA event statistics and information. */
170    repeated GbaEvent gba_event = 48;
171
172    /* Timestamp of last gba_event pull. */
173    optional int64 gba_event_pull_timestamp_millis = 49;
174
175    /* Summary of received network requests. */
176    repeated NetworkRequestsV2 network_requests_v2 = 50;
177
178    /* Timestamp of last network_requests_v2 pull. */
179    optional int64 network_requests_v2_pull_timestamp_millis = 51;
180
181    /* Unmetered networks information. */
182    repeated UnmeteredNetworks unmetered_networks = 52;
183
184    /* Outgoing Short Code SMS statistics and information. */
185    repeated OutgoingShortCodeSms outgoing_short_code_sms = 53;
186
187    /* Timestamp of last outgoing_short_code_sms pull. */
188    optional int64 outgoing_short_code_sms_pull_timestamp_millis = 54;
189
190    /* Number of time the user toggled the data switch feature since the last collection. */
191    optional int32 auto_data_switch_toggle_count = 55;
192
193    /* Consolidated emergency numbers list information. */
194    repeated EmergencyNumbersInfo emergency_numbers_info = 56;
195
196    /* Timestamp of last emergency number pull. */
197    optional int64 emergency_number_pull_timestamp_millis = 57;
198
199    /** Snapshot of satellite controller. */
200    repeated SatelliteController satellite_controller = 58;
201
202    /* Timestamp of last satellite_controller pull. */
203    optional int64 satellite_controller_pull_timestamp_millis = 59;
204
205    /** Snapshot of satellite controller. */
206    repeated SatelliteSession satellite_session = 60;
207
208    /* Timestamp of last satellite_controller pull. */
209    optional int64 satellite_session_pull_timestamp_millis = 61;
210
211    /** Snapshot of satellite incoming datagram. */
212    repeated SatelliteIncomingDatagram satellite_incoming_datagram = 62;
213
214    /* Timestamp of last satellite_incoming_datagram pull. */
215    optional int64 satellite_incoming_datagram_pull_timestamp_millis = 63;
216
217    /** Snapshot of satellite outgoing datagram. */
218    repeated SatelliteOutgoingDatagram satellite_outgoing_datagram = 64;
219
220    /* Timestamp of last satellite_outgoing_datagram pull. */
221    optional int64 satellite_outgoing_datagram_pull_timestamp_millis = 65;
222
223    /** Snapshot of satellite provision datagram. */
224    repeated SatelliteProvision satellite_provision = 66;
225
226    /* Timestamp of last satellite_provision pull. */
227    optional int64 satellite_provision_pull_timestamp_millis = 67;
228
229    /** Snapshot of satellite SOS message recommender. */
230    repeated SatelliteSosMessageRecommender satellite_sos_message_recommender = 68;
231
232    /* Timestamp of last satellite_sos_message_recommender pull. */
233    optional int64 satellite_sos_message_recommender_pull_timestamp_millis = 69;
234
235    /* Data Network Validation statistics and information. */
236    repeated DataNetworkValidation data_network_validation = 70;
237
238    /* Timestamp of last data_network_validation pull. */
239    optional int64 data_network_validation_pull_timestamp_millis = 71;
240
241    /* Snapshot of carrier roaming satellite session. */
242    repeated CarrierRoamingSatelliteSession carrier_roaming_satellite_session = 72;
243
244    /* Timestamp of last carrier_roaming_satellite_session pull. */
245    optional int64 carrier_roaming_satellite_session_pull_timestamp_millis = 73;
246
247    /* Snapshot of carrier roaming satellite controller stats. */
248    repeated CarrierRoamingSatelliteControllerStats carrier_roaming_satellite_controller_stats = 74;
249
250    /* Timestamp of last carrier_roaming_satellite_controller_stats pull. */
251    optional int64 carrier_roaming_satellite_controller_stats_pull_timestamp_millis = 75;
252
253    /* Snapshot of satellite entitlement. */
254    repeated SatelliteEntitlement satellite_entitlement = 76;
255
256    /* Timestamp of last satellite_entitlement pull. */
257    optional int64 satellite_entitlement_pull_timestamp_millis = 77;
258
259    /* Snapshot of satellite config updater. */
260    repeated SatelliteConfigUpdater satellite_config_updater = 78;
261
262    /* Timestamp of last satellite_config_updater pull. */
263    optional int64 satellite_config_updater_pull_timestamp_millis = 79;
264
265    /** Snapshot of satellite access controller. */
266    repeated SatelliteAccessController satellite_access_controller = 80;
267
268    /* Timestamp of last satellite access controller pull. */
269    optional int64 satellite_access_controller_pull_timestamp_millis = 81;
270}
271
272// The canonical versions of the following enums live in:
273//   frameworks/proto_logging/stats/enums/telephony/enums.proto
274// The canonical versions of the following atoms live in:
275//   frameworks/proto_logging/stats/atoms.proto
276// We cannot link against framework's and statsd's protolite libraries as it is "for test only".
277// NOTE: StatsLog functions use int in place of enum
278
279message VoiceCallSession {
280    reserved 4;
281    optional int32 bearer_at_start = 1;
282    optional int32 bearer_at_end = 2;
283    optional int32 direction = 3;
284    optional bool setup_failed = 5;
285    optional int32 disconnect_reason_code = 6;
286    optional int32 disconnect_extra_code = 7;
287    optional string disconnect_extra_message = 8;
288    optional int32 rat_at_start = 9;
289    optional int32 rat_at_end = 10;
290    optional int64 rat_switch_count = 11;
291    optional int64 codec_bitmask = 12;
292    optional int32 concurrent_call_count_at_start = 13;
293    optional int32 concurrent_call_count_at_end = 14;
294    optional int32 sim_slot_index = 15;
295    optional bool is_multi_sim = 16;
296    optional bool is_esim = 17;
297    optional int32 carrier_id = 18;
298    optional bool srvcc_completed = 19;
299    optional int64 srvcc_failure_count = 20;
300    optional int64 srvcc_cancellation_count = 21;
301    optional bool rtt_enabled = 22;
302    optional bool is_emergency = 23;
303    optional bool is_roaming = 24;
304    optional int32 signal_strength_at_end = 25;
305    optional int32 band_at_end = 26;
306    optional int32 setup_duration_millis = 27;
307    optional int32 main_codec_quality = 28;
308    optional bool video_enabled = 29;
309    optional int32 rat_at_connected = 30;
310    optional bool is_multiparty = 31;
311    optional int32 call_duration = 32;
312    optional int32 last_known_rat = 33;
313    optional int32 fold_state = 34;
314    optional int64 rat_switch_count_after_connected = 35;
315    optional bool handover_in_progress = 36;
316    optional bool is_iwlan_cross_sim_at_start = 37;
317    optional bool is_iwlan_cross_sim_at_end = 38;
318    optional bool is_iwlan_cross_sim_at_connected = 39;
319    optional bool vonr_enabled = 40;
320    optional bool is_ntn = 41;
321    optional bool supports_business_call_composer = 42;
322    optional int32 call_composer_status = 43;
323    optional int32 precise_call_state_on_setup = 44;
324
325    // Internal use only
326    optional int64 setup_begin_millis = 10001;
327}
328
329message VoiceCallRatUsage {
330    optional int32 carrier_id = 1;
331    optional int32 rat = 2;
332    optional int64 total_duration_millis = 3; // Duration needs to be rounded when pulled
333    optional int64 call_count = 4;
334}
335
336message IncomingSms {
337    optional int32 sms_format = 1;
338    optional int32 sms_tech = 2;
339    optional int32 rat = 3;
340    optional int32 sms_type = 4;
341    optional int32 total_parts = 5;
342    optional int32 received_parts = 6;
343    optional bool blocked = 7;
344    optional int32 error = 8;
345    optional bool is_roaming = 9;
346    optional int32 sim_slot_index = 10;
347    optional bool is_multi_sim = 11;
348    optional bool is_esim = 12;
349    optional int32 carrier_id = 13;
350    optional int64 message_id = 14;
351    optional int32 count = 15;
352    optional bool is_managed_profile = 16;
353    optional bool is_ntn = 17;
354    optional bool is_emergency = 18;
355
356    // Internal use only
357    optional int32 hashCode = 10001;
358}
359
360message OutgoingSms {
361    optional int32 sms_format = 1;
362    optional int32 sms_tech = 2;
363    optional int32 rat = 3;
364    optional int32 send_result = 4;
365    optional int32 error_code = 5;
366    optional bool is_roaming = 6;
367    optional bool is_from_default_app = 7;
368    optional int32 sim_slot_index = 8;
369    optional bool is_multi_sim = 9;
370    optional bool is_esim = 10;
371    optional int32 carrier_id = 11;
372    optional int64 message_id = 12;
373    optional int32 retry_id = 13;
374    optional int64 interval_millis = 14;
375    optional int32 count = 15;
376    optional int32 send_error_code = 16;
377    optional int32 network_error_code = 17;
378    optional bool is_managed_profile = 18;
379    optional bool is_emergency = 19;
380    optional bool is_ntn = 20;
381
382    // Internal use only
383    optional int32 hashCode = 10001;
384}
385
386message CarrierIdMismatch {
387    optional string mcc_mnc = 1;
388    optional string gid1 = 2;
389    optional string spn = 3;
390    optional string pnn = 4;
391}
392
393message DataCallSession {
394    reserved 4;
395    optional int32 dimension = 1;
396    optional bool is_multi_sim = 2;
397    optional bool is_esim = 3;
398    optional int32 apn_type_bitmask = 5;
399    optional int32 carrier_id = 6;
400    optional bool is_roaming = 7;
401    optional int32 rat_at_end = 8;
402    optional bool oos_at_end = 9;
403    optional int64 rat_switch_count = 10;
404    optional bool is_opportunistic = 11;
405    optional int32 ip_type = 12;
406    optional bool setup_failed = 13;
407    optional int32 failure_cause = 14;
408    optional int32 suggested_retry_millis = 15;
409    optional int32 deactivate_reason = 16;
410    optional int64 duration_minutes = 17;
411    optional bool ongoing = 18;
412    optional int32 band_at_end = 19;
413    repeated int32 handover_failure_causes = 20;
414    repeated int32 handover_failure_rat = 21;
415    optional bool is_non_dds = 22;
416    optional bool is_iwlan_cross_sim = 23;
417    optional bool is_ntn = 24;
418    optional bool is_satellite_transport = 25;
419    optional bool is_provisioning_profile = 26;
420}
421
422message CellularServiceState {
423    optional int32 voice_rat = 1;
424    optional int32 data_rat = 2;
425    optional int32 voice_roaming_type = 3;
426    optional int32 data_roaming_type = 4;
427    optional bool is_endc = 5;
428    optional int32 sim_slot_index = 6;
429    optional bool is_multi_sim = 7;
430    optional int32 carrier_id = 8;
431    optional int64 total_time_millis = 9; // Duration needs to be rounded when pulled
432    optional bool is_emergency_only = 10;
433    optional bool is_internet_pdn_up = 11;
434    optional int32 fold_state = 12;
435    optional bool override_voice_service = 13;
436    optional bool isDataEnabled = 14;
437    optional bool is_iwlan_cross_sim = 15;
438    optional bool is_ntn = 16;
439
440    // Internal use only
441    optional int64 last_used_millis = 10001;
442}
443
444message CellularDataServiceSwitch {
445    optional int32 rat_from = 1;
446    optional int32 rat_to = 2;
447    optional int32 sim_slot_index = 3;
448    optional bool is_multi_sim = 4;
449    optional int32 carrier_id = 5;
450    optional int32 switch_count = 6;
451
452    // Internal use only
453    optional int64 last_used_millis = 10001;
454}
455
456message ImsRegistrationTermination {
457    optional int32 carrier_id = 1;
458    optional bool is_multi_sim = 2;
459    optional int32 rat_at_end = 3;
460    optional bool setup_failed = 4;
461    optional int32 reason_code = 5;
462    optional int32 extra_code = 6;
463    optional string extra_message = 7;
464    optional int32 count = 8;
465    optional bool is_iwlan_cross_sim = 9;
466
467    // Internal use only
468    optional int64 last_used_millis = 10001;
469}
470
471message ImsRegistrationStats {
472    reserved 16;
473    optional int32 carrier_id = 1;
474    optional int32 sim_slot_index = 2;
475    optional int32 rat = 3;
476    // Durations need to be rounded when pulled
477    optional int64 registered_millis = 4;
478    optional int64 voice_capable_millis = 5;
479    optional int64 voice_available_millis = 6;
480    optional int64 sms_capable_millis = 7;
481    optional int64 sms_available_millis = 8;
482    optional int64 video_capable_millis = 9;
483    optional int64 video_available_millis = 10;
484    optional int64 ut_capable_millis = 11;
485    optional int64 ut_available_millis = 12;
486    optional int64 registering_millis = 13;
487    optional int64 unregistered_millis = 14;
488    optional bool is_iwlan_cross_sim = 15;
489    optional int32 registered_times = 17;
490
491    // Internal use only
492    optional int64 last_used_millis = 10001;
493}
494
495// deprecated - please use NetworkRequestsV2 instead
496message NetworkRequests {
497    optional int32 carrier_id = 1;
498    optional int32 enterprise_request_count = 2;
499    optional int32 enterprise_release_count = 3;
500}
501
502message NetworkRequestsV2 {
503    enum NetworkCapability {
504        UNKNOWN = 0;
505        PRIORITIZE_LATENCY = 1;
506        PRIORITIZE_BANDWIDTH = 2;
507        CBS = 3;
508        ENTERPRISE = 4;
509        SATELLITE_INTERNET_RESTRICTED = 5;
510        SATELLITE_MMS_RESTRICTED = 6;
511        SATELLITE_IMS_RESTRICTED = 7;
512        SATELLITE_XCAP_RESTRICTED = 8;
513        SATELLITE_EIMS_RESTRICTED = 9;
514        SATELLITE_SUPL_RESTRICTED =10;
515    }
516    optional int32 carrier_id = 1;
517    optional NetworkCapability capability = 2;
518    optional int32 request_count = 3;
519}
520
521message ImsRegistrationFeatureTagStats {
522    optional int32 carrier_id = 1;
523    optional int32 slot_id = 2;
524    optional int32 feature_tag_name = 3;
525    optional int32 registration_tech = 4;
526    optional int64 registered_millis = 5;
527}
528
529message RcsClientProvisioningStats {
530    optional int32 carrier_id = 1;
531    optional int32 slot_id = 2;
532    optional int32 event = 3;
533    optional int32 count = 4;
534}
535
536message RcsAcsProvisioningStats {
537    optional int32 carrier_id = 1;
538    optional int32 slot_id = 2;
539    optional int32 response_code = 3;
540    optional int32 response_type = 4;
541    optional bool is_single_registration_enabled = 5;
542    optional int32 count = 6;
543    optional int64 state_timer_millis = 7;
544}
545
546message SipDelegateStats {
547    optional int32 dimension = 1;
548    optional int32 carrier_id = 2;
549    optional int32 slot_id = 3;
550    optional int32 destroy_reason = 4;
551    optional int64 uptime_millis = 5;
552}
553
554message SipTransportFeatureTagStats {
555    optional int32 carrier_id = 1;
556    optional int32 slot_id = 2;
557    optional int32 feature_tag_name = 3;
558    optional int32 sip_transport_denied_reason = 4;
559    optional int32 sip_transport_deregistered_reason = 5;
560    optional int64 associated_millis = 6;
561}
562
563message SipMessageResponse {
564    optional int32 carrier_id = 1;
565    optional int32 slot_id = 2;
566    optional int32 sip_message_method = 3;
567    optional int32 sip_message_response = 4;
568    optional int32 sip_message_direction = 5;
569    optional int32 message_error = 6;
570    optional int32 count = 7;
571}
572
573message SipTransportSession {
574    optional int32 carrier_id = 1;
575    optional int32 slot_id = 2;
576    optional int32 session_method = 3;
577    optional int32 sip_message_direction = 4;
578    optional int32 sip_response = 5;
579    optional int32 session_count = 6;
580    optional int32 ended_gracefully_count = 7;
581
582    // Internal use only
583    optional bool is_ended_gracefully = 10001;
584}
585
586message ImsDedicatedBearerListenerEvent {
587    optional int32 carrier_id = 1;
588    optional int32 slot_id = 2;
589    optional int32 rat_at_end = 3;
590    optional int32 qci = 4;
591    optional bool dedicated_bearer_established = 5;
592    optional int32 event_count = 6;
593}
594
595message ImsDedicatedBearerEvent {
596    optional int32 carrier_id = 1;
597    optional int32 slot_id = 2;
598    optional int32 rat_at_end = 3;
599    optional int32 qci = 4;
600    optional int32 bearer_state = 5;
601    optional bool local_connection_info_received = 6;
602    optional bool remote_connection_info_received = 7;
603    optional bool has_listeners = 8;
604    optional int32 count = 9;
605}
606
607message ImsRegistrationServiceDescStats {
608    optional int32 carrier_id = 1;
609    optional int32 slot_id = 2;
610    optional int32 service_id_name = 3;
611    optional float service_id_version = 4;
612    optional int32 registration_tech = 5;
613    optional int64 published_millis = 6;
614}
615
616message UceEventStats {
617    optional int32 carrier_id = 1;
618    optional int32 slot_id = 2;
619    optional int32 type = 3;
620    optional bool successful = 4;
621    optional int32 command_code = 5;
622    optional int32 network_response = 6;
623    optional int32 count = 7;
624}
625
626message PresenceNotifyEvent {
627    optional int32 carrier_id = 1;
628    optional int32 slot_id = 2;
629    optional int32 reason = 3;
630    optional bool content_body_received = 4;
631    optional int32 rcs_caps_count = 5;
632    optional int32 mmtel_caps_count = 6;
633    optional int32 no_caps_count = 7;
634    optional int32 count = 8;
635}
636
637message GbaEvent {
638    optional int32 carrier_id = 1;
639    optional int32 slot_id = 2;
640    optional bool successful = 3;
641    optional int32 failed_reason = 4;
642    optional int32 count = 5;
643}
644
645message UnmeteredNetworks {
646    optional int32 phone_id = 1;
647    optional int32 carrier_id = 2;
648    optional int64 unmetered_networks_bitmask = 3;
649}
650
651message OutgoingShortCodeSms {
652    optional int32 category = 1;
653    optional int32 xml_version = 2;
654    optional int32 short_code_sms_count = 3;
655}
656
657message EmergencyNumbersInfo {
658    enum ServiceCategory {
659        EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED = 0;
660        EMERGENCY_SERVICE_CATEGORY_POLICE = 1;
661        EMERGENCY_SERVICE_CATEGORY_AMBULANCE = 2;
662        EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE = 3;
663        EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD = 4;
664        EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE = 5;
665        EMERGENCY_SERVICE_CATEGORY_MIEC = 6;
666        EMERGENCY_SERVICE_CATEGORY_AIEC = 7;
667    }
668    enum Source {
669        EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING = 0;
670        EMERGENCY_NUMBER_SOURCE_SIM = 1;
671        EMERGENCY_NUMBER_SOURCE_DATABASE = 2;
672        EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = 3;
673        EMERGENCY_NUMBER_SOURCE_DEFAULT = 4;
674    }
675    enum CallRoute {
676        EMERGENCY_CALL_ROUTE_UNKNOWN = 0;
677        EMERGENCY_CALL_ROUTE_EMERGENCY = 1;
678        EMERGENCY_CALL_ROUTE_NORMAL = 2;
679    }
680    optional bool is_db_version_ignored = 1;
681    optional int32 asset_version = 2;
682    optional int32 ota_version = 3;
683    optional string number = 4;
684    optional string country_iso = 5;
685    optional string mnc = 6;
686    optional CallRoute route = 7;
687    repeated string urns = 8;
688    repeated ServiceCategory service_categories = 9;
689    repeated Source sources = 10;
690}
691
692message SatelliteController {
693    optional int32 count_of_satellite_service_enablements_success = 1;
694    optional int32 count_of_satellite_service_enablements_fail = 2;
695    optional int32 count_of_outgoing_datagram_success = 3;
696    optional int32 count_of_outgoing_datagram_fail = 4;
697    optional int32 count_of_incoming_datagram_success = 5;
698    optional int32 count_of_incoming_datagram_fail = 6;
699    optional int32 count_of_datagram_type_sos_sms_success = 7;
700    optional int32 count_of_datagram_type_sos_sms_fail = 8;
701    optional int32 count_of_datagram_type_location_sharing_success = 9;
702    optional int32 count_of_datagram_type_location_sharing_fail = 10;
703    optional int32 count_of_provision_success = 11;
704    optional int32 count_of_provision_fail = 12;
705    optional int32 count_of_deprovision_success = 13;
706    optional int32 count_of_deprovision_fail = 14;
707    optional int32 total_service_uptime_sec = 15;
708    optional int32 total_battery_consumption_percent = 16;
709    optional int32 total_battery_charged_time_sec = 17;
710    optional int32 count_of_demo_mode_satellite_service_enablements_success = 18;
711    optional int32 count_of_demo_mode_satellite_service_enablements_fail = 19;
712    optional int32 count_of_demo_mode_outgoing_datagram_success = 20;
713    optional int32 count_of_demo_mode_outgoing_datagram_fail = 21;
714    optional int32 count_of_demo_mode_incoming_datagram_success = 22;
715    optional int32 count_of_demo_mode_incoming_datagram_fail = 23;
716    optional int32 count_of_datagram_type_keep_alive_success = 24;
717    optional int32 count_of_datagram_type_keep_alive_fail = 25;
718    optional int32 count_of_allowed_satellite_access = 26;
719    optional int32 count_of_disallowed_satellite_access = 27;
720    optional int32 count_of_satellite_access_check_fail = 28;
721    optional bool is_provisioned = 29;
722    optional int32 carrier_id = 30;
723    optional int32 count_of_satellite_allowed_state_changed_events = 31;
724    optional int32 count_of_successful_location_queries = 32;
725    optional int32 count_of_failed_location_queries = 33;
726    optional int32 count_of_p2p_sms_available_notification_shown = 34;
727    optional int32 count_of_p2p_sms_available_notification_removed = 35;
728    optional bool is_ntn_only_carrier = 36;
729}
730
731message SatelliteSession {
732    optional int32 satellite_service_initialization_result = 1;
733    optional int32 satellite_technology = 2;
734    optional int32 count = 3;
735    optional int32 satellite_service_termination_result = 4;
736    optional int64 initialization_processing_time_millis = 5;
737    optional int64 termination_processing_time_millis = 6;
738    optional int32 session_duration_seconds = 7;
739    optional int32 count_of_outgoing_datagram_success = 8;
740    optional int32 count_of_outgoing_datagram_failed = 9;
741    optional int32 count_of_incoming_datagram_success = 10;
742    optional int32 count_of_incoming_datagram_failed = 11;
743    optional bool is_demo_mode = 12;
744    optional int32 max_ntn_signal_strength_level = 13;
745    optional int32 carrier_id = 14;
746    optional int32 count_of_satellite_notification_displayed = 15;
747    optional int32 count_of_auto_exit_due_to_screen_off = 16;
748    optional int32 count_of_auto_exit_due_to_tn_network = 17;
749    optional bool is_emergency = 18;
750    optional bool is_ntn_only_carrier = 19;
751    optional int32 max_inactivity_duration_sec = 20;
752}
753
754message SatelliteIncomingDatagram {
755    optional int32 result_code = 1;
756    optional int32 datagram_size_bytes = 2;
757    optional int64 datagram_transfer_time_millis = 3;
758    optional bool is_demo_mode = 4;
759    optional int32 carrier_id = 5;
760    optional bool is_ntn_only_carrier = 6;
761}
762
763message SatelliteOutgoingDatagram {
764    optional int32 datagram_type = 1;
765    optional int32 result_code = 2;
766    optional int32 datagram_size_bytes = 3;
767    optional int64 datagram_transfer_time_millis = 4;
768    optional bool is_demo_mode = 5;
769    optional int32 carrier_id = 6;
770    optional bool is_ntn_only_carrier = 7;
771}
772
773message SatelliteProvision {
774    optional int32 result_code = 1;
775    optional int32 provisioning_time_sec = 2;
776    optional bool is_provision_request = 3;
777    optional bool is_canceled = 4;
778    optional int32 carrier_id = 5;
779    optional bool is_ntn_only_carrier = 6;
780}
781
782message SatelliteSosMessageRecommender {
783    optional bool is_display_sos_message_sent = 1;
784    optional int32 count_of_timer_started = 2;
785    optional bool is_ims_registered = 3;
786    optional int32 cellular_service_state = 4;
787    optional int32 count = 5;
788    optional bool is_multi_sim = 6;
789    optional int32 recommending_handover_type = 7;
790    optional bool is_satellite_allowed_in_current_location = 8;
791    optional bool is_wifi_connected = 9;
792    optional int32 carrier_id = 10;
793    optional bool is_ntn_only_carrier = 11;
794}
795
796message DataNetworkValidation {
797    optional int32 network_type = 1;
798    optional int32 apn_type_bitmask = 2;
799    optional int32 signal_strength = 3;
800    optional int32 validation_result = 4;
801    optional int64 elapsed_time_in_millis = 5;
802    optional bool handover_attempted = 6;
803    optional int32 network_validation_count = 7;
804}
805
806message CarrierRoamingSatelliteSession {
807    optional int32 carrier_id = 1;
808    optional bool is_ntn_roaming_in_home_country = 2;
809    optional int32 total_satellite_mode_time_sec = 3;
810    optional int32 number_of_satellite_connections = 4;
811    optional int32 avg_duration_of_satellite_connection_sec = 5;
812    optional int32 satellite_connection_gap_min_sec = 6;
813    optional int32 satellite_connection_gap_avg_sec = 7;
814    optional int32 satellite_connection_gap_max_sec = 8;
815    optional int32 rsrp_avg = 9;
816    optional int32 rsrp_median = 10;
817    optional int32 rssnr_avg = 11;
818    optional int32 rssnr_median = 12;
819    optional int32 count_of_incoming_sms = 13;
820    optional int32 count_of_outgoing_sms = 14;
821    optional int32 count_of_incoming_mms = 15;
822    optional int32 count_of_outgoing_mms = 16;
823}
824
825message CarrierRoamingSatelliteControllerStats {
826    optional int32 config_data_source = 1;
827    optional int32 count_of_entitlement_status_query_request = 2;
828    optional int32 count_of_satellite_config_update_request = 3;
829    optional int32 count_of_satellite_notification_displayed = 4;
830    optional int32 satellite_session_gap_min_sec = 5;
831    optional int32 satellite_session_gap_avg_sec = 6;
832    optional int32 satellite_session_gap_max_sec = 7;
833    optional int32 carrier_id = 8;
834    optional bool is_device_entitled = 9;
835}
836
837message SatelliteEntitlement {
838    optional int32 carrier_id = 1;
839    optional int32 result = 2;
840    optional int32 entitlement_status = 3;
841    optional bool is_retry = 4;
842    optional int32 count = 5;
843}
844
845message SatelliteConfigUpdater {
846    optional int32 config_version = 1;
847    optional int32 oem_config_result = 2;
848    optional int32 carrier_config_result = 3;
849    optional int32 count = 4;
850}
851
852message SatelliteAccessController {
853    optional int32 access_control_type = 1;
854    optional int64 location_query_time_millis = 2;
855    optional int64 on_device_lookup_time_millis = 3;
856    optional int64 total_checking_time_millis = 4;
857    optional bool is_allowed = 5;
858    optional bool is_emergency = 6;
859    optional int32 result_code = 7;
860    repeated string country_codes = 8;
861    optional int32 config_data_source = 9;
862    optional int32 carrier_id = 10;
863    optional int32 triggering_event = 11;
864    optional bool is_ntn_only_carrier = 12;
865}
866