Cisco Finesse failover mechanisms

Cisco Finesse failover mechanisms

This section describes failover and redundancy mechanisms for Cisco Finesse.

CTI failover

The prerequisites for CTI failover are as follows:

  • Unified Contact Center Enterprise (Unified CCE) is configured in a duplex mode.
  • The B Side CTI host and port are configured through the Finesse Administration Console (see Server Settings).

If Finesse loses connection to the A Side CTI server, and the preceding prerequisites have been implemented, CTI failover occurs.

When Finesse is used in a duplex Unified CCE deployment, and it loses connection to the A Side CTI server, it tries to reconnect five times. If the number of connection attempts exceeds the retry threshold, Finesse then tries to connect to the B Side CTI server the same number of times. Finesse keeps repeating this process until it makes a successful connection to the CTI server.

A loss of connection to the CTI server can occur due to the following:

  • Finesse misses three consecutive heartbeats from the connected CTI server.
  • Finesse encounters a failure on the socket opened to the CTI server.

During failover, Finesse does not handle client requests. Any request made during this time receives a 503 "Service Unavailable" error message. In addition, Finesse does not send out events during this period. After Finesse reconnects to a CTI server, it starts responding to client requests and publishing events.

Any call control, call data, or agent state actions that occur during CTI failover are published as events to the Agent Desktop after failover is complete. This allows Finesse clients to reflect an accurate view of the call control, call data, and agent state.

If an agent makes or answers a call and ends that call during failover (that is, the entire call takes place during failover), the corresponding events are not published after failover is complete.


Note


An agent or supervisor who signs in after being on an active conference with other devices (which are not associated with another agent or supervisor) may experience unpredictable behavior with the Finesse Desktop due to incorrect call notifications from Unified CCE. These limitations also encompass failover scenarios where a failover occurs while the agent or supervisor is participating in a conference call. For example, an agent is in a conference call when the Finesse server fails. When the agent is redirected to the other Finesse server, that agent may see unpredictable behavior on the Finesse Desktop. Examples of unpredictable behavior include, but are not limited to, the following:

  • The desktop does not reflect all participants in a conference call.
  • The desktop does not reflect that the signed-in agent or supervisor is in an active call.
  • Finesse receives inconsistent call notifications from Unified CCE.

Despite these caveats, the agent or supervisor can continue to perform normal operations on the phone. Desktop behavior returns to normal after the agent or supervisor drops off the conference call.


AWDB failover

The prerequisites for AWDB failover are as follows:

  • The secondary Administrative Workstation Database (AWDB) is configured.
  • The secondary AWDB host is configured through the Finesse Administration Console (see the Enterprise Administration Server Settings section).

Agents and supervisors are authenticated against the AWDB database. When an agent or supervisor makes a successful API request (such as a sign-request or call control request), the credentials are cached in Finesse for 30 minutes from the time of the request. After a user is authenticated, that user continues to be authenticated until 30 minutes pass, even if both AWDBs are down. Finesse attempts to reauthenticate the user against the AWDB only after the cache expires.

If Finesse loses connection to the primary Administration & Data server, and the preceding prerequisites have been implemented, AWDB failover occurs. After Finesse loses connection to the primary Administration & Data server, it tries to reconnect to the secondary server. If Finesse cannot connect to any of the Administration & Data servers and the cache has expired, the system returns a 401 "Unauthorized" HTTP error message.

Finesse repeats this process for every API request until it can connect to one of the Administration & Data servers. During failover, Finesse does not process any requests, but clients can still receive events.

Finesse client failover

With a two-node Finesse setup (primary and secondary Finesse servers), if the primary server goes out of service, agents who are signed in to that server are redirected to the sign-in page of the secondary server.

Client failover can occur for the following reasons:

  • The Cisco Tomcat Service goes down.
  • The Finesse Webapp Service goes down.
  • The Cisco Notification Service goes down.
  • Finesse loses connection to both CTI servers.

Desktop behavior

Under certain conditions, Finesse sends a forced logout with a reason code of 255 to the CTI server. The actual behavior of the desktop under these conditions depends on the setting for Logout on Agent Disconnect (LOAD) in Unified CCE.

The following table lists the conditions under which Finesse sends a forced logout to the CTI server:

Scenario

Desktop Behavior

Server Action

Race Conditions

The client closes, the browser crashes, or the agent clicks the Back button on the browser.

When you close the browser or navigate away from the Finesse Desktop, the Finesse Desktop makes a best-effort attempt to notify the server.

Finesse receives a presence notification of Unavailable from the client. Finesse waits 10 seconds, and then sends a forced logout request to the CTI server.

  1. The agent closes the browser window. Finesse receives a presence notification of Unavailable for the user. Finesse tries to sign the agent out; however, that agent is already signed out.
  2. If the browser crashes, it can take the Finesse server up to 60 seconds to detect that the client is gone and send a presence notification to Finesse. A situation can occur where the client signs in to the secondary Finesse server before the primary Finesse server receives the presence notification caused by the browser crash. In this case, the agent may be signed out or put into Not Ready state on the secondary Finesse server.
  3. If the Finesse Desktop is running over a slower network connection, Finesse may not always receive an Unavailable presence notification from the client browser. In this situation, the behavior mimics a browser crash, as described in the preceding condition.

The client refreshes the browser

Finesse receives a presence notification of Unavailable from the client. Finesse waits 10 seconds before sending a forced logout request to the CTI server to allow the browser to reconnect after the refresh.

The client encounters a network glitch (Finesse is in service)

Because the connection to the Finesse server temporarily goes down, the client fails over to the secondary Finesse server.

The primary Finesse server receives a presence notification of Unavailable from the client. Because Finesse is in service, it sends a forced logout request to the CTI server for the agent.

A situation can occur where the forced logout does not happen before the client signs in to the secondary Finesse server. If the agent is on a call, the primary Finesse server sends the forced logout request after the call ends. The agent will be signed out or put into Not Ready state when the call ends, even though the client is already signed in to the secondary Finesse server.