This method
...
forces an agent
...
status transition to a valid in-call status.
The execution of this method is not guaranteed to be successful. It will return an error if
...
trying to
...
perform an
...
invalid status transition (for example if trying to transition an agent whose in-call status is currently “On-Call” to something like “Available”). The requested status transition might also fail if the agent is in the process of transitioning to a conflicting
...
state.
Status transitions allowed are as follows:
Previous Status | New Status |
---|---|
Busy - On Call | N/A |
Busy - On email | N/A |
Busy - Chatting | Available |
Accept Internal Calls | |
Wrapup | Busy - On Break |
Busy - Other | |
Busy - On Break | Busy - On Break |
Busy - Other | |
Available | |
Accept Internal Calls | |
Busy - Other | Busy On Break |
Busy - Other | |
Available | |
Accept Internal Calls | |
Accept Internal Calls |
...
Available | |
Busy - On Break | |
Busy - Other |
...
- The “availability” as well as the “activity” parameters are ignored when using a transferable agent status other than “Other”.
- Possible values for the transferable agent status are:
- 0 (not ready); in this case availability code is assumed 0 and activity String.Empty regardless
- 16 (available); in this case availability code is assumed 1 and activity String.Empty regardless
- 17 (accept internal calls); in this case availability code is assumed 2 and activity String.Empty regardless
- 34 (on break); in this case availability code is assumed 0 and activity String.Empty regardless
- 36 (other)
- Other values submitted for "Status" are going to be considered not valid and the request will be declined (logged).
- The supplied availability code and/or activity will be used if and only if the supplied status is 36. If not specified, they will be assumed 0 and String.Empty respectively.
- 1) “Available” (causes the availability code to be 1, and the activity to be “Available”).
- 2) “OnBreak” (causes the availability code to be 0, and the activity to be “On-break”).
- 3) “Other” (the availability code and the activity are specified as parameters).
The 3 states are declared in the enum type “TransferableAgentStatus”(listed below the method declaration)
In order to use this method, you must first be aware of the Agent's current session ID which can be obtained from this method:
Then use this method to change the desired Agent's status:
"processRemoteInCallStatusChangeRequest" within "frmMainWindow"
ChangeAgentStatusResponse TryForceAgentStatusTransition(string sessionId, string targetAgentSessionId, TransferableAgentStatus status, byte availabilityCode, string activityName)
...