AVTCORE Working Group S. Dawkins Internet-Draft Tencent America LLC Intended status: Informational 22 June 2022 Expires: 24 December 2022 SDP Offer/Answer for RTP using QUIC as Transport - Design Issues draft-dawkins-avtcore-sdp-rtp-quic-issues-00 Abstract This document is intended to capture SDP aspects of RTP over QUIC design issues that have arisen, been discussed by the AVTCORE working group, and have reached a resolution that can be included in "SDP Offer/Answer for RTP using QUIC as Transport". This document is a companion document to "SDP Offer/Answer for RTP using QUIC as Transport". That document focuses on the description and registration of SDP "proto" attribute parameters with IANA, to allow applications that rely on SDP Offer/Answer to negotiate the QUIC protocol as an encapsulation for RTP. "SDP Offer/Answer for RTP using QUIC as Transport" is itself a companion document to "RTP over QUIC", and follows the lead of the latter specification as it evolves. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 24 December 2022. Copyright Notice Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved. Dawkins Expires 24 December 2022 [Page 1] Internet-Draft SDP O/A for RTP over QUIC Issues June 2022 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Notes for Readers . . . . . . . . . . . . . . . . . . . . 3 1.2. Relationship with other documents . . . . . . . . . . . . 3 1.3. Discussion and Contribution Venues for this draft. . . . 4 2. Design Issues Resolutions Ready to be Reflected in I-D.dawkins-avtcore-sdp-rtp-quic . . . . . . . . . . . . 4 2.1. What AVP Profiles to Register . . . . . . . . . . . . . . 4 2.1.1. Proposal to be implemented in draft-dawkins-avtcore-sdp-rtp-quic . . . . . . . . . 5 2.2. QUIC Streams, QUIC Datagrams, or both? . . . . . . . . . 6 2.2.1. Proposal to be implemented in draft-dawkins-avtcore-sdp-rtp-quic . . . . . . . . . 6 3. Design Issue Resolutions Under Discussion in IETF Working Groups . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Design Issue "Parking Lot", for Design Issues That Have Not Been Discussed . . . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction This document is intended to capture SDP ([RFC8866]) aspects of RTP ([RFC3550]) over QUIC ([RFC9000]) design issues that have arisen, been discussed by one or more IETF working groups, and have reached a resolution that can be included in "SDP Offer/Answer for RTP using QUIC as Transport" [I-D.dawkins-avtcore-sdp-rtp-quic]. Dawkins Expires 24 December 2022 [Page 2] Internet-Draft SDP O/A for RTP over QUIC Issues June 2022 This document is a companion document to "SDP Offer/Answer for RTP using QUIC as Transport" ([I-D.dawkins-avtcore-sdp-rtp-quic]). That document focuses on the description and registration of SDP ([RFC8866]) "proto" attribute parameters with IANA ([SDP-parameters]), to allow applications that rely on SDP Offer/ Answer ([RFC3264]) to negotiate the QUIC protocol([RFC9000]) as an encapsulation for RTP ([RFC3550]). "SDP Offer/Answer for RTP using QUIC as Transport" ([I-D.dawkins-avtcore-sdp-rtp-quic]) is itself a companion document to "RTP over QUIC" ([I-D.engelbart-rtp-over-quic]), and follows the lead of follows the lead of the latter specification as it evolves. 1.1. Notes for Readers (Note to RFC Editor - if this document ever reaches you, please remove this section) This document is intended to stimulate discussion about how proponents of "RTP over QUIC" expect that to work, recognizing that not everyone has the same goals in mind, but it understanding what the choices are will likely be helpful in making those choices, especially when the results of a choice provide direction that will allow implementers to agree on strategies and reuse as much code as possible. The author learned through some experience that it would be really good to collect questions and design issues about "RTP over QUIC", or even "Media Over QUIC", in one place, because trying to track what was being discussed in multiple and partially overlapping venues was a recipe for brain damange, especially when a topic would come up under the "Media Over QUIC" banner, and then seem to be useful for "RTP over QUIC", so potentially signaled in SDP. This document is intended to keep at least one person sane. If it keeps more than one person sane, I've made the world a slightly better place. 1.2. Relationship with other documents [I-D.dawkins-avtcore-sdp-rtp-quic] will reflect answers to the questions contained in this document, but the discussion material in this document would not be appropriate for inclusion in a draft that focuses on SDP description and IANA registration. This document might be worth publishing on its own, but is primarily intended to guide discussion that will feed into [I-D.dawkins-avtcore-sdp-rtp-quic]. Dawkins Expires 24 December 2022 [Page 3] Internet-Draft SDP O/A for RTP over QUIC Issues June 2022 1.3. Discussion and Contribution Venues for this draft. (Note to RFC Editor - if this document ever reaches you, something has gone terribly wrong. Please notify your local IESG for guidance) With the concurrence of the AVTCORE and MMUSIC working group co- chairs, SDP aspects of RTP over QUIC protoposals should be discussed in the AVTCORE working group, in the same venue where RTP over QUIC proposals are being discussed. When proposals for RTP over SIP have stablized in AVTCORE, this document will be sent to the MMUSIC working group for review by SDP experts, but SDP-specific comments are welcomed at any time. Design issues relevant for [I-D.dawkins-avtcore-sdp-rtp-quic] may arise in a variety of venues. At this time, AVTCORE is actively considering adoption of "RTP over QUIC" ([I-D.engelbart-rtp-over-quic]), so this document will reflect those issues, but protocol specifications adopted by any other IETF working group relying on RTP-over-QUIC connections that are established using SDP would also be a candidate to be tracked. Readers are invited to open issues and send pull requests with contributed text for this document in the GitHub repository at https://github.com/SpencerDawkins/sdp-rtp-quic-issues. The direct link to the list of issues is https://github.com/SpencerDawkins/sdp- rtp-quic-issues/issues. 2. Design Issues Resolutions Ready to be Reflected in [I-D.dawkins-avtcore-sdp-rtp-quic] These issues can be found in https://github.com/SpencerDawkins/sdp- rtp-quic-issues/issues, by looking for the label "Solution Proposed". 2.1. What AVP Profiles to Register This design issue was surprisingly difficult to resolve. The first design choice was between * Registering only "insecure" AVP profiles, such as "QUIC/RTP/AVPF", because "secure AVP profiles, such as "QUIC/RTP/SAVPF", mean that the RTP payloads are encrypted using "Secure Real-time Transport Protocol (SRTP)" ([RFC3711]), which isn't necessary because RTP over QUIC payloads will already be encrypted by QUIC, and * Also registering "secure" AVP profiles, such as "QUIC/RTP/SAVPF", for various reasons, including Dawkins Expires 24 December 2022 [Page 4] Internet-Draft SDP O/A for RTP over QUIC Issues June 2022 - allowing endpoints to use "double encryption", using both SRTP and QUIC to encrypt the RTP payload, in use cases where that is valuable - giving RTP middleboxes ([RFC7667]) a hint, to middleboxes that they should use SRTP when they forward RTP-over-QUIC packets to non-RTP-over-QUIC endpoints. Key points made during this discussion were * We understand that it is possible to do double encyption using SRTP over QUIC, but we haven't found any use cases where that's required (yet). * Double encyption increases processing overhead, and adds 10 bytes of overhead (since there are two HMACs) * If use cases that require double encryption are identified in the future, the appropriate AVP profiles can be registered with IANA at that time, to address non-theoretical requirements. * Using secure AVP profiles when the RTP-over-QUIC payloads are not, in fact, encrypted by SRTP, as a hack to signal intent that middleboxes forwarding RTP-over-QUIC payloads to non-RTP-over-QUIC endpoints should use SRTP encryption is bogus, and isn't likely to be sufficient to handle all of the multi-endpoint topologies described in [RFC7667]. Note: After working group discussions at IETF 113, one more observation popped up - that if our goal is to register QUIC/RTP/ AVPF, we should actually be registering UDP/QUIC/RTP/AVPF, registration of other QUIC/RTP AVP profiles that aren't running over UDP. After investigation, I don't think this is necessary unless QUIC is also defined to run over TCP, and even then, only if (say) TCP/QUIC/RTP/AVPF is considered to be a viable protocol stack for RTP usage. 2.1.1. Proposal to be implemented in draft-dawkins-avtcore-sdp-rtp-quic We will register QUIC/RTP/AVPF, and await further non-theoretical requirements to register other profiles (But see Section 2.2). Dawkins Expires 24 December 2022 [Page 5] Internet-Draft SDP O/A for RTP over QUIC Issues June 2022 2.2. QUIC Streams, QUIC Datagrams, or both? Discussion of this issue centered on whether people were getting support for a model they plan to use, rather than preventing other people from using a model they did not plan to use. After that became clear, and after [I-D.engelbart-rtp-over-quic] added support for both streams and datagrams, everything became clear. 2.2.1. Proposal to be implemented in draft-dawkins-avtcore-sdp-rtp-quic Registered QUIC/RTP proto values will contain parallel registrations that include "stream" and "dgram". For instance, if we intend to register QUIC/RTP/AVPF, we will actually register QUIC/stream/RTP/AVPF and QUIC/dgram/RTP/AVPF, 3. Design Issue Resolutions Under Discussion in IETF Working Groups These issues can be found in https://github.com/SpencerDawkins/sdp- rtp-quic-issues/issues, by looking for the label "Presented to Working Group" and/or "Mailing List". 4. Design Issue "Parking Lot", for Design Issues That Have Not Been Discussed These issues can be found in https://github.com/SpencerDawkins/sdp- rtp-quic-issues/issues, by looking for issues with no labels. 5. IANA Considerations This document makes no requests of IANA. 6. Security Considerations This document is intended as the basis for discussion about protocol mechanisms that will be described in other documents. As a discussion paper, this document introduces no new security considerations, and any new security considerations resulting from those discussions should be included in the documents that actually describe protocol mechanisms. Dawkins Expires 24 December 2022 [Page 6] Internet-Draft SDP O/A for RTP over QUIC Issues June 2022 7. Acknowledgments Thanks to the following folks who have contributed interesting questions and even more interesting suggested text proposals. These folk include Bernard Aboba, Colin Perkins, Justin Uberti, Martin Thomson, Richard Bradbury, Roman Shpount, Ross Finlayson, Sergio Garcia Murillo, Suhas Nandakumar, Tolga Asveren (Your name also could appear here. You are invited to comment and contribute, as described in "Contribution and Discussion Venues for this draft" above) 8. References 8.1. Normative References [I-D.engelbart-rtp-over-quic] Ott, J. and M. Engelbart, "RTP over QUIC", Work in Progress, Internet-Draft, draft-engelbart-rtp-over-quic- 03, 12 May 2022, . 8.2. Informative References [I-D.dawkins-avtcore-sdp-rtp-quic] Dawkins, S., "SDP Offer/Answer for RTP using QUIC as Transport", Work in Progress, Internet-Draft, draft- dawkins-avtcore-sdp-rtp-quic-00, 28 January 2022, . [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, DOI 10.17487/RFC3264, June 2002, . [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, July 2003, . [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, DOI 10.17487/RFC3711, March 2004, . Dawkins Expires 24 December 2022 [Page 7] Internet-Draft SDP O/A for RTP over QUIC Issues June 2022 [RFC7667] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 7667, DOI 10.17487/RFC7667, November 2015, . [RFC8866] Begen, A., Kyzivat, P., Perkins, C., and M. Handley, "SDP: Session Description Protocol", RFC 8866, DOI 10.17487/RFC8866, January 2021, . [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, . [SDP-parameters] "SDP Parameters - Proto", September 2021, . Author's Address Spencer Dawkins Tencent America LLC United States of America Email: spencerdawkins.ietf@gmail.com Dawkins Expires 24 December 2022 [Page 8]