Skip to main content
The Artifact

MoQT track + MLS epoch inspector.

Watch a group form. Watch a member join. See the epoch tick. Every state mutation is signed.

MoQ
Dimension
MoQT track
12.4 J · draft-09
per call

Subscribe to closing/audio at priority 1, closing/video at priority 4.

Each MoQT track namespace fans out via the us-west-1 relay. Object headers carry (group_id, object_id, priority) so a congested relay drops video B-frames first while audio objects remain in-order. SUBSCRIBE_OK returns the latest group id so a late joiner catches up without a renegotiation.

Sample receipt
JWP ReceiptPayload
kind "comms.moqt.subscribe"
namespace closing/9241
delivery object-stream
joules 12.4
cite "draft-ietf-moq-transport-09 §6.4"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
transport
QUIC v1 (RFC 9000)
relay
moqt-relay.us-west-1
priority
audio=1, video=4
MLS
Dimension
MLS group
0.81 J · RFC 9420
per call

TreeKEM group state. Rekeys on every membership change.

The closing call's group g_92c1 starts at epoch 46 with 4 members. Add(notary) commits to epoch 47; Remove(notary) commits to epoch 48 at session end. Every epoch carries a fresh sender_data_secret, exporter_secret, and confirmation tag — RFC 9420 §8.5 forward secrecy holds.

Sample receipt
JWP ReceiptPayload
kind "comms.mls.epoch.advanced"
ciphersuite MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519
epoch_range [46, 48]
joules 0.81
cite "RFC 9420 §8, §12"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
tree_size
5 leaves
transcript_hash
sha256:7c0d…aa19
SIP
Dimension
SIP dialog
0.42 J · RFC 3261
per call

INVITE / 200 OK / ACK across five endpoints.

The dialog id (Call-ID + tags) anchors every subsequent SDP renegotiation. When the PSTN-dialed agent's codec changes, a re-INVITE on the same dialog updates the SFU without disturbing the MLS group. BYE on hangup closes the dialog and triggers the recording seal.

Sample receipt
JWP ReceiptPayload
kind "comms.sip.dialog.established"
via_count 3
joules 0.42
cite "RFC 3261 §13 · RFC 8866"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
ua
OpenSIPS 3.5 + Asterisk 22
tls
RFC 5630 (sips:)
Hsh
Dimension
Recording hash
27.9 J · BLAKE3
per call

Frame-by-frame BLAKE3 root. The recording IS the receipt.

Audio objects (OPUS, 20ms frames) and video objects (AV1, ~33ms keyframe cadence) are folded into a streaming BLAKE3 hasher in their MoQT delivery order. The 32-byte root commits to 26,130 objects. Anyone with the recording can re-derive the root and compare — there's no separate "chain of custody" log.

Sample receipt
JWP ReceiptPayload
kind "comms.recording.sealed"
root blake3:9c4f7a21d8…1108
duration_s 484
joules 27.9
cite "BLAKE3 v1.5 spec"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
audio_codec
OPUS@48kHz
video_codec
AV1 (libaom 3.9)
Sub
Dimension
Subscription stream
8.6 J · CDR-12
per call

PSTN bridge + RTCP feedback into the same MoQT track.

OpenSIPS 3.5 acts as a B2BUA: it terminates the PSTN leg, transcodes G.711μ → OPUS, and publishes onto closing/audio so MLS group members see one unified stream. Inbound CDRs are stamped into the receipt log; RTCP receiver reports flow back at 250 ms intervals so PLI loss stays under 0.07%.

Sample receipt
JWP ReceiptPayload
kind "comms.pstn.bridge"
transcode G.711μ → OPUS@48kHz
rtcp_interval_ms 250
joules 8.6
cite "RFC 3261 · OpenSIPS 3.5 rtpengine"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
carrier
PSTN-12
jitter_buffer_ms
60

CommunicationOS, in one line

transport, made inspectable.

Click anything. The same primitives that compose the rest of the Transaction Science family — receipts, joules, signed transport — show up here too. The family is one system.