Re: [MMUSIC] [rtcweb] Updating JSEP and BUNDLE: Semantics of same port in multiple m- lines

Roman Shpount <roman@telurix.com> Mon, 01 February 2021 05:31 UTC

Return-Path: <roman@telurix.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5008F3A08B0 for <mmusic@ietfa.amsl.com>; Sun, 31 Jan 2021 21:31:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=telurix-com.20150623.gappssmtp.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 kYF0Y_ugm1g4 for <mmusic@ietfa.amsl.com>; Sun, 31 Jan 2021 21:31:00 -0800 (PST)
Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com [IPv6:2607:f8b0:4864:20::c2a]) (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 A0B0B3A089C for <mmusic@ietf.org>; Sun, 31 Jan 2021 21:31:00 -0800 (PST)
Received: by mail-oo1-xc2a.google.com with SMTP id x19so1747806ooj.10 for <mmusic@ietf.org>; Sun, 31 Jan 2021 21:31:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telurix-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TnH6KH8t+80lzATCuggQ7FsGY4e8+gg7s7trCO4XyqI=; b=lgj9qf7Y5c5MuaKj33S5XNo1SPseCgecXmlsDJO8DNcAh0LfRANdKWRTfyEZXnuOE4 L6GrOs3l3KvLrosQE8lfbxH1hxK9fAZWu2yNPIDvW9lOoK6CfHe/OVNt/eA8x4ur0AmJ nA9jU0Ury/h6hRKY/KJ7IzMw70beMAmyYz/PxH9DJNylAGwydLX/DNGCV5MncS7UBW9q /Yl7LvGjBZwmACtaQbVOkAnDbJxLa15AScrj7YbpNvXNxPqWPpQfCJS/MdN/4W3n7vhO 4tPCZGvDwemwq4bnH3pnyPvuLH+SfQI9XWuuyEnYOuDx/QoViAVjgVQMFi5pBzi4uPCP ty8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TnH6KH8t+80lzATCuggQ7FsGY4e8+gg7s7trCO4XyqI=; b=CCWWBCDpHFr1hU0rlSzIZnZsnWy6sC7ZdvpR/Nfyr+/VeHTSxSdnqWykdzeC5QmVKc 5jNjCQcvArYWThIRTm1BZOMwX1CawkdLdkC8fBP8Aq+aT+J3WXldVQlEd7oOvcZCvt+I XLRYFM3+XswzKfuXOu5K4/oO217fvrU5zlQGE81bdA41ZKX/6O6pimOeXOnI77bptArW 5ZvI1IOfvqG08PyjPewBAV24x32L/2Btlyg5taEulAWcLt2lEHCqbZ3584dkevQCkCUt /iGezQTMl7++wxaSrt1rJmiVn8Qu1aDp7kI9vbf2ln0UgFltqLd4t01oxfqL6afJErXw C43A==
X-Gm-Message-State: AOAM531o6ND+V3UQ8Sj+AGhPJKhopTvR2uhDLY5JEkJxiN269N4UQEik LaHv4nOesTFI41Ge3sMESErdcQN996cXKg==
X-Google-Smtp-Source: ABdhPJyGXnafquSUeN1bt5fVesCyHoQDVxzncjrp8zK/FyYjsERvaYDB8taEB9sH4E/z+MTxbgDHYA==
X-Received: by 2002:a4a:bb01:: with SMTP id f1mr10946904oop.66.1612157459600; Sun, 31 Jan 2021 21:30:59 -0800 (PST)
Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com. [209.85.210.44]) by smtp.gmail.com with ESMTPSA id w11sm3801965otl.13.2021.01.31.21.30.58 for <mmusic@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 31 Jan 2021 21:30:58 -0800 (PST)
Received: by mail-ot1-f44.google.com with SMTP id t25so5014016otc.5 for <mmusic@ietf.org>; Sun, 31 Jan 2021 21:30:58 -0800 (PST)
X-Received: by 2002:a9d:21b6:: with SMTP id s51mr10500332otb.13.1612157458153; Sun, 31 Jan 2021 21:30:58 -0800 (PST)
MIME-Version: 1.0
References: <AM0PR07MB3860A872DE7E09ED79FE4EAD93BA9@AM0PR07MB3860.eurprd07.prod.outlook.com> <CAD5OKxuvMzNGHnk2tGM9yjUBYz9EGdEj8kNO=a4d-SiBiA42jA@mail.gmail.com> <AM0PR07MB38600ED79AA323A8C38098AB93B99@AM0PR07MB3860.eurprd07.prod.outlook.com> <CAD5OKxsLL=+DLu-D2y-rOFGMDpKXgsWhVDFLiWS1k68LhwU8Dg@mail.gmail.com> <AM0PR07MB3860D4EC744D231497EFA5F993B89@AM0PR07MB3860.eurprd07.prod.outlook.com> <CAOJ7v-0juBeH3g4MY6jSj+pRnk6+CBFt24p9jFQ+Fwd4qjp_nw@mail.gmail.com> <AM0PR07MB38600147C590A3D84054036D93B89@AM0PR07MB3860.eurprd07.prod.outlook.com> <CAOJ7v-2oL-YP=CGUkCZ8NuP5xPur0z+BK3qZZTdHCNxQZ16HqA@mail.gmail.com> <AM0PR07MB38609424137713FAA193CAE193B79@AM0PR07MB3860.eurprd07.prod.outlook.com>
In-Reply-To: <AM0PR07MB38609424137713FAA193CAE193B79@AM0PR07MB3860.eurprd07.prod.outlook.com>
From: Roman Shpount <roman@telurix.com>
Date: Mon, 1 Feb 2021 00:30:46 -0500
X-Gmail-Original-Message-ID: <CAD5OKxshWvy69fs5tgrME9CT6YV6eaqR3K5w8mOQEnm0CcyMpw@mail.gmail.com>
Message-ID: <CAD5OKxshWvy69fs5tgrME9CT6YV6eaqR3K5w8mOQEnm0CcyMpw@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: Justin Uberti <juberti=40google.com@dmarc.ietf.org>, Magnus Westerlund <magnus.westerlund@ericsson.com>, "mmusic@ietf.org" <mmusic@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000009d846c05ba3fa8f6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/N8XNz0kuopm-e5htHavTYyN1Nz0>
Subject: Re: [MMUSIC] [rtcweb] Updating JSEP and BUNDLE: Semantics of same port in multiple m- lines
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.29
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, 01 Feb 2021 05:31:03 -0000

On Sun, Jan 31, 2021 at 1:04 PM Christer Holmberg <
christer.holmberg@ericsson.com> wrote:

> >>>>> One other thing I would like to point out, that if you are dealing
> with an end-point that does not support BUNDLE, for the m= lines where the
> port is set to zero, you would often get something that will copy
> >>>>> all the RTP attributes to the answer from the offer, including the
> a=bundle-only attribute. Of course, you should not get the session-wide
> "a=group:BUNDLE" and would be able to detect that the m= line was
> >>>>> rejected that way.
> >>>>>
> >>>>> If the remote endpoint does not support the grouping framework, your
> actual mileage with the "a=group:BUNDLE" line may wary. There was never an
> explicit requirement that unsupported attributes must not be copied
> >>>>> from the offer to the answer. RFC 4566 and RFC 8866 only say that
> the parser must ignore such attributes. Because of this, some
> endpoints will copy all unknown attributes to the answer, including
> a=group. Of course, anything
> >>>>> that supports RFC 5888 will not do this.
> >>>>
> >>>> Correct.
> >>>>
> >>>> However, endpoints copying SDP attributes they don't understand can
> in general cause all kind of issues. It is not a problem unique to the
> grouping framework, or to  BUNDLE, or to m- lines with port zero.
> >>>>
> >>>> But, at least there is standardized semantics of the meaning of port
> zero.
> >>>
> >>> Does the BUNDLE doc talk about what to do in this case, I.e., use of
> bundle-only in m= sections that are not part of an a=group:BUNDLE group? I
> think this is mostly separate from the issue at hand, but this seems like
> something endpoints should be robust against.
> >>
> >>bundle-only outside a bundle group is unspecified.
> >>
> >>   "The usage of the 'bundle-only' attribute is only defined for a
> >>   bundled "m=" section with a zero port value.  Other usage is
> >>   unspecified."
> >>
> >> (Section 6 of BUNDLE)
> >
> > Thank you for finding that section. If bundle-unaware entities do in
> fact copy attributes to the offer, I think it would be useful to amend this
> text to say that a=bundle-only must be ignored for any sections that are
> not in a bundle group, so
> > that these sections can be properly rejected.
>
> Sure, we could have done that. However, as has been discussed that in the
> past (in MMUSIC, SIPCORE etc), we typically don't describe situations that
> can occur when endpoints behave strangely, because it would easily become a
> slippery slope. Also note that, in addition to bundle-only there can also
> be other attributes that have been copy/pasted by the remote endpoint.
>

This is not "endpoints behaving strangely". This is the expected behavior
of an endpoint that does not support bundle.

Having said that, section 7.4 does say:
>
>    "If the answer does not contain a BUNDLE group, the offerer MUST
>    process the answer as a normal answer."
>
> So, that means that a port zero indicates a disabled m- line, no matter if
> the m- line contains a bundle-only attribute or not.


I think this section should take care of this specific issue (i.e. ignore
bundle-only if session-level BUNDLE group is absent). Providing an example
of interaction with a legacy endpoint or spelling this out might help.
_____________
Roman Shpount