Re: [MMUSIC] Comments on draft-holmberg-mmusic-sdp-bundle-negotiation-00

Harald Alvestrand <harald@alvestrand.no> Thu, 17 November 2011 08:44 UTC

Return-Path: <harald@alvestrand.no>
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 7B63B21F9A36 for <mmusic@ietfa.amsl.com>; Thu, 17 Nov 2011 00:44:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -109.969
X-Spam-Level:
X-Spam-Status: No, score=-109.969 tagged_above=-999 required=5 tests=[AWL=-0.570, BAYES_00=-2.599, J_CHICKENPOX_14=0.6, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4V49Vg3EN5Vv for <mmusic@ietfa.amsl.com>; Thu, 17 Nov 2011 00:44:00 -0800 (PST)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 559C721F9A35 for <mmusic@ietf.org>; Thu, 17 Nov 2011 00:44:00 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 5200239E04C; Thu, 17 Nov 2011 09:43:59 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SsDHWPNdOxCw; Thu, 17 Nov 2011 09:43:58 +0100 (CET)
Received: from [130.129.67.10] (dhcp-430a.meeting.ietf.org [130.129.67.10]) by eikenes.alvestrand.no (Postfix) with ESMTPS id 9550739E176; Thu, 17 Nov 2011 09:43:56 +0100 (CET)
Message-ID: <4EC4C947.8060807@alvestrand.no>
Date: Thu, 17 Nov 2011 16:43:51 +0800
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110921 Thunderbird/3.1.15
MIME-Version: 1.0
To: Flemming Andreasen <fandreas@cisco.com>
References: <4EC46C66.9010305@cisco.com>
In-Reply-To: <4EC46C66.9010305@cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: draft-holmberg-mmusic-sdp-bundle-negotiation@tools.ietf.org, mmusic <mmusic@ietf.org>
Subject: Re: [MMUSIC] Comments on draft-holmberg-mmusic-sdp-bundle-negotiation-00
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Thu, 17 Nov 2011 08:44:01 -0000

Thanks for the review!

I may want to be a little more undiplomatic than Holmberg, however...

On 11/17/2011 10:07 AM, Flemming Andreasen wrote:
> I have two major comments on the draft:
>
> 1) The draft says that it is backwards compatible, however I don't 
> believe it is. As the authors note, sharing tranxport addresses among 
> multiple media descriptions is undefined in RFC 4566, and while the 
> draft suggests some ways around that on the offering side, I don't 
> believe they work. Problems include:
> - Potential SSRC overlap between the different media streams, which 
> will lead to all kinds of problems
The result of successfully negotiating the extension will be one RTP 
session (or one RTP session per bundle). If the RTP implementation is 
incompetent enough to put more than one media flow onto one SSRC inside 
one RTP session, then it has much bigger problems than supporting the 
bundle.
> - Does not work without symmetric media/RTP (as more or less noted in 
> the draft)
I believe this is true. It should be made even more explicit than it 
already is.
Being a precondition for using it means that we don't have to deal with 
the non-symmetric-media situation; we simply can't use the extension 
under those conditions.
(This also means that the extension is useless for multicast. Not a 
problem.)

> - Even when symmetric media/RTP is used, NAT implies that you cannot 
> use the port information from the SDP answer to infer the missing 
> parts of the 5-tuple.

When NAT is used, ICE is required to get media flowing. This is 
something that is true for all SDP session negotiations; I do not 
believe it is in any way unique to this draft.

>
> - Given that shared transport addresses between different media 
> streams is undefined in RFC 4566, the answerer may not support this to 
> begin with

You mean transport addresses on flows from the answerer to the offerer?

This is the piece that bothers me, and which was the main difference 
between draft-holmberg and draft-alvestrand-one-rtp-stream. However, 
most commenters when they were both presented seemed to indicate that 
draft-holmberg's solution did not present a problem.

> - Shared destination transport addresses without full 5-tuple 
> information implies that you cannot identify each media stream as an 
> independent flow in the network, and the ability to do so may be one 
> reason the answerer did not want to do bundles to begin with.
I do not parse this sentence. Given that symmetric SDP is a requirement, 
the full 5-tuple is known by both sender and receiver. Most equipment 
that cares about flows works on 5-tuples rather than 3-tuples; are you 
suggesting that there exists flow-identifying equpment we care about 
where unique 3-tuples is a requirement for correct operation?

> - Fallback is to do another O/A exchange, however at that point, the 
> media streams have already been established, and hence this is not 
> backwards compatible.
Do you mean that doing two O/A exchanges is not backwards compatible, or 
that having some short period of media flow before the new O/A exchange 
can be performed is an issue?
>
> Fundamentally, we always have this backwards compatibility issue when 
> using grouping to try and negotiate something that has to be supported 
> by the other side to avoid failures, and this is another example of 
> that. I will note that SDP Capability Negotiation is an alternative 
> solution to what you are trying to do and it would not suffer from 
> these backwards compatibility issues (would still need to define a 
> capability negotiation extension for this though).

I did not see anything in RFC 5939 that would be helpful; I might not 
have read it closely enough.

>
>
> 2) The intent of the draft is to effectively turn multiple media 
> descriptions into a single RTP (or other media) session. We do however 
> have a number of SDP parameters (in RFC 4566 and extensions) that are 
> specified on a per media stream basis and we need some general rules 
> around how to deal with those. Section 7.2 begins to look at it, but 
> we need a lot more here, especially if we need to support backwards 
> compatibility at the same time in a single O/A exchange. Some media 
> description parameters will have to be cumulative among the multiple 
> "m=" lines (rtpmap for example), others will have to pick a single one 
> (e.g. SRTP keying parameters), and yet others will need to be combined 
> (bandwidth for example as noted in the draft).

This was also addressed a bit more explicitly in 
draft-alvestrand-one-rtp, but I have not yet seen a description of a 
parameter where the required rule is not obvious; payload types 
(a=rtpmap) values have to be unique across all the description pieces of 
the RTP session, which naturally solves the problem for a=fmtp 
parameters; bandwidth has already been discussed; a=label and SDES 
keying parameters only makes sense once for the session.

Which other parameters are there where the answer is not obvious?