MoQT control messages are exchanged on a single bidirectional QUIC stream (stream #0).
| Message | Type ID | Direction |
|---|
| CLIENT_SETUP | 0x20 | Client → Relay |
| SERVER_SETUP | 0x21 | Relay → Client |
| GOAWAY | 0x10 | Both |
| MAX_REQUEST_ID | 0x15 | Both |
| REQUESTS_BLOCKED | 0x1A | Both |
| Message | Type ID | Direction |
|---|
| SUBSCRIBE | 0x03 | Client → Relay |
| SUBSCRIBE_OK | 0x04 | Relay → Client |
| SUBSCRIBE_ERROR | 0x05 | Relay → Client |
| SUBSCRIBE_UPDATE | 0x02 | Client → Relay |
| UNSUBSCRIBE | 0x0A | Client → Relay |
| PUBLISH_DONE | 0x0B | Relay → Client |
| Message | Type ID | Direction |
|---|
| FETCH | 0x16 | Client → Relay |
| FETCH_OK | 0x18 | Relay → Client |
| FETCH_ERROR | 0x19 | Relay → Client |
| FETCH_CANCEL | 0x17 | Client → Relay |
| Message | Type ID | Direction |
|---|
| SUBSCRIBE_NAMESPACE | 0x11 | Client → Relay |
| SUBSCRIBE_NAMESPACE_OK | 0x12 | Relay → Client |
| SUBSCRIBE_NAMESPACE_ERROR | 0x13 | Relay → Client |
| UNSUBSCRIBE_NAMESPACE | 0x14 | Client → Relay |
| PUBLISH_NAMESPACE | 0x06 | Relay → Client |
All message type IDs are for draft-14. See the full reference for complete field descriptions.