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, <https://datatracker.ietf.org/doc/html/
              draft-engelbart-rtp-over-quic-03>.

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,
              <https://datatracker.ietf.org/doc/html/draft-dawkins-
              avtcore-sdp-rtp-quic-00>.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264,
              DOI 10.17487/RFC3264, June 2002,
              <https://www.rfc-editor.org/rfc/rfc3264>.

   [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, <https://www.rfc-editor.org/rfc/rfc3550>.

   [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,
              <https://www.rfc-editor.org/rfc/rfc3711>.






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,
              <https://www.rfc-editor.org/rfc/rfc7667>.

   [RFC8866]  Begen, A., Kyzivat, P., Perkins, C., and M. Handley, "SDP:
              Session Description Protocol", RFC 8866,
              DOI 10.17487/RFC8866, January 2021,
              <https://www.rfc-editor.org/rfc/rfc8866>.

   [RFC9000]  Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
              Multiplexed and Secure Transport", RFC 9000,
              DOI 10.17487/RFC9000, May 2021,
              <https://www.rfc-editor.org/rfc/rfc9000>.

   [SDP-parameters]
              "SDP Parameters - Proto", September 2021,
              <https://www.iana.org/assignments/sdp-parameters/sdp-
              parameters.xhtml#sdp-parameters-2>.

Author's Address

   Spencer Dawkins
   Tencent America LLC
   United States of America
   Email: spencerdawkins.ietf@gmail.com


























Dawkins                 Expires 24 December 2022                [Page 8]