Beruflich Dokumente
Kultur Dokumente
2. Problem Summary
This document describes the components interaction flows in displaying the Real-
Time status and in Real-Time Monitoring. The information from this doc can be used
as guidance when troubleshooting issues in Real-Time status display and Monitoring.
This document shows the sequence of messages exchanged between components
and important traces to look for in different component log files.
Following is the MAS and RIS (Recorder Integration Service) initialization sequence
diagram.
Connect
Request Screen
Screen data
Agent Desktop
Compare Picture/Response
Portal/Player RTP Web Service
Player Register/Unregister
Compare Picture/Response
Agents update
Audio as Streaming RTP RIS MAS
Start/Stop Stream
Monitor on/off
IP/TDM Recorder
MAS RIS
GetMonitoredSwitches
GetMonitoredSwitchesResponse
GetMonitoredDevices
AgentInfoCallback
As shown in the Figure 1, when MAS is connected to RIS, MAS and RIS exchange
following information.
configured switches (data sources)
Initial information is exchanged when the MAS is connected to RIS. After that, MAS will
register the Agent(s) with RIS for status updates if the Agent(s) is/are listed on the
supervisor dashboard, where the real-time status is displayed for Agents, in Portal. Once
the Agent is registered, RIS will respond with CallInfoCallBack message whenever there is
a status change for the registered Agent. If the Supervisor dashboard is opened while
the call is in progress for the agent then the duration field will show the total time since
the call started.
Following traces from RIS logs show the above described messages exchange.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
Here are the RIS state enumeration values. These enumerations are used in
CallInfoCallback message for the State field to indicate the current state of the Agent.
See above CallInfoCallback message for details.
Unknown(-1)
LoggedIn(1)
LoggedOut(0)
Idle(2)
Reserved(3)
Busy(4)
Ready(5)
Talking(6)
Interacting(7)
Hold(8)
Wrapup(9)
Following traces are from the MAS logs showing it is connecting to RIS.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
Note: Search on ISConnection in MAS logs to see all the messages exchanged with RIS.
Following is the sequence diagram showing the messages exchanged when the
supervisor Dashboard is opened. There may be some other messages exchanged but
here only few important messages are showed.
GridPlayback/GridPlaybackIndex.aspx
response
Grid/HeaderPage.aspx
response
Grid/GridPage.aspx
GetRealTimeAgentInfo
GetAgent
Grid/AgentSelectorPage.aspx
Use the Fiddler or some HTTP proxy tool on the Browser PC, where the portal is opened
to see all the http requests/responses from/to browser.
Following URL can be used in the portal to open the client console window for showing
the Real-Time notifications. This mechanism can be used if no tools like Fiddler are
available to use.
Append the “/Ultra/default.aspx?rtLog=1” string after the http://ServerName. For
Example: http://sevm-l1con1//Ultra/default.aspx?rtLog=1
Then go to supervisor dashboard and notice that new window opens up showing
the Real-Time messages.
Here is the screen image showing the console window showing the Real-Time messages.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
Following is an example screen image showing the browser http messages in Fiddler. For
this KBA, Fiddle tool is used to show the details of http messages exchanged.
Following traces from WebApps log showing it is trying the get the real-time info.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
Following traces from DataAccessServices log showing it is trying the get the real-time
info from MAS.
Following traces from MAS log showing it is processing the GetAgent message.
ComparePicture(Source=Web)
ComparePicture(Source=Web)
RegisterAgent
Following are the Fiddler HTTP traces on playback PC showing the HTTP requests and
responses in getting the real time status.
Following are the traces from RTPWebService showing the receipt of the
ComparePicture request. Notice the PictureID and Picture Source parameters.
ComparePicture request from different browsers can be identified by the PictureID
parameter. New GUID is generated for PictureID for each Monitor Session.
Following are the traces from RTPWebService showing the response for the
ComparePicture request.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
MAS traces showing the receipt of the ComparePicture request. Notice the ID, which
is the picture ID of the ComparePicture request.
MAS traces shows the CallInfoCallcack message from RIS with the real-time status.
7. Live Monitoring
Note that Audio and Screen live monitor works in different way. Following sections
show the sequence diagrams showing the components involved and messages
exchanged in each type of live monitor.
Select Agent Name: Select the group and the agent you want to monitor within
that group (Contacts>Monitor)
Note that all of the above three methods of Monitoring follow almost the same
sequence of messages exchanges.
PlayerRegisterFullExtensionResponse
Recorder continues to
send RTP Stream until
Start RTP Streaming to playback client
Keep Alive messages Monitor is stopped
exchanged While live
monitor is in progress
PlayerKeepAlive
KeepAlive
HeartbeatStream
As shown in
IP/TDM
Browser RTPWebService MAS RIS Recorder
Start Live Monitor
PlayerRegisterFullExtension
ComparePicture(Source=Player)
StartStream MONITOR ON
MONITOR ON
message is sent to
StartStreamResponse Recorder only if it is
ComparePictureResponse(Source=Player) recording the extension
PlayerRegisterFullExtensionResponse
Recorder continues to
send RTP Stream until
Start RTP Streaming to playback client
Keep Alive messages Monitor is stopped
exchanged While live
monitor is in progress
PlayerKeepAlive
KeepAlive
HeartbeatStream
Figure 4, following are the high level steps Audio Live Monitor.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
MAS traces showing the ComparePicture message. Note that Source is Player.
Following traces show RIS processing the STartStream message and sending the
MONITOR ON request to IP Recorder.
Following traces show IP Recorder receiving the MONITOR ON message and start
sending the RTP stream.
Following traces from MAS shows the processing of AbortPicture message and
sending the StopStream message to RIS.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
Following traces from RIS shows the processing of StopStream message and sending
the MONITOR OFF message to IP Recorder.
Browser/PlaybackClient ScreenCaptureModule
Get FULLSCREEN
Screen Capture Module
automatically sends the updates
FULLSCREEN whenever there is a screen change
Updates
Browser/PlaybackClient ScreenCaptureModule
Get FULLSCREEN
Screen Capture Module
automatically sends the updates
FULLSCREEN whenever there is a screen change
Updates
Figure 5, Screen live monitor works differently compared to Audio Live Monitoring.
Here are the steps in Screen Live Monitor.
Playback Client directly connects to Screen Capture Module wcapw32.exe
program on agent PC.
Requests the FULLSCREEN packet at the beginning and every 30 seconds
thereafter.
Screen Capture Module sends the response to FULLSCREEN request and
sends the updates automatically whenever there is a screen change.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
When the live monitor is stopped, Playback Client closes the socket
connection to Screen Capture Module to end live monitor.
Following traces from the playback client component show that it is initializing the
components for live monitor. Notice the extension and ports information in audio live
monitor component initialization and wrfb url in screen live monitor component
initialization. Notice the agent PC ip address and port number to connect in wrfb url.
Following trace in playback component shows the loading of the filter to handle the
screen live monitor. Notice the wrfb url with Agent PC ip address and port number.
Following traces in playback client component show that it received the FULLSCREEN
packet.
Following traces in playback client component show that it received the UPDATE
packets.
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
Following traces from wcapw32.exe program from Agent PC shows that client is
connected and requested the FULLSCREEN packet. Notice that it sent the
FULLSCREEN packet in response.
In the RTP WebService log file, following trace is logged when the PrintDebugInfo
method is invoked.
As a result PrintDebugInfo method call, MAS logs the internal state information as
follows.
Beginning of the PrintDebugInfo method:
Client – represents a WEB client or playback client, and will include several agents for
dashboard or single agent for playback page.
Monitored Agent – represents a single agent from a specific client, and contains links to
one or more employee IDs – an agent’s association in user manager.
Employee ID – can be anything that the agent is associated to: in fixed seating: extension,
workstation, in free seating – pbx id, user name, dialer employee id
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
Agent Base – represents an extension and holds all the information required for real time
monitoring, CTI data etc. One or more employee id can be logged on to a specific AgentBase
– these connections are controlled by AgentInfoCallback from RIS.
In the following log example we see 2 agent events from RIS that represents 2 employee
IDs logged on to the same extension:
And this is how MAS’ repository looks after those login events:
There is one extension (AgentBase) – 8012 from DS 44500001, you can see its current
state (Login), number of connected employee IDs (2), screen IP and port etc.
There are 2 employee IDs, both logged on to 8012, and there are no clients – at this time,
no WEB session was opened.
Once a dashboard is opened in portal for an agent that is associated with pbx id 8012, a
new client with one monitored agent will be created, and this monitored agent will point to
employee id 445000001:8012. This employee ID is already logged on to AgentBase
445000001:8012 (after AgentInfoCallback), and this AgentBase will be sent in the picture
back to portal, after sending registration request to RIS:
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY
If a call is already started, or whenever a call will be started, MAS will get a call info event
from RIS for this extension and will update the relevant AgentBase in its repository. At this
time it will look for all of the clients that are connected to this AgentBase and to its logged
on employee IDs and will update them with the new state and data:
Print Debug Info at this point will give the following log:
CONFIDENTIAL COMPANY INFORMATION
FOR VERINT INTERNAL USE ONLY