Establishing a Connection for a Video Call
Abstract
A system and method for conducting a video call between an originating device and a terminating device by establishing a peer-to-peer (P2P) connection between the devices. The originating and terminating devices exchange candidate information through a P2P server, except that the candidate information for the terminating device is altered before arriving at the originating device. The altering includes changing the IP address and corresponding port for each candidate. The originating device uses the altered candidate information to derive new candidate pairs that are sent to the terminating device, which uses the new candidate pairs to also derive a second candidate list. If the candidate pairs match, a P2P connection is established between the devices.
Claims
exact text as granted — not AI-modified1 - 17 . (canceled)
18 . A method, performed in a system that includes an originating device,
a terminating device, a first network address translation (NAT) device that performs NAT for the originating device, a second NAT device that performs NAT for the terminating device, and a videotelephony server, the method comprising: sending, via the first NAT device, a first message to the videotelephony server that includes first information relating to the originating device; sending to the terminating device, via the second NAT device, the first message including the first information; generating a first list based on at least the first information in the first message and second information relating to the terminating device; sending, via the second NAT device, a second message to the videotelephony server including the second information; and generating a second list based on the first information and the second information.
19 . The method of claim 18 , wherein the first information has a unique identifier and includes at least an Internet Protocol (IP) address and a port number.
20 . The method of claim 18 , wherein the sending the first message to the terminating device is routed through at least the videotelephony server and a push notification server.
21 . The method of claim 18 , wherein the generating a first list is generating a first list of candidate pairs based on at least the first information in the first message and second information relating to the terminating device, wherein the second information has a unique identifier and includes at least an IP address and a port number.
22 . The method of claim 20 , further comprising:
adjusting, by the videotelephony server, the unique identifier of the second information to create an adjusted second information.
23 . The method of claim 22 , further comprising:
sending to the originating device, routed through at least the videotelephony server and the push notification server via the first NAT device, a third message including the adjusted second information.
24 . The method of claim 23 , further comprising:
sending a binding request to the originating device, the binding request including the first list; and determining if the binding request is received within a predetermined amount of time after the third message is sent to the originating device.
25 . A method, comprising:
at an originating device:
receiving, from a network address translation (NAT) device associated with the originating device, first candidate information related to the originating device;
sending a message including the first candidate information;
receiving second candidate information related to the terminating device, wherein each candidate of the second candidate information includes altered IP address and corresponding altered port number and retained respective candidate unique identifier;
generating a first list of candidate pairs based on the first candidate information and the second candidate information;
26 . The method of claim 25 , wherein each candidate of the first candidate information has a unique identifier and includes at least a respective Internet Protocol (IP) address and corresponding port number
27 . The method of claim 26 , wherein the message is bound for a terminating device with which the originating device is attempting to establish a peer-to-peer (P2P) connection
28 . The method of claim 28 , wherein the message is routed through at least a videotelephony server and a push notification server
29 . The method of claim 28 , wherein the altered IP address and altered port number is different from an actual IP address and port number for each candidate
30 . The method of claim 29 , further comprising:
receiving a binding request including a second list of candidate pairs from the terminating device within a predetermined period of time from receiving the second candidate information; determining if any of the candidate pairs from the first list match any of the candidate pairs from the second list; when there is no match between the candidate pairs from the first list and the second list, deriving a new candidate related to the terminating device based on at least a source address and port number included in the binding request;
generating a new candidate pair based on the new candidate and the first candidate information;
generating a binding response including the new candidate pair and a derivation indication, wherein the derivation indication indicates to the terminating device that a second new candidate is to be derived; and
sending the binding response to the terminating device;
31 . The method of claim 30 , further comprising:
sending a second binding request to the terminating device including the new candidate pair; receiving a second binding response from the terminating device including the new candidate pair; determining, by the originating device, if a binding request is received within a predetermined amount of time; and establishing the peer-to-peer (P2P) connection with the terminating device.
32 . A method, comprising:
at a terminating device:
receiving, from a network address translation (NAT) device associated with the terminating device, first candidate information related to the terminating device,
receiving second candidate information related to an originating device that is attempting to establish a peer-to-peer (P2P) connection with the terminating device;
sending a message including the first candidate information; and
generating a first list of candidate pairs based on the first candidate information and the second candidate information.
33 . The method of claim 32 , wherein each candidate of the first and second candidate information has a unique identifier and includes at least a respective Internet Protocol (IP) address and corresponding port number
34 . The method of claim 33 , wherein the message is bound for the originating device, the message is routed through a videotelephony server that alters the unique identifier in the second candidate information
35 . The method of claim 34 , further comprising:
sending a binding request including the first list of candidate pairs to the originating device; and receiving a binding response from the originating device, the binding response including a second list of candidate pairs and a derivation indication, wherein one of the candidate pairs of the second list includes a new candidate derived by the originating device, wherein the derivation indication indicates to the terminating device that a second new candidate is to be derived by the terminating device;
36 . The method of claim 35 , further comprising:
deriving the second new candidate related to the terminating device based on at least an IP address and port number of the new candidate of the one of the candidate pairs of the second list; generating a new candidate pair based on the second new candidate and the second candidate information; and receiving a second binding request from the originating device including the new candidate pair;
37 . The method of claim 36 , further comprising:
sending to the originating device a second binding response including the new candidate pair; determining, by the originating device, if a binding request is received within a predetermined amount of time; and establishing the peer-to-peer (P2P) connection with the originating device.Join the waitlist — get patent alerts
Track US2017064253A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.