Re: [MMUSIC] Not fixing a=rtcp and rtcp-mux exclusive

Paul Kyzivat <pkyzivat@alum.mit.edu> Mon, 25 January 2016 16:36 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AF5541B2D0A for <mmusic@ietfa.amsl.com>; Mon, 25 Jan 2016 08:36:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.635
X-Spam-Level:
X-Spam-Status: No, score=-0.635 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, J_CHICKENPOX_14=0.6, SPF_SOFTFAIL=0.665] autolearn=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 yQjV14Y9nXWp for <mmusic@ietfa.amsl.com>; Mon, 25 Jan 2016 08:36:16 -0800 (PST)
Received: from resqmta-ch2-01v.sys.comcast.net (resqmta-ch2-01v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:33]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 070831B2C8A for <mmusic@ietf.org>; Mon, 25 Jan 2016 08:36:15 -0800 (PST)
Received: from resomta-ch2-02v.sys.comcast.net ([69.252.207.98]) by resqmta-ch2-01v.sys.comcast.net with comcast id AGbs1s00827uzMh01GcFdh; Mon, 25 Jan 2016 16:36:15 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([73.218.51.154]) by resomta-ch2-02v.sys.comcast.net with comcast id AGcD1s00Y3KdFy101GcEnE; Mon, 25 Jan 2016 16:36:15 +0000
To: Christer Holmberg <christer.holmberg@ericsson.com>, Suhas Nandakumar <suhasietf@gmail.com>
References: <CAD5OKxvMdsdkYaJWB5UdvCTNj3a+pheXV+_1viyLrH_UOWBTpA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37D5509D@ESESSMB209.ericsson.se> <CAD5OKxum=E84NVTtWtSwYowDmyJ=sQifx6Na9wt0pUhYH1j_PA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37D557C6@ESESSMB209.ericsson.se> <7594FB04B1934943A5C02806D1A2204B37D55EAA@ESESSMB209.ericsson.se> <CAD5OKxvaUi25TbOa48mKwkEJMnJqde_TQNfe1Cagdgj+jTbJ3g@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37D57EFC@ESESSMB209.ericsson.se> <CAD5OKxuRwgs0w0iUorivK6BV_8bZNNN1D9w9ot4CVJ7CV-6xpw@mail.gmail.com> <CAMRcRGTDpXMdk9SqQtRCc+LyQff26-5NiV6er6dkbdJzJLEwAQ@mail.gmail.com> <56A51EE7.8060406@alum.mit.edu> <CAMRcRGRD_XedYjVfBxfwXFdxAmm_wTZ5HhK5S+iSrJXwOZogMw@mail.gmail.com> <56A53249.5020709@alum.mit.edu> <7594FB04B1934943A5C02806D1A2204B37D59613@ESESSMB209.ericsson.se>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <56A64EFD.4000509@alum.mit.edu>
Date: Mon, 25 Jan 2016 11:36:13 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
MIME-Version: 1.0
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B37D59613@ESESSMB209.ericsson.se>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1453739775; bh=7qTL+j2fgUibiVX0TBaFqVfz77FmQizEn9oX9laneQ4=; h=Received:Received:Subject:To:From:Message-ID:Date:MIME-Version: Content-Type; b=t/0DyyrexxDXX10cl5ulBMn1oPppOW7Y5/J1piYQXxxsJTK9IWOp8MvfVLX1YNEXd b2jSWTVMc5Q1s1mVBa9/S8Kz54cH+FNP6Hv/owN3zy1Yg5PBbi7iZDr9lLqF+srZZe dzYjurhtvgaM/8nAvwh/GEFjt+r1xBMV1COEmpXwKXfkeVSQ50exvTj1rynLOgt04m ucgpjmNOXPQqCHNweXQ8c+F7GR1oq5e+Ik7nNG13pT5y0JK45UFtoY97MOcTVehlzh q9vN7fiAOKQc9CPVcazf160V6NwoBbCMg1Vl+ozIf/ZVV3w6Qf5gBZggIl9wEu4lAC 447cxv/Edy64A==
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/fmMvJ_VcR2Yvh6sxeC9IDORO_xI>
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] Not fixing a=rtcp and rtcp-mux exclusive
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Jan 2016 16:36:17 -0000

On 1/25/16 3:13 AM, Christer Holmberg wrote:
> Hi,
>
> I don't know whether it would be worth the effort to "replace" a=rtcp, and whether it would really change anything.
>
> I still claim that we should assume that deployments DO support a=rtcp.

My point is that *if* we need to introduce *something* new (e.g. 
rtcp-mux-only), then a replacement for rtcp would be a better solution, 
because it would fix more problems, and be no more trouble to implement.

	Thanks,
	Paul

> Regards,
>
> Christer
>
>
>
> -----Original Message-----
> From: Paul Kyzivat [mailto:pkyzivat@alum.mit.edu]
> Sent: 24. tammikuuta 2016 22:21
> To: Suhas Nandakumar
> Cc: Roman Shpount; Christer Holmberg; mmusic@ietf.org
> Subject: Re: [MMUSIC] Not fixing a=rtcp and rtcp-mux exclusive
>
> On 1/24/16 2:36 PM, Suhas Nandakumar wrote:
>>
>>
>> On Sun, Jan 24, 2016 at 10:58 AM, Paul Kyzivat <pkyzivat@alum.mit.edu
>> <mailto:pkyzivat@alum.mit.edu>> wrote:
>>
>>      On 1/24/16 4:41 AM, Suhas Nandakumar wrote:
>>
>>          I might be repeating some discussions already made. So please
>>          forgive me
>>          if all of the below suggestions is beaten to death
>>
>>          *Use-case: Explicitly indicate RTCP Muxing and possibly backward
>>          compatibility*
>>
>>          I support a new attribute along with some rules for existing
>>          attributes
>>          which allows backward compatibility (Strong goal of SDP) and also
>>          exclusiveness of RTCP multiplexing
>>
>>          Define a new attribute *"a=rtcp-mux-only" , which *in a offer
>>          indicates
>>          that the end-point can't receive rtcp on separate port than rtp.
>>
>>
>>      It is *essential* to indicate the answerer behavior too. For this to
>>      provide backward support, the answerer who supports must also
>>      include this attribute in the answer. If it isn't present in the
>>      answer, then the offerer knows that it hasn't been supported. I
>>      think, in that case it must reoffer and either provide a port pair,
>>      or else drop the media stream, to prevent RTCP from going to an
>>      uncontrolled port.
>>
>>
>> [Suhas] - Agreed Paul. I see backward compatibility in 2 ways. One
>> where the agent understands a=rtcp-mux but not the a=rtcp-mux-only and
>> second where the agent doesn't understand either. Let's think the
>> answerer behavior in both the cases
>>
>> Case 1: Agent supports RFC5761 but not mux-only
>>      In this scenario we mandate that the offer includes RFC5761
>> a=rtcp-mux as well whenever he offers with mux-only. Thus the answerer
>> will still MUX the RTCP to RTP port following RFC5761 rules.
>>
>> Case 2: Agent doesn't support RFC5761 and mux-only as well This is
>> the case where the answerer can process just the RFC3605 a=rtcp
>> attribute and can either :
>>          2a) send the rtcp to the port indicated in a=rtcp attribute ,
>> thus effectively muxing
>>          2b) will think rtcp port specified as being error since it
>> matches the RTP port and reject the m=line. [[ note: this isn't
>> defined as an error in RFC3605 ]]
>>
>> Case 3: Answerer supports RFC5761, Mux-exclusive
>>      In this successful scenario, the answerer can just include
>> a=rtcp-mux and a=rtcp-mux-exclusive in its answer and that is good
>> enough for the Offerer to know that Answerer is able to mux the rtcp
>> traffic towards the offerer and also wishes to receive muxed (no
>> fallback) rtcp traffic from the offerer
>>
>> These seems to convert most of all the cases right
>
> Agree.
>
>>      I think this ought to be viewed as an update to 3605.
>
> Maybe that isn't quite right, but it ought to be an update to *something*.
>
> It is mostly a=rtcp that is broken, because it isn't acknowledged. Any plausible use of it ends up being broken if the answerer doesn't support it, but the offerer has no way of telling that.
>
> a=rtcp-mux is negotiated. So the offerer can tell when the answerer doesn't support it. In that case it can take remedial action. There may be some stray rtcp packets until that happens. So a=rtcp-mux-only isn't really *needed*. What it does is prevent those few stray packets.
>
> But a=rtcp-mux-only isn't the best answer for fixing a=rtcp, because it doesn't solve cases when the offerer wants separate rtcp, but not on
> port+1, and the answerer doesn't support that.
>
> Perhaps the right solution is to introduce a new attribute to *replace*
> a=rtcp. It would have similar semantics, but require negotiation. It
> could in principle also replace a=rtcp-mux, since if you use the same
> address/port for both rtp and rtcp you are obviously requesting mux. You
> could still use a=rtcp and/or a=rtcp-mux for backward compatibility, but
> if you need rtcp-mux-only semantics, then you could just use this new
> attribute. If it isn't ack'ed, then take remedial action.
>
> This new attribute would have same syntax as a=rtcp, except for the
> name. New rules for it would be:
>
> - if in offer, must also be in answer. The answer gives the port(/addr)
>     for the answerer. If the answerer wants port+1 it needs to compute
>     what that is and put it in.
> - if it is *not* in the offer, it can't be used in the answer. If the
>     answerer can't do rtcp on port+1 then it needs to refuse the media
>     stream. It could try sending a subsequent offer for what it can do.
>
> - we *could* explicitly allow the port to be set to zero, and/or the
>     address to be set to 0.0.0.0, to indicate that rtcp is not desired.
>     (Don't know if it is a good idea.)
>
> 	Thanks,
> 	Paul
>