Re: [rtcweb] Making progress on the signaling discussion (NB: Action items enclosed!)

Tim Panton <> Wed, 05 October 2011 12:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 54A5F21F8C56 for <>; Wed, 5 Oct 2011 05:43:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.208
X-Spam-Status: No, score=-2.208 tagged_above=-999 required=5 tests=[AWL=-0.209, BAYES_00=-2.599, J_CHICKENPOX_24=0.6]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id SQ3Kfz-Um+9X for <>; Wed, 5 Oct 2011 05:43:09 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 998B521F8C53 for <>; Wed, 5 Oct 2011 05:43:09 -0700 (PDT)
Received: from [] (unknown []) by (Postfix) with ESMTP id 1AD3D37A903; Wed, 5 Oct 2011 13:59:05 +0100 (BST)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=iso-8859-1
From: Tim Panton <>
In-Reply-To: <>
Date: Wed, 5 Oct 2011 13:46:11 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <> <>
To: Harald Alvestrand <>
X-Mailer: Apple Mail (2.1084)
Subject: Re: [rtcweb] Making progress on the signaling discussion (NB: Action items enclosed!)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 05 Oct 2011 12:43:10 -0000

On 5 Oct 2011, at 13:35, Harald Alvestrand wrote:

> On 10/05/2011 01:05 PM, Tim Panton wrote:
>> On 5 Oct 2011, at 11:40, Iñaki Baz Castillo wrote:
>>> 2011/10/5 Tim Panton<>om>:
>>>>> Your points are perfectly valid and should indeed be covered. But I
>>>>> didn't want to be so explicit in my immature API suggestion. It was
>>>>> just an overview.
>>>> I guess what I was getting at was the fact that the SDP seemed
>>>> central to the API - I'd like something more generic and javascript
>>>> friendly as the central concept.
>>> Hi Tim. At the end you web application will receive (via the custom
>>> signaling) something "like" and SDP containing the media information
>>> offered/answered by the peer (when receiving or initiating a media
>>> session).
>>> This is: your web browser needs to know the remote IP:port, the media
>>> streams, supported codecs by the peer... At the end that looks like a
>>> SDP. And such "SDP" should be retrieved by your web application via
>>> some signaling protocol (on top of HTTP or WebSocket), and you will
>>> receive it as a JSON object, or XML, or whatever format.
>> Agreed. We are now getting down to the format, I'd like to see the
>> codec capabilities separated from the network ports , as to my mind they
>> are orthogonal. SDP gets into all sorts of complexity with IPv6 (e.g. happy eyeballs)
>> partly because it intermixes the 2 things.
> Unfortunately the two things are tied together in nontrivial ways by our choice of RTP.
> The media engine has to generate RTP packets, which have to be marked with a specific payload type (negotiated between the endpoints to represent the codec), and have to have an SSRC and IP destination address put onto them that will cause the remote end to identify the RTP session (from IP address) and media stream (from SSRC) correctly; since PT values are only valid within a single RTP session, it follows that one cannot deduce the codec from the incoming packet without being party to the negotiation of IP addresses.
> I'm certain this can be represented in a cleaner way than SDP currently does it. But "orthogonal", if taken at face value, seems to hope for a more well structured world than is currently achievable.

- ah, now you have dashed my hopeful optimism and made me sad ;-)

Seriously - I think that they remain orthogonal during the _selection_ process. It isn't until we actually _commit_ to a set of codecs/ports etc
that they become intertwined. I guess I'm hoping that we can hide that from the Javascript coder without limiting the flexibility of
the API we present them by delaying the inevitable complexity as long as possible.