<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>23572</bug_id>
          
          <creation_ts>2013-10-20 21:34:07 +0000</creation_ts>
          <short_desc>Documented format with which to specify ICE servers does not match implementation and contains typos</short_desc>
          <delta_ts>2014-10-29 18:44:20 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebRTC Working Group</product>
          <component>WebRTC API</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Robertson">matthewrobertson03</reporter>
          <assigned_to name="Web RTC Working Group">public-webrtc</assigned_to>
          <cc>adam.bergkvist</cc>
    
    <cc>harald</cc>
    
    <cc>public-webrtc</cc>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94979</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Robertson">matthewrobertson03</who>
    <bug_when>2013-10-20 21:34:07 +0000</bug_when>
    <thetext>The WebRTC W3C working draft states that multiple ICE server urls can be specified for a single set of credentials using the &quot;urls&quot; dictionary key:

http://www.w3.org/TR/webrtc/#idl-def-RTCIceServer

This does not match the current Chromium or Firefox implementations in which only single url can be specified under the &quot;url&quot; key: 

https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp&amp;l=97

Currently in the spec there is no mention of the &quot;url&quot; key (only &quot;urls&quot;) and there is no example that demonstrates specifying multiple urls for a single IceServer object. This would be a useful feature for situations in which one server is capable of providing several TURN protocols (TURNS, transport=tcp, transport=udp etc) but it is not strictly necessary, as it can currently be accomplished by passing in multiple IceServer objects each with a single URL.

Also, there is a small typo in the example JSON at the bottom of this section of the spec (4.2.2.1):

http://www.w3.org/TR/webrtc/#idl-def-RTCIceServer

[ { urls: &quot;stun:stun1.example.net } , { urls:&quot;turn:turn.example.org&quot;, username: &quot;user&quot;, credential:&quot;myPassword&quot;} ]

should be (missing &quot;):

[ { urls: &quot;stun:stun1.example.net&quot; } , { urls:&quot;turn:turn.example.org&quot;, username: &quot;user&quot;, credential:&quot;myPassword&quot;} ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94987</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-10-21 06:52:50 +0000</bug_when>
    <thetext>(In reply to Matthew Robertson from comment #0)

&gt; This does not match the current Chromium or Firefox implementations in which
&gt; only single url can be specified under the &quot;url&quot; key: 

This is a rather new feature so implementations may not have caught up yet.
 
&gt; Currently in the spec there is no mention of the &quot;url&quot; key (only &quot;urls&quot;) and
&gt; there is no example that demonstrates specifying multiple urls for a single
&gt; IceServer object. This would be a useful feature for situations in which one
&gt; server is capable of providing several TURN protocols (TURNS, transport=tcp,
&gt; transport=udp etc) but it is not strictly necessary, as it can currently be
&gt; accomplished by passing in multiple IceServer objects each with a single URL.

The &quot;url&quot; key was replaced by &quot;urls&quot; which accepts both a single url string and an array of strings. The feature is there even though the example doesn&apos;t cover it.
 
&gt; Also, there is a small typo in the example JSON at the bottom of this
&gt; section of the spec (4.2.2.1):
&gt; 
&gt; http://www.w3.org/TR/webrtc/#idl-def-RTCIceServer
&gt; 
&gt; [ { urls: &quot;stun:stun1.example.net } , { urls:&quot;turn:turn.example.org&quot;,
&gt; username: &quot;user&quot;, credential:&quot;myPassword&quot;} ]
&gt; 
&gt; should be (missing &quot;):
&gt; 
&gt; [ { urls: &quot;stun:stun1.example.net&quot; } , { urls:&quot;turn:turn.example.org&quot;,
&gt; username: &quot;user&quot;, credential:&quot;myPassword&quot;} ]

Thanks for pointing this out. It will be fixed for the next release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114218</commentid>
    <comment_count>2</comment_count>
    <who name="Harald Alvestrand">harald</who>
    <bug_when>2014-10-29 18:44:20 +0000</bug_when>
    <thetext>The missing quote has been fixed. The mismatch with implementations is the implementations&apos; problem to fix.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>