Skip to content

MoQT draft-13 Control Message Types

MoQT draft-13 defines 30 control message types and marks 3 code points reserved — 33 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-13 text.

Added

  • 0xF TRACK_STATUS_ERROR

Renamed or retired

  • 0xD TRACK_STATUS — was TRACK_STATUS_REQUEST in draft-12
  • 0xE TRACK_STATUS_OK — was TRACK_STATUS in draft-12
  • 0x11 SUBSCRIBE_NAMESPACE — was SUBSCRIBE_ANNOUNCES in draft-12
  • 0x12 SUBSCRIBE_NAMESPACE_OK — was SUBSCRIBE_ANNOUNCES_OK in draft-12
  • 0x13 SUBSCRIBE_NAMESPACE_ERROR — was SUBSCRIBE_ANNOUNCES_ERROR in draft-12
  • 0x14 UNSUBSCRIBE_NAMESPACE — was UNSUBSCRIBE_ANNOUNCES in draft-12
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 §8.3 8
0x21 SERVER_SETUP §8.3 4
0x10 GOAWAY §8.4 4
0x15 MAX_REQUEST_ID §8.5 3
0x1A REQUESTS_BLOCKED §8.6 3
0x3 SUBSCRIBE §8.7 12
0x4 SUBSCRIBE_OK §8.8 6
0x5 SUBSCRIBE_ERROR §8.9 9
0x2 SUBSCRIBE_UPDATE §8.10 4
0xA UNSUBSCRIBE §8.11 3
0xB SUBSCRIBE_DONE §8.12 9
0x1D PUBLISH §8.13 5
0x1E PUBLISH_OK §8.14 3
0x1F PUBLISH_ERROR §8.15 6
0x16 FETCH §8.16 6
0x18 FETCH_OK §8.17 4
0x19 FETCH_ERROR §8.18 13
0x17 FETCH_CANCEL §8.19 2
0xD TRACK_STATUS §8.20 5
0xE TRACK_STATUS_OK §8.21 5
0xF TRACK_STATUS_ERROR §8.22 9
0x6 ANNOUNCE §8.23 3
0x7 ANNOUNCE_OK §8.24 3
0x8 ANNOUNCE_ERROR §8.25 8
0x9 UNANNOUNCE §8.26 2
0xC ANNOUNCE_CANCEL §8.27 4
0x11 SUBSCRIBE_NAMESPACE §8.28 3
0x12 SUBSCRIBE_NAMESPACE_OK §8.29 2
0x13 SUBSCRIBE_NAMESPACE_ERROR §8.30 9
0x14 UNSUBSCRIBE_NAMESPACE §8.31 2

33 rows from the Control Messages table of draft-13. 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 159 encode/decode vectors for draft-13 across 30 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 30 assigned types have vectors.

Neither source has a message type the other lacks.

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

moqtap covers drafts 07 through 20.

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