Re: [rtcweb] Relaxing SDP O/A (was RE: Agenda requests for Atlanta meeting)

Paul Kyzivat <pkyzivat@alum.mit.edu> Sat, 20 October 2012 00:06 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7CCAB21F8865 for <rtcweb@ietfa.amsl.com>; Fri, 19 Oct 2012 17:06:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.38
X-Spam-Level:
X-Spam-Status: No, score=-0.38 tagged_above=-999 required=5 tests=[AWL=0.057, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r3HSMvRs2Qyv for <rtcweb@ietfa.amsl.com>; Fri, 19 Oct 2012 17:06:33 -0700 (PDT)
Received: from qmta02.westchester.pa.mail.comcast.net (qmta02.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:24]) by ietfa.amsl.com (Postfix) with ESMTP id 8659E21F885D for <rtcweb@ietf.org>; Fri, 19 Oct 2012 17:06:33 -0700 (PDT)
Received: from omta12.westchester.pa.mail.comcast.net ([76.96.62.44]) by qmta02.westchester.pa.mail.comcast.net with comcast id DBn01k0010xGWP851C6d1U; Sat, 20 Oct 2012 00:06:37 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta12.westchester.pa.mail.comcast.net with comcast id DC5Z1k0083ZTu2S3YC5ZQ1; Sat, 20 Oct 2012 00:05:33 +0000
Message-ID: <5081EB07.8000703@alum.mit.edu>
Date: Fri, 19 Oct 2012 20:06:31 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:15.0) Gecko/20120907 Thunderbird/15.0.1
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <201210182110.q9ILAq4K4836140@shell01.TheWorld.com> <5080F1E9.2050509@alvestrand.no> <5080F509.5020102@ericsson.com> <9F33F40F6F2CD847824537F3C4E37DDF0130A402@MCHP04MSX.global-ad.net> <CABkgnnX8zo-E9Zf_OMyvysweDbeTDy-E53=n1yvx=xA7iNUT1g@mail.gmail.com>
In-Reply-To: <CABkgnnX8zo-E9Zf_OMyvysweDbeTDy-E53=n1yvx=xA7iNUT1g@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [rtcweb] Relaxing SDP O/A (was RE: Agenda requests for Atlanta meeting)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 Oct 2012 00:06:34 -0000

On 10/19/12 12:26 PM, Martin Thomson wrote:
> On 19 October 2012 04:55, Hutton, Andrew
> <andrew.hutton@siemens-enterprise.com> wrote:
>> On 19 October 2012 07:37 Stefan Hakansson LK wrote:
>>> [...] What if Bob's browser could
>>> decode
>>> both  audio tracks but has resources to handle only one of the video
>>> tracks, should it be able to tell so (perhaps with the result that two
>>> audio and one video track was added)? Or should the update of the
>>> session just fail?
>>
>> The update to the session should not just fail. Normally in this case the answer would simple reject the one video stream and not the whole offer.
>
> A more interesting case is where Alice decides to (attempt to) switch
> codecs.  That decision might even be based on some prior knowledge of
> Bob's ability to understand codecs.  Maybe Bob originally offers A and
> B, but when Alice decides to upgrade from A to B, that is not a mode
> that Bob supports any more.  The session should continue with A.
>
> An answer that rejected the stream would cause an interruption to the session.

Well, actually it would interrupt the media stream (rtp session).
I agree there are cases where rejecting the offer would make more sense.
That is certainly an option in sip. Deciding whether it is better to 
reject the media stream, or reject the offer can be tricky.

A more important aspect of this scenario is how it is managed on the 
offering side. When Alice makes the attempt, does she assume success and 
immediately put the offered SDP into operation? (And then undo it if the 
offer fails.) Or does the old local/remote SDP remain in effect until 
the answer is received?

SIP says that you must be prepared to receive according to the new offer 
as soon as it is sent. And yet the stuff you are receiving will still be 
in accord to the old o/a until the new offer is received by the 
answerer. And the offerer should still be sending according to the old 
stuff until it receives the answer. Hence there is a time period when 
you need to support *both*. If you switch too soon you may receive old 
stuff you can't deal with. And if you switch too soon and the offer is 
rejected then you will have to switch back, and there will be more 
disruption.

This is pretty ugly, and unless you can actually support both old and 
new concurrently (which many cannot) then you are forced to choose among 
bad choices for how to implement.

But webrtc can't ignore this. It must acknowledge this and provide some 
mechanisms to deal with it.

	Thanks,
	Paul

>> [...] I am also thinking it would be nice if the API provided some way of cancelling an offer and reverting to the original state but if this is putting too much state back in the browser we would need a clearly documented mechanism.
>
> Nice or necessary?  There is already a great deal of state in the browser.
>
> I am actually interested in a small modification to the API for this
> case, for outstanding offers there are actually three pieces of SDP in
> play: original local description (could be offer or answer), original
> remote description (answer or offer) and the new outstanding offer
> (which is only ever a local description, the action can be immediate
> on the answering side).  We currently have a means to get two of
> these: the remote description and (I assume) the local description
> that was most recently set.  We do not have a way to get the original
> local description.
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>