you should look at croquet. I believe it was in pharo��and they had code to configure the router so they tunnel through. I used something similar to do port forwarding in VW so opentalk and DST could talk through a firewall and connections from the outside could be sent back etc.