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

Harald Alvestrand <harald@alvestrand.no> Thu, 18 October 2012 18:35 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 8172D21F859E for <rtcweb@ietfa.amsl.com>; Thu, 18 Oct 2012 11:35:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.431
X-Spam-Level:
X-Spam-Status: No, score=-110.431 tagged_above=-999 required=5 tests=[AWL=0.168, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
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 BMaK40+ZSUDC for <rtcweb@ietfa.amsl.com>; Thu, 18 Oct 2012 11:35:55 -0700 (PDT)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 503CF21F854C for <rtcweb@ietf.org>; Thu, 18 Oct 2012 11:35:42 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 542C439E1AC for <rtcweb@ietf.org>; Thu, 18 Oct 2012 20:35:41 +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 PzEz0Qvza649 for <rtcweb@ietf.org>; Thu, 18 Oct 2012 20:35:39 +0200 (CEST)
Received: from hta-dell.lul.corp.google.com (unknown [IPv6:2620:0:1043:1:be30:5bff:fede:bcdc]) by eikenes.alvestrand.no (Postfix) with ESMTPSA id 44BD539E04C for <rtcweb@ietf.org>; Thu, 18 Oct 2012 20:35:39 +0200 (CEST)
Message-ID: <50804BFA.2030700@alvestrand.no>
Date: Thu, 18 Oct 2012 20:35:38 +0200
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121011 Thunderbird/16.0.1
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <201210181817.q9IIH3Vm4836109@shell01.TheWorld.com>
In-Reply-To: <201210181817.q9IIH3Vm4836109@shell01.TheWorld.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: Thu, 18 Oct 2012 18:35:56 -0000

On 10/18/2012 08:17 PM, Dale R. Worley wrote:
>> From: Matthew Kaufman <matthew.kaufman@skype.net>
>>
>> The JSEP API enforces no such rules. If you want to change the API
>> to bring it into compliance with *just this section* of 3264, it
>> would need all sorts of changes...
> I'm not familiar with the details of JSEP, but on general
> architectural principles, my suspicion is that the key regarding
> interworking with SIP is not whether a JSEP-using application can send
> offers at times that the 3264 offer/answer model forbids it, but
> rather whether JSEP/WebRTC can *reject* an offer.
>
> Certainly in SIP, a new offer presented in a re-INVITE or UPDATE
> request can be rejected by the other UA by returning a failure
> response.  Any WebRTC protocol that can interwork smoothly with SIP
> will require this capability.
>
> Given that, if the JSEP model permits an application to send offers at
> times when SIP does not, the WebRTC/SIP gateway/server can immediately
> send rejection of such offers back to the client, without sending a
> SIP request containing the offer.
>
> This approach tolerates considerable difference between the rules
> enforced by JSEP and the rules enforced by SIP, which may be
> convenient.
Note that the JSEP API never sends anything. It permits the application 
to generate an offer (using CreateOffer), and it permits the application 
to tell the browser that it should set the local configuration according 
to an offer (using setLocal).

The assumption is that the normal way of using the API when interworking 
with SIP is to generate the offer, set it locally with SetLocal(), and 
send it as a SIP OFFER.

The API also offers signals (negotiationneeded) to tell the application 
that it would be good to change the offer it's sending; if the 
application intends to obey SIP rules, it will schedule that 
renegotiation after the current negotiation round finishes.

But the API never forces the application to send an offer; sending or 
not sending an offer is strictly the application's responsibility.