Revision as of 22:57, June 14, 2018 by Valentip (talk | contribs)
Jump to: navigation, search

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:

AgentReservation1.png

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.
Important
The VQ SIP Servers are used for agent reservation. In the schema above, SIPS_VQ1 in DC1 and SIPS_VQ2 in DC2 are used for agent reservation.

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.
Important
URS is connected to both (primary and backup?) VQ SIP Servers. And both the VQ SIP Servers can be used for reservation. But there needs to be a central reservation point for reservation to work. It is possible to have a central reservation point because, even though there are two VQ SIP Servers, only one of them is selected based either on priorities or geo-locations. There are no contradictions and each agent will be able to select one particular SIP Server for reservation.

Reservation Based on Agent Location

The following sample diagram illustrates reservation based on agent location:

AgentReservation2.png

Important
The above diagram is the same as the one in the previous section. Two new agents (voice and multi-media) have been introduced in the scenario.

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.
Important
The geo-location of VQ SIP servers will be used for agent reservation only when URS is explicitly instructed to do so through the environment option. For more information on this option, see Configuring Universal Routing Server.

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.
Comments or questions about this documentation? Contact us for support!