a communication system includes a first endpoint located behind a first connectivity barrier , such as a firewall or a consumer gateway , and a second endpoint . a service is arranged to respond to a request from the first endpoint to establish communications with the second endpoint by assigning a server to handle a session between the first endpoint and the service . a session initiated by the second endpoint is established with the service if the second endpoint is located behind a second connectivity barrier . if the second endpoint is not located behind a connectivity barrier , a transport level communications connection can be established with the second endpoint . in some cases , the service can instruct the first endpoint to establish a direct session with the second endpoint .