- From: Justin Uberti <juberti@google.com>
- Date: Wed, 12 Jun 2013 11:43:43 -0700
- To: "Cullen Jennings (fluffy)" <fluffy@cisco.com>
- Cc: Eric Rescorla <ekr@rtfm.com>, Martin Thomson <martin.thomson@gmail.com>, "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <CAOJ7v-0NNYn9MGfhpXvbUXqzZgPmoDQELCqg2hNdBnhMNg0=VQ@mail.gmail.com>
OK, going to summarize this into text for the editors to put into the spec. On Tue, Jun 11, 2013 at 11:23 PM, Cullen Jennings (fluffy) <fluffy@cisco.com > wrote: > > I could live with that. > > On Jun 12, 2013, at 9:26 AM, Justin Uberti <juberti@google.com> > wrote: > > > I looked over RFC 5928, and I see what you are saying - depending on > what you fill in in the TURN URI, you get either no resolution (IP:port), A > lookup (hostname:port), SRV lookup (hostname:transport), S-NAPTR lookup > (hostname only). > > > > So, winding back to the original proposal: > > - RTCIceConfiguration currently contains a list of RTCIceServers > (allowing for multiple different STUN/TURN servers to be specified, and all > of them used). > > - RTCIceServer currently contains |uri|, |username|, and |password| > fields. > > - If you want to use S-NAPTR to look up the ports for UDP/TURN/TLS for a > given TURN server, you supply "turn:<hostname>" in the |uri| field, as > indicated by RFC 5928. Same for SRV lookup. > > - However, if you want to specify the ports directly in JS, we need a > way to pass in multiple URIs for a single RTCIceServer. > > - Therefore, we should change RTCIceServer to have a |uris| field, which > would be a list of STUN/TURN URIs that correspond to a *single* STUN/TURN > server, in preference order. > > - Aside from this syntax change, all other RTCIceServer usages are > unaffected (e.g. you still put multiple RTCIceServers into a > RTCIceConfiguration to support the multiple server case). > > > > > > On Fri, Jun 7, 2013 at 8:56 PM, Cullen Jennings (fluffy) < > fluffy@cisco.com> wrote: > > > > On Jun 8, 2013, at 3:14 AM, Justin Uberti <juberti@google.com> wrote: > > > > > > > > > > > > > > On Thu, Jun 6, 2013 at 9:42 PM, Cullen Jennings (fluffy) < > fluffy@cisco.com> wrote: > > > > > > On Jun 6, 2013, at 10:30 PM, Justin Uberti <juberti@google.com> wrote: > > > > > > > The sections you are pointing to discuss the use of SRV to perform a > lookup of a STUN or TURN server for a particular domain. How did you see > this working with a TURN URI? > > > > > > > > That is, if the TURN URI specifies turn:foo.example.com, are you > expecting the browser to do a SRV lookup of _turn._udp.foo.example.com, > _turn._tcp.foo.example.com, and _turns._tcp.foo.example.com - each of > which will return a DNS name that will require another query to obtain the > IP address? > > > > > > > > > > > > > > Yes. Pretty much. Keep in mind the server has no idea which will works > so you are going to need to try the transports to see what works. > > > > > > Of course. But the thing to also keep in mind is that the server can > also supply up-to-date information for each client, which is a lot > different than the historical SIP client model, where the names would have > to be baked into the binary. So some of the rationale for using SRV doesn't > really apply here. > > > > > > It seems much easier for the web server to send down a list of DNS > names (or IPs, if desired) for all the transports for a particular TURN > server, and then the client can try them all in parallel, stopping > immediately if UDP is found to work. > > > > > > This only requires a single DNS lookup (assuming the same TURN host is > used for all transports), compared to 2 for the SRV approach. It also lets > the web application do load-balancing, instead of pushing this onto the DNS > rotor. > > > > > > > Sure - and go one step further and just send the IP address in the TURN > URN if the web server can control all that. I thought that was the point of > the current TURN URN design such that you can have just a domain and the > discover of protocols happens, or you have a URN that locks down the > protocol, or you have a URN that is an IP with no use of DNS. Seems like > different folks will want different variants of that. > > > > So I don't feel strongly about any of the design here but it seemed like > it pretty much did what was needed. The only issues seems to be if you find > more than one TURN server, does the browser include candidates for just the > first TURN server to work or does it include candidates for all of them. I > don't care much one way or the other but if one really cared seems like > adding a SRV style priority to each TURN URN would solve the problem in a > very flexible way and not change the code much from existing SRV code. > > > > > > > > > > > > > >
Received on Wednesday, 12 June 2013 18:44:30 UTC