Patent ID: 8756328

Claim:
A system for establishing communication between a first user of a first device and a callee contact associated with a second device, the system comprising: a server adapted to communicate with the first device and the second device; a datastore in communication with the server, the datastore including a plurality of contact lists, each of the plurality of contact lists being associated with a corresponding one of a plurality of users, each of the plurality of contact lists including a plurality of contacts; a non-transitory computer-readable storage medium in communication with the server, wherein the non-transitory computer-readable storage medium comprises one or more programming instructions for: allocating a set of at least two DID numbers to at least two contacts associated with the first user of the first device in a first contact list so that the at least two contacts in the first contact list have different DID numbers, wherein one of the at least two contacts associated with the first user is the callee contact associated with the second device; allocating the same set of at least two DID numbers to at least two contacts associated with a second user in a second contact list so that the at least two contacts in the second contact list have different DID numbers, but each of the at least two contacts in the first contact list, including the callee contact associated with the second device, has a same DID as another one of the at least two contacts in the second contact list; transmitting at least a portion of the first contact list to the first device, wherein the first contact list comprises contact information associated with the at least two contacts associated with the first user of the first device; receiving, from the first device, a correlate string comprising a MSISDN number associated with the first device and a DID number associated with both the callee contact in the first contact list and another contact in the second contact list associated with the second user; using the MSISDN number to differentiate a callee address for the callee contact associated with the DID number in the first contact list from another address for the other contact associated with the same DID number in the second contact list; and establishing a communication link over a network from the first device through the server to the second device using the callee address.