Patent ID: 9178917
Filing Date: 2015-11-03
Classification: H04L

Abstract:
1. A computer-executable method for facilitating establishment of a session initiation protocol (SIP) connection between a local endpoint and a plurality of remote endpoints of a remote device, the method comprising: sending one or more packets, by the local endpoint, to at least one server according to session traversal utilities for network address translation (NAT) protocol; determining, by the local endpoint, a type of firewall that the local endpoint is situated behind based on replies from the at least one server indicating an address observed by the at least one server from which the one or more packets were sent; sending, by the local endpoint, a single connection-request message identifying the remote device to a proxy server, wherein the proxy server forks the single connection-request message to the plurality of remote endpoints of the remote device based on a registered mapping which correlates an address for each of the plurality of remote endpoints with the remote device, each of the plurality of remote endpoints comprising a communication interface for the remote device; receiving, from the proxy server, a 200/OK message being relayed by the proxy server from each of the plurality of remote endpoints of the remote device; determining, by the local endpoint, whether to connect sequentially or in parallel to each of the plurality of remote endpoints of the remote device based on the determined type of firewall that the local endpoint is situated behind; and establishing, at an application layer, a SIP connection between the local endpoint and each of the plurality of remote endpoints of the remote device by the local endpoint sequentially sending an acknowledgement corresponding to each of the received 200/OK messages to the corresponding remote endpoint of the plurality of remote endpoints via the proxy server, wherein the acknowledgements are paced between transmissions.