§9.8.

REQUEST_ERROR

The REQUEST_ERROR message is sent to a response to any request (SUBSCRIBE, FETCH, PUBLISH, SUBSCRIBE_NAMESPACE, PUBLISH_NAMESPACE, TRACK_STATUS). The unique request ID in the REQUEST_ERROR is used to associate it with the correct type of request.

REQUEST_ERROR Message {
  Type (i) = 0x5,
  Length (16),
  Request ID (i),
  Error Code (i),
  Error Reason (Reason Phrase),
}
Figure 10: MOQT REQUEST_ERROR Message
  • Request ID: The Request ID to which this message is replying.

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

  • Error Reason: Provides a text description of the request error. See Section 1.4.3.

The application SHOULD use a relevant error code in REQUEST_ERROR, as defined below. Most codepoints have identical meanings for various request types, but some have request-specific meanings.

INTERNAL_ERROR (0x0):

An implementation specific or generic error occurred.

UNAUTHORIZED (0x1):

The subscriber is not authorized to perform the requested action on 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 type of request.

MALFORMED_AUTH_TOKEN (0x4):

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

EXPIRED_AUTH_TOKEN (0x5):

Authorization token has expired (Section 9.2.1.1).

Below are errors for use by the publisher. They can appear in response to SUBSCRIBE, FETCH, TRACK_STATUS, and SUBSCRIBE_NAMESPACE, unless otherwise noted.

DOES_NOT_EXIST (0x10):

The track or namespace is not available at the publisher.

INVALID_RANGE (0x11):

In response to SUBSCRIBE or FETCH, specified Filter or range of Locations cannot be satisfied.

MALFORMED_TRACK (0x12):

In response to a FETCH, a relay publisher detected the track was malformed (see Section 2.4.2).

The following are errors for use by the subscriber. They can appear in response to PUBLISH or PUBLISH_NAMESPACE, unless otherwise noted.

UNINTERESTED (0x20):

The subscriber is not interested in the track or namespace.

Errors below can only be used in response to one message type.

PREFIX_OVERLAP (0x30):

In response to SUBSCRIBE_NAMESPACE, the namespace prefix overlaps with another SUBSCRIBE_NAMESPACE in the same session.

INVALID_JOINING_REQUEST_ID(0x32):

In response to a Joining FETCH, the referenced Request ID is not an Established Subscription.

UNKNOWN_STATUS_IN_RANGE(0x33):

In response to a FETCH, the requested range contains an object with unknown status.

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