Skip to content

Namespace Discovery

Namespace discovery lets you find out what tracks a relay has available. The mechanism varies by draft version:

  • Draft-14+: SUBSCRIBE_NAMESPACE / PUBLISH_NAMESPACE
  • Draft-07: SUBSCRIBE_ANNOUNCES (different message, same concept)
  • Draft-17: Adds NAMESPACE and NAMESPACE_DONE messages for richer discovery

The fastest way to discover namespaces is moqtap peek:

Terminal window
# Discover all published namespaces
moqtap peek moqt://relay.example.com namespaces
# List tracks in a specific namespace
moqtap peek moqt://relay.example.com tracks live
# JSON output
moqtap peek moqt://relay.example.com namespaces -j

The peek command auto-detects the relay’s draft version and uses the appropriate discovery mechanism.

  1. Enter a namespace prefix (e.g., ["chat"] or [] for all)
  2. Click Discover

moqtap sends SUBSCRIBE_NAMESPACE and collects responses:

TX SUBSCRIBE_NAMESPACE prefix=["chat"]
RX SUBSCRIBE_NAMESPACE_OK
RX PUBLISH_NAMESPACE prefix=["chat","room1"]
RX PUBLISH_NAMESPACE prefix=["chat","room2"]

Discovered namespaces appear in a tree view. Expand nodes to see sub-namespaces and available tracks.

The browser extension passively decodes namespace discovery messages from your application’s WebTransport connections. Open the DevTools panel to see SUBSCRIBE_NAMESPACE and PUBLISH_NAMESPACE messages with full field display.

Send UNSUBSCRIBE_NAMESPACE (draft-14) to stop receiving namespace announcements. In draft-17, the consolidated response pattern handles this differently.