Caller-callee association of a plurality of networked devices
First Claim
1. A method for establishing communication between a first device and a second device, comprising:
- at a server, receiving a communication request from said first device coupled to said server over a network, wherein said first device is associated with a user;
at the server, receiving a caller identification code from said first device identifying said first device or the user;
at the server, receiving an alphanumeric code via a data channel from said first device identifying a callee user of said second device;
at the server, determining whether the server can directly establish communication between said first device and said second device;
at the server, if the determining step determines that the server cannot directly establish communication between said first device and said second device, using a contact database to associate said alphanumeric code and said caller identification code with a callee address of said second device stored in the contact database and providing the callee address to a given device that is associated with said first device, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; and
at the server, if the determining step determines that the server can directly establish communication between said first device and said second device, setting up a voice communication call between said first device and said second device.
8 Assignments
0 Petitions
Accused Products
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.
106 Citations
30 Claims
-
1. A method for establishing communication between a first device and a second device, comprising:
-
at a server, receiving a communication request from said first device coupled to said server over a network, wherein said first device is associated with a user; at the server, receiving a caller identification code from said first device identifying said first device or the user; at the server, receiving an alphanumeric code via a data channel from said first device identifying a callee user of said second device; at the server, determining whether the server can directly establish communication between said first device and said second device; at the server, if the determining step determines that the server cannot directly establish communication between said first device and said second device, using a contact database to associate said alphanumeric code and said caller identification code with a callee address of said second device stored in the contact database and providing the callee address to a given device that is associated with said first device, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; and at the server, if the determining step determines that the server can directly establish communication between said first device and said second device, setting up a voice communication call between said first device and said second device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 26)
-
-
16. A method of establishing communication between a first device and a second device, comprising:
-
receiving a communication request from said first device coupled to a server over a data channel of a network, wherein said first device is associated with a user, and wherein said first device communicates via said data channel and a voice channel; receiving a caller identification code via said data channel from said first device identifying said first device or said user; receiving a unique callee code, including alphabetical code content from said first device via said data channel identifying a callee user of said second device; using a contact database to associate the unique callee code and the caller identification code with a plurality of callee network identifiers, wherein each callee network identifier identifies a different network associated with the callee user, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; sending to the first device the plurality of callee network identifiers; receiving, from the first device, a selection of one of the plurality of callee network identifiers; attempting to establish voice communication between the first device and the second device associated with a callee address associated with the selected callee network identifier, wherein said voice communication includes voice communication over said voice channel; and providing the callee address to a given device that is associated with the first device if the attempt to establish the voice communication is unsuccessful. - View Dependent Claims (17, 18)
-
-
20. A server configured to establish communication between a first device and a second device, comprising:
-
means for receiving a communication request from said first device coupled to a server over a network, wherein said first device is associated with a user; means for receiving a caller identification code from said first device identifying said first device or the user; means for receiving an alphanumeric code via a data channel from said first device identifying a callee user of said second device; means for determining whether the server can directly establish communication between said first device and said second device; means for using, if the means for determining determines that the server cannot directly establish communication between said first device and said second device, a contact database to associate said alphanumeric code and said caller identification code with a callee address of said second device stored in the contact database and providing the callee address to a given device that is associated with said first device, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; and means for setting up, if the means for determining determines that the server can directly establish communication between said first device and said second device, a voice communication call between said first device and said second device.
-
-
21. A server configured to establish communication between a first device and a second device, comprising:
-
means for receiving a communication request from said first device coupled to a server over a data channel of a network, wherein said first device is associated with a user, and wherein said first device communicates via said data channel and a voice channel; means for receiving a caller identification code via said data channel from said first device identifying said first device or said user; means for receiving a unique callee code, including alphabetical code content from said first device via said data channel identifying a callee user of said second device; means for using a contact database to associate the unique callee code and the caller identification code with a plurality of callee network identifiers, wherein each callee network identifier identifies a different network associated with the callee user, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; means for sending to the first device the plurality of callee network identifiers; means for receiving, from the first device, a selection of one of the plurality of callee network identifiers; means for attempting to establish voice communication between the first device and the second device associated with a callee address associated with the selected callee network identifier, wherein said voice communication includes voice communication over said voice channel; and means for providing the callee address to a given device that is associated with the first device if the attempt to establish the voice communication is unsuccessful.
-
-
22. A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a server configured to establish communication between a first device and a second device, cause the server to perform operations, the instructions comprising:
-
program code to receive a communication request from said first device coupled to said server over a network, wherein said first device is associated with a user; program code to receive a caller identification code from said first device identifying said first device or the user; program code to receive an alphanumeric code via a data channel from said first device identifying a callee user of said second device; program code to determine whether the server can directly establish communication between said first device and said second device; program code to use, if the program code to determine determines that the server cannot directly establish communication between said first device and said second device, a contact database to associate said alphanumeric code and said caller identification code with a callee address of said second device stored in the contact database and to provide the callee address to a given device that is associated with said first device, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; program code to set up, if the program code to determine determines that the server can directly establish communication between said first device and said second device, a voice communication call between said first device and said second device.
-
-
23. A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a server configured to establish communication between a first device and a second device, cause the server to perform operations, the instructions comprising:
-
program code to receive a communication request from said first device coupled to said server over a data channel of a network, wherein said first device is associated with a user, and wherein said first device communicates via said data channel and a voice channel; program code to receive a caller identification code via said data channel from said first device identifying said first device or said user; program code to receive a unique callee code, including alphabetical code content from said first device via said data channel identifying a callee user of said second device; program code to use a contact database to associate the unique callee code and the caller identification code with a plurality of callee network identifiers, wherein each callee network identifier identifies a different network associated with the callee user, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; program code to send to the first device the plurality of callee network identifiers; program code to receive, from the first device, a selection of one of the plurality of callee network identifiers; program code to attempt to establish voice communication between the first device and a second device associated with a callee address associated with the selected callee network identifier, wherein said voice communication includes voice communication over said voice channel; and program code to provide the callee address to a given device that is associated with the first device if the attempt to establish the voice communication is unsuccessful.
-
-
24. A method of operating a network server device, comprising:
-
maintaining contact information for a set of contacts associated with a user; receiving, from a Public Switched Telephone Network (PSTN) device operated by the user, a request to call a target Voice over Internet Protocol (VoIP) device included among the set of contacts associated with the user; determining whether the network server device can bridge the requested call between the PSTN device and the target VoIP device; bridging the requested call between the PSTN device and the target VoIP device if the determining step determines that the network server device can bridge the requested call; and forwarding a contact address for the target VoIP device to a given device associated with the PSTN device if the determining step determines that the network server device cannot bridge the requested call, wherein the contact address is configured to facilitate communication between the PSTN device and the target VoIP device via the given device independent of the network server device.
-
-
25. A network server device, comprising:
-
a communications interface; and a processor coupled to the communications interface and configured to; maintain contact information for a set of contacts associated with a user; receive, from a Public Switched Telephone Network (PSTN) device operated by the user, a request to call a target Voice over Internet Protocol (VoIP) device included among the set of contacts associated with the user; determine whether the network server device can bridge the requested call between the PSTN device and the target VoIP device; bridge the requested call between the PSTN device and the target VoIP device if the determining step determines that the network server device can bridge the requested call; and forward a contact address for the target VoIP device to a given device associated with the PSTN device if the processor determines that the network server device cannot bridge the requested call, wherein the contact address is configured to facilitate communication between the PSTN device and the target VoIP device via the given device independent of the network server device.
-
-
27. A server configured to establish communication between a first device and a second device, comprising:
a communications interface; and a processor coupled to the communications interface and configured to; receive a communication request from said first device coupled to said server over a network, wherein said first device is associated with a user; receive a caller identification code from said first device identifying said first device or the user; receive an alphanumeric code via a data channel from said first device identifying a callee user of said second device; determine whether the server can directly establish communication between said first device and said second device; using, if the processor determines that the server cannot directly establish communication between said first device and said second device, a contact database to associate said alphanumeric code and said caller identification code with a callee address of said second device stored in the contact database and providing the callee address to a given device that is associated with said first device, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; setting up, if the processor determines that the server can directly establish communication between said first device and said second device, a voice communication call between said first device and said second device.
-
28. A server configured to establish communication between a first device and a second device, comprising:
a communications interface; and a processor coupled to the communications interface and configured to; receive a communication request from said first device coupled to said server over a data channel of a network, wherein said first device is associated with a user, and wherein said first device communicates via said data channel and a voice channel; receive a caller identification code via said data channel from said first device identifying said first device or said user; receive a unique callee code, including alphabetical code content from said first device via said data channel identifying a callee user of said second device; use a contact database to associate the unique callee code and the caller identification code with a plurality of callee network identifiers, wherein each callee network identifier identifies a different network associated with the callee user, wherein the contact database comprises contact information for one or more contacts from one or more contact lists associated with at least one of a plurality of devices associated with the user; send to the first device the plurality of callee network identifiers; receive, from the first device, a selection of one of the plurality of callee network identifiers; and attempt to establish voice communication between the first device and the second device associated with a callee address associated with the selected callee network identifier, wherein said voice communication includes voice communication over said voice channel; and provide the callee address to a given device that is associated with the first device if the attempt to establish the voice communication is unsuccessful.
-
29. A network server device, comprising:
-
means for maintaining contact information for a set of contacts associated with a user; means for receiving, from a Public Switched Telephone Network (PSTN) device operated by the user, a request to call a target Voice over Internet Protocol (VoIP) device included among the set of contacts associated with the user; means for determining whether the network server device can bridge the requested call between the PSTN device and the target VoIP device; means for bridging the requested call between the PSTN device and the target VoIP device if the determining step determines that the network server device can bridge the requested call; and means for forwarding a contact address for the target VoIP device to a given device associated with the PSTN device if the means for determining determines that the network server device cannot bridge the requested call, wherein the contact address is configured to facilitate communication between the PSTN device and the target VoIP device via the given device independent of the network server device.
-
-
30. A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a network server device, cause the network server device to perform operations, the instructions comprising:
-
program code to maintain contact information for a set of contacts associated with a user; program code to receive, from a Public Switched Telephone Network (PSTN) device operated by the user, a request to call a target Voice over Internet Protocol (VoIP) device included among the set of contacts associated with the user; program code to determine whether the network server device can bridge the requested call between the PSTN device and the target VoIP device; program code to bridge the requested call between the PSTN device and the target VoIP device if the determining step determines that the network server device can bridge the requested call; and program code to forward a contact address for the target VoIP device to a given device associated with the PSTN device if the program code to determine determines that the network server device cannot bridge the requested call, wherein the contact address is configured to facilitate communication between the PSTN device and the target VoIP device via the given device independent of the network server device.
-
Specification