[payload] Fwd: SDP O/A -- L, D, ToP and Flexible mode

Varun Singh <varun@callstats.io> Tue, 05 March 2019 20:43 UTC

Return-Path: <varun@callstats.io>
X-Original-To: payload@ietfa.amsl.com
Delivered-To: payload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 45C91130EC9 for <payload@ietfa.amsl.com>; Tue, 5 Mar 2019 12:43:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.877
X-Spam-Level:
X-Spam-Status: No, score=-0.877 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URI_HEX=1.122] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=callstats.io
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 o5Bb0n3H9Z77 for <payload@ietfa.amsl.com>; Tue, 5 Mar 2019 12:42:59 -0800 (PST)
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) (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 C939B128CF3 for <payload@ietf.org>; Tue, 5 Mar 2019 12:42:58 -0800 (PST)
Received: by mail-wm1-x32a.google.com with SMTP id j125so3889554wmj.1 for <payload@ietf.org>; Tue, 05 Mar 2019 12:42:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=callstats.io; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=nx7FsxtfBbFC97oMl7nBix0VpcWoAUgncj+goNa4ag4=; b=gJBRz1zUmjtG5LOtNEgT2iEefojZUG37DHLEXFyZA9xRysJLNa97ZLFw3NBLPVoNfX ZAvQxFoP6nK6/O4c7dGVvVNX7FuBxv0JWWUEVGQ/SKVdROX8sLKuMnoqMMNe0mH64+gh c3Eyq0bP5o6fwxZ413PQ+09cwBL2IdPS7nUNw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=nx7FsxtfBbFC97oMl7nBix0VpcWoAUgncj+goNa4ag4=; b=pvVd8dAEsw9ElXwPlNdKJH+RQvtofN9bZ0INPu/RkzuFdy5SMgXtJuzcXb1GS5FCYg pfRtS4+287XlJ1N81yHC5ShKN7+jCDa5T3aSZC/tdPfFoML266SIE2+YKRx6wmGc/xFE SiT7VClFGAkLP7AB5C3U0r32I5mH7cH6wO2/h3oAB4nIybT7YFlzTIxifO7uIgU4JxQE TK6RR7qqudYe/ozKleJkj7IdYQmYo3njS37eza/cKlYIKUCOhwP81Hy+fUqWsTvpiIIn dILK3rvBX5FO6kLiOSIO2QmNQdupGsJuSZKH+DB4F9Gilv8BpzFUowNlbpEwWctLf9mR lErA==
X-Gm-Message-State: APjAAAWVLbGyZ7H1MW59C3W2/5sH/118I7Sy+SMF8xpV33b0f2hg6/vW cpm81QciSeQOpIoXP0IckuTD8KS242OEFqbCSa0hzg==
X-Google-Smtp-Source: APXvYqzkXE83VPUUv02DES8uhK/bh1iYCNE32FY7qJZTefgYHFqa9BcRSKyJsGTOPakr3Tc9zn1Hy0ZtLAm95ARtOwI=
X-Received: by 2002:a1c:449:: with SMTP id 70mr257319wme.118.1551818576955; Tue, 05 Mar 2019 12:42:56 -0800 (PST)
MIME-Version: 1.0
References: <CACHXSv6vLEER_dPF+AVj+GA5e+A8eZz6ks3Vo3m+L11C1e6bvA@mail.gmail.com> <B3318A07-10DC-455C-9099-899CA1792694@microsoft.com> <CACHXSv6PwGTUFyHMx3t36uCGmdydogV99tFzNojwfQgUsGA4qA@mail.gmail.com>
In-Reply-To: <CACHXSv6PwGTUFyHMx3t36uCGmdydogV99tFzNojwfQgUsGA4qA@mail.gmail.com>
From: Varun Singh <varun@callstats.io>
Date: Tue, 05 Mar 2019 22:42:45 +0200
Message-ID: <CACHXSv7euSVd=-W70E4X_mPiYuTU_BxsUoC5PdtF8iiaaXTy1A@mail.gmail.com>
To: Bernard Aboba <Bernard.Aboba@microsoft.com>, "draft-ietf-payload-flexible-fec-scheme.authors@ietf.org" <draft-ietf-payload-flexible-fec-scheme.authors@ietf.org>, "payload@ietf.org" <payload@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000009250a05835eeba8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/payload/5p8THM-dbixIO4lrMCK2eN4X4tA>
Subject: [payload] Fwd: SDP O/A -- L, D, ToP and Flexible mode
X-BeenThere: payload@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Audio/Video Transport Payloads working group discussion list <payload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/payload>, <mailto:payload-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/payload/>
List-Post: <mailto:payload@ietf.org>
List-Help: <mailto:payload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/payload>, <mailto:payload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Mar 2019 20:43:02 -0000

Hi,

Forwarding my clarifications to Bernard’s review.
Full email below.

Feedback appreciated.

Regards,
Varun.

---------- Forwarded message ---------
From: Varun Singh <varun@callstats.io>
Date: Tue, 12 Feb 2019 at 5.40
Subject: Re: SDP O/A -- L, D, ToP and Flexible mode
To: Bernard Aboba <Bernard.Aboba@microsoft.com>


Hi all,

Thanks Bernard for the quick feedback. See my replies inline.

On Mon, 11 Feb 2019 at 19.13, Bernard Aboba <Bernard.Aboba@microsoft.com>
wrote:

> Comments below.
>
> On Feb 11, 2019, at 2:45 PM, Varun Singh <varun@callstats.io> wrote:
>
> Hi all,
>
> I  caught up on the mail discussion, initially, I did not run through all
> the cases, but Bernard's follow up email, makes me question if we have to
> be more specific.
>
> Everything in this email is scoped for the SDP.
>
> 0) IIRC the SDP for FlexFec was supposed to be declarative and not really
> a negotiation.
>
>
> [BA] Is it only declaring in one direction - what to send, but not what it
> can receive? Or is there something implicit there?
>

Yes. It’s only in one direction. The implicit assumption is that the
endpoint can receive what it offers.

I can think of an argument being made, where the Offers are what type of
FEC protection/structure is willing to receive rather than send. However,
the negotiation model would be rather complex (and the ability to announce
several capability modes)




>
> - Offerer supports FlexFEC, but the Answerer does not implement it, the
> Answerer would either reject the offer or remove flexFEC from the answer.
>
>
> Otherwise, if both support FlexFEC, the Answerer would just send its own
> FlexFEC (L,D, ToP) configuration.
>
> I do not think negotiation makes a lot of sense:
> For uni-directional media, offerer specifies L, D, ToP. Logically, the
> answerer cannot ask for higher values of L and D, or a different ToP. I
> think if the answerer disagrees in this case, it would just reject the
> offer or remove flexFEC from the answer.
>
>
> [BA] Agree that negotiation isn’t a good model - but the asymmetry between
> Offerer and Answerer can create questions.
>
> What does an Offerer do if it receives an Answer with settings it does not
> support?  Is there a way for the Answerer to infer the set of settings an
> Offerer supports so as to make this unlikely?
>

I don’t think there are really options in this case.

If the offerer wants to use the interleaved mode, I don’t see a legitimate
case for the answerer to try to figure out what other modes exist. In
general I can’t see in what situation would negotiation help?

Are you thinking of a situation where an offerer is not very opinionated at
wants to describe that it’ instead lists a lot of L D ToP capabilities that
the answerer then picks from?


>
> For bi-directional media, the networks might behave differently, and thus,
> the endpoints may want to choose asymmetrical L and Ds. Which would mean
> that the Offerer and Answerer can have different L and D and O/A request
> and response is just telling the other party what their respective L and Ds
> will be?
>
>
> [BA] Makes sense.
>
>
> *1) The whole point of specifying L,D, and ToP (modes 0,1, and 2) in SDP
> was to have a rigid FEC transform structure. Agree or disagree?*
>
>
> [BA] Rigid structure makes sense if the goal is to maximize interop by
> specifying well known and required modes. But without required support for
> a set of configurations it can increase the complexity of negotiation. I do
> not like the idea of having to offer multiple potential flexfec
> configurations, for example.
>
>
> 2) ToP and L/D modes
>
> - If an endpoint uses ToP 1 (non-interleaved), it must provide the number
> of columns (L)
> - If an endpoint uses ToP 0 (interleaved), it must provide both L and D. L
> to know how much to skip and D to know which packets will be present.
> - If an endpoint uses ToP 2 (2 Dimensional), since all packets in L and D
> are protected, it must provide L and D.
> - If an endpoint wants to use the flexible FEC mode it must not specify L,
> D, or ToP.
> (skipping retx for this now)
>
> *Agree on these rules above?*
>
>
> [BA] Yes.
>

I skipped RTX before. So if I understand some of the confusion and now I’m
not sure what ToP 3 really means.

Do ToP modes 0, 1, and 2 implicitly mean no RTX?

If so, why do we have this following ambiguity  (L, D, ToP are all missing)
means it is both Flexfec FEC and flexfec RTX?


>
> I am assuming that L and D numbers in the SDP are exactly the ones that
> will be used in the protocol and the endpoints are not using the L and D
> values to mean anything between 0 to the specified value.
>
>
> [BA] Is there an implicit indication of what the Offerer can deal with in
> an Answer (e.g. L and D values less than those in the Offer are supported
> in an Answer)?
>

I think the implicit assumption is that all of  flex FEC spec is
implemented.

Offer can send and receive  X and answerer can send and receive Y.

I can’t see why we would endorse a partial implementation?


>
> 3) FlexFEC Retx and FlexFEC FEC
>
> - If an endpoint wants to use the flexible FEC and FlexFEC Retx it must
> not specify L, D, or ToP.
>
>
> [BA] Makes sense - but what is required of a flexible mode receiver? Must
> it be able to decode anything a sender can send? If not, how does it tell
> the other side that it received something it could not decode?
>
> - If an endpoint wants to use only the FlexFEC Retx it will set ToP to 3
> and skip L and D modes.
>
> *Is there a way to specify FlexFEC and FlexFEC Retx?*
>
>
Should there be explicit way to say in SDP

+ flexfec FEC only
+ flexfec RTX only
+ flexfec FEC and RTX, both?


> If the endpoints are using a declarative modes, I dont think there is an
> issue here. There can be assymetry and if the other party does not like the
> Offer it can reject it or remove flexFEC from the answer.
>
> 4) FLEX FEC Retx and 4588 Retx =)
>
> The offer contains
> FLEXFEC RTX and FEC along with 4588 RTX, i.e., no L,D,ToP for FlexFEC and
> 4588 retx
>
> The Answerer can remove the flexFEC line to indicate that it wants to use
> 4588 Retx, but thus it cannot have any form of flexFEC.
>
> Without a re-offer, I dont think the endpoints can do anything better.
>
>
> [BA] Can we interpret negotiation of 4588 RTX to mean “no flexfec rtx,
> please”?
>


Going with the declarative model and restrictions of the SDP o/a semantics
(and I’m really suspicious about the validity of what I’m suggesting below)

Case 1: everyone is happy
Offerer declares rfc4588 RTX and flexfex (with Flex RTX) meaning it has
complete flexibility in sending and receiving.

Answerer responds with rfc4588 RTX and flexfec (without RTX, I don’t think
we have a way of doing that), with this the answerer is declaring its
restriction.

Both parties in this case can figure out what needs to be done.

Case 2: no RTX because no compatibility

Offerer declares flexfec (with flex RTX), so no rfc4588 supported. Answerer
can respond with flexfec (without RTX).

In this case, while the offerer can send flex RTX the receiver won’t decode
it (and answerer would anyway just discard these packets) So it can just
assume not to send it. The answerer assuming didn’t want to send or receiv
RTX would not send flex RTX.



>
>
>
>
> --
> Founder, CEO, callstats.io
> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcallstats.io&data=02%7C01%7CBernard.Aboba%40microsoft.com%7C3fffe8653f2c43d5ba9008d690728e79%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636855219033517244&sdata=ZdhqR%2Bp9ZTHzh8rtWWX%2BABFdI9VOUcvqZe6bVQayHAE%3D&reserved=0>
> http://www.callstats.io
> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.callstats.io&data=02%7C01%7CBernard.Aboba%40microsoft.com%7C3fffe8653f2c43d5ba9008d690728e79%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636855219033522227&sdata=f0fQdqrC6DeRzINnawlYBiyYkYhHyDjIrGU9qoIiajQ%3D&reserved=0>
>
> Interested in networking, media quality, and diagnostics.
> We are hiring!: www.callstats.io/jobs/
> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.callstats.io%2Fjobs%2F&data=02%7C01%7CBernard.Aboba%40microsoft.com%7C3fffe8653f2c43d5ba9008d690728e79%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636855219033527217&sdata=bVvssFGzri2akZm7aPiDJ%2BLLggFcrbRkg32BI%2FTO4IY%3D&reserved=0>
>
> --
Founder, CEO, callstats.io
http://www.callstats.io

Interested in networking, media quality, and diagnostics.
We are hiring!: www.callstats.io/jobs/
-- 
Founder, CEO, callstats.io
http://www.callstats.io

Interested in networking, media quality, and diagnostics.
We are hiring!: www.callstats.io/jobs/