MoQT draft-14 Control Message Types
MoQT draft-14 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-14 text.
What changed since draft-13
Section titled “What changed since draft-13”Renamed or retired
0xBPUBLISH_DONE— wasSUBSCRIBE_DONEin draft-130x6PUBLISH_NAMESPACE— wasANNOUNCEin draft-130x7PUBLISH_NAMESPACE_OK— wasANNOUNCE_OKin draft-130x8PUBLISH_NAMESPACE_ERROR— wasANNOUNCE_ERRORin draft-130x9PUBLISH_NAMESPACE_DONE— wasUNANNOUNCEin draft-130xCPUBLISH_NAMESPACE_CANCEL— wasANNOUNCE_CANCELin draft-13
Control message types
Section titled “Control message types”| 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 | 10 |
0x21 | SERVER_SETUP | §9.3 | 4 |
0x10 | GOAWAY | §9.4 | 5 |
0x15 | MAX_REQUEST_ID | §9.5 | 3 |
0x1A | REQUESTS_BLOCKED | §9.6 | 2 |
0x3 | SUBSCRIBE | §9.7 | 10 |
0x4 | SUBSCRIBE_OK | §9.8 | 5 |
0x5 | SUBSCRIBE_ERROR | §9.9 | 10 |
0x2 | SUBSCRIBE_UPDATE | §9.10 | 4 |
0xA | UNSUBSCRIBE | §9.11 | 4 |
0xB | PUBLISH_DONE | §9.12 | 10 |
0x1D | PUBLISH | §9.13 | 6 |
0x1E | PUBLISH_OK | §9.14 | 5 |
0x1F | PUBLISH_ERROR | §9.15 | 7 |
0x16 | FETCH | §9.16 | 6 |
0x18 | FETCH_OK | §9.17 | 4 |
0x19 | FETCH_ERROR | §9.18 | 13 |
0x17 | FETCH_CANCEL | §9.19 | 2 |
0xD | TRACK_STATUS | §9.20 | 4 |
0xE | TRACK_STATUS_OK | §9.21 | 4 |
0xF | TRACK_STATUS_ERROR | §9.22 | 10 |
0x6 | PUBLISH_NAMESPACE | §9.23 | 4 |
0x7 | PUBLISH_NAMESPACE_OK | §9.24 | 2 |
0x8 | PUBLISH_NAMESPACE_ERROR | §9.25 | 9 |
0x9 | PUBLISH_NAMESPACE_DONE | §9.26 | 3 |
0xC | PUBLISH_NAMESPACE_CANCEL | §9.27 | 3 |
0x11 | SUBSCRIBE_NAMESPACE | §9.28 | 4 |
0x12 | SUBSCRIBE_NAMESPACE_OK | §9.29 | 2 |
0x13 | SUBSCRIBE_NAMESPACE_ERROR | §9.30 | 10 |
0x14 | UNSUBSCRIBE_NAMESPACE | §9.31 | 3 |
33 rows from the Control Messages table of draft-14. 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 168 encode/decode vectors for draft-14 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.
Where these numbers come from
Section titled “Where these numbers come from”
The table is parsed from table-1 of draft-ietf-moq-transport-14,
in the frozen rendering this site keeps at spec-sources/draft-14.html.
That file hashes to 1bd3bcf31ffd57226c022637cf09be9dddce670d33af2f8d1d4d2055e4131911, which
is the same source_sha256 the moqtap codec's committed registry extraction
records for draft-14 — 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-14 error codes · Read draft-14 section by section
Control message types in other drafts
Section titled “Control message types in other drafts”moqtap covers drafts 07 through 20.
- draft-20 — 25 types
- draft-19 — 24 types
- draft-18 — 24 types
- draft-17 — 23 types
- draft-16 — 27 types
- draft-15 — 26 types
- draft-14 — 33 types
- draft-13 — 33 types
- draft-12 — 32 types
- draft-11 — 29 types
- draft-10 — 26 types
- draft-09 — 26 types
- draft-08 — 26 types
- draft-07 — 25 types
All MoQT control message types, draft by draft · How control messages work