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

Harald Alvestrand <harald@alvestrand.no> Sat, 20 October 2012 22:30 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 6EB9221F869A for <rtcweb@ietfa.amsl.com>; Sat, 20 Oct 2012 15:30:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.418
X-Spam-Level:
X-Spam-Status: No, score=-110.418 tagged_above=-999 required=5 tests=[AWL=0.180, BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 oi9qbZ4tmLDT for <rtcweb@ietfa.amsl.com>; Sat, 20 Oct 2012 15:30:25 -0700 (PDT)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 0343521F86E5 for <rtcweb@ietf.org>; Sat, 20 Oct 2012 15:30:25 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 6971239E149 for <rtcweb@ietf.org>; Sun, 21 Oct 2012 00:30:22 +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 Wph5b6DIUcHP for <rtcweb@ietf.org>; Sun, 21 Oct 2012 00:30:20 +0200 (CEST)
Received: from [192.168.1.107] (unknown [188.113.88.47]) by eikenes.alvestrand.no (Postfix) with ESMTPSA id 15E3939E03A for <rtcweb@ietf.org>; Sun, 21 Oct 2012 00:30:20 +0200 (CEST)
Message-ID: <508325F9.8010107@alvestrand.no>
Date: Sun, 21 Oct 2012 00:30:17 +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: <5082DDAF.7080102@matthew.at>
In-Reply-To: <5082DDAF.7080102@matthew.at>
Content-Type: multipart/alternative; boundary="------------040607010000040105070206"
Subject: [rtcweb] SDP testing (Re: (resend) RE: 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 22:30:26 -0000

(Chrome developer hat on)
Thanks for the info - can you point to the bugs you filed on these 
issues with our implementation? I'll try to see that they're followed up.

It would be helpful if you specified which endpoint you interoperated 
with, but the most important thing is to show what the SDP was and where 
it was wrong for interoperability.

Frankly, the code in Chrome is a completely new SDP parser/generator, 
and definitely needs testing.

           Harald

On 10/20/2012 07:21 PM, Matthew Kaufman wrote:
> (Resending from my personal account as the list server dropped a bunch 
> of messages and I will be resending from my personal account a few 
> that I think are still particularly relevant)
>
> Harald Alvestrand [harald@alvestrand.no]:
>
> >
>
> > Because making an interface that makes following an existing practice
>
> > easy (but does not enforce all the constraints of that practice) is
>
> > better than making an interface that makes following that practice
>
> > very complex?
>
> If this myth were correct, it would be a good argument. In practice, 
> the JSEP interface (which claims to loosely follow an existing 
> practice) is *more difficult* to use when interoperating with 
> endpoints that actually follow that practice than the API we proposed 
> does.
>
> In our testing, the amount of Javascript required to unpack the pile 
> of SDP that is emitted by an existing implementation of JSEP (the 
> Google Chrome beta), pick it apart into what you actually need to 
> interop with a real gateway endpoint, exhaustively test what SDP can 
> then be put back in to setLocalDescription and setRemoteDescription 
> (as there is no specification saying what SDP is and is not allowed 
> here, and no error reporting to speak of), and then the signaling on 
> top of that all adds up to more than twice as much Javascript as it 
> takes to use our proposed direct-manipulation API, create SDP that is 
> compatible with the far end you are interoperating with, and start 
> media flowing.
>
> If the existing API actually had a description of what SDP is and is 
> not acceptable, and specified an error reporting mechanism that was 
> actually helpful for developers, then it would *still* take 2x the 
> Javascript to call any endpoint other than one of your own because of 
> the need to manipulate the SDP and the need to implement a state 
> machine in Javascript while the browser is also keeping a bunch of 
> state internally.
>
> I encourage anyone who cares about interoperability to replicate our 
> experiment... build an application using the Chrome beta that calls a 
> gateway speaking SIP for signaling and ICE-lite for consent 
> verification and see how "easy" it is or isn't.
>
> Matthew Kaufman
>
>
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb