Skip to content

MoQT draft-16 Control Message Types

MoQT draft-16 defines 24 control message types and marks 3 code points reserved — 27 rows in all. The type code is the first field of every control message, so this is the table a decoder dispatches on.

The rows come from the draft's own Control Messages table, not from a hand-kept list. For the field layout of a message, follow its section link into the draft-16 text.

Added

  • 0x8 NAMESPACE
  • 0xE NAMESPACE_DONE

Renamed or retired

  • 0x2 REQUEST_UPDATE — was SUBSCRIBE_UPDATE in draft-15

Removed

  • 0x14 UNSUBSCRIBE_NAMESPACE
Type Message Defined in Test vectors
0x01 RESERVED — SETUP for version 00
0x40 RESERVED — CLIENT_SETUP for versions <= 10
0x41 RESERVED — SERVER_SETUP for versions <= 10
0x20 CLIENT_SETUP §9.3 11
0x21 SERVER_SETUP §9.3 4
0x10 GOAWAY §9.4 5
0x15 MAX_REQUEST_ID §9.5 3
0x1A REQUESTS_BLOCKED §9.6 2
0x7 REQUEST_OK §9.7 3
0x5 REQUEST_ERROR §9.8 15
0x3 SUBSCRIBE §9.9 13
0x4 SUBSCRIBE_OK §9.10 7
0x2 REQUEST_UPDATE §9.11 8
0xA UNSUBSCRIBE §9.12 4
0x1D PUBLISH §9.13 6
0x1E PUBLISH_OK §9.14 8
0xB PUBLISH_DONE §9.15 10
0x16 FETCH §9.16 6
0x18 FETCH_OK §9.17 4
0x17 FETCH_CANCEL §9.18 2
0xD TRACK_STATUS §9.19 4
0x6 PUBLISH_NAMESPACE §9.20 4
0x8 NAMESPACE §9.21 4
0x9 PUBLISH_NAMESPACE_DONE §9.22 2
0xE NAMESPACE_DONE §9.23 4
0xC PUBLISH_NAMESPACE_CANCEL §9.24 3
0x11 SUBSCRIBE_NAMESPACE §9.25 6

27 rows from the Control Messages table of draft-16. The test-vector column counts the encode/decode vectors moqtap publishes for that type; it is a cross-check, not part of the registry.

Cross-check against the test-vector corpus

Section titled “Cross-check against the test-vector corpus”

moqtap publishes 138 encode/decode vectors for draft-16 across 24 message types, and all three moqtap implementations validate against them. Comparing that corpus with the draft's table is an independent check on this page: all 24 assigned types have vectors.

Neither source has a message type the other lacks.

The table is parsed from table-1 of draft-ietf-moq-transport-16, in the frozen rendering this site keeps at spec-sources/draft-16.html. That file hashes to 301ad8ce1969749138e62929e1afb6f81274627e01ea3fe88d2253875d94ca3c, which is the same source_sha256 the moqtap codec's committed registry extraction records for draft-16 — the two inputs are provably the same document.

Control message types are not an IANA registry in the drafts, so they are not part of the codec's registry extraction; the table id above is taken from that extraction's record of the tables it deliberately excluded, which is how this page finds the right table without guessing.

draft-16 error codes · Read draft-16 section by section

moqtap covers drafts 07 through 20.

All MoQT control message types, draft by draft · How control messages work