§9.9.

SUBSCRIBE_ERROR

A publisher sends a SUBSCRIBE_ERROR control message in response to a failed SUBSCRIBE.

SUBSCRIBE_ERROR Message {
  Type (i) = 0x5,
  Length (16),
  Request ID (i),
  Error Code (i),
  Error Reason (Reason Phrase),
}
Figure 11: MOQT SUBSCRIBE_ERROR Message
  • Request ID: The Request ID of the SUBSCRIBE this message is replying to Section 9.7.

  • Error Code: Identifies an integer error code for subscription failure.

  • Error Reason: Provides the reason for subscription error. See Section 1.4.3.

The application SHOULD use a relevant error code in SUBSCRIBE_ERROR, as defined below:

INTERNAL_ERROR (0x0):

An implementation specific or generic error occurred.

UNAUTHORIZED (0x1):

The subscriber is not authorized to subscribe to the given track.

TIMEOUT (0x2):

The subscription could not be completed before an implementation specific timeout. For example, a relay could not establish an upstream subscription within the timeout.

NOT_SUPPORTED (0x3):

The endpoint does not support the SUBSCRIBE method.

TRACK_DOES_NOT_EXIST (0x4):

The requested track is not available at the publisher.

INVALID_RANGE (0x5):

The end of the SUBSCRIBE range is earlier than the beginning, or the end of the range has already been published.

MALFORMED_AUTH_TOKEN (0x10):

Invalid Auth Token serialization during registration (see Section 9.2.1.1).

EXPIRED_AUTH_TOKEN (0x12):

Authorization token has expired (Section 9.2.1.1).

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