Patent ID: 8194683

Claim:
A method of establishing communication between a first client adapted to communicate with a first Internet Protocol version 6 (IPv6) network and a second client adapted to communicate with a second IPv6 network, the first client and the second client being connected by an Internet Protocol version 4 (IPv4) network comprising a server, the method comprising performing, at the first client, acts of: a) determining whether the first client adapted to communicate with the first IPv6 network is connected to the IPv4 network comprising the server via a symmetric Network Address Translator (NAT); b) when it is determined that the first client is connected to the IPv4 network via a symmetric NAT, attempting to create a static port mapping for the first client on the symmetric NAT by sending a Universal Plug and Play (UPnP) message to the symmetric NAT requesting that the static port mapping be created; c) when the static port mapping for the first client is successfully created on the symmetric NAT in response to the UPnP message: i) sending, to the second client via the server, a first packet comprising a nonce, wherein the sending comprises sending the first packet from the first client to the IPv4 network via the symmetric NAT, the first packet indicating a first communication port for the second client; ii) receiving, from the second client via the symmetric NAT, a second packet comprising the nonce, the second packet indicating a second communication port for the second client; iii) comparing the first communication port and the second communication port; iv) when the first communication port and the second communication port are different, sending a third packet to the second client, the third packet indicating the first communication port for the second client; and v) when the first communication port and the second communication port are not different, sending the third packet to the second client, the third packet indicating the second communication port for the second client.