§9.13.

PUBLISH

The publisher sends the PUBLISH control message to initiate a subscription to a track. The receiver verifies the publisher is authorized to publish this track.

PUBLISH Message {
  Type (i) = 0x1D,
  Length (16),
  Request ID (i),
  Track Namespace (..),
  Track Name Length (i),
  Track Name (..),
  Track Alias (i),
  Number of Parameters (i),
  Parameters (..) ...,
  Track Extensions (..),
}
Figure 15: MOQT PUBLISH Message
  • Request ID: See Section 9.1.

  • Track Namespace: Identifies a track's namespace as defined in (Section 2.4.1)

  • Track Name: Identifies the track name as defined in (Section 2.4.1).

  • Track Alias: The identifer used for this track in Subgroups or Datagrams (see Section 10.1). The same Track Alias MUST NOT be used to refer to two different Tracks simultaneously. If a subscriber receives a PUBLISH that uses the same Track Alias as a different track with an Established subscription, it MUST close the session with error DUPLICATE_TRACK_ALIAS.

  • Parameters: The parameters are defined in Section 9.2.2.

  • Track Extensions : A sequence of Extension Headers. See Section 2.5.

A subscriber receiving a PUBLISH for a Track it does not wish to receive SHOULD send REQUEST_ERROR with error code UNINTERESTED, and abandon reading any publisher initiated streams associated with that subscription using a STOP_SENDING frame.

A publisher that sends the FORWARD parameter (Section 9.2.2.8) equal to 0 indicates that it will not transmit any objects until the subscriber sets the Forward State to 1. If the FORWARD parameter is omitted or equal to 1, the publisher will start transmitting objects immediately, possibly before PUBLISH_OK.

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