Re: [rtcweb] SDP Offer/Answer draft-jennings-rtcweb-signaling - Scope

Iñaki Baz Castillo <> Tue, 18 October 2011 10:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3B98821F85A1 for <>; Tue, 18 Oct 2011 03:53:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.63
X-Spam-Status: No, score=-2.63 tagged_above=-999 required=5 tests=[AWL=0.047, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id nYPlcqbFu+0a for <>; Tue, 18 Oct 2011 03:53:08 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 48D6021F86FF for <>; Tue, 18 Oct 2011 03:53:08 -0700 (PDT)
Received: by vws5 with SMTP id 5so261366vws.31 for <>; Tue, 18 Oct 2011 03:53:07 -0700 (PDT)
MIME-Version: 1.0
Received: by with SMTP id et7mr1792426vdc.35.1318935187751; Tue, 18 Oct 2011 03:53:07 -0700 (PDT)
Received: by with HTTP; Tue, 18 Oct 2011 03:53:07 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <>
Date: Tue, 18 Oct 2011 12:53:07 +0200
Message-ID: <>
From: Iñaki Baz Castillo <>
To: Christer Holmberg <>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Cc: Jonathan Rosenberg <>, "" <>, "" <>
Subject: Re: [rtcweb] SDP Offer/Answer draft-jennings-rtcweb-signaling - Scope
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: Tue, 18 Oct 2011 10:53:09 -0000

2011/10/18 Christer Holmberg <>:
>>> - Section 5.1 says: "ROAP messages are typically carried
>>> over a **reliable transport** (likely HTTP via XMLHttpRequest
>>> or WebSockets),..."
>> Yes, that is because JavaScript code running in a browser can
>> only communicate via HTTP or WebSocket.
> Yes, but the JS app and browser don't communicate with each other using HTTP or WebSockets.

Of course, the signaling must go over a server.

>>> - Section 5.3.3 defines an "OK" message, which is used to cease **re-transmissions** of the ANSWER.
>> I expect that is a "guideline" for the signaling protocol implementor.
>> There is no need for such "OK" message to be received from
>> the peer or server. The own JS code could generate it when
>> appropriate and pass it to its RTCweb stack.
> Why? The browser is not going to re-transmit anything, is it?

That depends on the chosen signaling protocol. ROAP gives guidelines
to make a like-VoIP protocol and in VoIP networks retransmissions are
sometimes needed. So it's resposability of the JavaScript code to send
a retransmission when required.

>>> - In addition, there is text talking about **ROAP signaling
>>> messages** (and gateways translating between those and SIP messages).
>> That just means that, of course, ROAP must be carried within
>> some signaling protocol (obvious) so, in case of
>> interoperating with a SIP network a gateway is required
>> (unless you use SIP over WebSocket).
> Yes, so that means ROAP messages will be carried over some signaling protocol - meaning ROAP is not only a protocol between the JS app and browser.

Right, but ROAP does not define the protocol and the message exchange
on the wire. Just gives some requirements for it (requirements that
are common to any VoIP protocol).

> I just want to make sure everybody has the same understanding of the scope, because at least to me it is a little unclear.

IMHO it's clear by reading "Introduction" section:

The protocol specified here defines the state machines, semantic
behaviors, and messages that are exchanged between instances of the
state machines. However, it does not specify the actual on-the-wire
transport of these messages. Rather, it assumes that the
implementation of this protocol would occur within the browser itself,
and then browser APIs would allow the application's JavaScript to
request creation of messages and insert messages into the state
machine. The actual transfer of these messages would be the
responsibility of the web application, and would utilize protocols
such as HTTP and WebSockets.

But maybe it could be improved so there are no doubts about what ROAP


Iñaki Baz Castillo