Re: [MMUSIC] [rtcweb] Unified Plan for SDP Handling

Adam Roach <adam@nostrum.com> Wed, 17 July 2013 17:07 UTC

Return-Path: <adam@nostrum.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 76CBF21F9130 for <mmusic@ietfa.amsl.com>; Wed, 17 Jul 2013 10:07:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.541
X-Spam-Level:
X-Spam-Status: No, score=-102.541 tagged_above=-999 required=5 tests=[AWL=0.058, BAYES_00=-2.599, HTML_MESSAGE=0.001, SPF_PASS=-0.001, 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 CiTHc6837f4L for <mmusic@ietfa.amsl.com>; Wed, 17 Jul 2013 10:07:58 -0700 (PDT)
Received: from shaman.nostrum.com (nostrum-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:267::2]) by ietfa.amsl.com (Postfix) with ESMTP id 6BA5521F9011 for <mmusic@ietf.org>; Wed, 17 Jul 2013 10:07:58 -0700 (PDT)
Received: from Orochi.local (99-152-145-110.lightspeed.dllstx.sbcglobal.net [99.152.145.110]) (authenticated bits=0) by shaman.nostrum.com (8.14.3/8.14.3) with ESMTP id r6HH7tmK047545 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Wed, 17 Jul 2013 12:07:56 -0500 (CDT) (envelope-from adam@nostrum.com)
Message-ID: <51E6CF66.1030309@nostrum.com>
Date: Wed, 17 Jul 2013 12:07:50 -0500
From: Adam Roach <adam@nostrum.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
To: Paul Kyzivat <pkyzivat@alum.mit.edu>
References: <51E447C8.1000701@nostrum.com> <CAD5OKxsFHn9gVmQv3Z+3mbDBR4Q32qtE5xmksbfbu3rtAw3==g@mail.gmail.com> <51E6C86C.5020101@alum.mit.edu>
In-Reply-To: <51E6C86C.5020101@alum.mit.edu>
Content-Type: multipart/alternative; boundary="------------070101020305040305030907"
Received-SPF: pass (shaman.nostrum.com: 99.152.145.110 is authenticated by a trusted mechanism)
Cc: mmusic@ietf.org
Subject: Re: [MMUSIC] [rtcweb] Unified Plan for SDP Handling
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: Wed, 17 Jul 2013 17:07:59 -0000

On 7/17/13 11:38, Paul Kyzivat wrote:
> Adam,
>
> While I see there can be some value to extending O/A to allow for 
> smaller critical sections, I fear that it is going to be very messy to 
> get "right". Some messy things:
>
> - Glare between a partial O/A and a full O/A

...is glare. Resolve as normal. For SIP, that means timers.

> - Is a partial O/A permitted in a sip reINVITE? Can you have
>   an offerless reINVITE where the response contains a partial offer?
>   Or can these only be done in UPDATE?

No, no, and no. In SIP, the protocol machinery would not allow INVITE or 
UPDATE to complete concurrently in opposite directions for any amount of 
overlap. We aren't proposing a change to SIP state machines here, only 
to the offer/answer model. This necessarily means that we need to carry 
partial offers and partial answers in something else -- probably INFO.

> - In SIP, processing of concurrent reINVITEs/UPDATEs containing
>   partial SDP updates. This seems to already be a

You left this unfinished, but I *think* it was going to make the same 
point I did in my response above.

> - How to assign version numbers to the full SDP as a result
>   of partial updates

Section 3.4.1: "... the SDP version is incremented by one..."


> - I'm not sure your algorithm for resolving glare when adding
>   streams works in all cases. (More below on this.)
>
> These (and ones I haven't thought of) *may* all be resolvable. But 
> this certainly complicates the already complex O/A process - maybe to 
> the point that many get it wrong. (I don't want to write rfc6337bis!)
>
> My concern with the glare resolution algorithm is that for it to work 
> both sides must realize that glare occurred. And I think there are 
> common sequences when one side won't realize it.

I'm not saying I didn't miss it, but I did work through as many 
permutations as I could think of, and none of them are left out by the 
algorithm described in section 3.4.1.

That said, I did my analysis in the context of WebRTC, and assumed a 
reliable, in-order delivery channel for messages. I recognize that we 
don't have that for SIP, and that messages in the same direction can be 
reordered. I admit that this does raise some interesting scenarios that 
may require additional work to resolve.

> I'm reluctant to buy into a scheme that depends on this without 
> knowing it it will be implementable.

I understand your reluctance, and don't want to gloss over it. This is 
but one plank in the overall plan, and it represents what we think is 
the best (but not only) solution to this specific requirement. If the 
issues prove intractable, we could fall back to an alternate scheme, 
such as the designated-offerer I describe in 
draft-roach-rtcweb-glareless-add-00, or the token-passing scheme 
described by Ted Hardie (cf. 
http://www.ietf.org/mail-archive/web/rtcweb/current/msg07361.html).

/a