Re: [Perc] Drop support for E2E RTP header extensions

"Paul E. Jones" <paulej@packetizer.com> Wed, 17 May 2017 20:15 UTC

Return-Path: <paulej@packetizer.com>
X-Original-To: perc@ietfa.amsl.com
Delivered-To: perc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A54181242EA for <perc@ietfa.amsl.com>; Wed, 17 May 2017 13:15:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.003
X-Spam-Level:
X-Spam-Status: No, score=-2.003 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=packetizer.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 02NU_f1lCj5v for <perc@ietfa.amsl.com>; Wed, 17 May 2017 13:15:28 -0700 (PDT)
Received: from dublin.packetizer.com (dublin.packetizer.com [75.101.130.125]) (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 068D912009C for <perc@ietf.org>; Wed, 17 May 2017 13:15:27 -0700 (PDT)
Received: from [192.168.1.20] (cpe-098-122-167-029.nc.res.rr.com [98.122.167.29] (may be forged)) (authenticated bits=0) by dublin.packetizer.com (8.15.2/8.15.2) with ESMTPSA id v4HKFPh0001678 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 17 May 2017 16:15:26 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=packetizer.com; s=dublin; t=1495052126; bh=A0lMi08S90x83t+yndc13wYNMjpHW1zzAMoQSBNisrU=; h=From:To:Subject:Cc:Date:In-Reply-To:References:Reply-To; b=CE0SaIDWPTjZ7jf4tBjR7QfAuby2QoOtcih8Y7sTMA6D4g58O3ByZaM7rUAffTefn kPb2OTLapIQF9+rpOgH76/fgDwv0ka2OSfeQRoDzdR2FOIovKeNTdgtDpSYqCB+vkQ KE9FMQD/H0+0b++nQG6dXqoBsBv/3oNHCcpLrTRY=
From: "Paul E. Jones" <paulej@packetizer.com>
To: Cullen Jennings <fluffy@iii.ca>
Cc: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>, perc@ietf.org
Date: Wed, 17 May 2017 20:15:26 +0000
Message-Id: <emf5b957a9-56ec-4bf1-b8d7-2bd117d64769@sydney>
In-Reply-To: <em9f5683f3-880a-46a9-82da-4ab61010529a@sydney>
References: <49c7de34-8bc6-bb7d-4524-0af26089eecb@gmail.com> <1CF6F66C-939F-484D-8C53-46ACB8CA69BE@vidyo.com> <27ca2993-5c66-8388-7187-b47ed8ae1340@gmail.com> <CAL02cgRDaz7BT+GzxWJ0cM7rebhd2cu2WbPy+Mwjkk0wJK=6mw@mail.gmail.com> <aef9a32f-f761-c9e8-de99-57c4acfd5088@gmail.com> <8FD07F5D-CD52-445B-AF75-BA1696F3A151@mozilla.com> <aff1a9bf-7dcb-71e6-3d01-afe5cac87ca5@gmail.com> <E234DDC1-9AB5-4C64-91C0-A8FCB58DA351@iii.ca> <8ddbf495-ac23-8529-aa0b-a233a0b336c0@gmail.com> <74BE8407-9AC0-45D3-9476-5C109A7B7A3C@iii.ca> <286A6294-EC1E-49D3-88BB-023178DB07BD@packetizer.com> <2810AD6C-0F45-41CC-BC6F-4303B5649CB0@iii.ca> <em9a829f3a-e2ed-4250-8e7e-cad6623a30a2@sydney> <FD826FBD-6D15-4791-8C9F-450E83EA1EC6@iii.ca> <eme27e4a00-19ad-48da-bd9e-1e8bfb69ca8f@sydney> <87C7FDA2-3F7B-4037-BD5D-71BF5D71BC27@iii.ca> <em9f5683f3-880a-46a9-82da-4ab61010529a@sydney>
Reply-To: "Paul E. Jones" <paulej@packetizer.com>
User-Agent: eM_Client/7.0.30068.0
Mime-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.6.1 (dublin.packetizer.com [10.165.122.250]); Wed, 17 May 2017 16:15:26 -0400 (EDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/perc/pGZ_Nm-oYnXZkdtAoBSx7ItwuBU>
Subject: Re: [Perc] Drop support for E2E RTP header extensions
X-BeenThere: perc@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Privacy Enhanced RTP Conferencing <perc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/perc>, <mailto:perc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/perc/>
List-Post: <mailto:perc@ietf.org>
List-Help: <mailto:perc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/perc>, <mailto:perc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 May 2017 20:15:31 -0000

Folks,

I had a side discussion with Cullen on (3) to better understand what he 
meant.  I misunderstood his proposal, but now I think I understand and I 
think it would work.

As I now understand, a calling device could send an offer with IDs 
proposed, and the media distributor would return an answer removing any 
IDs that are values that are not what the media distributor wants to use 
(this is what Cullen meant by "reject" and I interpreted that to mean 
reject the entire offer itself).  The media distributor could then send 
a new offer and advertise the header extension values it wants to use.  
I don't think that would violate the spec in terms of remapping 
identifiers.

Another approach might be to only offer ID values in the range 
4096-4351, thus allowing the media distributor to return an answer with 
identifiers assigned.

So, there are a couple of ways to do this that I can see now.

Paul

------ Original Message ------
From: "Paul E. Jones" <paulej@packetizer.com>
To: "Cullen Jennings" <fluffy@iii.ca>
Cc: "Sergio Garcia Murillo" <sergio.garcia.murillo@gmail.com>; 
perc@ietf.org
Sent: 5/16/2017 3:51:27 PM
Subject: Re: [Perc] Drop support for E2E RTP header extensions

>Cullen,
>
>Step (3) is an issue, because rejecting the offer will likely lead to 
>confusion.  The rejection would have to be detailed enough to say "I 
>don't want you to use ID=1 for 'foo'.  I want you to use ID=4 for 
>that."  Basically, the media distributor would need to reject the offer 
>and return an ID map for what it wants to see used.  How do we prevent 
>another offer from simply offering a different ID map that is not 
>acceptable?
>
>This would also mean that all of the conference servers in a large 
>cascaded conference are in agreement on the set of values.  Perhaps 
>that is doable if there we assume only one vendor's media distributors 
>will be present in a conference.
>
>Paul
>
>------ Original Message ------
>From: "Cullen Jennings" <fluffy@iii.ca>
>To: "Paul Jones" <paulej@packetizer.com>
>Cc: "Sergio Garcia Murillo" <sergio.garcia.murillo@gmail.com>; 
>perc@ietf.org
>Sent: 5/16/2017 3:17:46 PM
>Subject: Re: [Perc] Drop support for E2E RTP header extensions
>
>>
>>Paul,
>>
>>I think you are wrong but let me know what parts of this you don't 
>>think work and we can work through it.
>>
>>So lets split up a bunch of different ways a conference systems that 
>>uses the PERC stuff can do this.
>>
>>1) for any extensions that are HbH, the MD can simply remap them if it 
>>wants
>>
>>2) for any extensions in the offer that are E2E, if they are not 
>>needed for this conferences, the MD can simply reject them in the SDP 
>>offer/answer and there will be no E2E extensions.
>>
>>3) for both HbH and E2E exertions, to repeat my prev email on this 
>>thread from May 13,
>>>  If Alice's UA offers urn:ietf:params:rtp-hdrext:encrypt with and ID 
>>>of 1 and the conferences wants to use 22 because that is what other 
>>>endpoints are using, the conference server simply rejects that in the 
>>>answer then does a reoffers with an ID of 22.
>>
>>
>>Note that point 2 is very close to what  Sergio is arguing for here 
>>...  one thing he might do in his implementation is simply make sure 
>>that if and endpoint attempts to negotiate an extension other than the 
>>ones his MD supports, make the MD rejects that extension. At that 
>>point his MD will not need to deal with any E2E stuff and there is not 
>>ordering.
>>
>>Some systems that support extension might want to do 1 while others 
>>might want to do 3. Some systems might want to reject every extension 
>>other than client-to-mixer audio levels.
>>
>>I think the specs as they are support 1, 2, and 3 - am I missing 
>>something ?
>>
>>
>>
>>>  On May 15, 2017, at 9:45 AM, Paul E. Jones <paulej@packetizer.com> 
>>>wrote:
>>>
>>>  Cullen,
>>>
>>>  I understand that was a goal at the outset.  However, I'm not sure 
>>>the specs as they current exist will allow us to do that, but feel 
>>>free to correct me if I'm wrong.
>>>
>>>  The issue, as I understand, is the requirement in RFC 5285 that 
>>>says:
>>>    A session update MAY add or remove extension(s). Identifiers 
>>>values in the valid range MUST NOT be altered (remapped).
>>>
>>>  The offerer will suggest an ID mapping to extensions and the MD 
>>>cannot change that mapping.   A dozen endpoints can offer different 
>>>ID mappings for the same or overlapping extensions.  The extensions 
>>>(including encrypted extensions) can be preserved before the OHB, but 
>>>it's unclear to me how the endpoint would process those.  If the 
>>>receiving endpoint sent an offer indicating it wanted to use 
>>>extension "foo" with ID=6 and the sender of the particular RTP packet 
>>>sent an offer for "foo" with an ID=5, then the receiver is not going 
>>>be in agreement with the ID mapping of the sender.
>>>
>>>  A solution could be to introduce an "extension remapping extension". 
>>>  For example, the receiver would skip over all extensions until it 
>>>gets to the OHB.  It would then look for the "extension remapping 
>>>extension" that would tell the receiver (in my example above) that 
>>>"ID=6 is remapped to ID=5 before the OHB".  So, while the receiver 
>>>had assumed ID=6 would be "foo", it would look before the OHB for 
>>>ID=5.  In effect, this is creating a way to get around that statement 
>>>in RFC 5285 that disallows remapping.
>>>
>>>  AFAIK, we don't have language like that in any document and I don't 
>>>think the MD is otherwise able to force all endpoints to use a common 
>>>mapping.
>>>
>>>  Paul
>>>
>>>  ------ Original Message ------
>>>  From: "Cullen Jennings" <fluffy@iii.ca>
>>>  To: "Paul Jones" <paulej@packetizer.com>; "Sergio Garcia Murillo" 
>>><sergio.garcia.murillo@gmail.com>
>>>  Cc: perc@ietf.org
>>>  Sent: 5/15/2017 1:34:42 PM
>>>  Subject: Re: [Perc] Drop support for E2E RTP header extensions
>>>
>>>>
>>>>  So let me just confirm one thing with both of you (Paul & Sergio) 
>>>>... you understand that the current design supports both E2E and HbH 
>>>>header extensions and which way a given extension is handed is 
>>>>currently determined by specification of the system not negotiated 
>>>>over SDP?
>>>>
>>>>  Yes we could change any of that but I just want to make sure we are 
>>>>all on the same page of where we are now
>>>>
>>>>
>>>>
>>>>>  On May 13, 2017, at 2:08 PM, Paul E. Jones <paulej@packetizer.com> 
>>>>>wrote:
>>>>>
>>>>>  Cullen,
>>>>>
>>>>>  I say we should NOT support E2E extensions.  Make them HBH and the 
>>>>>MDD can re-write header extensions values or remove them as it sees 
>>>>>fit.
>>>>>
>>>>>  Sergio, you want E2E extensions?  Seems like it's going to be 
>>>>>rather complicated to support with the current design.
>>>>>
>>>>>  Paul
>>>>>
>>>>>  ------ Original Message ------
>>>>>  From: "Cullen Jennings" <fluffy@iii.ca>
>>>>>  To: "Paul Jones" <paulej@packetizer.com>
>>>>>  Cc: perc@ietf.org
>>>>>  Sent: 5/13/2017 10:33:35 AM
>>>>>  Subject: Re: [Perc] Drop support for E2E RTP header extensions
>>>>>
>>>>>>
>>>>>>
>>>>>>>  On May 12, 2017, at 12:10 AM, Paul E. Jones 
>>>>>>><paulej@packetizer.com> wrote:
>>>>>>>
>>>>>>>  I don't see how we can support any E2E extension given the 
>>>>>>>offerer specifies the ID mapping. Multiple endpoints in a 
>>>>>>>conference might indicate any number of didn't ID values for the 
>>>>>>>same extension.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>  Just so we are all clear on how this would work ... sorry for the 
>>>>>>repetition ....
>>>>>>
>>>>>>
>>>>>>  If Alice's UA offers urn:ietf:params:rtp-hdrext:encrypt with and 
>>>>>>ID of 1 and the conferences wants to use 22 because that is what 
>>>>>>other endpoints are using, the conference server simply rejects 
>>>>>>that in the answer then does and reoffers that with an ID of 22.
>>>>>>
>>>>>>  This of course does not take care of Sergio request that the 
>>>>>>conference bridge would like to tell ALice's UA if this should be 
>>>>>>protected E2E or not. I'll send a separate email on that.
>>>>>>
>>>>>>
>>>>>>  _______________________________________________
>>>>>>  Perc mailing list
>>>>>>  Perc@ietf.org
>>>>>>  https://www.ietf.org/mailman/listinfo/perc
>>>>>
>>>>>  _______________________________________________
>>>>>  Perc mailing list
>>>>>  Perc@ietf.org
>>>>>  https://www.ietf.org/mailman/listinfo/perc
>>>>
>>>>  _______________________________________________
>>>>  Perc mailing list
>>>>  Perc@ietf.org
>>>>  https://www.ietf.org/mailman/listinfo/perc
>>>
>>>  _______________________________________________
>>>  Perc mailing list
>>>  Perc@ietf.org
>>>  https://www.ietf.org/mailman/listinfo/perc
>>
>>_______________________________________________
>>Perc mailing list
>>Perc@ietf.org
>>https://www.ietf.org/mailman/listinfo/perc