Skip to content

MoQT draft-17 Control Message Types

MoQT draft-17 defines 18 control message types and marks 5 code points reserved — 23 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-17 text.

Added

Renamed or retired

  • 0x20 RESERVED — was CLIENT_SETUP in draft-16
  • 0x21 RESERVED — was SERVER_SETUP in draft-16

Removed

  • 0x15 MAX_REQUEST_ID
  • 0x1A REQUESTS_BLOCKED
  • 0xA UNSUBSCRIBE
  • 0x17 FETCH_CANCEL
  • 0x9 PUBLISH_NAMESPACE_DONE
  • 0xC PUBLISH_NAMESPACE_CANCEL
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 RESERVED — CLIENT_SETUP in versions <= 16
0x21 RESERVED — SERVER_SETUP in versions <= 16
0x2F00 SETUP §9.4 10
0x10 GOAWAY §9.5 4
0x7 REQUEST_OK §9.6 4
0x5 REQUEST_ERROR §9.7 18
0x3 SUBSCRIBE §9.8 19
0x4 SUBSCRIBE_OK §9.9 10
0x2 REQUEST_UPDATE §9.10 8
0x1D PUBLISH §9.11 9
0x1E PUBLISH_OK §9.12 10
0xB PUBLISH_DONE §9.13 11
0x16 FETCH §9.14 8
0x18 FETCH_OK §9.15 5
0xD TRACK_STATUS §9.16 3
0x6 PUBLISH_NAMESPACE §9.17 4
0x8 NAMESPACE §9.18 4
0xE NAMESPACE_DONE §9.19 3
0x11 SUBSCRIBE_NAMESPACE §9.20 6
0xF PUBLISH_BLOCKED §9.21 3

23 rows from the Control Messages table of draft-17. 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 139 encode/decode vectors for draft-17 across 18 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 18 assigned types have vectors.

Neither source has a message type the other lacks.

The table is parsed from table-4 of draft-ietf-moq-transport-17, in the frozen rendering this site keeps at spec-sources/draft-17.html. That file hashes to 64d2e8f543c4d9bcf998d36bf805a752d89d4e02d14082ef4d73258e65a8c1d7, which is the same source_sha256 the moqtap codec's committed registry extraction records for draft-17 — 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-17 error codes · Read draft-17 section by section

moqtap covers drafts 07 through 20.

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