I'll be honest, I'm currently abusing the STUN servers that Google uses in their own WebRTC examples and will need to evaluate my own options. I was under the impression that STUN could be used to establish a connection that from then forward was able to be only peer to peer after the connection through the NAT had been established.