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

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 25 January 2016 08:14 UTC

Return-Path: <christer.holmberg@ericsson.com>
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 68D071B29B3 for <mmusic@ietfa.amsl.com>; Mon, 25 Jan 2016 00:14:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.601
X-Spam-Level:
X-Spam-Status: No, score=-3.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_14=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 1j_dYhAR2_KT for <mmusic@ietfa.amsl.com>; Mon, 25 Jan 2016 00:14:02 -0800 (PST)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2EC4B1B29B2 for <mmusic@ietf.org>; Mon, 25 Jan 2016 00:14:01 -0800 (PST)
X-AuditID: c1b4fb2d-f78fe6d00000163a-26-56a5d946318e
Received: from ESESSHC018.ericsson.se (Unknown_Domain [153.88.183.72]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id CB.73.05690.649D5A65; Mon, 25 Jan 2016 09:13:58 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.166]) by ESESSHC018.ericsson.se ([153.88.183.72]) with mapi id 14.03.0248.002; Mon, 25 Jan 2016 09:13:57 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, Suhas Nandakumar <suhasietf@gmail.com>
Thread-Topic: [MMUSIC] Not fixing a=rtcp and rtcp-mux exclusive
Thread-Index: AQHRVH5u5HwUiLpiFk2f5BpmhdG86J8GeIug///94ICAAL0LkIAAOGowgABaTACAAV0qoIAAIcaAgAEX24CAAJvKgIAACmeAgAAMtICAAM4ZgA==
Date: Mon, 25 Jan 2016 08:13:58 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B37D59613@ESESSMB209.ericsson.se>
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>
In-Reply-To: <56A53249.5020709@alum.mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.18]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprJIsWRmVeSWpSXmKPExsUyM2K7h67bzaVhBu/OmlpMXf6YxWLFhgOs FjMuTGW22Dm3g9mBxePv+w9MHjtn3WX3WLLkJ5PHrSkFASxRXDYpqTmZZalF+nYJXBn962ez FMyzqNj0uKCB8YlZFyMnh4SAicSTyz+YIGwxiQv31rN1MXJxCAkcZpTYu+oslLOEUWLikV8s XYwcHGwCFhLd/7RBGkQEgiTOrrrKBmIzC3hJNMzeDmYLC9hJNJ9ezwxRYy9xau0HRgi7TuLg 99lgNSwCqhLb+laxg9i8Ar4SB7csY4LY1c4mcbuvB+wiTgEdielTr7CC2IxA130/tYYJYpm4 xK0n86GuFpBYsuc8M4QtKvHy8T9WCFtR4uOrfYwgNzMLaEqs36UP0aooMaX7IdReQYmTM5+w TGAUm4Vk6iyEjllIOmYh6VjAyLKKUbQ4tbg4N93IWC+1KDO5uDg/Ty8vtWQTIzDCDm75rbuD cfVrx0OMAhyMSjy8BeFLw4RYE8uKK3MPMUpwMCuJ8C7eDxTiTUmsrEotyo8vKs1JLT7EKM3B oiTOe5B/UZiQQHpiSWp2ampBahFMlomDU6qBUc5fUezGRXfRvfevT2/i3No/RWBn5+4D1usn VU7JvCxrsv7Kzm+ZCUyT9bak/xcodf8boxPEp7jGxVFMPeJX2Cb/HWulS63Yu2Wn/Px0flte 6Rm5tsNTPznt77GYu/7Zch3htE3bFJY/2BsoP8OR6Xl8sOr+Uz9MVNxLXN14Pxdm3fHLCfZR U2Ipzkg01GIuKk4EAAqfhKGsAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/RmuY-q0JTrpgyl1bS9Y0sN76QJE>
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 08:14:03 -0000

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. 

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