[AVTCORE] Review of RTP over QUIC (draft-ietf-avtcore-rtp-over-quic-01)

Vidhi Goel <vidhi_goel@apple.com> Tue, 13 December 2022 03:48 UTC

Return-Path: <vidhi_goel@apple.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CE63EC1524C8 for <avt@ietfa.amsl.com>; Mon, 12 Dec 2022 19:48:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jIxJ06Kd7oSU for <avt@ietfa.amsl.com>; Mon, 12 Dec 2022 19:48:29 -0800 (PST)
Received: from ma1-aaemail-dr-lapp02.apple.com (ma1-aaemail-dr-lapp02.apple.com [17.171.2.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 262E9C15170A for <avt@ietf.org>; Mon, 12 Dec 2022 19:48:29 -0800 (PST)
Received: from pps.filterd (ma1-aaemail-dr-lapp02.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp02.apple.com (8.16.0.42/8.16.0.42) with SMTP id 2BD3jIIh002732; Mon, 12 Dec 2022 19:48:27 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : content-type : mime-version : subject : message-id : date : to; s=20180706; bh=VaU0aauloIkCznqulzF8MTVKdRcWeUJkmI+e9ffQhp4=; b=giS9W/N7c3u6IE57hjBzdNXG8NnQrXWaJsMIzy0PeW7hKu5Sb1tPTek/p7S7b4X9quhT RB7F2XvCzpAqiqIm51eeG+kGuYpagHVj8poajFOeozMphl17M6oupAggDY6hW47c6AKk VHuTGIOYCeROOg2k1uJU7UtXvydxg40OaPfmXhPNCNXKo1KPu48JyLmkmBxdVulPrfDU +EIy3kM86U9cl5TA7aHVT4jkNuM4rpUXOhx7PRjNX8Un/3HRQ6XJcGGRjhxeqxrqvEy2 vlWnjRtKj0XKGwx730YcbcJX9dt4JuU3o5ILFkE/mM+FiHF9N8dI91v+vBgZFnhlt6HE XA==
Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by ma1-aaemail-dr-lapp02.apple.com with ESMTP id 3mcqnw3v65-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Mon, 12 Dec 2022 19:48:27 -0800
Received: from rn-mailsvcp-policy-lapp01.rno.apple.com (rn-mailsvcp-policy-lapp01.rno.apple.com [17.179.253.18]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.20.20220923 64bit (built Sep 23 2022)) with ESMTPS id <0RMT011MJ98Q5W80@rn-mailsvcp-mta-lapp03.rno.apple.com>; Mon, 12 Dec 2022 19:48:26 -0800 (PST)
Received: from process_milters-daemon.rn-mailsvcp-policy-lapp01.rno.apple.com by rn-mailsvcp-policy-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.20.20220923 64bit (built Sep 23 2022)) id <0RMT00A008SMNC00@rn-mailsvcp-policy-lapp01.rno.apple.com>; Mon, 12 Dec 2022 19:48:26 -0800 (PST)
X-Va-A:
X-Va-T-CD: 9fc0c4c6f08a9af06bd9ed81dd8ba779
X-Va-E-CD: 0beae677b93b2ebf9d61d36197f5e8bf
X-Va-R-CD: 7ecf7c44f425e8fd7699b598e42c18e4
X-Va-CD: 0
X-Va-ID: 74a5f59f-9975-49d5-a15d-ab46bc2fece5
X-V-A:
X-V-T-CD: 9fc0c4c6f08a9af06bd9ed81dd8ba779
X-V-E-CD: 0beae677b93b2ebf9d61d36197f5e8bf
X-V-R-CD: 7ecf7c44f425e8fd7699b598e42c18e4
X-V-CD: 0
X-V-ID: 4ff1eb70-d146-4fcd-b7cd-3ce1d8aeb653
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.545, 18.0.923 definitions=2022-12-12_08:2022-12-12, 2022-12-12 signatures=0
Received: from smtpclient.apple (unknown [17.234.77.161]) by rn-mailsvcp-policy-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.20.20220923 64bit (built Sep 23 2022)) with ESMTPSA id <0RMT00W4A98QB100@rn-mailsvcp-policy-lapp01.rno.apple.com>; Mon, 12 Dec 2022 19:48:26 -0800 (PST)
From: Vidhi Goel <vidhi_goel@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_E40F88D0-8650-4CFD-A827-25E0A53656AE"
MIME-version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\))
Message-id: <772615A0-CB3A-4B3D-9435-55CDBA6F7F23@apple.com>
Date: Mon, 12 Dec 2022 19:48:26 -0800
To: avt@ietf.org, Mathis Engelbart <mathis.engelbart@gmail.com>, Joerg Ott <ott@in.tum.de>
X-Mailer: Apple Mail (2.3696.80.82.1.1)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.545, 18.0.923 definitions=2022-12-12_08:2022-12-12, 2022-12-12 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/BA7LGvYhodx-PnnaKKPj2gcnzBc>
Subject: [AVTCORE] Review of RTP over QUIC (draft-ietf-avtcore-rtp-over-quic-01)
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/avt/>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Dec 2022 03:48:29 -0000

Hello Authors,

I have read and reviewed draft-ietf-avtcore-rtp-over-quic-01 and below are my comments.

General comment - I think this draft will be really helpful for developers of real time applications in migrating to QUIC (from UDP and DTLS). The current draft touches on some important aspects such as multiplexing, de-depulication of RTCP feedback fields etc. But it needs some more details and clarifications regarding sections like congestion control, connection migration, multi path capability.

Specific comments - I am providing my comments section wise and there are a mix of minor nits, typos and major comments.

Section 1. - A very big advantage of migrating to QUIC would be connection migration and MPQUIC. I think this should be mentioned in the intro and later described the impact of each of these on RTP. 
Section 3. - Current text - Such new media transport protocols may be covered elsewhere, e.g., in the MOQ WG. I don’t think reference to MOQ is needed here. 
Section 6. - Multiplexing RTP/RTCP and non RTP (eg. HTTP) - since this will be discussed on Dec 15th interim, I will leave out my comment until a decision has been made.
Section 6.1 - Current text - If it is known to either the sender, that a packet, which was not yet successfully and completely transmitted, is no longer needed.... Typo in the first part where “either” is not needed.
Section 7. - Typo in the word “additional” -  QUIC layer to the application instead of exchanging addtional
Section 7.1 - The list of replaceable RTCP reports appears without any pretext before “Receiver Reports”. A simple line that says what is coming next would solve it.
                   - Under Receiver reports->Fractions lost, current text - Later packets SHOULD be ignored, since they may still be in flight, unless other QUIC packets that were sent after the datagram frame,. Why only sent after the datagram frame (and not stream) - maybe reframe the sentence to say RTP packet instead?
		   - Under Receiver reports->Highest Sequence Number received - This field is not clear. It would be clearer if it’d say what does this field mean in RTP and can QUIC provide the exact same feedback from its ACKs.
		   - Negative acknowledgements - Probably make the recommendation clearer that since QUIC can provide all the information that a negative ack provides, there is no need to use RTCP negative Ack.
   		   - ECN feedback - same comment as above, clearly state that reporting of ECN feedback should be done via QUIC instead of RTCP feedback.
Section 7.2 - English nit in current text - A QUIC receiver can also not calculate. Suggestion, Nor can a QUIC receiver calculate..
Section 8 - This section needs some work IMO with regards to,
	1. What spec should one comply to for a real time congestion controller? (I don’t think RFC 9002 is the right compliance for real time CCs)
	2. Is bandwidth estimation the only thing needed by media codecs or does QUIC CC need to do more than that?
	3. If a real time CC can’t comply to 1., does it need to use both real time CC as well as QUIC CC?

Section 10.2 - This is a sub section for impact of connection migration and it would be good to add one for MP QUIC as Multipath offers more benefits than migration. And, both the sections should clearly state if the RTP layer needs to do anything on path change.
		     - This line caught my attention - Application layer congestion control mechanisms (and also packet repair schemes such as retransmissions) need to be prepared to cope with such spikes.  Isn’t this something they already deal with UDP anyway? I wasn’t sure the reason for mentioning this explicitly.


Common to the entire draft - I think the word “unreliable” before datagrams doesn’t really add to the value of the draft as we all know datagrams are not retransmitted and the word “unreliable” doesn’t bring anything good to the table. Perhaps that can be removed at some places. The word congestion control is well known in the community but I think most real time drafts use the word “rate adaptation algorithm” and that word makes more sense to me than congestion control. Happy to hear what the authors (and others) think.


I can send out a PR for some of these comments.


Thanks,
Vidhi