Patent ID: 7804830

Claim:
A method for establishing direct Internet Protocol (IP) connectivity between communication devices where at least one of the communication devices resides behind a network address translator (NAT) device, the method comprising the steps of: establishing an association between the first communication device and a first service node; in the first service node, receiving a request from the first communication device for the direct IP connectivity to a target communication device identified in the request; detecting that the first communication device resides behind a first NAT device; testing the first NAT device so as to determine selected characteristics of the first NAT device; receiving indicia of the selected characteristics of the first NAT device as determined by said testing step; storing the received indicia of the selected characteristics of the first NAT device at a selected collection point; identifying a second service node, the second service node associated with the target communication device identified in the request; determining whether the target communication device resides behind a second NAT device; if the target communication device resides behind the second NAT device, testing the second NAT device so as to determine selected characteristics of the second NAT device; if the target communication device resides behind the second NAT device, receiving indicia of the selected characteristics of the second NAT device; if the target communication device resides behind the second NAT device, storing the received indicia of the selected characteristics of the second NAT device at the selected collection point; at the selected collection point, based on the stored indicia of the selected characteristics of the first NAT device and if applicable the second NAT device, defining at least one IP connectivity pathway so as to realize direct IP communication between the first communication device and the target communication device; instructing the first communication device on how to self-configure to support the defined IP connectivity pathway; and instructing the target communication device on how to self-configure to support the defined IP connectivity pathway.