Contents
Agent Reservation in SIP Cluster
[In progress]
Agent Reservation is a very important concept in SIP Cluster. The Agent Reservation flow is illustrated with the following sample diagram:
In the above diagram, Interaction Server is added to handle voice and multimedia interactions for voice agents and blended agents. The Reservation Server is the VQ SIP Server working in regular non-cluster mode. As a result, legacy ways for reserving an agent are supported.
Interaction Server is connected to all routing Stat Servers and reports agent states to all routing Stat Servers in the environment. All routing Stat Servers are aware of the activities of the multimedia agents. Interaction Server is connected to all URS instances in the SIP Cluster and this allows Interaction Server to load balance the routing requests. URS is connected to VQ SIP Servers.
Consider that the geo-location and agent_reservation properties have been configured as follows for the above sample scenario:
| SIPS_VQ_1 | Options/[Tserver]: geo-location = DC1 Options/[__ROUTER__]: agent_reservation=4 |
| SIPS1, SIPS2 | Options/[Tserver]: geo-location = DC1 |
| All URS Instances | Options/[Default]: agent_reservation = true |
| SIPS_VQ_2 | Options/[Tserver]: geo-location = DC2 Options/[__ROUTER__]: agent_reservation=3 |
| SIPS3, SIPS4 | Options/[Tserver]: geo-location = DC2 |
Voice Calls
- Voice or Blended agents are logged in to SIP Cluster.
- SIP Cluster reports agent location to Stat Server (DC1 or DC2).
- Each SIP Cluster has its own routing solution: URS, ORS, and Stat Server.
- Voice calls arriving at a SIP Cluster node are processed by routing components installed for that node.
Multimedia Interactions
- Interaction Server does not report agent location.
- Interaction Server reports agent states to all routing Stat Servers.
- Interaction Server balances its routing requests across all available URS instances.
VQ SIP Server Selection for Agent Reservation
- If the agent location is specified by the site(x) function (?), then the VQ SIP Server associated with that particular agent is used.
- If the agent location is unknown, then the VQ SIP Server is selected based on priority.
- Each SIP Server application is assigned with a geo-location.
Reservation Based on Agent Location
The following sample diagram illustrates reservation based on agent location:
Consider that the geo-location and agent_reservation properties have been configured as follows for the above sample scenario:
| SIPS_VQ_1 | Options/[Tserver]: geo-location = DC1 Options/[__ROUTER__]: agent_reservation=4 |
| SIPS_VQ_2 | Options/[Tserver]: geo-location = DC2 Options/[__ROUTER__]: agent_reservation=3 |
| SIPS1, SIPS2 | Options/[Tserver]: geo-location = DC1 |
| SIPS3, SIPS4 | Options/[Tserver]: geo-location = DC2 |
| EventAgentReady | AttributeThisDN DN1 AttributeReason('site'=DC1) |
When Agent 1 logs in DC1 and is ready, SIP Cluster distributes the EventReadyAgent message with a special Attribute Reason key-value pair called site. The value of site is set to DC1. When Agent 2 logs in DC2, SIP Cluster distributes EventReadyAgent for Agent 2 where site is set to DC2. This is how geo-location-based routing is implemented in the SIP Cluster. In regular (non-cluster) architecture, there are different switches located on different sites. In the SIP Cluster, there is only one location-related switch and location information for agents is provided through this mechanism.
Voice agents have ownership of the SIP Cluster nodes. In the above sample, Agent 1 has ownership of Node 1 and Agent 2 has ownership of Node 2. There is no ownership for multi-media agents. The multi-media agents are owned by the Interaction Server. There is only one switch in the cluster to provide location information for the agents. When URS is trying to select the agent reservation server for a particular agent, URS is taking into account the site property, and it is matched against the geo-location of the reservation server.
- For Agent 1, all requests for agent reservation will go to VQ SIP Server 1, which has the geo-location set to DC1.
- For Agent 2, all requests for agent reservation will go to VQ SIP Server 2, which has the geo-location set to DC2.
- For voice agents, the agent reservation requests are distributed between the two SIP Servers. For each agent there is one central point for reservation.
- For multi-media agents, reservation requests are based on priorities. In the above sample, as VQ SIP Server 1's priority is higher, reservations for multi-media agents are done through VQ SIP Server 1. If VQ SIP Server 1 is unavailable, then the requests are sent to VQ SIP Server 2 based on the reservation priority.
Voice or Blended Agents
- The DN ownership defines agent location.
- SIP Server reports agent location in EventAgentReady in the site extension of the AttributeReason list.
- Value of the site key is taken from the application level geo-location parameter of the SIP Server.
- URS selects the reservation server based on the geo-location (TReserveAgent request for Agent 2 is sent to SIPS_VQ_2).
Multi-Media Agents
- Interaction Server does not report agent location.
- URS selects Reservation Server based on priority.
- Reservation priority of SIPS_VQ_1 (4) is higher than the one of SIPS_VQ_2 (3). So all reservation requests are sent to SIPS_VQ_1.
- If SIPS_VQ_1 is unavailable, reservation requests are sent to SIPS_VQ_2.


