Re: [AVTCORE] WG Last Call for draft-ietf-avtcore-rfc5285-bis-05

Roni Even <roni.even@huawei.com> Mon, 02 January 2017 13:12 UTC

Return-Path: <roni.even@huawei.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 EBB841289C4 for <avt@ietfa.amsl.com>; Mon, 2 Jan 2017 05:12:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.32
X-Spam-Level:
X-Spam-Status: No, score=-7.32 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 kTkw7-I7L-yw for <avt@ietfa.amsl.com>; Mon, 2 Jan 2017 05:12:53 -0800 (PST)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B5317124281 for <avt@ietf.org>; Mon, 2 Jan 2017 05:12:52 -0800 (PST)
Received: from 172.18.7.190 (EHLO lhreml702-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DDQ93181; Mon, 02 Jan 2017 13:12:48 +0000 (GMT)
Received: from DGGEMM403-HUB.china.huawei.com (10.3.20.211) by lhreml702-cah.china.huawei.com (10.201.5.99) with Microsoft SMTP Server (TLS) id 14.3.301.0; Mon, 2 Jan 2017 13:12:41 +0000
Received: from DGGEMM506-MBX.china.huawei.com ([169.254.3.117]) by DGGEMM403-HUB.china.huawei.com ([10.3.20.211]) with mapi id 14.03.0301.000; Mon, 2 Jan 2017 21:12:34 +0800
From: Roni Even <roni.even@huawei.com>
To: IETF AVTCore WG <avt@ietf.org>, Colin Perkins <csp@csperkins.org>
Thread-Topic: [AVTCORE] WG Last Call for draft-ietf-avtcore-rfc5285-bis-05
Thread-Index: AQHSZAbv3p0v/502JkaQXwiACXy8t6ElHuYA
Date: Mon, 02 Jan 2017 13:12:33 +0000
Message-ID: <6E58094ECC8D8344914996DAD28F1CCD76B075@DGGEMM506-MBX.china.huawei.com>
References: <1413c1e1-ce44-def9-ee7b-1d07d63a9c87@ericsson.com> <7527A28C-77C5-4F35-8BB8-A57782FD1410@csperkins.org> <CAHy0fzDa7HwVtOsGW4cBhfBs8a8d-AF2ua8L-hO4xPt7G9-JOg@mail.gmail.com>
In-Reply-To: <CAHy0fzDa7HwVtOsGW4cBhfBs8a8d-AF2ua8L-hO4xPt7G9-JOg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.200.201.242]
Content-Type: multipart/alternative; boundary="_000_6E58094ECC8D8344914996DAD28F1CCD76B075DGGEMM506MBXchina_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020201.586A51D1.032F, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.3.117, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 5cb92bfe93ea4bb5ec82eb71fb219eed
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/QBvNS6bAfWfG5T9nv37hq8kT-Ck>
Cc: "magnus.westerlund@ericsson.com" <magnus.westerlund@ericsson.com>
Subject: Re: [AVTCORE] WG Last Call for draft-ietf-avtcore-rfc5285-bis-05
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.17
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: Mon, 02 Jan 2017 13:12:56 -0000

Hi Colin,
Your proposed text is better than the current text to reflect the point that RTP header extension must not disrupt RTP interoperability but may disrupt higher level interoperability, still maybe it will be good to have some recommendation for the intermediaries to not discard RTP headers automatically. Using SHOULD NOT implies that there may be a reason for the intermediary to remove some of  the header extensions.
There is also some text about it in RFC7667 section 4.7( https://tools.ietf.org/html/rfc7667#section-4.7 ). In the RTP mixer case, I think that since the mixer generate new RTP and RTCP messages, if the RTP mixer is aware of the received RTP header extensions, it will be good if it can decide what to send in both the RTP and RTCP messages.  With regards to the text in RFC3550 “is designed so  that the header extension may be ignored by other interoperating  implementations that have not been extended”, RFC 5285 adds the end to end negotiation for the RTP header extensions supported by both ends so the assumption is that if there is an RTP header extension than it is understood by the RTP receiver (may even be an MCU or RTP SFM using the audio level client to mixer RTP header extension ).

How about adding to your text

“The use of header extensions to
   convey information that will, if missing, disrupt the behaviour of a
   higher layer application that builds on top of RTP is only acceptable
   if this doesn't affect interoperability at the RTP layer, still intermediaries aware of the RTP header extensions are advised to be cautious when removing or generating RTP header extensions see section 4.7 of [RFC7667]”



Roni


From: Colin Perkins <csp@csperkins.org<mailto:csp@csperkins.org>>
Date: Wed, Dec 21, 2016 at 7:06 PM
Subject: Re: [AVTCORE] WG Last Call for draft-ietf-avtcore-rfc5285-bis-05
To: Magnus Westerlund <magnus.westerlund@ericsson.com<mailto:magnus.westerlund@ericsson.com>>
Cc: IETF AVTCore WG <avt@ietf.org<mailto:avt@ietf.org>>


> On 9 Dec 2016, at 10:49, Magnus Westerlund <magnus.westerlund@ericsson.com<mailto:magnus.westerlund@ericsson.com>> wrote:
>
> This starts the 2 week WG last call (ending on the 23rd of December)  on A General Mechanism for RTP Header Extensions to proposed standard.
>
> https://datatracker.ietf.org/doc/draft-ietf-avtcore-rfc5285-bis/
>
> This document is intended to obsolete RFC 5285 and has currently no IPR declarations on it.

I’ve reviewed this document. In general, I think it's in reasonable shape, although it could perhaps be better proof-read. However, I think Section 4.1 needs more work before this is ready for publication.

This section of the draft says:

   This specification updates the requirement from the RTP specification
   that the header extension "is designed so that the header extension
   MAY be ignored".  To be specific, header extensions using this
   specification SHOULD be used for data that can safely be ignored by
   the recipient without affecting interoperability, there can be
   essential header extensions for interoperability and intermediaries
   SHOULD NOT remove such header extensions.  Note that the support of
   header extension as specified in this recommendation is negotiated.
   RTP Header extensions MUST NOT be used when the presence of the
   extension has changed the form or nature of the rest of the packet in
   a way that is not compatible with the way the stream is signaled
   (e.g., as defined by the payload type).  Valid examples might include
   metadata that is additional to the usual RTP information, e.g.  Audio
   level from Client to mixer [RFC6464].  Note that some header
   extensions, for example MID [I-D.ietf-mmusic-sdp-bundle-negotiation]
   might, if removed, disrupt the behaviour of the higher-level
   application that builds on RTP, but are acceptable since they do not
   affect interoperability of the RTP stack itself.

This mis-quotes RFC 3550, and is hard to follow since it’s not clear what types of extension can be ignored, and what it means to affect interoperability if they are. I find the second sentence, in particular, to be confusing. My suggested rewording is as follows:

   The RTP specification [RFC3550] states that RTP “is designed so
   that the header extension may be ignored by other interoperating
   implementations that have not been extended”. The intent of this
   restriction is that RTP header extensions MUST NOT be used to
   extend RTP itself in a manner that is backwards incompatible with
   non-extended implementations. For example, a header extension is
   not allowed to change the meaning or interpretation of the standard
   RTP header fields, or of the RTCP Control Protocol (RTCP). Header
   extensions MAY carry metadata in addition to the usual RTP header
   information, provided the RTP layer can function if that metadata
   is missing. For example, RTP header extensions can be used to carry
   data that's also sent in RTCP, as an optimisation to lower latency,
   since they'll fall back to the original, non-optimised, behaviour if
   the header extension is not present. The use of header extensions to
   convey information that will, if missing, disrupt the behaviour of a
   higher layer application that builds on top of RTP is only acceptable
   if this doesn't affect interoperability at the RTP layer. For
   example, applications that use the SDP BUNDLE extension with the MID
   RTP header extension [I-D.ietf-mmusic-sdp-bundle-negotiation] to
   correlate RTP streams with SDP m= lines likely won’t work with full
   functionality if the MID is missing, but the operation of the RTP
   layer of those applications will be unaffected.

Note that I removed the text “intermediaries SHOULD NOT remove such header extensions” because certain types of intermediaries, such as RTP mixers, have no choice but to remove RTP header extensions. It might make sense to say instead that some types of intermediary can’t be used if the higher layer protocol relies on header extensions to carry metadata, since those intermediaries are incompatible with header extensions.

Cheers,
Colin




--
Colin Perkins
https://csperkins.org/




_______________________________________________
Audio/Video Transport Core Maintenance
avt@ietf.org<mailto:avt@ietf.org>
https://www.ietf.org/mailman/listinfo/avt