PROTOCOL NOTES / 10
06 · Admission closure, source descriptors and readiness
Participants: Organizer, Relay, Rider
Implemented software · Physical qualification pending
Starting state
At least two approved members; organizer chooses to seal; local audio has not started.
Ordered events
- Organizer → Relay
Signed roster with open=false precedes source keys
- Relay → Rider
Apply sealed roster and close unapproved links
- Rider → Relay
Publish signed stream descriptor
- Relay → Organizer
Propagate admitted source descriptors; sync missing state
Fields and messages
stream ssrc/key/clock=48000/frameMs=20/nextIndex; SSRC top byte index+1.
Authorization and invariants
Only admitted sealed sources distribute keys. Same SSRC cannot change key; older stream control seq cannot replace newer descriptor. Fixed membership has no eviction/rekey command.
Timers
State sync on admitted link activation/reconnect; no deadline pretends missing streams are ready.
Resource lifetime
Per-source SRTP contexts survive transport changes; key material lives only in native ride state.
What the rider sees
Ready UI waits for source completeness and headset readiness; remote closure cannot start recording.
Failure branches
Seal with fewer than two fails; unapproved joiner receives NOT_ADMITTED; missing descriptor keeps start unavailable until sync.
Resulting state
Fixed roster is sealed; approved peers exchange source descriptors; each becomes ready when all descriptors are present.
Evidence boundary
Host engine, audio, shared-binding and handoff state-sync tests.
Authority: RWCP v2 reviewed scenario catalogue, scenario 06. Public examples are synthetic. This guide is maintained against the private implementation; it does not imply access to its source.