Re: [AVTCORE] Notes on RTP CC Feedback from the Hackathon

Jonathan Lennox <jonathan@vidyo.com> Tue, 26 March 2019 09:00 UTC

Return-Path: <jonathan@vidyo.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 472A11202C9 for <avt@ietfa.amsl.com>; Tue, 26 Mar 2019 02:00:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=vidyo.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FVwZH72j4JyD for <avt@ietfa.amsl.com>; Tue, 26 Mar 2019 02:00:36 -0700 (PDT)
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2D3311202A0 for <avt@ietf.org>; Tue, 26 Mar 2019 02:00:36 -0700 (PDT)
Received: by mail-wr1-x42e.google.com with SMTP id p10so13354150wrq.1 for <avt@ietf.org>; Tue, 26 Mar 2019 02:00:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vidyo.com; s=google; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=DKo98bTUm8P5lOJcvlz9VEZ9BkdBNRA2XBeXFA1xes4=; b=IIpWc8yP37yTEIUGnqld00/5wUNAPnpVIwJmuJ0rRGw4F2JpW3d/2HdCWJdXDMfpva vQFqTETGWuFXqqNUqXY4h6rGgBGSGHZaj68Z800M6ZExjcqRpavqEJrrTvcblQpEcQaz SjILBpkS7miwp8CYpd3zpvm+cguM1TuoDhhIwhqkFkBra7cDpKAYggWQH0P6Bgs7yhX/ AXG14n6yDwxhdUccHPZs3U+iFVxRmgelHLUok1mEzmNz3yz+x7pgf9PnTwqlyDWU+3XF t/rNmDd+5hTuiYjnJWCPDATKBCwddY259DZYNoekU9Pk9s33t8IHx+a0xW/tPCmv/ZWr 5F5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=DKo98bTUm8P5lOJcvlz9VEZ9BkdBNRA2XBeXFA1xes4=; b=WB6mx7Ddnx5tsmyYzrChMJ4aPP13IRYqwcTKhsy2mhBLXBSWkYSCpEm1SjZsEQrVlh 6YdYgEKLZdtUvd7HB+K1qN8qYi9KVHs2AuR11g5O6YkizHzz52hljEttrHwFLvQiaZeP sfuNgyh03y9+nfIr6lPD2BNRrPb3vWAFbGYaQlFLV+Y7zHcRVn7ecP/MWXq2AxnXA0dr ft+BMCYJf5zcSaiERGAsLLkE8u4oQUwKvz6ubNZ5/R8XwAJbIRD+EpiZe0rjlzpLUAyE jX8tDjnb2TARjkYLYhSR6NSXkVlxRs4It5tz8my+mlr4c7WtZlpLcIASECkxTg1gKrxO /75A==
X-Gm-Message-State: APjAAAXZvtUeae+aQxys/OB0Ud/KvsWY0qUWLV5UVflJBVcOkABqj2eb lJncyYxOEC1G9WSCCJbSq2x6yw==
X-Google-Smtp-Source: APXvYqw6xWNeX/Cwn/RTi8USXTznTvSAOPry0amN8CCtDw/WZvY755hz2dk83bVRNKae/8dpxqLnSQ==
X-Received: by 2002:adf:d84d:: with SMTP id k13mr20634217wrl.154.1553590834441; Tue, 26 Mar 2019 02:00:34 -0700 (PDT)
Received: from ?IPv6:2001:67c:370:128:a416:ddb:c6f:6abe? ([2001:67c:370:128:a416:ddb:c6f:6abe]) by smtp.gmail.com with ESMTPSA id l8sm17382133wrv.45.2019.03.26.02.00.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 Mar 2019 02:00:33 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
From: Jonathan Lennox <jonathan@vidyo.com>
In-Reply-To: <HE1PR07MB4425E3068736C3547A932F66C25F0@HE1PR07MB4425.eurprd07.prod.outlook.com>
Date: Tue, 26 Mar 2019 10:00:19 +0100
Cc: IETF AVTCore WG <avt@ietf.org>, "rmcat@ietf.org" <rmcat@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <3CA36BE0-5A55-4CA0-A6A4-82ABA4102B6E@vidyo.com>
References: <HE1PR07MB4425E3068736C3547A932F66C25F0@HE1PR07MB4425.eurprd07.prod.outlook.com>
To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/CJLH1dY-E9vknLrVgk8360p5egI>
Subject: Re: [AVTCORE] Notes on RTP CC Feedback from the Hackathon
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.29
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, 26 Mar 2019 09:00:47 -0000


> On Mar 26, 2019, at 8:59 AM, Ingemar Johansson S <ingemar.s.johansson@ericsson.com> wrote:
> 
> The SCReAM implementation relies _only_ on the RTP CC feedback
> 
> Quote : "There should be guidance on how CCFB?s SSRC-and-RTP sequence
> feedback
> format can be mapped into a single sequence number space, of the sort that
> many congestion control algorithms will want as input."
> I don't understand this. Do you mean that if you have two encoders that
> produce RTP packets then they should get RTP sequence numbers from a single
> monotonically increasing sequence number function ? 
> I don't see that this is necessary. At least in SCReAM, each stream (source)
> have its own list of transmitted packets with their respective RTP sequence
> numbers, this list is matched against the RTCP feedback.
> But perhaps I misunderstood ?

No, that’s not what I’m saying.  RTP sequence numbers should behave as normal.

The question here is about maintaining *local* data (internal to the sender’s data structures) remembering the a total order of the packets sent across all SSRCs, for congestion control algorithms that want to treat data sent as a single aggregate, rather than treating SSRCs independently.

The suggestion would be to provide some non-normative implementation guidance on how best to maintain this, efficiently.

> 
> /Ingemar
> 
> 
>> Date: Mon, 25 Mar 2019 12:19:56 +0100
>> From: Jonathan Lennox <jonathan@vidyo.com>
>> To: "rmcat@ietf.org WG" <rmcat@ietf.org>, avtcore@ietf.org
>> Subject: [AVTCORE] Notes on RTP CC Feedback from the Hackathon
>> Message-ID: <91FCCD42-F4DB-45B2-9673-828F327743F8@vidyo.com>
>> Content-Type: text/plain;	charset=utf-8
>> 
>> Sergio Mena, Nils Olhmeier, and I got RTP CC Feedback interoperating at
> the
>> IETF Hackathon this weekend.
>> 
>> Sergio (with help from Nils) got it working in Firefox, driving
> libwebrtc?s GCC; I
>> had it working in our proprietary codebase with our proprietary congestion
>> control algorithm.  We had media flow between my computer at the Hackathon
>> and Sergio?s in Switzerland, with both sides achieving what seemed to be
>> reasonable bitrates for the network. (We didn?t do careful study of the
> results in
>> the time we had available, though.)
>> 
>> Some issues we noticed:
>> 
>> * In BUNDLE, it?s not clear whether it should be legitimate to negotiate
> CCFB on
>> some but not all of a group of bundled media descriptions.  I.e., what
> should the
>> bundle category of a=rtcp-fb:* ack ccfb be?
>> 
>> * SDP ABNF syntax is fairly arcane, so it wasn?t immediately obvious to
>> everyone that the signaling was indeed supposed to be ?a=rtcp-fb:* ack
> ccfb?.
>> An example would probably be helpful.
>> 
>> * Offerers will often want to offer a variety of congestion control
> feedback
>> mechanisms for maximum interoperability, but bad things can happen if you
> try
>> to use more than one at once.  Thus, answerers should answer with only one
>> option, and if that doesn?t happen (i.e. if an answer contains more than
> one
>> option) an endpoint should either pick just one it likes best, or
> complain/fail.
>> 
>> * CCFB, unlike most RTCP messages, isn?t intrinsically bounded in size.
> When
>> bandwidths are very asymmetric, you can end up with more feedback reports
>> than will fit in an MTU.  Implementations should make sure to generate
> multiple
>> feedback packets in this case.
>> 
>> * There should be guidance on how CCFB?s SSRC-and-RTP sequence feedback
>> format can be mapped into a single sequence number space, of the sort that
>> many congestion control algorithms will want as input.
>> 
>> * Congestion algorithms need to understand what to do in response to lost
>> feedback messages.  It?s generally a bad thing to treat them as media
> packet
>> losses, but it?s also bad to treat them as though the packets were
> received
>> perfectly.
>> 
>> 
>> ------------------------------
>> 
>> Subject: Digest Footer
>> 
>> _______________________________________________
>> Audio/Video Transport Core Maintenance
>> avt@ietf.org
>> https://www.ietf.org/mailman/listinfo/avt
>> 
>> 
>> ------------------------------
>> 
>> End of avt Digest, Vol 178, Issue 4
>> ***********************************