306 lines
8.6 KiB
Protocol Buffer
306 lines
8.6 KiB
Protocol Buffer
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;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
// 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;
|
|
}
|