The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Contents
An agent is a person who has a phone on his desktop and receives calls, transfers calls, ends calls, and so on. The state of this agent and his phone are represented within the Unified CCX system by agent states and agent state events.
The agent state is what is described by the last received agent state event. Actions performed by the agent and his phone eventually translate into updated agent states. For example, when an agent hangs up his phone after working on a call, his state changes from talking to ready. The change in the state of this agent is communicated with the system through the AGENT_STATE_EVENT message.
The possible agent states are listed in Table 1. The AGENT_STATE_EVENT, the QUERY_AGENT_STATE_CONF, and the SET_AGENT_STATE_REQ messages indicate an agent state by the values listed in Table 1.
CCX maintains all agent states and may change an agent state based on various conditions such as the state of an agent phone.
Unified CCX CTI clients are also allowed to change agent states by a client using the SET_AGENT_STATE_REQ message. When Unified CCX receives this request, it processes the request based on the current state of the system. As a result, the SET_AGENT_STATE_REQ message may or may not actually change the agent state. For example, the client might request that an agent’s state be changed from not ready to ready, but Unified CCX may not be able to change the agent’s state if the agent has not yet logged in.
A Unified CCX CTI client must always monitor the AGENT_STATE_EVENT message or use the QUERY_AGENT_STATE_REQ message to obtain the current agent state.
Call events and events from the Cisco Agent Desktop (CAD) and the agent IP phone change the agent state.
Figure 1 contains two example agent state transitions, one at the beginning of the day when the agent logs in and one when the agent logs out. In that figure:
The agent logs in and is immediately recorded as Not Ready.
When the agent is Ready, the client sets the agent to this state by using the SET_AGENT_STATE_REQ message.
When Unified CCX sends a call to the agent, the agent’s state becomes Reserved.
As soon as the agent answers the call, the agent’s state becomes Talking.
The agent indicates any after call work by using the SET_AGENT_STATE_REQ message.
The client sets the agent state to Ready by using the SET_AGENT_STATE_REQ message with the Ready state when the agent is available for the next call.
Table 1 lists the agent state messages. See the referenced links for the message definitions. If Unified CCX fails to process the SET_AGENT_STATE_REQ message, it responds with a CONTROL_FAILURE_CONF message.
Notification of new agent state. AGENT_STATE_EVENTs are sent to all bridge-mode sockets and the socket through which the agent specified in the event is connected. |
||
Typically, to authenticate an agent, the agent ID, password, and the agent's extension are required, and the agent state is changed.
However, if an agent has to be authenticated using just the agent ID and password without changing the agent state, the client must send a SET_AGENT_STATE_REQ with the value of the ForcedFlag field set to 2 and AgentInstrument set to Unknown. The SET_AGENT_STATE_CONF message confirms successful completion of the request.
Table 1 shows the values that must be set in the SET_AGENT_STATE_REQ message to allow for agent authentication without providing an extension.
In general, if an agent is in the talking state, that agent state cannot be changed to the logout state.
However there are cases when an agent logout is mandatory. In these cases, the forced flag must be set to 1 in the SET_AGENT_STATE_REQ message.
When a windows-based client closes, regardless of the current state of the agent, the agent state must be changed to Logout.
In a contact center environment, some agents may share the same phone extension since they work on different shifts. In this case, if agent A is talking to a customer, then agent B with the same extension is not able to set his or her state to login. Instead, agent B must set the force flag to 1 in the SET_AGENT_STATE_REQ message in order to set his or her state to login. This message also automatically logs out Agent A, though it does not terminate Agent A’s phone call.
Note | Even though Agent A is automatically logged out, that agent can still finish talking with the customer. However, Agent B is now listed as the Agent with that extension number and the next call for that extension goes to Agent B. |