Patent ID: 8750280

Claim:
A system for peer-to-peer communications, the system comprising: a media router positioned within a first network; a first endpoint positioned within the first network and coupled to the media router and an access server positioned within the first network, wherein the access server includes at least one lookup table containing direct routing information corresponding to a first endpoint located in the first network and gateway routing information corresponding to a second endpoint located outside of the first network in a second network, wherein the second endpoint is only accessible via a plurality of gateways that are external to the first network, the first endpoint having a first address and a first port, wherein the first endpoint is configured to communicate with the second endpoint that is coupled to the media router via one of the plurality of gateways, the second endpoint having a second address and second port, wherein the first endpoint is coupled to symmetric network address translation (NAT) functionality separating it from the media router and the second endpoint, and wherein the first endpoint is configured to obtain the at least one lookup table from the access server and connect directly to one of the plurality of gateways to establish a connection with the second endpoint if the symmetric NAT functionality is disabled or to the media router to establish a connection with the second endpoint if the symmetric NAT functionality is enabled; and a plurality of executable instructions stored on the media router for execution by a processor contained within the media router, the instructions including: instructions for creating a third port on the media router after receiving a connection request at the media router from the first endpoint for a connection to the second endpoint; instructions for determining whether audio received at the third port is from the first address; instructions for capturing the first port if the audio received at the third port is from the first address; instructions for determining whether the second address and second port are stored on the media router; instructions for forwarding the audio to the second endpoint if the second address and second port are stored on the media router; and instructions for capturing the second address and second port and storing the second address and second port on the media router if the audio received at the third port is not from the first address and if the second address and second port are not stored on the media router, wherein the second address and second port are captured and stored for use by the media router in forwarding the audio to the second endpoint.