The Transport Session can be terminated at any point. When native QUIC is used, the session is closed using the CONNECTION_CLOSE frame ([QUIC], Section 19.19). When WebTransport is used, the session is closed using the CLOSE_WEBTRANSPORT_SESSION capsule ([WebTransport], Section 5).
The application MAY use any error message and SHOULD use a relevant code, as defined below:
| Code | Reason |
|---|---|
| 0x0 | No Error |
| 0x1 | Internal Error |
| 0x2 | Unauthorized |
| 0x3 | Protocol Violation |
| 0x4 | Duplicate Track Alias |
| 0x5 | Parameter Length Mismatch |
| 0x6 | Too Many Subscribes |
| 0x10 | GOAWAY Timeout |
-
No Error: The session is being terminated without an error.
-
Internal Error: An implementation specific error occurred.
-
Unauthorized: The endpoint breached an agreement, which MAY have been pre-negotiated by the application.
-
Protocol Violation: The remote endpoint performed an action that was disallowed by the specification.
-
Duplicate Track Alias: The endpoint attempted to use a Track Alias that was already in use.
-
Too Many Subscribes: The session was closed because the subscriber used a Subscribe ID equal or larger than the current Maximum Subscribe ID.
-
GOAWAY Timeout: The session was closed because the client took too long to close the session in response to a GOAWAY (Section 6.3) message. See session migration (Section 3.6).