Re: [rtcweb] Data channel: JavaScript usage of data channel without the Data Channel Protocol?

Christer Holmberg <> Wed, 12 February 2014 10:28 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 90E2A1A091B for <>; Wed, 12 Feb 2014 02:28:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.85
X-Spam-Status: No, score=-3.85 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wDP4phqdAMYh for <>; Wed, 12 Feb 2014 02:28:16 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 9CEA11A0928 for <>; Wed, 12 Feb 2014 02:28:14 -0800 (PST)
X-AuditID: c1b4fb25-b7f038e000005d01-96-52fb4cbc3e52
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id 2B.5E.23809.CBC4BF25; Wed, 12 Feb 2014 11:28:13 +0100 (CET)
Received: from ([]) by ([]) with mapi id 14.02.0387.000; Wed, 12 Feb 2014 11:28:12 +0100
From: Christer Holmberg <>
To: Richard Ejzak <>
Thread-Topic: [rtcweb] Data channel: JavaScript usage of data channel without the Data Channel Protocol?
Thread-Index: Ac8jLH45tofIO7FIT8mB4CIU+axUagEL66gAACAtcJA=
Date: Wed, 12 Feb 2014 10:28:12 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_7594FB04B1934943A5C02806D1A2204B1D16E732ESESSMB209erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCLMWRmVeSWpSXmKPExsUyM+Jvje5en99BBm8fcFs8621gtVj7r53d gclj56y77B5LlvxkCmCK4rJJSc3JLEst0rdL4Mq48uYQW8GpgIreLwvYGhi/uHUxcnJICJhI 7DjaygZhi0lcuLceyObiEBI4xCjx5cB5VghnMaPEw+sPgRwODjYBC4nuf9ogDSIC2hLbXj5g AbGZBdQl7iw+xw5iCwtkSqxZ38oIUZMl8XjGL3YI20rixsUJYHEWAVWJ83dugNm8Ar4Sj/fc ZoHYNYVR4unhJrChnAKBEqcaNrKC2IxA130/tYYJYpm4xK0n85kgrhaQWLLnPDOELSrx8vE/ sDslBBQllvfLQZTnS/yb1sUCsUtQ4uTMJywTGEVnIZk0C0nZLCRlEHEdiQW7P7FB2NoSyxa+ Zoaxzxx4zIQsvoCRfRUje25iZk56udEmRmBMHdzyW3UH451zIocYpTlYlMR5P7x1DhISSE8s Sc1OTS1ILYovKs1JLT7EyMTBKdXAWJ/5XudmzCKOpKcrf8+edd47glct/GGh/ub2mfVVPHOb r2fMtPu9+O/jsHxZf7YT9yU69FMznjfKepmJN+6/7Ni3Z0uTWPLC7o3Xu/jeH9qV+arOwu2J 0ps5a+ZNZT3XJHRlWqj/nSLFoIdivgffeX54rioxzWjxw6Zvfbtje+9YJiQevKu7WomlOCPR UIu5qDgRACvJ+yl3AgAA
Cc: "" <>
Subject: Re: [rtcweb] Data channel: JavaScript usage of data channel without the Data Channel Protocol?
X-Mailman-Version: 2.1.15
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, 12 Feb 2014 10:28:19 -0000

Hi Richard,

Specific applications can decide who opens the data channel, when to start sending data, etc.



From: Richard Ejzak []
Sent: 11. helmikuuta 2014 22:05
To: Christer Holmberg
Subject: Re: [rtcweb] Data channel: JavaScript usage of data channel without the Data Channel Protocol?

Hi Christer,
I didn't see any other response to your question, but please excuse me if I missed it.

My understanding of this case is that if DCEP is not used, the "open" event is triggered once the browser finishes creating the protocol machinery for the data channel being created.  This is the only mechanism available to acknowledge to the JS app that the data channel has been set up since, as you say, the browser will neither send nor receive an open/ack message.  I don't see any other reasonable alternative to this without API changes.

There is a slight problem with this since the peer may not have established the protocol machinery necessary to actually communicate on the created data channel.  Some external mechanism is necessary to verify that both peers have "opened" the same data channel before either party sends data.  See my draft on SDP for external negotiation of data channels for a description of one way to do this.


On Thu, Feb 6, 2014 at 5:15 AM, Christer Holmberg <<>> wrote:

As was indicated earlier, the usage of the Data Channel Protocol (DCP) is optional with the Data Channel.

However, if I understand the API correctly, only the DCP "open"/"ack" messages will trigger a JavaScript "open" event.

If so, how will my JS App be able to use the data channel if I do NOT use the Data Channel Protocol? Can I use it without the "open" event, and/or is there something else that will trigger it?



rtcweb mailing list<>