Patent ID: 8171160

Claim:
A system for providing communication connections between devices connected to one another through one or more networks, the system comprising: a directory component configured for (i) storing information in data sources, the information including user information and routing information, wherein information related to a particular user comprises a directory entry; and (ii) determining a routing policy for a communication session between an origination user and a destination user based upon user information and routing information related to the users, wherein determining a routing policy includes selecting a destination device, wherein the routing policy includes information related to an origination device, the selected destination device, and a route therebetween; an applications component configured for (i) receiving a communication session request from the origination device for a communication session with the destination user; and (ii) creating a communication message including information related to the requested communication session by accessing application scripts and selecting an application script for the communication session; a peering component configured for (i) receiving the communication message and the determined routing policy; and (ii) performing the communication session by connecting the origination device and the selected destination device, wherein the connection adheres to the routing policy and the selected application script, wherein the peering component is further configured to convert communication between the devices to a signaling protocol compatible with the selected destination device if the signaling protocol of the origination device differs from that of the selected destination device; and an interconnection component configured to receive one or more of the communication message and the routing policy, and transfer the received information to the peering component; wherein each of the directory component, the applications component, the peering component, and the interconnection component comprise a respective memory device configured to store respective instructions and a respective processing device configured to execute the respective instructions.