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

Suhas Nandakumar <suhasietf@gmail.com> Sun, 24 January 2016 21:58 UTC

Return-Path: <suhasietf@gmail.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 4677E1B33AE for <mmusic@ietfa.amsl.com>; Sun, 24 Jan 2016 13:58:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.399
X-Spam-Level:
X-Spam-Status: No, score=-1.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, J_CHICKENPOX_14=0.6, SPF_PASS=-0.001] 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 ZyHL_E7GJGFX for <mmusic@ietfa.amsl.com>; Sun, 24 Jan 2016 13:58:55 -0800 (PST)
Received: from mail-vk0-x234.google.com (mail-vk0-x234.google.com [IPv6:2607:f8b0:400c:c05::234]) (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 15E851B333C for <mmusic@ietf.org>; Sun, 24 Jan 2016 13:58:55 -0800 (PST)
Received: by mail-vk0-x234.google.com with SMTP id e64so65683963vkg.0 for <mmusic@ietf.org>; Sun, 24 Jan 2016 13:58:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=eZo8yodxTSUqz8b/yH2Pea7Sdz5NmVdIBibhkQbZkic=; b=k1OEfklLv6iHX70wE1Rthdh7lAOuZJxcU7yFPv85Zlz4U60TYl3stP+Uy69GmY+ETM 4Uq4rgco324HZl7Q7D35w8j92LyJkpIaPANxzpqS96THERPz/NrU2wpHVEC7z9lVGptH Ej9o3T41OZ/eL6wRCIaT1tA7lESljG+Md1aGPCtaAVBqGoTyG+URd7m0at4T0Q4BYlWj G69IL8lPzKS6l151NE7mF4ZHas+e7I+a2hQ1dnK/BuODE/jjHdCtN+EE9+60nbVl8f9A qrnjf1JmsfCZR4CcLNjp1pQ24sYfWWt7WJzJW5DYL8Lkf4CMfSXw/XlTuZgp9lAd5Kww Efbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=eZo8yodxTSUqz8b/yH2Pea7Sdz5NmVdIBibhkQbZkic=; b=OWywbLKPCekOgDzjGu2eVdJC8lOFuBIKA0hRWmhuej4iMZsv5wxZN4Fxp2urKf6nPY ElysVOT4ygLi0gzh/dCMz5AG5GcJbOhfpNZeKrEXqFQHnPH/bNgLDIkE/JxYZX9n670b 56EjR7gw8AyqH/EjjIKsikXCxi73jykY84jHkas54MgZuBA2aX1UD3PkgLob8h0GfW/C 16FhGC/rW3kot7eRRxkL0rKhmofsR7ON3a6zyEIwGImnfu6cLZ9iNCFNL2eJX9724CB+ 9Mqq3MeFo44Nk2jqB3jynEYlyDKx2pV1TYR9a2HCm6DGQkZoXUUe0DXk09KG3O4kR+A9 DmwQ==
X-Gm-Message-State: AG10YORIFjWPqHr7vHHLpo61ZHnsht7REcbgmrQ9kg2xJtAI3FEr/79ogjV0bUGTHQV+mGCphkucWxEzMjLebg==
MIME-Version: 1.0
X-Received: by 10.31.50.213 with SMTP id y204mr8470415vky.109.1453672734207; Sun, 24 Jan 2016 13:58:54 -0800 (PST)
Received: by 10.31.106.130 with HTTP; Sun, 24 Jan 2016 13:58:54 -0800 (PST)
In-Reply-To: <56A53249.5020709@alum.mit.edu>
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>
Date: Sun, 24 Jan 2016 13:58:54 -0800
Message-ID: <CAMRcRGQxUHxk1QxUodCC=orpzyrhGXE2wwAQWqhpYsm0b_ZCdQ@mail.gmail.com>
From: Suhas Nandakumar <suhasietf@gmail.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>
Content-Type: multipart/alternative; boundary="001a1144053cf13321052a1b8ecf"
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/Ce4M7l1q4t1aB_JYLp0AtkGL4KM>
Cc: "mmusic@ietf.org" <mmusic@ietf.org>, Christer Holmberg <christer.holmberg@ericsson.com>
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: Sun, 24 Jan 2016 21:58:57 -0000

On Sun, Jan 24, 2016 at 12:21 PM, Paul Kyzivat <pkyzivat@alum.mit.edu>
wrote:

> 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*.
>

[Suhas] .. If i am not wrong, the above proposal doesn't need updates to
RFC3605 and when used in combination with a=rtcp-mux-only the intent is
clear.


> 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
>