Systems for providing peer-to-peer communications
First Claim
Patent Images
1. A method comprising:
- initiating a cellular call with a second client device;
determining if an alternate communication channel is available;
if it is determined that the alternate communication channel is available, transmitting a first message to the second client device, the first message including a first list of at least one candidate internet protocol address for a first client device;
in response to the transmitted message, receiving a second message from the second client device; and
establishing a peer-to-peer call over a network connection with the second client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message includes a text message for exhibition at the second client device asking a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary.
2 Assignments
0 Petitions
Accused Products
Abstract
Improved systems and methods for establishing peer-to-peer calls such as voice over IP calls and video over IP calls. In various embodiments of the invention, SMTP messages are exchanged between devices using a SMTP server, with the SMTP messages including IP address information. With this arrangement, the need for SIP service providers can be eliminated. In other embodiments of the present invention, SMS messages including IP address information are transmitted between devices during a GSM or other type of telephone call, enabling the call to “migrate” to a VoIP or video over IP call.
28 Citations
33 Claims
-
1. A method comprising:
-
initiating a cellular call with a second client device; determining if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmitting a first message to the second client device, the first message including a first list of at least one candidate internet protocol address for a first client device; in response to the transmitted message, receiving a second message from the second client device; and establishing a peer-to-peer call over a network connection with the second client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message includes a text message for exhibition at the second client device asking a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
initiating a cellular call with a second client device; determining if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmitting a first message to the second client device, the first message including a first list of at least one candidate internet protocol address for a first client device; in response to the transmitted message, receiving a second message from the second client device; providing a user with an option of establishing a peer-to-peer call over a network connection with the second client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message includes a text message for exhibition at the second client device asking a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary; and dropping the cellular call. - View Dependent Claims (13)
-
-
14. A method comprising:
-
initiating a cellular call with a second client device; determining if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmitting a first message to the second client device, the first message including a first list of at least one candidate internet protocol address for a first client device; in response to the transmitted message, receiving a second message from the second client device; establishing a peer-to-peer call over a network connection with the second client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message includes a text message for exhibition at the second client device asking a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary; and after establishing the peer-to-peer call, maintaining the cellular call for audio communication and using the peer-to-peer call for video communication.
-
-
15. An apparatus comprising:
-
a memory unit configured to store computer code; and a processor, operatively connected to the memory, the processor configured to execute the computer code to control the apparatus to; initiate a cellular call with a receiving client device; determine if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmit a first message to the receiving client device, the first message including a first list of at least one candidate internet protocol address for a calling client device; in response to the transmitted message, receive a second message from the receiving client device; and establish a peer-to-peer call over a network connection with the receiving client device using one of the candidate internet protocol addresses for the calling client device and information included in the second message wherein the first message includes a text message for exhibition at the receiving client device asking a user of the receiving client device to obtain necessary software to complete the peer-to-peer call if necessary; and drop the cellular call.
-
-
16. A method comprising:
-
receiving a cellular call from a first client device; determining if an alternate communication channel is available; if it is determined that the alternate communication channel is available, receiving a first message from the first client device, the first message including a first list of at least one candidate internet protocol address for the first client device; in response to the received message, transmitting a second message to the first client device; establishing a peer-to-peer call over a network connection with the first client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message includes a text message for exhibition at a second client device asking a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary; and dropping the cellular call. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. An apparatus comprising:
-
a memory unit configured to store computer code; and a processor, operatively connected to the memory, the processor configured to execute the computer code to control the apparatus to; receive a cellular call from a calling client device; determine if an alternate communication channel is available; if it is determined that the alternate communication channel is available, receive a first message from the calling client device, the first message including a first list of at least one candidate internet protocol address for the calling client device; in response to the received message, transmit a second message to the calling client device; establish a peer-to-peer call over a network connection with the calling client device using one of the candidate internet protocol addresses for the calling client device and information included in the second message, wherein the first message includes a text message for exhibition at a receiving client device asking a user of the receiving client device to obtain necessary software to complete the peer-to-peer call if necessary; and drop the cellular call.
-
-
24. A method comprising:
-
initiating a cellular call with a second client device; determining if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmitting a first message to the second client device, the first message including a first list of at least one candidate internet protocol address for a first client device; in response to the transmitted message, receiving a second message from the second client device; establishing a peer-to-peer call over a network connection with the second client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message is transmitted according to simple mail transfer protocol and is relayed to the second client device through a simple mail transfer protocol server; wherein the first message includes a text message for exhibition at the second client device asking a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary; and dropping the cellular call. - View Dependent Claims (25)
-
-
26. An apparatus comprising:
-
a memory unit configured to store computer code; and a processor, operatively connected to the memory, the processor configured to execute the computer code to control the apparatus to; initiate a cellular call with a receiving client device; determine if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmit a first message to the receiving client device, the first message including a first list of at least one candidate internet protocol address for a calling client device; in response to the transmitted message, receive a second message from the receiving client device; establish a peer-to-peer call over a network connection with the receiving client device using one of the candidate internet protocol addresses for the calling client device and information included in the second message, wherein the first message is transmitted according to simple mail transfer protocol and is relayed to the client through a simple mail transfer protocol server; wherein the first message includes a text message for exhibition at the receiving client device asking a user of the receiving client device to obtain necessary software to complete the peer-to-peer call if necessary; and drop the cellular call. - View Dependent Claims (27)
-
-
28. A method comprising:
-
receiving a cellular call from a first client device; determining if an alternate communication channel is available; if it is determined that the alternate communication channel is available, receiving a first message from the first client device, the first message including a first list of at least one candidate internet protocol address for the first client device; in response to the received message, transmitting a second message to the first client device; establishing a peer-to-peer call over a network connection with the first client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message is transmitted according to simple mail transfer protocol and is relayed to the client through a simple mail transfer protocol server; wherein the first message includes a text message for exhibition at a second client device as a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary; and dropping the cellular call. - View Dependent Claims (29)
-
-
30. An apparatus comprising:
-
a memory unit configured to store computer code; and
a processor, operatively connected to the memory, the processor configured to execute the computer code to control the apparatus to;receive a cellular call from a calling client device;
;determine if an alternate communication channel is available; if it is determined that the alternate communication channel is available, receive a first message from the calling client device, the first message including a first list of at least one candidate internet protocol address for the calling client device; in response to the transmitted message, transmit a second message to the calling client device; establish a peer-to-peer call over a network connection with the calling client device using one of the candidate internet protocol addresses for the calling client device and information included in the second message, wherein the first message is transmitted according to simple mail transfer protocol and is relayed to the client through a simple mail transfer protocol server; wherein the first message includes a text message for exhibition at a receiving client device asking a user of the receiving client device to obtain necessary software to complete the peer-to-peer call if necessary; and drop the cellular call. - View Dependent Claims (31)
-
-
32. A method comprising:
-
initiating a cellular call with a second client device; determining if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmitting a first message to the second client device, the first message including a first list of at least one candidate internet protocol address for a first client device; in response to the transmitted message, receiving a second message from the second client device; establishing a peer-to-peer call over a network connection with the second client device using one of the candidate internet protocol addresses for the first client device and information included in the second message, wherein the first message is transmitted in response to one of the first client device being activated and a user logging in to the first client device; wherein the first message includes a text message for exhibition at the second client device asking a user of the second client device to obtain necessary software to complete the peer-to-peer call if necessary; and dropping the cellular call.
-
-
33. An apparatus comprising:
-
a memory unit configured to store computer code; and a processor, operatively connected to the memory, the processor configured to execute the computer code to control the apparatus to; initiate a cellular call with a receiving client device; determine if an alternate communication channel is available; if it is determined that the alternate communication channel is available, transmit a first message to the receiving client device, the first message including a first list of at least one candidate internet protocol address for a calling client device; in response to the transmitted message, receive a second message from the receiving client device; establish a peer-to-peer call over a network connection with the receiving client device using one of the candidate internet protocol addresses for the calling client device and information included in the second message, wherein the first message is transmitted in response to one of the calling client device being activated and a user logging in to the calling client device; wherein the first message includes a text message for exhibition at the receiving client device asking a user of the receiving client device to obtain necessary software to complete the peer-to-peer call if necessary; and drop the cellular call.
-
Specification