Skip to main content

ClientMessage

Enum ClientMessage 

Source
pub enum ClientMessage {
Show 60 variants KeepAlive, Register(RegistrationMessage), IpPort { rtp_port: u16, }, KeypadButton { button: Digit, line_instance: u32, call_reference: u32, wire_layout: Option<KeypadButtonWireLayout>, }, EnblocCall { called_party: String, line_instance: u32, }, Stimulus { stimulus: Stimulus, instance: u32, call_reference: u32, status: u32, }, OffHook { line_instance: u32, call_reference: u32, }, OnHook { line_instance: u32, call_reference: u32, }, OffHookWithCallingParty { calling_party_number: String, voice_mailbox: String, line_instance: u32, }, LineStatRequest { line_instance: u32, }, ConfigStatRequest, TimeDateRequest, ButtonTemplateRequest, VersionRequest, CapabilitiesResponse(Vec<MediaCapability>), CapabilitiesUpdate(CapabilityUpdate), OpenMultimediaReceiveChannelAck(OpenMultimediaReceiveChannelAck), ServerRequest, Alarm { severity: AlarmSeverity, text: String, parameters: Option<[u32; 2]>, }, MulticastMediaReceptionAck { status: MediaStatus, passthrough_party_id: PassthroughPartyId, call_reference: CallReference, }, OpenReceiveChannelAck { status: MediaStatus, address: IpAddr, port: u16, passthrough_party_id: u32, call_reference: u32, }, SoftKeySetRequest, SoftKeyTemplateRequest, SoftKeyEvent { event: u32, line_instance: u32, call_reference: u32, }, Unregister { reason: u32, }, RegisterToken(RegisterTokenMessage), HookFlash { line_instance: u32, call_reference: u32, }, ForwardStatusRequest { line_instance: u32, }, SpeedDialStatusRequest { speed_dial_instance: u32, }, ConnectionStatisticsResponse(ConnectionStatistics), HeadsetStatus { enabled: bool, }, MediaResourceNotification(MediaResourceNotification), MediaPathEvent { path: MediaPathId, event: MediaPathEvent, }, MediaPathCapability { path: MediaPathId, capability: MediaPathCapability, }, MediaTransmissionFailure { conference_id: u32, passthrough_party_id: u32, address: IpAddr, port: u16, call_reference: u32, status: MediaStatus, }, RegisterAvailableLines { lines: u32, }, ServiceUrlStatusRequest { index: u32, }, FeatureStatusRequest { index: u32, capabilities: u32, }, StartMediaTransmissionAck(MediaTransmissionAck), StartMultimediaTransmissionAck(StartMultimediaTransmissionAck), ExtensionDeviceCapabilities(ExtensionDeviceCapabilities), DeviceToUserData(UserDataMessage), DeviceToUserDataResponse(UserDataMessage), DeviceToUserDataV1(UserDataV1Message), DeviceToUserDataResponseV1(UserDataV1Message), PortResponse(PortEndpoint), SubscriptionStatusRequest(SubscriptionRequest), SubscribeDtmfPayloadResponse(DtmfPayloadIdentity), UnsubscribeDtmfPayloadResponse(DtmfPayloadIdentity), LocationInfo { xml: String, }, XmlAlarm(XmlAlarmMessage), CallCountRequest { value: u32, }, CreateConferenceResponse(CreateConferenceResponse), DeleteConferenceResponse { conference_id: ConferenceId, result: DeleteConferenceResult, }, ModifyConferenceResponse(ModifyConferenceResponse), AuditConferenceResponse(AuditConferenceResponse), AddParticipantResponse(AddParticipantResponse), AuditParticipantResponse(AuditParticipantResponse), KnownOpaque(KnownOpaqueMessage), Unknown(RawMessage),
}
Expand description

Typed messages accepted from a station connection.

Variants correspond to station-to-control identifiers in catalog::MessageId. KnownOpaque retains a known catalog entry without a typed payload, while Unknown retains an unrecognized identifier. Decode with Self::decode during registration and Self::decode_with_version after version negotiation.

Variants§

§

KeepAlive

§

Register(RegistrationMessage)

§

IpPort

Fields

§rtp_port: u16
§

KeypadButton

Fields

§button: Digit
§line_instance: u32
§call_reference: u32
§

EnblocCall

Fields

§called_party: String
§line_instance: u32
§

Stimulus

Fields

§stimulus: Stimulus
§instance: u32
§call_reference: u32
§status: u32
§

OffHook

Fields

§line_instance: u32
§call_reference: u32
§

OnHook

Fields

§line_instance: u32
§call_reference: u32
§

OffHookWithCallingParty

Fields

§calling_party_number: String
§voice_mailbox: String
§line_instance: u32
§

LineStatRequest

Fields

§line_instance: u32
§

ConfigStatRequest

§

TimeDateRequest

§

ButtonTemplateRequest

§

VersionRequest

§

CapabilitiesResponse(Vec<MediaCapability>)

§

CapabilitiesUpdate(CapabilityUpdate)

§

OpenMultimediaReceiveChannelAck(OpenMultimediaReceiveChannelAck)

§

ServerRequest

§

Alarm

Fields

§severity: AlarmSeverity
§text: String
§parameters: Option<[u32; 2]>

Optional alarm parameter words. None preserves the shorter wire layout exactly.

§

MulticastMediaReceptionAck

Fields

§passthrough_party_id: PassthroughPartyId
§call_reference: CallReference
§

OpenReceiveChannelAck

Fields

§address: IpAddr
§port: u16
§passthrough_party_id: u32
§call_reference: u32
§

SoftKeySetRequest

§

SoftKeyTemplateRequest

§

SoftKeyEvent

Fields

§event: u32
§line_instance: u32
§call_reference: u32
§

Unregister

Fields

§reason: u32
§

RegisterToken(RegisterTokenMessage)

§

HookFlash

Fields

§line_instance: u32
§call_reference: u32
§

ForwardStatusRequest

Fields

§line_instance: u32
§

SpeedDialStatusRequest

Fields

§speed_dial_instance: u32
§

ConnectionStatisticsResponse(ConnectionStatistics)

§

HeadsetStatus

Fields

§enabled: bool
§

MediaResourceNotification(MediaResourceNotification)

§

MediaPathEvent

§

MediaPathCapability

Fields

§

MediaTransmissionFailure

Fields

§conference_id: u32
§passthrough_party_id: u32
§address: IpAddr
§port: u16
§call_reference: u32
§

RegisterAvailableLines

Fields

§lines: u32
§

ServiceUrlStatusRequest

Fields

§index: u32
§

FeatureStatusRequest

Fields

§index: u32
§capabilities: u32

Station feature-capability bits included in the request layout.

§

StartMediaTransmissionAck(MediaTransmissionAck)

§

StartMultimediaTransmissionAck(StartMultimediaTransmissionAck)

§

ExtensionDeviceCapabilities(ExtensionDeviceCapabilities)

§

DeviceToUserData(UserDataMessage)

§

DeviceToUserDataResponse(UserDataMessage)

§

DeviceToUserDataV1(UserDataV1Message)

§

DeviceToUserDataResponseV1(UserDataV1Message)

§

PortResponse(PortEndpoint)

§

SubscriptionStatusRequest(SubscriptionRequest)

§

SubscribeDtmfPayloadResponse(DtmfPayloadIdentity)

§

UnsubscribeDtmfPayloadResponse(DtmfPayloadIdentity)

§

LocationInfo

Fields

§xml: String

Location XML limited to 2,400 bytes before its required terminator.

§

XmlAlarm(XmlAlarmMessage)

§

CallCountRequest

Fields

§value: u32

Request word retained without assigning a narrower semantic meaning.

§

CreateConferenceResponse(CreateConferenceResponse)

§

DeleteConferenceResponse

Fields

§conference_id: ConferenceId
§

ModifyConferenceResponse(ModifyConferenceResponse)

§

AuditConferenceResponse(AuditConferenceResponse)

§

AddParticipantResponse(AddParticipantResponse)

§

AuditParticipantResponse(AuditParticipantResponse)

§

KnownOpaque(KnownOpaqueMessage)

§

Unknown(RawMessage)

Implementations§

Source§

impl ClientMessage

Source

pub fn decode_with_version( frame: Frame, protocol: ProtocolVersion, ) -> Result<Self, CodecError>

Decodes a station-originated frame with an explicit negotiated version.

Use this after registration when the session version is authoritative, especially for layouts whose header version is zero or ambiguous.

Source

pub fn decode(frame: Frame) -> Result<Self, CodecError>

Decodes a station-originated frame using its header version.

This is suitable for initial messages that carry a meaningful header version. Established sessions should prefer Self::decode_with_version.

Source

pub fn encode(&self, protocol: ProtocolVersion) -> Result<Vec<u8>, CodecError>

Canonically encode a phone-to-server message.

Trait Implementations§

Source§

impl Clone for ClientMessage

Source§

fn clone(&self) -> ClientMessage

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ClientMessage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ClientMessage

Source§

impl PartialEq for ClientMessage

Source§

fn eq(&self, other: &ClientMessage) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ClientMessage

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more