Skip to content

Commit 3b93c6f

Browse files
authored
Version and Extension Negotiation (#295)
Fixes #265
2 parents 0043fe9 + d916812 commit 3b93c6f

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

draft-ietf-moq-transport.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,30 @@ PATH parameter ({{path}}) which is sent in the SETUP message at the
350350
start of the session. The ALPN value {{!RFC7301}} used by the protocol
351351
is `moq-00`.
352352

353+
## Version and Extension Negotiation {#version-negotiation}
354+
355+
Endpoints use the exchange of SETUP messages to negotiate the MOQT version and
356+
any extensions to use.
357+
358+
The client indicates the MOQT versions it supports in its SETUP message (see
359+
{{message-setup}}). It also includes the union of all Setup Parameters
360+
{{setup-params}} required for a handshake by any of those versions.
361+
362+
Within any MOQT version, clients request the use of extensions by adding SETUP
363+
parameters corresponding to that extension. No extensions are defined in this
364+
document.
365+
366+
The server replies with a SETUP message that indicates the chosen version,
367+
includes all parameters required for a handshake in that version, and parameters
368+
for every extension requested by the client that it supports.
369+
370+
New versions of MOQT MUST specify which existing extensions can be used with
371+
that version. New extensions MUST specify the existing versions with which they
372+
can be used.
373+
374+
If a given parameter carries the same information in multiple versions,
375+
but might have different optimal values in those versions, there SHOULD be
376+
separate SETUP parameters for that information in each version.
353377

354378
## Session initialization {#session-init}
355379

0 commit comments

Comments
 (0)