Desktop Presence and Forced Logout

The Finesse server subscribes to the presence of the XMPP users of the Finesse desktop to monitor the health of the connection between the server and desktop.

Under certain conditions, Finesse sends a forced logout with a reason code of 255 to the CTI server.

In a Unified CCE deployment, the actual behavior of the desktop under these conditions depends on the setting for Logout on Agent Disconnect (LOAD).

In a Unified CCX deployment, the agent is logged out.

Note

Finesse takes up to 120 seconds to detect when an agent closes the browser or the browser crashes and Finesse waits 60 seconds before sending a forced logout request to the CTI server. Under these conditions, Finesse can take up to 180 seconds to sign out the agent.

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 60 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 120 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 60 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.

In a Unified CCE deployment, the agent is 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. In a Unified CCX deployment, the agent is signed out.

In a Unified CCE deployment, when Refresh Token has expired

Finesse desktop sends a forced logout request to the CTI server.

The Finesse server forwards the forced logout request to the CTI server.

Load parameter = 0

  • When the agent's current state is Not Ready, Ready or Wrap-Up, the agent's state after force logout is changed to Not Ready – Force Not Ready.

  • When the agent's current state is Talking, the Agent goes into Not-Ready – Force Not Ready state after the call ends.

Load parameter = 1
  • When the agent's current state is Not Ready, Ready or Wrap-Up, the agent goes to Logged Out – System Failure.

  • When the agent's current state is Talking, the Agent goes to Logged Out – System Failure immediately even though the call is still active.