RTOP Analyzer

RTOP Analyzer

book

Article ID: CTX214237

calendar_today

Updated On:

Description

RTOP Analyzer - v2.1.0.0

Created Date: Jun 22, 2016

Updated Date: Apr 30, 2018

 

Where to download ?

Certain legacy Citrix tools are now available on request only. Please submit the request here - https://forms.gle/obA39PEz5qpDiSPq8

Once we verify your request, we will provide access to the download location.

 

Description

RTOP Analyzer is formerly known as LOPper (Lync Optimization Pack Log Parser).

RTOP Analyzer helps parsing log files and shows relevant information in UI. The typical use case is when users install Citrix HDX RealTime Optimization Pack (HROP) and make an audio/video call using Lync 2013/Skype for Business (SfB), HROP generates log files under %temp% folder. The following details can be viewed using RTOP Analyzer.

  • Call details like caller, callee, call duration, etc.
  • Detail description of the call and any issues encountered
  • SDP (Session Description Protocol) payload Flow between endpoints
  • Call Statistics
  • SIP (Session Initiation Protocol) Messages 
  • Video Source Requests
  • Call Info Data Snapshots 
  • Devices
  • Any errors/warnings during the call

RTOP Analyzer parses HROP log files as well as SfB log files and shows call information at one place. Every audio/video call can be distinguished by unique call ID, and based on this call ID, RTOP Analyzer grabs all the required information from different set of logs and shows it pictorially. 

 

Prerequisites

.Net 4.5.

 

Installing RTOP Analyzer

RTOP Analyzer is a standalone tool. A user can download it from this page and uses it right away by double clicking RTOP_Analyzer.exe. No special installation is required.

 

How to Use RTOP Analyzer

1. Load log files:

file

 

  • Once logs are collected, a user can drag and drop the .zip archive or extract the folder and drag and drop the parent/root folder which has HROP logs (Please note the .zip archives are extracted to %temp%\LOPExtr folder).
  • Alternatively users can also use Open button to point to the directory to parse the log files. 
file

 

2. Work with RTOP Analyzer:

  • Once the log files are parsed, all the calls are shown as individual cards which have brief information about the call. 
file

 

  • Analyze Button will show the call details in depth. Call details are categorized and shown in tabular model.
file

 

  • Summary tab shows the call summary with the following details:

The versions group has the version information.

file

 

The Connection group has the information on how Real Time Media Engine (RTME) is connected.

 

Connection Status: 

  • Optimized – The connection is optimized, the RTME on the client machine will take care of audio/video calls.
  • Un-Optimized – Either wrong version of RTME is installed or RTME is not installed at all or there are some network problems. The audio/video calls will be handled by Server/VDA using Citrix Generic HDX redirection technologies.

Fallback Mode:

  • Enabled – In Un-Optimized mode the audio/video calls will be handled by the connector component on the server side.
  • Disabled – In Un-Optimized mode the audio/video calls will NOT be handled by the connector component on the server side.
  • VideoDisabled – In Un-Optimized mode only the audio calls will be handled by the connector component, the video calls are disabled.
file

 

The Call Details group is self-explanatory. (Please note, the audio/video codec information is available from HROP 2.1).

file

 

The Summary box describes the calls in detail.

Example 1 : Callee logged in devices. When caller makes a call, the callee can be logged in to different devices like thinclient, mobile, fat client, tablet etc and can answer from any device, the summary will clearly show what all devices callee has logged in and from which device callee answered the call.

file

 

Example 2 : Failed calls. Reason for the failed calls is also specified.

file

 

Example 3 : Calls which has SIP errors

file

 

Example 4 : Conference calls

file

 

Example 5 : Declined calls

file

And many more cases are handled.

 

  • SDP Flow tab shows the call flow between endpoints:

Clicking on SDPAnswer/SDPOffer will show the SDP payload. The green color labels such as "DVMCOAS_Idle" shows the HROP state machine state during the entire call.

file

 

Call State Description:

DVMCOAS_Idle - Idle represents a state where LOP(Lync Optimization Pack) is ready to process calls.

DVMCOAS_PreparingOffer - When user tries to make an audio/video call, SfB(Skype For Business) asks LOP(Lync Optimization Pack) to create a SDP payload. The first phase of ICE which is ICE candidates gathering will be started now. Once the candidates (a=candidate) are gathered they are filled into SDP payload with other information like codecs, encryption, IPs, etc.

DVMCOAS_OfferReady – LOP(Lync Optimization Pack) has now gathered all ICE candidates and created SDP payload which has various information like ports, audio video codecs, IPs etc details to start call. The state can be seen multiple times if the user changes the conversation mid-call eg., escalated to video from audio or added new user, etc.

DVMCOAS_ProcessingAnswers - LOP (Lync Optimization Pack) has sent SDPOffer to the callee, we got a notification that callee's (one of the) device has started ringing. There will be one DVMCOAS_ProcessingAnswers for each notification from callee's device. Callee can be logged in from multiple devices like thin client, iPhone, tab etc. The second phase in ICE which is ICE probing will start now.

DVMCOAS_ProcessedFinalAnswer - Callee has answered (SDPAnswer, final=True) from one of the device, and the corresponding SDP has been processed which means the IPs to send media has been finalized, and the audio video codecs have been determined. Its about to start the call.

DVMCOAS_PreparingProvisionalAnswer - When the user receives a call, SfB(Skype For Business) asks LOP(Lync Optimization Pack) to process the SDP data and create provisional answer. The first phase of ICE which is ICE candidates gathering will be started now. Once the candidates (a=candidate) are gathered they are filled into SDP payload with other information like codecs, encryption, IPs, etc.

DVMCOAS_ProvisionalAnswerReady - LOP(Lync Optimization Pack) has now gathered all ICE candidates and created SDP payload which has various information like ports, audio video codecs, IPs etc details to start call. This can be seen multiple times if the user changes the conversation mid-call eg., escalated to video from audio or added new user, etc.

DVMCOAS_PreparingFinalAnswer - The offerer has sent final=true, this is where the second phase in ICE which is ICE probing will be started.

DVMCOAS_FinalAnswerReady - The candidates which are outcome of ICE probing phase will be filled in SDP payload in addition to codecs, encryption information etc. It is about to start the call.

DVMCOAS_Established - The call has been established now, the users at both ends should be able to hear and see the video (if it is video call).

DVMCOAS_EstablishedICEInProgress - This state signifies that the ICE probing is going on. Candidates on either sides will send probes, and respond to the probes finalizing the best candidates to send media.

DVMCOAS_EstablishedICEReinviteNeeded - This state signifies that a re-invite is necessary to start probing again, generally this occurs if audio call is escalated to video call, and the ICE probing will start for video stream.

DVMCOAS_Finished - The call has been completed. Both users has ended the call.

DVMCOAS_Failed - The call has been failed, the failed reason will be displayed in the Summary box. eg. ICEProbingFailed.

DVMCOAS_Invalid – Invalid call state.

 

  • SIP messages tab shows the SIP messages exchanged during the call between the endpoints. These are picked from SfB UccApilog. 
file

 

  • Video Source Requests tab (VSR) shows the VSR exchanged during the video call. More information on VSR can be found here. VSR shows what other end is requesting for the video, it has multiple attributes like resolution, framerate, etc. 
file

 

  • Call Info Data Snapshots tab shows the call attributes at that particular timestamp. This helps in analyzing the call at particular timestamp.
file

 

The slider can be used to view the call statistics at particular point of time. There is graph provided to view the overall performance of an attribute (like packet loss, dropped frames etc) throughout the call.

(Note that call info data is logged once every 1minute)

file
 
  • Call Statistics (QOE) tab shows the final call details that will be sent to monitoring server.
file

 

  • Devices Tab shows the devices available/used during the call.
file

 

Active – devices which are used in the call

Available – All the devices available plugged into the device

Prioritized – Devices whose priorities have been changed (using registry)

Others – self explanatory

Note that in the device name notifies there are events associated with it.

        

Device events like device connected/disconnected, onhook, offhook, mute, unmute, flash etc are listed when a particular device (which has *) is selected. (The events shown are the events generated during the call, not outside the call.)     

file
 
  • Errors/Warnings Tab shows the typical errors encountered during the call. All errors are not critical errors, some are listed for informational purposes.
file

 

  • Ctrl+Click on call card/SDP/Device/Error Messages/VSR will open the log file (if notepad++ is installed, then it will navigate to the line number where it parsed from)
  • User can use Report Button to send feedback directly to supporttools@citrix.com
  • No data is sent or received using this tool

 

Security Permissions Required by RTOP Analyzer

No special permission is required except permission to access log files and permission to write app data (like extracted .zip archive and LOPper log file) to %temp% folder.

 

Data Modified by RTOP Analyzer

  • When .zip archive is dropped %temp%\LOPExtr is used to extract files
  • RTOP Analyzer writes its own log messages to %temp%\RTOP Analyzer_<pid>.log

 

How to Undo the Changes Made by RTOP Analyzer

Users just need to clear %temp%\LOPExtr and %temp%\RTOP Analyzer_<pid>.log files

 

Uninstalling RTOP Analyzer

Delete the RTOP Analyzer executable package from the machine.

 

Known Issues

  • The absolute path for the log files should not exceed 255 chars (this is system limitation).
  • With 1.x log files, the values for Skype For Business, VDA OS, Fallback Mode, Audio/Video, Audio/Video codecs and Final Status are not displayed. “View SDP Flow” button is the one only available.
  • With 2.0 logs, VDA OS, Fallback Mode, Audio/Video codecs are not displayed, “View Call Stats” button is disabled (this button works from 2.1).
  • Not all failed calls are highlighted.

 

Contact Information

Questions?  Concerns?  Send any feedback for this tool to supporttools@citrix.com.

 

Disclaimer

These software applications are provided to you as is with no representations, warranties or conditions of any kind.  You may use and distribute it at your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that (a) the software application may exhibit errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the software application fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any future versions of the software application.  In no event should the code be used to support of ultra-hazardous activities, including but not limited to life support or blasting activities.  NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SOFTWARE APPLICATION, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  You agree to indemnify and defend Citrix against any and all claims arising from your use, modification or distribution of the code.

 

Additional Information

Where to download ?

Certain legacy Citrix tools are now available on request only. Please submit the request here - https://forms.gle/obA39PEz5qpDiSPq8

Once we verify your request, we will provide access to the download location.