Patent ID: 8224985

Claim:
A method for peer-to-peer connection over a network between a first node behind a first network address translator (NAT) and a second node behind a second NAT, despite the first NAT and the second NAT intervening between the first and second nodes, wherein the first NAT is a Symmetric NAT, the method comprising the steps of: performing a port prediction on the first NAT with the first node wherein the first node uses a port allocation rule discovery process to determine port allocation characteristics of the first NAT and constructs a list of predicted transport addresses on the first NAT according to the determined port allocation characteristics; sending an INVITE message containing the list of predicted transport addresses from the first node to the second node, wherein the INVITE message does not contain a NAT type or NAT behavior information for the first NAT; and performing a connectivity check using the predicted transport addresses by sending one or more STUN packets from the first node to one or more transport addresses provided by the second node in a provisional response to the INVITE message and receiving a STUN packet response from the second node at the first node, wherein the STUN packet response includes a transport address of an external port on the second NAT through which one of the STUN packets sent from the first node reached the second node.