§9.18.

FETCH_ERROR

A publisher sends a FETCH_ERROR control message in response to a failed FETCH.

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

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

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

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

INTERNAL_ERROR (0x0):

An implementation specific or generic error occurred.

UNAUTHORIZED (0x1):

The subscriber is not authorized to fetch from the given track.

TIMEOUT (0x2):

The fetch could not be completed before an implementation specific timeout. For example, a relay could not FETCH missing objects within the timeout.

NOT_SUPPORTED (0x3):

The endpoint does not support the FETCH method.

TRACK_DOES_NOT_EXIST (0x4):

The requested track is not available at the publisher.

INVALID_RANGE (0x5):

The end of the requested range is earlier than the beginning, the start of the requested range is beyond the Largest Location, or the track has not published any Objects yet.

NO_OBJECTS (0x6):

No Objects exist between the requested Start and End Locations.

INVALID_JOINING_REQUEST_ID (0x7):

The joining Fetch referenced a Request ID that did not belong to an active Subscription.

UNKNOWN_STATUS_IN_RANGE (0x8):

The requested range contains objects with unknown status.

MALFORMED_TRACK (0x9):

A relay publisher detected the track was malformed (see Section 2.5).

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.