Re: [rtcweb] Minimal SDP negotiation mechanism

Harald Alvestrand <harald@alvestrand.no> Wed, 21 September 2011 09:48 UTC

Return-Path: <harald@alvestrand.no>
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 B9A7221F8BA4 for <rtcweb@ietfa.amsl.com>; Wed, 21 Sep 2011 02:48:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -109.096
X-Spam-Level:
X-Spam-Status: No, score=-109.096 tagged_above=-999 required=5 tests=[AWL=1.503, BAYES_00=-2.599, 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 EurG7Rxc9uDI for <rtcweb@ietfa.amsl.com>; Wed, 21 Sep 2011 02:48:58 -0700 (PDT)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 1C89D21F8BA7 for <rtcweb@ietf.org>; Wed, 21 Sep 2011 02:48:58 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id F170639E0A7; Wed, 21 Sep 2011 11:51:25 +0200 (CEST)
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 WESjO5J6dxQJ; Wed, 21 Sep 2011 11:51:25 +0200 (CEST)
Received: from [192.168.0.2] (c213-89-141-213.bredband.comhem.se [213.89.141.213]) by eikenes.alvestrand.no (Postfix) with ESMTPS id 81D5139E088; Wed, 21 Sep 2011 11:51:25 +0200 (CEST)
Message-ID: <4E79B39D.8030901@alvestrand.no>
Date: Wed, 21 Sep 2011 11:51:25 +0200
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: Magnus Westerlund <magnus.westerlund@ericsson.com>
References: <4E777500.5030201@alvestrand.no> <4E78940C.4040405@ericsson.com>
In-Reply-To: <4E78940C.4040405@ericsson.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Minimal SDP negotiation mechanism
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: Wed, 21 Sep 2011 09:48:58 -0000

On 09/20/2011 03:24 PM, Magnus Westerlund wrote:
> On 2011-09-19 18:59, Harald Alvestrand wrote:
>
>> We need to handle glare - when one sends an OFFER and gets back an
>> OFFER, reply with SDP ERROR, enter a "glare" state, wait a bit, and send
>> out an offer again.
>>
> I think that is a bad design for glare handling. I agree it needs to be
> handled. I think the ICE version of glare handling could work pretty
> well here. Any offer needs to include a random 32 bit number. If the
> end-point receive an offer in relation to a peer-connection while it has
> an outstanding offer then it compares these codes. Who ever has the
> greatest numerical value wins and that offer is handled the other is
> responded with an error stating GLARE. Thus there is no extra delay and
> more clear resolution of the glare case.
Hm... thinking about it, I think this can be incorporated.
The reason it works is that the signalling channel is supposed to 
guarantee reliable, ordered delivery, so we know that both parties agree 
that a glare condition exists. (actually, that condition doesn't hold 
for ICE, so I'm a bit surprised it works there.)

If we specify that the random number is 1 < N < MAXINT, we can even 
incorporate the SIP interworking case by saying that a gateway can force 
the party into GLARE by specifying one of the edge cases - whatever 
makes interworking happy.