Patent ID: 8856359

Claim:
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.