§8.17.

TRACK_STATUS

A publisher sends a 'TRACK_STATUS' message on the control stream in response to a TRACK_STATUS_REQUEST message.

TRACK_STATUS Message {
  Type (i) = 0xE,
  Length (i),
  Track Namespace (tuple),
  Track Name Length(i),
  Track Name (..),
  Status Code (i),
  Last Group ID (i),
  Last Object ID (i),
}
Figure 18: MOQT TRACK_STATUS Message

The 'Status Code' field provides additional information about the status of the track. It MUST hold one of the following values. Any other value is a malformed message.

0x00: The track is in progress, and subsequent fields contain the highest group and object ID for that track.

0x01: The track does not exist. Subsequent fields MUST be zero, and any other value is a malformed message.

0x02: The track has not yet begun. Subsequent fields MUST be zero. Any other value is a malformed message.

0x03: The track has finished, so there is no "live edge." Subsequent fields contain the highest Group and object ID known.

0x04: The publisher is a relay that cannot obtain the current track status from upstream. Subsequent fields contain the largest group and object ID known.

Any other value in the Status Code field is a malformed message.

When a relay is subscribed to a track, it can simply return the highest group and object ID it has observed, whether or not that object was cached or completely delivered. If not subscribed, a relay SHOULD send a TRACK_STATUS_REQUEST upstream to obtain updated information.

Alternatively, the relay MAY subscribe to the track to obtain the same information.

If a relay cannot or will not do either, it should return its best available information with status code 0x04.

The receiver of multiple TRACK_STATUS messages for a track uses the information from the latest arriving message, as they are delivered in order on a single stream.

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