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.
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:
2. Work with RTOP Analyzer:
The versions group has the version information.
The Connection group has the information on how Real Time Media Engine (RTME) is connected.
Connection Status:
Fallback Mode:
The Call Details group is self-explanatory. (Please note, the audio/video codec information is available from HROP 2.1).
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.
Example 2 : Failed calls. Reason for the failed calls is also specified.
Example 3 : Calls which has SIP errors
Example 4 : Conference calls
Example 5 : Declined calls
And many more cases are handled.
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.
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.
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)
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.)
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
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
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.
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.