<div dir="ltr">This is something that has forced me to avoid ICE as a solution for our most recent project. Our project uses a server that only listens on 1 UDP port, expecting all clients to be able to reach it. Presumably this means we cannot reliably use STUN/TURN to solve the NAT traversal problem?</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 5, 2014 at 12:47 AM, Philip Withnall <span dir="ltr"><<a href="mailto:philip@tecnocode.co.uk" target="_blank">philip@tecnocode.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, 2014-11-04 at 12:55 +0100, <a href="mailto:fb111@web.de">fb111@web.de</a> wrote:<br>
> yes, very helpful! Can you describe what the process is when a node<br>
> wants to stay registerd with a singaling/ rendevouzserver, but does<br>
> not receive a request for a connection?<br>
> As far as I understand, the node first performs the binding request<br>
> with STUN and TURN an THEN forwards the information of the IPs and<br>
> ports to the rendezvousserver, so that other nodes know how to reach<br>
> this node, right?<br>
> Do you need to keep this registration with the rendezvousserver alive,<br>
> to avoid the shutdown of the portmapping on the NAT router by sending<br>
> keep alive STUN signals?<br>
<br>
That’s incorrect. The STUN and TURN negotiations are specific to each<br>
remote peer, so must be performed at the point when two nodes need to<br>
connect.<br>
<br>
This has to be the case because various NAT configurations can limit<br>
port bindings to packets coming from specific external IP/port<br>
combinations. So if you have node A which has established a port mapping<br>
in its NAT and sent the WAN IP/port for that mapping to the signalling<br>
server, then later node B tries to connect, the packets may be dropped<br>
by the NAT because they’re coming from an external IP/port combination<br>
(node B’s WAN address) which the mapping wasn’t created for.<br>
<br>
You may still want to keep each node registered with the signalling<br>
server, for control purposes, but you will need to design your own<br>
protocol for doing that (or use whatever protocol the existing<br>
signalling server you’re using uses). That protocol will be entirely<br>
separate from ICE.<br>
<span class="HOEnZb"><font color="#888888"><br>
Philip<br>
</font></span><br>_______________________________________________<br>
nice mailing list<br>
<a href="mailto:nice@lists.freedesktop.org">nice@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/nice" target="_blank">http://lists.freedesktop.org/mailman/listinfo/nice</a><br>
<br></blockquote></div><br></div>