I'm working on a live video Java application, and have run into the common problem of NAT traversal - two computers can connect to each other on local network, but not when they're behind NATs. I've done some research and the easiest option to get my head round is the JSTUNT library from Cornell.
However, it seems to require you to use a URI to connect the computers together, and I'm really not sure how to do this - is there a way of discovering your own URI in Java?
Their STUNTServer class seems designed to do this, but as near as I can work out only returns socket.getSocketAddress() - which doesn't seem to be the same as a URI.
Any insight would be appreciated.