§6.

Control Messages

Sections

MOQT uses a single bidirectional stream to exchange control messages, as defined in Section 3.3. Every single message on the control stream is formatted as follows:

MOQT Control Message {
  Message Type (i),
  Message Length (i),
  Message Payload (..),
}
Figure 1: MOQT Message
Table 4
ID Messages
0x2 SUBSCRIBE_UPDATE (Section 6.5)
0x3 SUBSCRIBE (Section 6.4)
0x4 SUBSCRIBE_OK (Section 6.15)
0x5 SUBSCRIBE_ERROR (Section 6.16)
0x6 ANNOUNCE (Section 6.21)
0x7 ANNOUNCE_OK (Section 6.9)
0x8 ANNOUNCE_ERROR (Section 6.10)
0x9 UNANNOUNCE (Section 6.22)
0xA UNSUBSCRIBE (Section 6.6)
0xB SUBSCRIBE_DONE (Section 6.19)
0xC ANNOUNCE_CANCEL (Section 6.11)
0xD TRACK_STATUS_REQUEST (Section 6.12)
0xE TRACK_STATUS (Section 6.23)
0x10 GOAWAY (Section 6.3)
0x11 SUBSCRIBE_ANNOUNCES (Section 6.13)
0x12 SUBSCRIBE_ANNOUNCES_OK (Section 6.24)
0x13 SUBSCRIBE_ANNOUNCES_ERROR (Section 6.25
0x14 UNSUBSCRIBE_ANNOUNCES (Section 6.14)
0x15 MAX_SUBSCRIBE_ID (Section 6.20)
0x16 FETCH (Section 6.7)
0x17 FETCH_CANCEL (Section 6.8)
0x18 FETCH_OK (Section 6.17)
0x19 FETCH_ERROR (Section 6.18)
0x40 CLIENT_SETUP (Section 6.2)
0x41 SERVER_SETUP (Section 6.2)

An endpoint that receives an unknown message type MUST close the session. Control messages have a length to make parsing easier, but no control messages are intended to be ignored. If the length does not match the length of the message content, the receiver MUST close the session.

This is one section of the MoQT specification, rendered per-section for quick reference and citation. The authoritative text is draft-ietf-moq-transport-07 at the IETF.