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

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 01 February 2021 08:15 UTC

Return-Path: <christer.holmberg@ericsson.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 18ADB3A0B26 for <mmusic@ietfa.amsl.com>; Mon, 1 Feb 2021 00:15:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.351
X-Spam-Level:
X-Spam-Status: No, score=-2.351 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.25, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 KfD6BeIDuJKZ for <mmusic@ietfa.amsl.com>; Mon, 1 Feb 2021 00:15:42 -0800 (PST)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2082.outbound.protection.outlook.com [40.107.22.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F2493A0B22 for <mmusic@ietf.org>; Mon, 1 Feb 2021 00:15:42 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WU065SV/DLNToAtMWYanYuLv0KeO4B9sSueimUmVc1LvGhTqt99YYypG7BGGpjTezTvv9hGqBuiFXprZZUFZ/fBgjDHHsv0fM99w+qWvDV/hrhsiNpLh0Vtcud9q5OiqiErRpFXgYyM4iRUXLGp4O9TThHy00tTI6HX0VSW3JOPje8ML0bToSoWoTV92B5KDUsk5GUYmE7mvgqz297/Ket24TgL8Pf6TJ6fabhcX82FT1WKrjahoJkVgZgv3oPRVnYX7XEw898Ddj0okaURCGeQc2fUlwa9yPMSaSvYPW6MciRcfC513px0IeCCiPHM4dTELRD4grrHXV+Q6pDp7mw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=raSKBCj5cXAChOm6r/A3MZ8MNO7G25m/sRXEcyAotZo=; b=ekmhDIZGeWgrEnGkfqbuSpufWcYWeYUr2l9+DHdwYZRgnCcTqWpWh1SDcw6K73loU9JBlPY94Ri5K8LoURtn6R8gPQO3QTc8PZ7q/8NbCJXvJfGz9GyChuIuZ2WQm9K9fZsK7vj/K3KTueMr2bxlyrWh9gP04tByLy+FWvdCH1Qtir0ZqpvwgKrJNHU6WvuiHjAU/ZwEmwgOM9xzFDn/SaF0K3MMxUE1rxKXO/DE8hqMV2DRupEyMmleS2DySjhg8jzdOtAkgMnhtCUcNFKig+LhIpKZepbLV2Ml/9JObbLRz53B/Tl9RvqDH17KIJpliIyzaAfXfqdyE6DTVuKBgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=raSKBCj5cXAChOm6r/A3MZ8MNO7G25m/sRXEcyAotZo=; b=WC9Lrmv/+RTqyDh6V3/BllsSDcgeVsg/VDJpmT1hc8qbERLO3fWP//k1HY++Nh7wzOCFS2mD7nZ/GfqvbCThjOhlfn1dA8rdPcBsCUaYLkumbMfjz1vtr78rsA3vJXK4Kr9aD/RBW4EZZIkxpeZtphtmWU+gspv4E7MF5uGWhhU=
Received: from (2603:10a6:208:4c::18) by AM0PR07MB6081.eurprd07.prod.outlook.com (2603:10a6:208:117::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.8; Mon, 1 Feb 2021 08:15:39 +0000
Received: from AM0PR07MB3860.eurprd07.prod.outlook.com ([fe80::e0b4:28dd:684:daf6]) by AM0PR07MB3860.eurprd07.prod.outlook.com ([fe80::e0b4:28dd:684:daf6%7]) with mapi id 15.20.3825.015; Mon, 1 Feb 2021 08:15:39 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Roman Shpount <roman@telurix.com>
CC: Justin Uberti <juberti=40google.com@dmarc.ietf.org>, Magnus Westerlund <magnus.westerlund@ericsson.com>, "mmusic@ietf.org" <mmusic@ietf.org>
Thread-Topic: [MMUSIC] [rtcweb] Updating JSEP and BUNDLE: Semantics of same port in multiple m- lines
Thread-Index: Adb1Vs/x/jNCHbJVTdK9SFxwJbuGVgAqwAcAABot92AAFvdiAAALnAsgABBkTwAAAYWJ4AAGx9KAACiWwfAAGFs3AAAFovVA
Date: Mon, 1 Feb 2021 08:15:39 +0000
Message-ID: <AM0PR07MB3860F88FFE187446FBDB786193B69@AM0PR07MB3860.eurprd07.prod.outlook.com>
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> <CAD5OKxshWvy69fs5tgrME9CT6YV6eaqR3K5w8mOQEnm0CcyMpw@mail.gmail.com>
In-Reply-To: <CAD5OKxshWvy69fs5tgrME9CT6YV6eaqR3K5w8mOQEnm0CcyMpw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: telurix.com; dkim=none (message not signed) header.d=none;telurix.com; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [80.248.247.159]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: df28a36f-afd5-400c-0474-08d8c6898fd8
x-ms-traffictypediagnostic: AM0PR07MB6081:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM0PR07MB6081107F2BFC021667F410EB93B69@AM0PR07MB6081.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: GCnWjTJLoJIlwSAVfhdqgop0y2geBKVN+s/Mk+vjHysDwRPSqXtQMBuXjCQadfhdgqvsb3UKoQfxkUphj9SJtQaMpPb9N88YlQXzYRdxU7ov5PHm5eRmo7x+QQKwsX1m3HtYBNhCEopx602nSqcqMvBYlB0A4v20ERu9/YDBL5T/AJopjIlQpQRDJu7X0RcQVgQKTd0l15IN9NnkVAlKpJOdOpqd/2gyvyYorvhLnib1GK/gRpEJ2IGkcmCZw10s1lZgBlfiazB3+39DKq1Ez/P7Tn+pbOnbhC1A1PxLQxyxf9p9s6Q9qxYu0syHOSIA/I3kTbOJXowYwNEQ60GUzknR/RbSDDo3oq+WwELp6x8l26YooypL/j15VJ+qlmn4wSF4sDXJtQlDbpJlLokcJ93oEZhNmkDKlf8ZbvXg69hKxDJZ1Ynvo2DP3RS2WGxN14agF4fSphzi+4BHauFoywwA/umyBByo1dVKXs2gU7zJKcYhhjheLDschqOwiYqVj8DhUvR3/pcDyqsdWmbMrw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR07MB3860.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(396003)(136003)(39860400002)(366004)(54906003)(71200400001)(52536014)(55016002)(83380400001)(7696005)(5660300002)(316002)(76116006)(86362001)(6916009)(9686003)(2906002)(478600001)(26005)(4326008)(186003)(64756008)(44832011)(6506007)(33656002)(8676002)(8936002)(66556008)(66446008)(66946007)(66476007); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: =?utf-8?B?UEg2ZnZpdDU2TUF0eFp1WFk0U3NYZ1FTT2hQUjd0Rmdvc3VNdkZ1TjlSNE1k?= =?utf-8?B?a0lEYlZRM0pWR2E3cmJ1ZExBdkE1R0gvdTY2VWZmNkpybnhnYUVPSjB0aHNp?= =?utf-8?B?TTM3S3hOVDF3L0p0NldmRXBDV1pVSlVzdWgzK1doaEYzWXEvLzNyT2U4S0U5?= =?utf-8?B?dEQ3amhTdHRTTkJ3UENJN1M5N2ZSTlM3MmNSVyt0d2V0b2szUU1WbDRkSjZP?= =?utf-8?B?T3ZtNkE3RUg0dlNiZkwrT1IxNENoMUgydXBPL3dmMHlEb0NmYVpwR1gzRmd1?= =?utf-8?B?dXNQemQ1MHdYemQ1dUpDUGdXSXJobHhwM2l2a1UwWVBOSit3a0I4U0pDeUZK?= =?utf-8?B?TXBiOG5FZlJPeHdORytEOFZBSUVrZjk0ZGhCUXNuUm1xdTZiRklEN0VXWVl4?= =?utf-8?B?WlVuUzJBeTZFWnB4elE4Z2VRazJDU3J0blViTDdTNk5CcS9yUE1UK2I0N1Rt?= =?utf-8?B?dkFIb3VsNm5qTzNJRENYODNFWlE3NllBRlh1ZHQ2RWF0WC9PRGhCQm42VVpo?= =?utf-8?B?SG5qZGZHbThaUDVHRjU0QWpObzJTSFZRWDI1bytLbEIvaG1PT0ZOQnRYMXFn?= =?utf-8?B?WFVFNWwyd1FIUmNPUXdFcUVNK0JSc1JBTUx1R1hEVkIvRmF4RGpNMHBWQlBS?= =?utf-8?B?SmFJVU5aVS9IYy9JaU9vamZITUdIVnY5RXI4UStNSWRNSjlqTHVsaHFEWG5t?= =?utf-8?B?cGNUaWh6MU1PUldGMUJkQ3JnSGI1MFNRd3l1ZnNtZERXYWE4NTNpb3diencx?= =?utf-8?B?YmozcVpNZzA3QVhabVd6YVhGR1YwMUFCb3JJaTBLb05WdFpBdFRteTdlQUhs?= =?utf-8?B?UzNMdTJ1ZW8xNmZNZytTWU5NR0s2ak5VOHpVb3h4Q3Z0OThTWmtIdTJvSS9s?= =?utf-8?B?U3JwT1ZKdHA0T3ArZjV2ZnpqeWQvRmhldmw5OFlCMkMxbjRUS2o4M2ZHU095?= =?utf-8?B?Z0d0Z2xITXp1VW9xZ1pkRkEzSDZiN20yb095bVZtcTk5eUJOWEl0aXZVU3F4?= =?utf-8?B?ODNLZFdkcnBYMXB4VWhGUElwcGltb0dObDZhNjJTZFJQN05uQ3dSRk9DUWpF?= =?utf-8?B?NzFYbGhsaXlvMEhNd1p6RTdDWVlMdUlxZ0Z5SU1TR1VFOFZuNmMvMjM0eno5?= =?utf-8?B?eVUwZ0JqYm9NR2R3Sk9qY1NCUEtabFMrVThVUE1yaUdvZ3ZzV0krYkxhOTZv?= =?utf-8?B?QWhyc0JyTGhQVks1UGtrRitIWWlDTFFqb095VzhYZm9zS1hsT1lSUFFLYmd6?= =?utf-8?B?UTN1MXN4Z3FMWlArKzF1aUtIVEN5RVlydFBUUFhlRmFoTEZWMDFreFpjNWNQ?= =?utf-8?B?NkRWbmtzSXhXVzZiVkp1VE5lZjlMUi9RelZiNkRtNURqNnpibFl0ZFE5eDN4?= =?utf-8?B?MFQ1Y3prUzhYUzgvRU5ScVRmYk5ETWdyeVZEcThkSGxPZlFuMGFUeGVzZy9q?= =?utf-8?Q?WLKGLJPh?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM0PR07MB3860.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df28a36f-afd5-400c-0474-08d8c6898fd8
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2021 08:15:39.8243 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HTqTKBL9yAcMctH9hVykRjr4L2C4B2CVfIR37V62QcwLzdzqYO/9lco+Apir6bU3bY866vRkV6D8ue7DR0pBWUXjIKaQ+H5mSASR5s9vflI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR07MB6081
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/17a7BLbAxTFnn5iUgusKL0pCqXg>
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 08:15:44 -0000

Hi,

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

I don't think copy/pasting attributes you don't understand is expected behavior. That in general can cause lots of problems.

But, I do buy the argument that some endpoints do that, and that it is not (as far as I remember) explicitly forbidden.

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

It could be more explicit, but I think the text above takes care of it. If the m- line is not listed in the SDP group attribute, it is not part of the bundle group. 

Regards,

Christer