Re: If only
The solution to peer to peer NAT and firewall traversal others use is to connect both sides to a mediation server so that they can more or less simultaneously open connections to each other. While this isn't 100% reliable, it works most of the time and for the few times it still doesn't work, you already have a mediation server to act as a go between.