| syntax = "proto2"; |
| |
| package com.android.server.telecom; |
| |
| option java_package = "com.android.server.telecom"; |
| option java_outer_classname = "TelecomLogClass"; |
| |
| // The information about the telecom events. |
| message TelecomLog { |
| |
| // Information about each call. |
| repeated CallLog call_logs = 1; |
| |
| // Timing information for the logging sessions |
| repeated LogSessionTiming session_timings = 2; |
| |
| // Hardware revision (EVT, DVT, PVT etc.) |
| optional string hardware_revision = 3; |
| |
| // Carrier ID that the device is associated to |
| optional int32 carrier_id = 4; |
| } |
| |
| message LogSessionTiming { |
| enum SessionEntryPoint { |
| ENTRY_POINT_UNSPECIFIED = 0; |
| ICA_ANSWER_CALL = 1; |
| ICA_REJECT_CALL = 2; |
| ICA_DISCONNECT_CALL = 3; |
| ICA_HOLD_CALL = 4; |
| ICA_UNHOLD_CALL = 5; |
| ICA_MUTE = 6; |
| ICA_SET_AUDIO_ROUTE = 7; |
| ICA_CONFERENCE = 8; |
| |
| CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; |
| CSW_SET_ACTIVE = 101; |
| CSW_SET_RINGING = 102; |
| CSW_SET_DIALING = 103; |
| CSW_SET_DISCONNECTED = 104; |
| CSW_SET_ON_HOLD = 105; |
| CSW_REMOVE_CALL = 106; |
| CSW_SET_IS_CONFERENCED = 107; |
| CSW_ADD_CONFERENCE_CALL = 108; |
| } |
| |
| // The entry point into Telecom code that this session tracks. |
| optional SessionEntryPoint sessionEntryPoint = 1; |
| // The time it took for this session to finish. |
| optional int64 time_millis = 2; |
| } |
| |
| message Event { |
| // From android.telecom.ParcelableAnalytics |
| enum EventName { |
| EVENT_NAME_UNSPECIFIED = 9999; |
| SET_SELECT_PHONE_ACCOUNT = 0; |
| SET_ACTIVE = 1; |
| SET_DISCONNECTED = 2; |
| START_CONNECTION = 3; |
| SET_DIALING = 4; |
| BIND_CS = 5; |
| CS_BOUND = 6; |
| REQUEST_ACCEPT = 7; |
| REQUEST_REJECT = 8; |
| |
| SCREENING_SENT = 100; |
| SCREENING_COMPLETED = 101; |
| DIRECT_TO_VM_INITIATED = 102; |
| DIRECT_TO_VM_FINISHED = 103; |
| BLOCK_CHECK_INITIATED = 104; |
| BLOCK_CHECK_FINISHED = 105; |
| FILTERING_INITIATED = 106; |
| FILTERING_COMPLETED = 107; |
| FILTERING_TIMED_OUT = 108; |
| |
| SKIP_RINGING = 200; |
| SILENCE = 201; |
| MUTE = 202; |
| UNMUTE = 203; |
| AUDIO_ROUTE_BT = 204; |
| AUDIO_ROUTE_EARPIECE = 205; |
| AUDIO_ROUTE_HEADSET = 206; |
| AUDIO_ROUTE_SPEAKER = 207; |
| |
| CONFERENCE_WITH = 300; |
| SPLIT_CONFERENCE = 301; |
| SET_PARENT = 302; |
| |
| REQUEST_HOLD = 400; |
| REQUEST_UNHOLD = 401; |
| REMOTELY_HELD = 402; |
| REMOTELY_UNHELD = 403; |
| SET_HOLD = 404; |
| SWAP = 405; |
| |
| REQUEST_PULL = 500; |
| } |
| |
| // The ID of the event. |
| optional EventName event_name = 1; |
| |
| // The elapsed time since the last event, rounded to one significant digit. |
| // If the event is the first, this will be negative. |
| optional int64 time_since_last_event_millis = 2; |
| } |
| |
| message VideoEvent { |
| // From android.telecom.ParcelableCallAnalytics |
| enum VideoEventName { |
| VIDEO_EVENT_NAME_UNSPECIFIED = 9999; |
| SEND_LOCAL_SESSION_MODIFY_REQUEST = 0; |
| SEND_LOCAL_SESSION_MODIFY_RESPONSE = 1; |
| RECEIVE_REMOTE_SESSION_MODIFY_REQUEST = 2; |
| RECEIVE_REMOTE_SESSION_MODIFY_RESPONSE = 3; |
| } |
| |
| // From android.telecom.VideoProfile |
| enum VideoState { |
| // No unspecified field to define. This enum to be used only as values for a bitmask. |
| STATE_AUDIO_ONLY = 0; |
| STATE_TX_ENABLED = 1; |
| STATE_RX_ENABLED = 2; |
| STATE_BIDIRECTIONAL = 3; |
| STATE_PAUSED = 4; |
| } |
| |
| // The ID of the event. |
| optional VideoEventName event_name = 1; |
| |
| // The elapsed time since the last event, rounded to one significant digit. |
| // If the event is the first, this will be negative. |
| optional int64 time_since_last_event_millis = 2; |
| |
| // The video state |
| optional int32 video_state = 3; |
| } |
| |
| message EventTimingEntry { |
| enum EventTimingName { |
| EVENT_TIMING_NAME_UNSPECIFIED = 9999; |
| ACCEPT_TIMING = 0; |
| REJECT_TIMING = 1; |
| DISCONNECT_TIMING = 2; |
| HOLD_TIMING = 3; |
| UNHOLD_TIMING = 4; |
| OUTGOING_TIME_TO_DIALING_TIMING = 5; |
| BIND_CS_TIMING = 6; |
| SCREENING_COMPLETED_TIMING = 7; |
| DIRECT_TO_VM_FINISHED_TIMING = 8; |
| BLOCK_CHECK_FINISHED_TIMING = 9; |
| FILTERING_COMPLETED_TIMING = 10; |
| FILTERING_TIMED_OUT_TIMING = 11; |
| START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING = 12; |
| } |
| |
| // The name of the event timing. |
| optional EventTimingName timing_name = 1; |
| |
| // The number of milliseconds that this event pair took. |
| optional int64 time_millis = 2; |
| } |
| |
| message InCallServiceInfo { |
| // Keep this up-to-date with com.android.server.telecom.InCallController. |
| enum InCallServiceType { |
| IN_CALL_SERVICE_TYPE_UNSPECIFIED = 9999; |
| IN_CALL_SERVICE_TYPE_INVALID = 0; |
| IN_CALL_SERVICE_TYPE_DIALER_UI = 1; |
| IN_CALL_SERVICE_TYPE_SYSTEM_UI = 2; |
| IN_CALL_SERVICE_TYPE_CAR_MODE_UI = 3; |
| IN_CALL_SERVICE_TYPE_NON_UI = 4; |
| } |
| |
| // The shortened component name of the in-call service. |
| optional string in_call_service_name = 1; |
| |
| // The type of the in-call service |
| optional InCallServiceType in_call_service_type = 2; |
| |
| // The number of milliseconds that the in call service remained bound between binding and |
| // disconnection. |
| optional int64 bound_duration_millis = 3; |
| |
| // True if the in call service has ever crashed during a call. |
| optional bool is_null_binding = 4; |
| } |
| |
| // Information about each call. |
| message CallLog { |
| |
| // Information on call-types. |
| enum CallType { |
| |
| // Call type is not known. |
| CALLTYPE_UNKNOWN = 0; |
| |
| // Incoming call. |
| CALLTYPE_INCOMING = 1; |
| |
| // Outgoing call. |
| CALLTYPE_OUTGOING = 2; |
| } |
| |
| // Termination code. |
| enum CallTerminationCode { |
| |
| // Disconnected because of an unknown or unspecified reason. |
| CALL_TERMINATION_CODE_UNKNOWN = 0; |
| |
| // Disconnected because there was an error, such as a problem |
| // with the network. |
| CALL_TERMINATION_CODE_ERROR = 1; |
| |
| // Disconnected because of a local user-initiated action, |
| // such as hanging up. |
| CALL_TERMINATION_CODE_LOCAL = 2; |
| |
| // Disconnected because of a remote user-initiated action, |
| // such as the other party hanging up. |
| CALL_TERMINATION_CODE_REMOTE = 3; |
| |
| // Disconnected because it has been canceled. |
| CALL_TERMINATION_CODE_CANCELED = 4; |
| |
| // Disconnected because there was no response to an incoming call. |
| CALL_TERMINATION_CODE_MISSED = 5; |
| |
| // Disconnected because the user rejected an incoming call. |
| CALL_TERMINATION_CODE_REJECTED = 6; |
| |
| // Disconnected because the other party was busy. |
| CALL_TERMINATION_CODE_BUSY = 7; |
| |
| // Disconnected because of a restriction on placing the call, |
| // such as dialing in airplane mode. |
| CALL_TERMINATION_CODE_RESTRICTED = 8; |
| |
| // Disconnected for reason not described by other disconnect codes. |
| CALL_TERMINATION_CODE_OTHER = 9; |
| |
| // Disconnected because the connection manager did not support the call. |
| // The call will be tried again without a connection manager. |
| CONNECTION_MANAGER_NOT_SUPPORTED = 10; |
| } |
| |
| // The source where user initiated this call. |
| enum CallSource { |
| // Call source is not specified. |
| CALL_SOURCE_UNSPECIFIED = 0; |
| |
| // Dialpad at emergency dialer. |
| CALL_SOURCE_EMERGENCY_DIALPAD = 1; |
| |
| // Shortcut button at emergency dialer. |
| CALL_SOURCE_EMERGENCY_SHORTCUT = 2; |
| } |
| |
| // Start time of the connection. |
| // Rounded to the nearest 5 minute interval. |
| optional int64 start_time_5min = 1; |
| |
| // Duration in millis. |
| optional int64 call_duration_millis = 2; |
| |
| // Call type. |
| optional CallType type = 3; |
| |
| // True if the call interrupted an in-progress call, whether it was the |
| // user dialing out during a call or an incoming call during another call. |
| optional bool is_additional_call = 4 [default = false]; |
| |
| // True if the call was interrupted by another call. |
| optional bool is_interrupted = 5 [default = false]; |
| |
| // A bitmask with bits corresponding to call technologies that were used |
| // during the call. The ones that we will record are CDMA, GSM, IMS, SIP, |
| // and third-party. |
| // See the com.android.server.telecom.Analytics.*_PHONE constants. |
| optional int32 call_technologies = 6; |
| |
| // Indicates the call termination code. |
| optional CallTerminationCode call_termination_code = 7; |
| |
| // A list of the package names of connection services used. |
| repeated string connection_service = 9; |
| |
| // Set to true if the call was created from createCallForExistingConnection. |
| optional bool is_created_from_existing_connection = 10 [default = false]; |
| |
| // Set to true if its an emergency call. |
| optional bool is_emergency_call = 11 [default = false]; |
| |
| // A list of the events that occur during the call. |
| repeated Event call_events = 12; |
| |
| // A map from the names of latency timings to the timings. |
| repeated EventTimingEntry call_timings = 13; |
| |
| // Whether this call has ever been a video call |
| optional bool is_video_call = 14 [default = false]; |
| |
| // A list of the video events during the call. |
| repeated VideoEvent video_events = 15; |
| |
| // A list of the in-call services bound during the call. |
| repeated InCallServiceInfo in_call_services = 16; |
| |
| // A bitmask of the properties that were set at any point during the call. |
| // Bits are defined by android.telecom.Connection.PROPERTY_* constants. |
| optional int32 connection_properties = 17; |
| |
| // Call source. |
| optional CallSource call_source = 18; |
| } |