§3.6.

Mandatory Track Properties

draft-21 · View on IETF ↗

Property types in the range 0x4000-0x7FFF are designated as Mandatory Track Properties. These properties MUST have Track scope. Mandatory Track Properties have special handling rules that prevent tracks with required properties from being forwarded to or processed by endpoints that do not understand them.

An Object received with a Mandatory Track Property as an Object Property is malformed (see Section 12.1).

When an endpoint receives a Mandatory Track Property in PUBLISH, SUBSCRIBE_OK, or FETCH_OK that it does not understand, it MUST NOT process or forward that track:

  • For PUBLISH messages: the subscriber MUST respond with REQUEST_ERROR with error code UNSUPPORTED_EXTENSION.

  • For SUBSCRIBE_OK messages: the subscriber MUST cancel the subscription (see Section 6.4.2.3). If the subscriber is a relay with pending downstream subscribers, it MUST send REQUEST_ERROR with error code UNSUPPORTED_EXTENSION to the downstream subscribers.

  • For FETCH_OK messages: the subscriber MUST cancel the fetch (see Section 6.4.2.3). If the subscriber is a relay and has not yet sent a FETCH_OK or REQUEST_ERROR downstream, it MUST send REQUEST_ERROR with error code UNSUPPORTED_EXTENSION to the downstream fetch requester. If the relay has already forwarded data on a fetch stream, it MUST reset the stream.

A publisher that knows a subscriber does not support a Mandatory Track Property SHOULD take the following action:

  • For SUBSCRIBE: respond with REQUEST_ERROR with error code UNSUPPORTED_EXTENSION.

  • For FETCH: respond with REQUEST_ERROR with error code UNSUPPORTED_EXTENSION.

  • For PUBLISH: do not publish the track to that subscriber.

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