This use case describes the steps a User performs to log out of the MediaBar and end their Agent session with the switch.
Actors
Name | Type | Role |
---|---|---|
|
|
|
|
|
|
Basic Flow
Preconditions
The User has logged an Agent into the MediaBar
Steps
The user clicks the Logout button located in the upper right corner of the MediaBar
The MediaBar sends the session.request.logout request to HIS. See the Client Connectivity documentation for details of the request contents
Decision 1: HIS checks each active channel to see if the Agent has any ongoing interactions
If an ongoing interaction is found, this flow ends and EF 1 - Ongoing Interaction is executed
If the switch platform requires a Logout Reason from the User, this flow ends and AF 1 - Logout Reason is executed
Decision 2: HIS checks the agent state of each channel to see if the agent is in the Ready state
If the Agent is in the Ready state, HIS performs the server side portion of Go Not Ready generating the appropriate events
If an error occurs trying to enter the Not Ready state, this flow ends and EF 2 - Not Ready Failure is executed
Decision 3: HIS checks each channel to see if it is active
If the channel is active and the platform supports channel deactivation, HIS performs the server side portion of Deactivate Channel, generating the appropriate events
If an error occurs trying to deactivate the channel, this flow ends and the EF 3 - Deactivation Failure is executed
HIS disposes of each existing channel and its associated workflow, generating the appropriate events
HIS disposes of the channel group and its associated workflow, generating the appropriate events
HIS disposes of the session and its associated workflow, generating the appropriate events
The HIS message bus connection is closed
This flow ends and the MediaBar begins the Basic Login flow
Post Conditions
The Agent session and all associated resources are closed and disposed of
The MediaBar initiates the Basic Login flow
Alternate Flow 1 - Logout Reason
Some platforms require the User to provide or select a reason for their log out request. This flow manages the collection of that reason and its delivery to the switch.
AF1 Preconditions
A logout request has been made
The switch platform requires a reason for the logout request
AF1 Steps
HIS sends a NeedInfo error response related to the logout request to MediaBar
The MediaBar presents the Logout Reason Selection Screen to the User populated with the logout reasons collected during the Basic Login use case
The User selects, or if allowed enters, the appropriate logout reason and clicks the Checkmark button
The MediaBar hides the Logout Reason Selection Screen
The MediaBar resubmits the session.request.logout request including the selected logout reason
This flow ends and the basic flow resumes at step 3
AF1 Post Conditions
The logout reason has been added to the logout request
Error Flow 1 - Ongoing Interaction
This error flow shouldn’t be possible as the Logout button should be disabled when an interaction is underway. However, it is documented here as HIS still needs to perform the check and respond as described here.
EF1 Trigger Conditions
An email, chat, or phone call interaction is in progress for the agent when the logout request is made
EF1 Steps
HIS responds to the MediaBar with an error indicating that an interaction is underway and the logout is not possible
MediaBar displays the error message provided by HIS to the agent and this flow ends
EF1 Post Conditions
The agent state remains unchanged as if the logout request never happened
Error Flow 2 - Not Ready Failure
This error flow happens if the agent requests to log out while some or all of their channels are in the Ready agent state and an attempt to move the agent to Not Ready fails for some reason.
EF1 Trigger Conditions
The attempt to make the agent Not Ready on a Ready channel fails during a logout request
EF1 Steps
When HIS attempts to make the agent Not Ready on a channel an error occurs
HIS sends an error to MediaBar indicating the Not Ready attempt failed
MediaBar displays the error message to the agent and this flow ends
EF1 Post Conditions
The agent is still logged into the switch
Any channels successfully made Not Ready prior to the failure remain in the Not Ready state
Error Flow 3 - Deactivation Failure
This error flow happens if the agent requests to log out while some or all of their channels are in the active state (if supported by the switch) and an attempt to deactivate the channel fails for some reason.
EF1 Trigger Conditions
The attempt to deactivate an active channel fails during a logout request
EF1 Steps
When HIS attempts to deactivate and active channel an error occurs
HIS sends an error to MediaBar indicating the deactivate attempt failed
MediaBar displays the error message to the agent and this flow ends
EF1 Post Conditions
The agent is still logged into the switch
Any channels successfully deactivated prior to the failure remain in the deactivated state