IP Library Granted Patent US 9,294,514
Granted Patent B2
US 9,294,514 · App. 14/079,520 · Granted Mar 22, 2016

Caller-callee association of a plurality of networked devices

Inventors: Isaac David Guedalia (Bet Shemesh, IL); Jacob Guedalia (New York, NY)
Assignee: QUALCOMM INCORPORATED
H04L65/1003H04L29/06027H04L29/1216H04L29/12122H04L29/12584H04L29/12896H04L61/157H04L61/1547H04L61/2596H04L61/605H04L65/103H04L65/104H04L65/1006H04L65/1026H04L65/1036H04L65/1069H04L67/24H04L41/12H04W84/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,294,514
App. No.
14/079,520
Granted
Mar 22, 2016
Kind
B2
Abstract

The present disclosure generally relates to systems and methods for establishing and maintaining communication between two or more communication devices coupled to communication networks. Some specific aspects relate to communication between a plurality of communication devices each of which is coupled to a respective network. Other aspects relate to establishing such communication by way of contact lists maintained and facilitated on systems coupled to the networks. Users of multiple communication networks, such as VoIP, PSTN and wireless, employ multiple communication devices to communicate with their contacts. For example, a VoIP enabled computer is necessary to access contacts on a VoIP network and a mobile or cellular telephone is used to access contacts on wireless and PSTN networks. A contact list, stored on one communication device, in some instances, cannot be accessed from another communication device. For example, a contact list stored in a VoIP enabled computer cannot be accessed from PSTN or wireless phone devices. Various embodiments described herein provide a convenient solution that can integrate contacts stored on different communication devices and make them accessible from a single device.

Claims (75)

1. A method of operating a server configured to selectively bridge communication between a first device and a second device, comprising:

receiving, from the first device, a request for the server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device;

determining that the server cannot bridge the communication between the first device and the second device as requested;

obtaining a given contact identifier that identifies the second device; and

providing, to the first device in response to the determination, the given contact identifier to the first device to facilitate the first device to initiate communication with the second device independently of the server.

2. The method of claim 1 ,

wherein the request is received over a public switched telephone network (PSTN) from a peer telephone module on the first device that is configured to manage PSTN calls,

wherein the request requests the server to directly bridge the communication using a PSTN link between the server and the first device and a Voice over Internet Protocol (VoIP) link between the server and the second device,

wherein the providing provides the given contact identifier is provided to a peer computer module on the first device that is configured to manage VoIP calls, and

wherein the given contact identifier is provided to the peer computer module to trigger the peer computer module to initiate a VoIP session with the second device independently of the server and the PSTN.

3. The method of claim 1 , further comprising:

obtaining a contact list that includes a set of contacts for a user of the first device, a network address for each contact in the set of contacts and a contact identifier for each contact in the set of contacts that uniquely identifies the associated contact.

4. The method of claim 3 , wherein the contact list is obtained from the first device.

5. The method of claim 3 ,

wherein the given contact identifier is obtained from the request,

wherein the given contact identifier identifies a given contact in the set of contacts that is associated with a given network address assigned to the second device, and

wherein the determination that the server cannot bridge the communication between the first device and the second device as requested is based on detection of an unsuccessful attempt by the server to connect to the second device using the given network address.

6. The method of claim 3 ,

wherein the contact list is obtained from a peer computer module provisioned on the first device that is configured to manage Voice over Internet Protocol (VoIP) calls,

wherein the request is received from a peer telephone module provisioned on the first device over a public switched telephone network (PSTN),

wherein the contact list includes a given identifier for the peer telephone module,

wherein the request includes the given identifier for the peer telephone module, and

wherein the contact list for the user of the first device is determined from the given identifier for the peer telephone module that is included in the request.

7. A method of operating a first device that is attempting to communicate with a second device, comprising:

transmitting a request for a server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device on behalf of the first device;

receiving, from the server in response to a determination that the server cannot bridge the communication between the first device and the second device as requested, a given contact identifier that identifies the second device;

identifying a network address of the second device using the given contact identifier; and

attempting to initiate communication with the second device using the identified network address independently of the server.

8. The method of claim 7 ,

wherein the request is transmitted over a public switched telephone network (PSTN) from a peer telephone module on the first device that is configured to manage PSTN calls,

wherein the request is configured to request the server to directly bridge the communication using a PSTN link between the server and the first device and a Voice over Internet Protocol (VoIP) link between the server and the second device,

wherein the given contact identifier is received by a peer computer module on the first device that is configured to manage VoIP calls, and

wherein the receipt of the given contact identifier triggers the peer computer module to initiate a VoIP session with the second device independently of the server and the PSTN.

9. The method of claim 7 , further comprising:

uploading, to the server, a contact list that includes a set of contacts for a user of the first device, a network address for each contact in the set of contacts and a contact identifier for each contact in the set of contacts that uniquely identifies the associated contact.

10. The method of claim 9 ,

wherein the given contact identifier identifies a given contact in the set of contacts that is associated with a given network address assigned to the second device, and

wherein the identifying identifies the network address as the given network address assigned to the second device.

11. The method of claim 9 ,

wherein the contact list is uploaded from the first device to the server by a peer computer module provisioned on the first device that is configured to manage Voice over Internet Protocol (VoIP) calls,

wherein the request is transmitted from the first device to the server by a peer telephone module provisioned on the first device over a public switched telephone network (PSTN),

wherein the contact list includes a given identifier for the peer telephone module, and

wherein the request includes the given identifier for the peer telephone module.

12. A server configured to selectively bridge communication between a first device and a second device, comprising:

means for receiving, from the first device, a request for the server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device;

means for determining that the server cannot bridge the communication between the first device and the second device as requested;

means for obtaining a given contact identifier that identifies the second device; and

means for providing, to the first device in response to the determination, the given contact identifier to the first device to facilitate the first device to initiate communication with the second device independently of the server.

13. A first device that is attempting to communicate with a second device, comprising:

means for transmitting a request for a server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device on behalf of the first device;

means for receiving, from the server in response to a determination that the server cannot bridge the communication between the first device and the second device as requested, a given contact identifier that identifies the second device;

means for identifying a network address of the second device using the given contact identifier; and

means for attempting to initiate communication with the second device using the identified network address independently of the server.

14. A server configured to selectively bridge communication between a first device and a second device, comprising:

a processor coupled to a communication port and configured to:

receive, from the first device, a request for the server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device;

determine that the server cannot bridge the communication between the first device and the second device as requested;

obtain a given contact identifier that identifies the second device; and

provide, to the first device in response to the determination, the given contact identifier to the first device to facilitate the first device to initiate communication with the second device independently of the server.

15. A first device that is attempting to communicate with a second device, comprising:

a processor coupled to a communication port and configured to:

transmit a request for a server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device on behalf of the first device;

receive, from the server in response to a determination that the server cannot bridge the communication between the first device and the second device as requested, a given contact identifier that identifies the second device;

identify a network address of the second device using the given contact identifier; and

attempt to initiate communication with the second device using the identified network address independently of the server.

16. A non-transitory computer-readable medium containing instructions stored thereon, which, when executed by a server configured to selectively bridge communication between a first device and a second device, cause the server to perform operations, the instructions comprising:

at least one instruction for causing the server to receive, from the first device, a request for the server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device;

at least one instruction for causing the server to determine that the server cannot bridge the communication between the first device and the second device as requested;

at least one instruction for causing the server to obtain a given contact identifier that identifies the second device; and

at least one instruction for causing the server to provide, to the first device in response to the determination, the given contact identifier to the first device to facilitate the first device to initiate communication with the second device independently of the server.

17. A non-transitory computer-readable medium containing instructions stored thereon, which, when executed by a first device that is attempting to communicate with a second device, cause the first device to perform operations, the instructions comprising:

at least one instruction for causing the first device to transmit a request for a server to initiate a voice communication session with the second device by directly bridging communication between the first device and the second device on behalf of the first device;

at least one instruction for causing the first device to receive, from the server in response to a determination that the server cannot bridge the communication between the first device and the second device as requested, a given contact identifier that identifies the second device;

at least one instruction for causing the first device to identify a network address of the second device using the given contact identifier; and

at least one instruction for causing the first device to attempt to initiate communication with the second device using the identified network address independently of the server.

Assignments (5)
CORRECTIVE ASSIGNMENT TO REMOVE THE APPLICATION NUMBER 60942559 PREVIOUSLY RECORDED AT REEL: 033590 FRAME: 0581. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 2, 2014
From: QUALCOMM CONNECTED EXPERIENCES, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 033677/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2014
From: QUALCOMM CONNECTED EXPERIENCE, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 033590/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2014
From: GUEDALIA, JACOB; GUEDALIA, ISAAC DAVID
To: ISKOOT, INC.
Reel/Frame 033479/0865 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2014
From: ISKOOT, INC.
To: QUALCOMM ISKOOT, INC.
Reel/Frame 033480/0306 →
CHANGE OF NAME Recorded Aug 6, 2014
From: QUALCOMM ISKOOT, INC.
To: QUALCOMM CONNECTED EXPERIENCES, INC.
Reel/Frame 033483/0365 →
Continuity (9)
Continuation 11435200 · May 15, 2006
Provisional Application 60694674 · Jun 29, 2005
Provisional Application 60700749 · Jul 20, 2005
Provisional Application 60706047 · Aug 8, 2005
Provisional Application 60718305 · Sep 20, 2005
Provisional Application 60749580 · Dec 13, 2005
Provisional Application 60762901 · Jan 30, 2006
Provisional Application 60765198 · Feb 6, 2006
Related Publication 20140079054A1 · Mar 20, 2014