Distributed agent reservation in SIP cluster
First Claim
Patent Images
1. A method for reserving distributed agent resources in a distributed contact center system, the method comprising:
- receiving, by a first module executing on a first computing device, a first interaction to be routed, wherein the first module maintains state information for a first set of agent resources, the first set of agent resources including a first set of directory numbers, wherein the first module is a first server instance adhering to a particular communications protocol, the particular communications protocol for controlling communications over an IP network;
transmitting, by the first module, a first request for routing the first interaction;
receiving, by the first module, in response to the first request, a first resource identifier of a first destination directory number to which the interaction is to be routed, the first destination directory number being selected from a second set of resources including a second set of directory numbers different from the first set of directory numbers, wherein a second module maintains state information for the second set of resources, wherein the second module is a second server instance adhering to the particular communications protocol;
determining, by the first module, a module identifier of the second module as a function of the first resource identifier for the first destination directory number;
transmitting, by the first module, a second request to the second module for the first destination directory number;
determining, by the second module, based on the state information maintained for the second set of agent resources, whether to grant the second request;
in response to the second module granting the second request, routing the first interaction by the first module to the first destination directory number, wherein the routing to the first destination directory number is based on the particular communications protocol;
establishing, via a gateway device, a connection with a first agent device associated with the first destination directory, wherein real-time media is exchanged via the connection;
receiving, by the first module a second interaction to be routed;
transmitting, by the first module, a third request for routing the second interaction;
receiving, by the first module, in response to the third request, a second resource identifier of a second destination directory number to which the interaction is to be routed, the second resource identifier and the second destination directory number being different from respectively the first resource identifier and the first destination directory number, the second destination directory number being selected from the second set of resources including the second set of directory numbers;
determining, by the first module, the module identifier of the second module as a function of the second resource identifier for the second destination directory number;
transmitting, by the first module, a fourth request to the second module for the second destination directory number;
determining, by the second module, based on the state information maintained for the second set of agent resources, whether to grant the fourth request;
in response to the second module granting the fourth request, routing the second interaction by the first module to the second destination directory number, wherein the routing to the second destination directory number is based on the particular communications protocol; and
establishing, via a gateway device, a connection with a second agent device associated with the second destination directory number, wherein real-time media is exchanged via the connection.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for reserving agents for handling calls in a distributed contact center environment. A first module identifies, through interactions with other modules, an agent suitable for handling the call. A second module executes a hash function to identify a third module responsible for the agent, makes a request to the third module, to reserve the agent, and routes the call to the third module if the request is granted.
89 Citations
19 Claims
-
1. A method for reserving distributed agent resources in a distributed contact center system, the method comprising:
-
receiving, by a first module executing on a first computing device, a first interaction to be routed, wherein the first module maintains state information for a first set of agent resources, the first set of agent resources including a first set of directory numbers, wherein the first module is a first server instance adhering to a particular communications protocol, the particular communications protocol for controlling communications over an IP network; transmitting, by the first module, a first request for routing the first interaction; receiving, by the first module, in response to the first request, a first resource identifier of a first destination directory number to which the interaction is to be routed, the first destination directory number being selected from a second set of resources including a second set of directory numbers different from the first set of directory numbers, wherein a second module maintains state information for the second set of resources, wherein the second module is a second server instance adhering to the particular communications protocol; determining, by the first module, a module identifier of the second module as a function of the first resource identifier for the first destination directory number; transmitting, by the first module, a second request to the second module for the first destination directory number; determining, by the second module, based on the state information maintained for the second set of agent resources, whether to grant the second request; in response to the second module granting the second request, routing the first interaction by the first module to the first destination directory number, wherein the routing to the first destination directory number is based on the particular communications protocol; establishing, via a gateway device, a connection with a first agent device associated with the first destination directory, wherein real-time media is exchanged via the connection; receiving, by the first module a second interaction to be routed; transmitting, by the first module, a third request for routing the second interaction; receiving, by the first module, in response to the third request, a second resource identifier of a second destination directory number to which the interaction is to be routed, the second resource identifier and the second destination directory number being different from respectively the first resource identifier and the first destination directory number, the second destination directory number being selected from the second set of resources including the second set of directory numbers; determining, by the first module, the module identifier of the second module as a function of the second resource identifier for the second destination directory number; transmitting, by the first module, a fourth request to the second module for the second destination directory number; determining, by the second module, based on the state information maintained for the second set of agent resources, whether to grant the fourth request; in response to the second module granting the fourth request, routing the second interaction by the first module to the second destination directory number, wherein the routing to the second destination directory number is based on the particular communications protocol; and establishing, via a gateway device, a connection with a second agent device associated with the second destination directory number, wherein real-time media is exchanged via the connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for reserving distributed agent resources in a distributed contact center system, the system comprising:
-
a computing device; a memory, wherein the memory has stored thereon instructions that, when executed by the computing device, cause the computing device to instantiate a first module and a plurality of second modules, the first module being configured to; receive a first interaction to be routed, the first module being configured to maintain state information for a first set of agent resources, the first set of agent resources including a first set of directory numbers, wherein the first module is a first server instance adhering to a particular communications protocol, the particular communications protocol for controlling communications over an IP network; transmit a first request for routing the first interaction; receive, in response to the first request, a first resource identifier of a first destination directory number to which the interaction is to be routed, the first destination directory number being selected from a second set of resources including a second set of directory numbers different from the first set of directory numbers, wherein a second module maintains state information for the second set of resources, wherein the second module is a second server instance adhering to the particular communications protocol; determine a module identifier of the second module as a function of the first destination directory number; transmit a second request to the second module for the first destination directory number; in response to the second module granting the second request, route the first interaction to the first destination directory number, wherein the routing to the first destination directory number is based on the particular communications protocol; receive a second interaction to be routed; transmit a third request for routing the second interaction; receive in response to the third request, a second resource identifier of a second destination directory number to which the interaction is to be routed, the second resource identifier and the second destination directory number being different from respectively the first resource identifier and the first destination directory number, the second destination directory number being selected from the second set of resources including the second set of directory numbers; determine the module identifier of the second module as a function of the second resource identifier for the second destination directory number; transmit a fourth request to the second module for the second destination directory number, wherein the second module is configured to determine, based on the state information maintained for the second set of agent resources, whether to grant the fourth request; in response to the second module granting the fourth request, route the second interaction to the second destination directory number, wherein the routing to the second destination directory number is based on the particular communications protocol; and a gateway device coupled to the computing device, wherein the gateway device is configured to establish connections with first and second agent devices associated with respectively the first and second destination directory numbers, wherein real-time media is exchanged via the connections. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification