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

Christer Holmberg <christer.holmberg@ericsson.com> Sun, 31 January 2021 18:04 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 13D243A117C for <mmusic@ietfa.amsl.com>; Sun, 31 Jan 2021 10:04:59 -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 7gjhbKVN0tPc for <mmusic@ietfa.amsl.com>; Sun, 31 Jan 2021 10:04:58 -0800 (PST)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40041.outbound.protection.outlook.com [40.107.4.41]) (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 B4E3B3A1179 for <mmusic@ietf.org>; Sun, 31 Jan 2021 10:04:57 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DW6arDNhq06EtYR3SPZbAvX8/anWCCijSYzQd3YCHgYZO6/QOoc21JifjblGGsA2u1DXFSs29T6P6nmYPOjJMpE7DOOL94Os4E6W+SEcKrFGQRKvNk+g0uAWhX8HV0dg0OkLypaS1LdusjC427JwpUUWE5qRgPibaz82g2x1KxHGt8S91CaSvtS30Maj8vhaeJ6e8yRzw0lYcAy3egeMVQ5jZRoi7AHBR+ijsLtW1sXmQv0M6Blsg8CqwKmoELz+kKC83KnYU3F7W5f3j49GrE0M2EzMck8bvSTIlV+utFejT1b+7HSc+VcpKNJ9goDbLvWtyv3Pz17Ll5NOfwuxhg==
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=9jZLbXWuGxdooPqu+kuvUqfVLu7Yo2roNOb0S2i+2bU=; b=NeiNSAT14DYkgbzQV6NOEd6RX9dpRwFobBbhITdw9OVMXA3wOi8UWBKRN2h60XBOfhiZpPj9qOBdeMuSpH8yGgtIinEOrgnjt9zCNCsYVQe2oN4/O/DYjbV84W6s8J0epqH+JA11Dk5dWvJycpeMj9uhrlpS5SmHF1C3EJXjdRrVNdG7maFwat2hiPxzT6z60ziPQUxcdPNJ9CQ19XGoWBsHKkMdoyf1zah98yfYPVtEn1A/NlIz6oqRWGYG026Elyo2xZ9/eBV3vh4Hhqw6eh5fBe0mSpE0Cy3sjn/1RDgMJ6twiYdMhtwXFU/DCK1tstGYgHuYogK1WioteA58Ew==
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=9jZLbXWuGxdooPqu+kuvUqfVLu7Yo2roNOb0S2i+2bU=; b=bSzit9NV8soA0wgr14RT2FkEEOgiES/jQ2OvUGQIYTRNzXfhmyxscZKcmS5+9LjtAYkzv/4GgZr1Csh0lOL1ULmprW84saRjaLAPGbUksYlUN36Gux3w0HkBUqzd9yMqUOn2acw1TAgOiaDkWkfIT62HfwxoSFBNKOZ8YD5gsqI=
Received: from (2603:10a6:208:4c::18) by AM0PR07MB5204.eurprd07.prod.outlook.com (2603:10a6:208:e8::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.8; Sun, 31 Jan 2021 18:04:50 +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; Sun, 31 Jan 2021 18:04:50 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Justin Uberti <juberti=40google.com@dmarc.ietf.org>
CC: Magnus Westerlund <magnus.westerlund@ericsson.com>, Roman Shpount <roman@telurix.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/jNCHbJVTdK9SFxwJbuGVgAqwAcAABot92AAFvdiAAALnAsgABBkTwAAAYWJ4AAGx9KAACiWwfA=
Date: Sun, 31 Jan 2021 18:04:49 +0000
Message-ID: <AM0PR07MB38609424137713FAA193CAE193B79@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>
In-Reply-To: <CAOJ7v-2oL-YP=CGUkCZ8NuP5xPur0z+BK3qZZTdHCNxQZ16HqA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; 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: c685b071-858d-467b-281d-08d8c612b3c7
x-ms-traffictypediagnostic: AM0PR07MB5204:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM0PR07MB520402FA9EBF14D48B1ABC6293B79@AM0PR07MB5204.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: cFs3xymvWSc+itju2ISJSLHnpuY2SmGlHG2FCnVH3KN076dVzudaXc9mBZiZtZMMVpBj/BcIu2cjFaKaBD4zoIHWIltcHcAF6GNSZtBmmwhC3Cl4sRM9HtyztHeayn+Josao+2rO6+hAu1BnGOOPmsb7D7ka10N7lcm54AOsUZJspOUcJlOVBciTBBmGd1G/omx4yBU9zVJ9s5dOCxDavdf5jELdpLvZOuvKkNvtWeCXoLuSkdYvg6hLrHnQY6JfYcSgadH6JtFHfBCjwBDvH7Ct5W3YRwRqb1Ww0jKPr/NWTqNV4mJwgd3LhZfVgB5QYTWYkF659Up8/RrPXe+9xubkCC1m4HTSeozlxcC3PzfuSUA/hQ7oMmhb8jJxGCYJCimUHEsmIYgnACufsopKvFMge3i3VEeEeuce+KLhbuLn8iLeDvRAnAraMGfgq+uS/Chtrn/xLIfwKs/PjD2fI/IGrjY9heEFgW+BLaVlwQfgEVnLuk1wtefVF2N1ZvXEh1uLGFe/hlGce5VA21bV1g==
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)(39860400002)(346002)(366004)(376002)(136003)(396003)(316002)(6506007)(4326008)(66446008)(64756008)(66556008)(66476007)(66946007)(76116006)(2906002)(86362001)(71200400001)(55016002)(9686003)(8676002)(83380400001)(54906003)(26005)(33656002)(186003)(44832011)(7696005)(52536014)(5660300002)(478600001)(8936002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: =?utf-8?B?UVN2eDM5OG9ybGtyZVlHRDFJWmNTTWhjUkhSTTRtS09PL1liaFJqL256ckVk?= =?utf-8?B?TlVxQ0ZUWXJkVC9XYnpJc29FVU1saTdxbUxuV0RVVDRYZE1Xd0Uvak1UQnFV?= =?utf-8?B?eU44dVVTRzU3T2hkL1greSttNk1wcmhCNFlpZEI4enhwdlNra0xYaGMweWVY?= =?utf-8?B?VytuNnZVUmtYblhRaDczYkJOY01aekxITTdsZGtrdkpDOFZNN3FLSGQ5VnJH?= =?utf-8?B?b1RpZzR3SmR1TGZzbks2WXVXU3kvUzdqNjlFNUpDMUZVY1U0U1g0SmNIZWdm?= =?utf-8?B?WDArakxJRnNSZlVPU0hhVkhsMkR3MmhkT1BlRGtKeXFCWnFROGFWTFFYSnhk?= =?utf-8?B?NlZna0czZDVtenVSemV1bjV4cTRBV1dlUFlWOHJra1V3WTMvaUZtRW5ZRzJC?= =?utf-8?B?djBpVGF5RUZCUVFuUEdVRDVnYklwM3BOS1lkK1BXLzVqOXVXSUlUa3VRRG5H?= =?utf-8?B?dnZrSDZ0RnpNZHBaOGtBclQ2WW5xNmZNclB3WFoxL0hCY1k0b0cwcnJQRlRB?= =?utf-8?B?bTZXRnFMVHFmdE5WbExkSGFOTVkvdDhjdk1uNTlndXpaaHdFYktyVGJyRVBR?= =?utf-8?B?N2lCSjhYc1pBMFhrVStKR3RQNFpqUTlFY24yeEN6Mmt2RHRmZEtMMmlZYzgr?= =?utf-8?B?M3F4VGNqVG1MaEttMDRsS01ZMDJ4YVpSVGx5U2NtVzZKTjRnNDJoL2puSUtQ?= =?utf-8?B?SC9jMEhtVktSSDR1Zm5mSGZldy9QR2puNW11cFFGS0R1WkNIT0JPa0s1MG1R?= =?utf-8?B?bkh3RStBaStLWVFla3BHRytmSTByVkpLL0poRXkzeHNUa2NucFJSUDFNL3F1?= =?utf-8?B?MVVDdHk0V3dNWk02V0NNMzVNNTNLci9aWm5oVDlvMTFMN3VCMUQ5dGFoY1dT?= =?utf-8?B?Q0h1SUQyd3drVCsyaFhDb0N3cXk1TTQzZEVpYlB4dUV3V0hIb3ROMGt5Umx3?= =?utf-8?B?Vk1OQnlJOXlZSERqWE00RVRuTFhvdi85ZE8rQ2JWM0xROWc2SGt5ZWduc1l5?= =?utf-8?B?SG9Ed2huSDk4anFTenlwZmFHQW9XSlRhdTVPQjMzcEhlbmRiVHBlQ0RyVVM1?= =?utf-8?B?L2tMSmMrTmVNVVlUMGFQWGRCNjlFN2g0cy9XMlpEYU8yUGlleDkvY1c5MlV2?= =?utf-8?B?bVdlWDZmZVdBMVJOZGdQOE1qbGYxeE44NmkyK0FZY2EwcGFjamk0czU5Ylgz?= =?utf-8?B?S1l5bWRLTUZzQWI0ZkNqQTZqNkxiUmF5aURCZEFtcjhURXZxUGt3MjlqR1px?= =?utf-8?B?MTlrbkJzK3kvWEtYWWhNR1VaK1NMdWw2QlhyS1pHcis2VDdBNUw5ZlgwZXVj?= =?utf-8?B?c3lzM28xK1BLTzBjY093SEF4SlEwakVqSUI1NEcrUHIybGg5MGVMSUJBZm5l?= =?utf-8?B?d2hLbVJNRTNxNDB1RHp4dktxUGM3V00rTFBsQmhjRVVoQWRTNHYveGUvUEpj?= =?utf-8?Q?1UBnO/Wl?=
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: c685b071-858d-467b-281d-08d8c612b3c7
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2021 18:04:50.0150 (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: BkCnUgBcZc2HB82DN8EX+9ouTi6WbtXCAeoSQ0ItAbLMZzT/rSQ8IgqQ3xSWZAUxzKaoizHJIywtSW9Ndu6YgN6o9B8Z/PX/LYA0/z9Bon8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR07MB5204
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/b6ahGiwwObLEjCgZ5mRgV1XwS5k>
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: Sun, 31 Jan 2021 18:04:59 -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.

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.

The GOOD thing is that, in this case, an endpoint can detect the error just by looking at the SDP, assuming there session-level group attribute is missing. There are cases where the SDP may look fine, and the problems don't show up until you start sending some traffic.

Regards,

Christer