pub enum DeviceEventKind {
Show 41 variants
Registered(DeviceRegistration),
Disconnected {},
Capabilities {
capabilities: StationMediaCapabilities,
},
OffHook {
call_id: CallId,
line_instance: LineInstance,
},
OnHook {
call_id: CallId,
line_instance: LineInstance,
},
Digit {
call_id: CallId,
digit: Digit,
},
EnblocCall {
call_id: CallId,
line_instance: LineInstance,
number: String,
},
SoftKey {
call_id: Option<CallId>,
line_instance: LineInstance,
soft_key: SoftKey,
},
LineButton {
line_instance: LineInstance,
call_id: Option<CallId>,
},
HookFlash {
call_id: Option<CallId>,
line_instance: LineInstance,
},
FeatureButton {
instance: LineInstance,
},
DoNotDisturbButton {
instance: LineInstance,
},
MobilityButton {
instance: LineInstance,
},
VoicemailButton {
call_id: CallId,
line_instance: LineInstance,
},
ParkingLotButton {
instance: LineInstance,
call_id: Option<CallId>,
line_instance: LineInstance,
},
ParkingMenuSelection {
lot: String,
slot: u32,
},
PhoneServiceResponse {
response: PhoneServiceEvent,
},
ConferenceListAction {
action: ConferenceListAction,
},
ReceiveChannelOpened {
call_id: CallId,
status: MediaStatus,
endpoint: MediaEndpoint,
},
MultimediaReceiveChannelOpened {
call_id: CallId,
codec: Codec,
endpoint: MediaEndpointAddress,
passthrough_party_id: PassthroughPartyId,
},
MultimediaReceiveChannelFailed {
call_id: CallId,
codec: Codec,
status: MediaStatus,
endpoint: MediaEndpointAddress,
passthrough_party_id: PassthroughPartyId,
},
MultimediaReceiveChannelTimedOut {
call_id: CallId,
codec: Codec,
passthrough_party_id: PassthroughPartyId,
},
MultimediaTransmitStarted {
call_id: CallId,
codec: Codec,
endpoint: MediaEndpointAddress,
passthrough_party_id: PassthroughPartyId,
},
MultimediaTransmitFailed {
call_id: CallId,
codec: Codec,
status: MediaStatus,
endpoint: MediaEndpointAddress,
passthrough_party_id: PassthroughPartyId,
},
MultimediaTransmitTimedOut {
call_id: CallId,
codec: Codec,
passthrough_party_id: PassthroughPartyId,
},
TransmitChannelImplied {
call_id: CallId,
endpoint: MediaEndpoint,
},
TransmitChannelStarted {
call_id: CallId,
status: MediaStatus,
endpoint: MediaEndpoint,
},
HandsetAcknowledgementTimedOut {
call_id: CallId,
acknowledgement: HandsetAcknowledgement,
},
MediaTransmissionFailed {
call_id: CallId,
status: MediaStatus,
endpoint: MediaEndpoint,
},
MulticastReceptionStarted {
conference_id: ConferenceId,
call_id: CallId,
route: MulticastMediaRoute,
},
MulticastReceptionFailed {
conference_id: ConferenceId,
call_id: CallId,
status: MediaStatus,
},
MulticastReceptionTimedOut {
conference_id: ConferenceId,
call_id: CallId,
},
MulticastTransmissionStarted {
conference_id: ConferenceId,
call_id: CallId,
route: MulticastMediaRoute,
},
MulticastTransmissionFailed {
conference_id: ConferenceId,
call_id: CallId,
status: MediaStatus,
address: IpAddr,
port: u16,
},
ConnectionStatisticsCollected {
snapshot: MediaStatisticsSnapshot,
},
Alarm {
severity: AlarmSeverity,
text: String,
parameters: Option<[u32; 2]>,
},
XmlAlarm {
telemetry: PhoneAlarmTelemetry,
},
LocationInformation {
telemetry: PhoneLocationTelemetry,
},
HeadsetStatusChanged {
enabled: bool,
},
MediaPathChanged {
path: MediaPathId,
event: MediaPathEvent,
},
UnhandledMessage {
message: ClientMessage,
},
}Expand description
State transitions and handset input produced by one station session.
Call-bearing variants use the server-owned CallId rather than the raw
wire reference. Media success and failure variants are emitted only after
correlation against the current request generation.
Variants§
Registered(DeviceRegistration)
Disconnected
Capabilities
Fields
capabilities: StationMediaCapabilitiesOffHook
OnHook
Digit
EnblocCall
SoftKey
Fields
line_instance: LineInstanceLineButton
HookFlash
FeatureButton
Fields
instance: LineInstanceDoNotDisturbButton
Fields
instance: LineInstanceMobilityButton
Fields
instance: LineInstanceVoicemailButton
Press of a configured voicemail button, resolved to an exact line and addressable handset call before application dispatch.
ParkingLotButton
Fields
instance: LineInstanceFeature-button instance, distinct from the call line instance.
line_instance: LineInstanceParkingMenuSelection
PhoneServiceResponse
Fields
response: PhoneServiceEventConferenceListAction
Fields
action: ConferenceListActionReceiveChannelOpened
The receive-channel acknowledgement matched the current request.
MultimediaReceiveChannelOpened
MultimediaReceiveChannelFailed
MultimediaReceiveChannelTimedOut
MultimediaTransmitStarted
MultimediaTransmitFailed
MultimediaTransmitTimedOut
TransmitChannelImplied
The transmit half of a coupled outbound media transaction became open when the station acknowledged the matching receive request.
The adjacent StartMediaTransmission request may omit its separate
acknowledgement. This event is
deliberately distinct from DeviceEventKind::TransmitChannelStarted: callers
can preserve the acknowledgement relationship while settling
both halves of the one coupled transaction exactly once.
TransmitChannelStarted
The transmit-channel acknowledgement matched the current request.
HandsetAcknowledgementTimedOut
MediaTransmissionFailed
MulticastReceptionStarted
MulticastReceptionFailed
MulticastReceptionTimedOut
MulticastTransmissionStarted
MulticastTransmissionFailed
ConnectionStatisticsCollected
A requested statistics response was correlated and retained.
Fields
snapshot: MediaStatisticsSnapshotAlarm
XmlAlarm
Fields
telemetry: PhoneAlarmTelemetryLocationInformation
Fields
telemetry: PhoneLocationTelemetryHeadsetStatusChanged
MediaPathChanged
UnhandledMessage
A well-framed client message has no server-side behavior yet.
Fields
message: ClientMessageTrait Implementations§
Source§impl Clone for DeviceEventKind
impl Clone for DeviceEventKind
Source§fn clone(&self) -> DeviceEventKind
fn clone(&self) -> DeviceEventKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more