Expand description
Stateful SCCP station-session boundary.
A successful socket write or TCP acknowledgement proves only transport delivery. Media and other correlated operations remain provisional until the station sends the matching SCCP response. Every new media transaction gets a fresh nonzero wire token (a deliberately coupled ORC/SMT pair shares one), and the session accepts an acknowledgement only for the exact direction and current request generation. The zero-party acknowledgement fallback is limited to the first generation, where the stable call reference still makes it unambiguous; reopened media fails closed instead of letting an old acknowledgement settle a new request. Deadlines retire that same generation before a late response is considered. Handset presentation, receive media, transmit media, and call ownership are therefore separate states rather than one broad “connected” flag.
§Runtime workflow
Server::bind creates a plain TCP listener, while
Server::with_ingress lets a transport owner inject clear or already
decrypted streams through ServerIngress. Both constructors return a
ServerHandle for commands and a bounded Event receiver for handset
input and session outcomes. The caller must run Server::run for any of
those channels to make progress and should consume events continuously so a
full event queue cannot apply backpressure to station sessions.
A station becomes addressable by Command only after registration has
selected a configured DeviceDefinition and emitted
DeviceEventKind::Registered. Call adapters reserve or receive a
CallId, send commands through the handle, and react to correlated media
acknowledgements delivered as device events. ServerHandle::send confirms
queue admission; ServerHandle::send_confirmed additionally waits for the
complete encoded command to reach the station stream. Neither operation
substitutes for a protocol acknowledgement when the command defines one.
Reconfiguration replaces definitions atomically and disconnects only the
sessions named by ReconfigureResult or explicitly marked as affected.
ServerHandle::shutdown asks the run loop to disconnect all sessions and
finish. Dropping every handle also closes the command channel and causes the
same orderly exit.
Structs§
- Anonymous
Hotline Definition - Restricted definition used to admit an otherwise unknown station as a single-line hotline device.
- Command
- One station-targeted operation submitted through
ServerHandle. - Device
Event - One station-scoped item in the server event stream.
- Incoming
Offer Receipt - Incoming
Ring - Audible presentation to apply to a newly offered incoming call.
- Media
Statistics Snapshot - One fully correlated, privacy-safe station media snapshot retained independently of call teardown. The firmware-specific quality payload remains opaque and is represented only by its bounded byte count.
- Multicast
Media Route - Network and framing policy for one station multicast audio direction.
- Multimedia
Receive Descriptor - Complete application-owned description of one station video receive flow.
- Multimedia
Transmit Descriptor - Complete application-owned description of one station video transmit flow.
- Observation
Connection Id - Identifies one admitted connection for the lifetime of a
super::Server. - Parking
Menu Entry - One selectable parked call rendered by the station parking application.
- Reconfigure
Result - The station definitions changed by one atomic server reconfiguration.
- Registration
Token Policy - Policy applied when a station probes this server while registered elsewhere.
- Server
- Stateful owner of station admission, registration, command dispatch, and event correlation.
- Server
Config - Immutable policy shared by every session owned by one
Server. - Server
Handle - Cloneable command and management endpoint for a running
Server. - Server
Ingress - Cloneable admission endpoint returned by
super::Server::with_ingress. - Server
Observation - One item from the server’s bounded, nonblocking observation stream.
- Signaling
Observation - One bounded frame observed at the decrypted station transport boundary.
- Signaling
Server Route - One configured server and the ports available for each signaling transport.
- Signaling
Socket - Clone of a TCP socket retained independently of its clear or TLS stream.
- Socket
QosFailure - One failed marking operation.
- Socket
QosReport - Independent results from applying every supported socket mark.
- Station
Session Target - Video
Picture Reference - Picture identity carried by recovery feedback.
- Video
Picture References - A recovery request’s bounded ordered picture-reference list.
Enums§
- Call
Selection Order - Ordering used when a station asks to answer without identifying a call.
- Command
Action - Operation applied to the target station session in command-queue order.
- Device
Event Kind - State transitions and handset input produced by one station session.
- DoNot
Disturb Button Mode - Behavior selected for one do-not-disturb feature button.
- DoNot
Disturb Mode - Device-wide do-not-disturb state rendered by configured feature buttons.
- Event
- Output emitted by the running server to its integration adapter.
- Handset
Acknowledgement - Station acknowledgement whose correlation deadline expired.
- Handset
Status Message - Device-wide status-line mutation.
- Incoming
Offer Delivery - Incoming
Presentation - Multimedia
Transmit Control - Parameters for one command applied to an exact live station video encoder.
- Receive
Channel Purpose - Station presentation coupled to an audio receive-channel request.
- Recording
Button State - Semantic state shared by every recording button configured on a device.
- Registration
Fallback - Decision applied to a pre-registration token probe after station and transport eligibility have been established.
- Server
Error - Failure returned by server construction, command submission, session I/O, or stateful command validation.
- Server
Observation Kind - Connection lifecycle and signaling records emitted by the server.
- Signaling
Direction - Direction of one complete decrypted signaling frame.
- Signaling
Fidelity - Describes whether the observed bytes were preserved or sanitized.
- Socket
QosMark - A socket option that could not be applied.
- Station
Disconnect Reason - Why an admitted station connection stopped.
- Transmit
Open Outcome
Constants§
- HANDSET_
ACKNOWLEDGEMENT_ TIMEOUT - Maximum time a phone may leave an ordering-sensitive media command unacknowledged before the call owner is notified and the stale correlation state is retired.
- MAX_
REGISTRATION_ BACKOFF - MIN_
REGISTRATION_ BACKOFF - ORDERING_
ACKNOWLEDGEMENT_ TIMEOUT - Bound for the writer acknowledgement used to serialize commands whose resources must remain owned until their complete frame reaches the socket.
- PARKING_
MENU_ MAX_ ITEMS - Maximum number of parked calls rendered in one station selection menu.
Traits§
- Socket
QosPolicy - Typed socket-marking values accepted by the shared platform adapter.
- Station
Io - Bidirectional asynchronous byte stream accepted by a station session.
- Station
Socket Qos - Session-owned capability for changing the underlying signaling socket.
Functions§
- apply_
socket_ qos - Apply typed marking policy to a borrowed socket without taking ownership.