Re: [payload] TSVART telechat review of draft-ietf-payload-flexible-fec-scheme-16

Giridhar Mandyam <mandyam@qti.qualcomm.com> Mon, 11 February 2019 19:02 UTC

Return-Path: <mandyam@qti.qualcomm.com>
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 CE5D1131132; Mon, 11 Feb 2019 11:02:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.299
X-Spam-Level:
X-Spam-Status: No, score=-4.299 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_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=qti.qualcomm.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 YqIM4kuu7WsO; Mon, 11 Feb 2019 11:02:38 -0800 (PST)
Received: from alexa-out-sd-02.qualcomm.com (alexa-out-sd-02.qualcomm.com [199.106.114.39]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4853D12867A; Mon, 11 Feb 2019 11:02:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qti.qualcomm.com; i=@qti.qualcomm.com; q=dns/txt; s=qcdkim; t=1549911758; x=1581447758; h=from:to:cc:subject:date:message-id:mime-version; bh=+EiOeMZydEQ8/7OdRdv6NYsxJdGBokWo9QR1TQtISFk=; b=wRMxpu7u6JEqakoFciB/cPRn9gc8Ru3m2LqMmww3hk8Rk1cDAaEf54rJ T25pHVF3G80/pgBqh9JgYg3yZoaIl8a+x/NCWMfap2YXCpWRrJi2iwal9 v5tcqqcOLyAQzAORXdmuAP7nYHKdd3FggH25CpBYFuoiI/4CyCnqkgK85 A=;
X-IronPort-AV: E=Sophos; i="5.58,359,1544515200"; d="scan'208,217"; a="30200544"
Received: from unknown (HELO ironmsg-SD-alpha.qualcomm.com) ([10.53.140.30]) by alexa-out-sd-02.qualcomm.com with ESMTP; 11 Feb 2019 11:02:37 -0800
X-IronPort-AV: E=McAfee;i="5900,7806,9164"; a="340019200"
Received: from nasanexm01f.na.qualcomm.com ([10.85.0.32]) by ironmsg-SD-alpha.qualcomm.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Feb 2019 11:02:37 -0800
Received: from NASANEXM01C.na.qualcomm.com (10.85.0.83) by NASANEXM01F.na.qualcomm.com (10.85.0.32) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 11 Feb 2019 11:02:37 -0800
Received: from NASANEXM01C.na.qualcomm.com ([10.85.0.83]) by NASANEXM01C.na.qualcomm.com ([10.85.0.83]) with mapi id 15.00.1395.000; Mon, 11 Feb 2019 11:02:37 -0800
From: Giridhar Mandyam <mandyam@qti.qualcomm.com>
To: Bernard Aboba <bernard.aboba@gmail.com>
CC: "payload@ietf.org" <payload@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>, "draft-ietf-payload-flexible-fec-scheme@ietf.org" <draft-ietf-payload-flexible-fec-scheme@ietf.org>
Thread-Topic: TSVART telechat review of draft-ietf-payload-flexible-fec-scheme-16
Thread-Index: AdTCNO0natcuwLFuRP+H7aoARQUTEg==
Date: Mon, 11 Feb 2019 19:02:36 +0000
Message-ID: <ad4d8e52739045149b72c882732801f5@NASANEXM01C.na.qualcomm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.80.80.8]
Content-Type: multipart/alternative; boundary="_000_ad4d8e52739045149b72c882732801f5NASANEXM01Cnaqualcommco_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/payload/TqUoUuOHqmuXB32QqNWv0KPweg4>
Subject: Re: [payload] TSVART telechat review of draft-ietf-payload-flexible-fec-scheme-16
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: Mon, 11 Feb 2019 19:02:41 -0000


Thank you for the careful review.  Enclosed are proposed responses.

> For example, the sender could use flexible mode to only protect base layer packets by using a flexible mask to select only packets sent with TID = 0 and SID = 0.  Since with flexible mode the mask is not negotiated and thus can be varied on the fly, it would appear to me that differential protection can be provided even in situations where the number of layers encoded (and even the temporal/spatial encoding mode) vary on the fly.

> If this interpretation is correct, I would suggest adding a section after 1.1.4 covering the flexible mask mode and a differential protection use case for it.  It also would appear to me that flexible mode could be used to implement dynamic FEC, but I'll leave it to the authors to decide whether to mention that use case.

Suggested additional section (new 1.1.5):

1.1.5 FEC Protection with Flexible Mask

It is possible to define FEC protection for selected packets in the source stream.  This would enable differential protection, i.e. application of FEC selectively to packets that require a higher level of reliability then the other packets in the source stream.  The sender will be required to send a bitmap indicating the packets to be protected, i.e. a “mask”, to the receiver.  Since the mask can be modified during an RTP session (“flexible mask”), this kind of FEC protection can also be used to implement FEC dynamically (e.g. for adaptation to different types of traffic during the RTP session).

>With respect to SDP parameters (L, D, ToP) defined in Section 5.1.1, I was unclear on several points:
>1. Is it possible to configure a ToP value to indicate that the sender desires to utilize both FEC and retransmission?  Or must the sender choose to utilize this payload for one or the other but not both?


It is not possible to configure a ToP value that allows the sender to send both FEC and rtx, and all valid values for ToP are listed in the spec.  This is what is meant by the current text under ToP for each type registration:   “There can only be one value listed for ToP.”  An offer that attempts to list multiple ToP values must be rejected. We can add the clarifying sentence:  “An offer that lists more than one ToP value MUST be rejected.”


>2. What happens if both RTX and flexible FEC with retransmission are Offered in SDP?  Could this result in the sender being allowed to send both types of retransmission (though presumably only one at a time)?  Are the type(s) of retransmission used determined by which retransmission schemes are provided in the Answer?



We assume by RTX you mean the RTP RTX option, but specifically for source packets.  It is possible to offer RTP RTX and FLEX FEC in an offer.  An example of when such an offer is appropriate is if the FLEX FEC RTX fails to recover the packet, and RTP RTX is required to recover the packet for a given application that requires a corresponding level of reliability.  If by RTX you mean the use of RTP RTX for retransmission of repair packets, then this is not prohibited by the spec but is not a configuration that the editors anticipate will be widely-used.


>3. If L and D are not specified, does this imply that the sender will operate in flexible mode?  Are implementations of the specification required to support all of the modes except for the F=1, R=1 mode that is forbidden?  If not, how does an Answerer indicate that it doesn't support the mode that is Offered?



If L and D are not specified in the SDP, then the sender will utilize a flexible mask (assuming rtx is not selected).  Implementations are not required to support all F/R combinations as there may be implementations limitations depending on the repair window offered (e.g. insufficient buffer space).  The answerer can indicate lack of support through rejection using the methodology described in https://tools.ietf.org/html/rfc3264#section-6.


>4. Does the negotiation of L, D and ToP in SDP imply that the sender cannot switch to use of another configuration without renegotiation?  Since the flexible FEC format is self-describing, it would appear to me that switching should be possible as long as the implementation requirements are clear.  For example, do all implementations needs to support all mask sizes?



Switching without re-negotiation may not be possible unless the sender is aware of the capabilities of the receiver e.g. through out-of-band information.  If the sender does not have full information on receiver capabilities, then re-negotiation may be necessary as per the procedures of  https://tools.ietf.org/html/rfc3264#section-8.

From: Bernard Aboba <bernard.aboba@gmail.com<mailto:bernard.aboba@gmail.com>>
Sent: Sunday, February 3, 2019 7:30 PM
To: tsv-art@ietf.org<mailto:tsv-art@ietf.org>
Cc: payload@ietf.org<mailto:payload@ietf.org>; IETF discussion list <ietf@ietf.org<mailto:ietf@ietf.org>>; draft-ietf-payload-flexible-fec-scheme@ietf.org<mailto:draft-ietf-payload-flexible-fec-scheme@ietf.org>
Subject: TSVART telechat review of draft-ietf-payload-flexible-fec-scheme-16

Reviewer:  Bernard Aboba
Review result:  Needs clarifications

This document has been reviewed as part of the transport area review team's
ongoing effort to review key IETF documents. These comments were written
primarily for the transport area directors, but are copied to the document's
authors and WG to allow them to address any issues raised and also to the IETF discussion list for information.

When done at the time of IETF Last Call, the authors should consider this
review as part of the last-call comments they receive. Please always CC
tsv-art@ietf.org<mailto:tsv-art@ietf.org> if you reply to or forward this review.

Document: draft-ietf-payload-flexible-fec-scheme-16

My reading of the document raised questions relating to implementation requirements as well as the configuration and use of the Flexible Mask mode (R=0, F=0).  Presumably, this mode can be used to choose arbitrary packets to protect. There is not much discussion of flexible mode early in the document, and no use cases are presented relating to this mode.  However, it would appear to me that flexible mode can be used to implement scenarios such as differential protection for Scalable Video Coding.

For example, the sender could use flexible mode to only protect base layer packets by using a flexible mask to select only packets sent with TID = 0 and SID = 0.  Since with flexible mode the mask is not negotiated and thus can be varied on the fly, it would appear to me that differential protection can be provided even in situations where the number of layers encoded (and even the temporal/spatial encoding mode) vary on the fly.

If this interpretation is correct, I would suggest adding a section after 1.1.4 covering the flexible mask mode and a differential protection use case for it.
It also would appear to me that flexible mode could be used to implement dynamic FEC, but I'll leave it to the authors to decide whether to mention that use case.

With respect to SDP parameters (L, D, ToP) defined in Section 5.1.1, I was unclear on several points:

1. Is it possible to configure a ToP value to indicate that the sender desires to utilize both FEC and retransmission?  Or must the sender choose to utilize this payload for one or the other but not both?

2. What happens if both RTX and flexible FEC with retransmission are Offered in SDP?  Could this result in the sender being allowed to send both types of retransmission (though presumably only one at a time)?  Are the type(s) of retransmission used determined by which retransmission schemes are provided in the Answer?

3. If L and D are not specified, does this imply that the sender will operate in flexible mode?  Are implementations of the specification required to support all of the modes except for the F=1, R=1 mode that is forbidden?  If not, how does an Answerer indicate that it doesn't support the mode that is Offered?

4. Does the negotiation of L, D and ToP in SDP imply that the sender cannot switch to use of another configuration without renegotiation?  Since the flexible FEC format is self-describing, it would appear to me that switching should be possible as long as the implementation requirements are clear.  For example, do all implementations needs to support all mask sizes?