Endpoints use the exchange of Setup messages to negotiate the MOQT version and any extensions to use.
The client indicates the MOQT versions it supports in the CLIENT_SETUP message (see Section 9.3). It also includes the union of all Setup Parameters (see Section 9.3.2) required for a handshake by any of those versions.
Within any MOQT version, clients request the use of extensions by adding Setup parameters corresponding to that extension. No extensions are defined in this document.
The server replies with a SERVER_SETUP message that indicates the chosen version, includes all parameters required for a handshake in that version, and parameters for every extension requested by the client that it supports.
New versions of MOQT MUST specify which existing extensions can be used with that version. New extensions MUST specify the existing versions with which they can be used.
If a given parameter carries the same information in multiple versions, but might have different optimal values in those versions, there SHOULD be separate Setup parameters for that information in each version.