Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve BYE to CONNECTION_CLOSE mapping considerations #132

Merged
merged 1 commit into from
Oct 16, 2023

Conversation

mengelbart
Copy link
Owner

No description provided.

@mengelbart mengelbart linked an issue Oct 10, 2023 that may be closed by this pull request
@mengelbart mengelbart force-pushed the fix/129-bye-connection_close-mapping branch from 58717bb to 3ce3b74 Compare October 10, 2023 08:45
transmitted in QUIC's CONNECTION_CLOSE *Reason Phrase*. However, if the
participants only wish to leave one RTP session while continuing to use the QUIC
connection for other data streams, a CONNECTION_CLOSE cannot be used, as it
would close the QUIC connection.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest rephrasing this sentence as

However, if the
participant only wishes to leave one RTP session while continuing to use the QUIC
connection, the BYE packet MUST be used, because the QUIC CONNECTION_CLOSE
would close the entire QUIC connection for all other QUIC streams and datagrams.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to avoid the normative MUST in the BYE packet MUST be used, because that is not a requirement of RFC 3550 in the first place (A participant [...] MAY leave the group without sending a BYE at all.). How about this:

However, if the
participant only wishes to leave one RTP session while continuing to use the QUIC
connection, it has to use the BYE packet because the QUIC CONNECTION_CLOSE
would close the entire QUIC connection for all other QUIC streams and datagrams.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, @mengelbart - we're getting close to converging.

The point I was struggling with, is that if you don't send a BYE packet, the sender would continue to send RTP media until the sender detects that the receiver is no longer sending RRs, and "times the receiver out". I agree with you, that inserting a MUST is adding a requirement that isn't in RTP today, so I guess the assumption is that the receiver has some reason for not using BYE, and I shouldn't complain about that.

I do think it's worth pointing out that we're allowing multiplexing of RTP/RTCP and other protocols in a single QUIC connection, so maybe it's better to also allow for the case where the participant is leaving the RTP session, but is continuing to use the QUIC connection for "something else", by saying something like

However, if the
participant wishes to use this QUIC
connection for any other multiplexed traffic
, the participant has to use the BYE packet because the QUIC CONNECTION_CLOSE
would close the entire QUIC connection for all other QUIC streams and datagrams.

Does that make sense?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds good. I updated the PR with your proposal and will merge it now.

@mengelbart mengelbart force-pushed the fix/129-bye-connection_close-mapping branch from 3ce3b74 to 9cbb319 Compare October 16, 2023 13:31
@mengelbart mengelbart merged commit 478c72c into main Oct 16, 2023
2 checks passed
@mengelbart mengelbart deleted the fix/129-bye-connection_close-mapping branch October 16, 2023 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CONNECTION_CLOSE does have an error phrase
2 participants