Skype For Business

Overview

With this Remote Action, collect information about Skype for Business calls within the last 7 days and calculate metrics for the current day.

Prerequisites

The compatible Skype for Business versions are 2015 and 2016.

The Remote Action gathers all the information about calls from the Skype for Business logs, they are located at:

%LocalAppData%\Microsoft\Office\16.0\Lync\Tracing **For Skype for Business 2016** %LocalAppData%\Microsoft\Office\15.0\Lync\Tracing **For Skype for Business 2015**

Make sure you have FULL or LIGHT logs enabled for Skype for Business, further information in this link.

Input parameters

To a good usage of the Remote Action, set these input parameter values:

The first value is useful for identifying calls properly established and dropped by either the caller or the receiver, but whose duration was too short to consider them as "normal" call. It covers the cases when the device is muted, or a wrong audio device was selected and the user has to leave the call and set it up again, etc.

The second parameter is useful for identifying calls established but still in progress or the ones which, due to a Skype for Business crash, don't have the proper termination traces, hence they are never considered as ended. When a call reaches the provided time, they are considered as Dropped with the reason "The call exceed the maximum expected duration".

The third parameter is useful for identifying calls made within the corporate network or externally, to reduce the scope of those users who have problems with their calls.

Desired configuration

The Remote Action in detail

The aim of this section is to describe how the Remote Action gets the information from the Skype for Business logs, analyzes the results and categorizes the calls.

How it filters the amount of data to read

At the first execution, the Remote Actions reads all the traces since the midnight up to the current moment. The last execution timestamp is stored in the registry at the property:

HKCU:\Software\Nexthink\Act\SkypeForBusiness\LastExecution

For the following executions, this last execution timestamp is taken as start date to reduce resources and to avoid reading already processed calls. In case of this timestamp is not within the current day, the start time will be the midnight.

Call types

Call results

How calls are categorized

To identify calls and process them properly, the Remote Action performs the following steps while it is reading text blocks from the Skype for Business logs.

The text "[xxx]" in the following examples, represents a text that is skipped, it is usually the user identity or email.

It detects the request of a call by getting this message:

INFO :: INVITE [xxx] SIP/2.0

If the gathered block does not have these content types, it is skipped.

application/sdp

multipart/alternative

If the block is taken into consideration, the call mode is identified by these tags for audio, video or screen/application sharing.

m=audio

m=video

m=applicationsharing-video

m=applicationsharing

In case of getting CANCEL or DECLINE blocks, it tries to get the reason of it by checking the value until the first ';' from the ms-client-diagnostics node.

CANCEL [xxx] SIP/2.0

SIP/2.0 [xxx] DECLINE

ms-client-diagnostics: [NUMBER]

If the value of [NUMBER] is 51004, then the call is categorized as Rejected and it does not count for the daily statistics. Otherwise, the call is categorized as Failed.

In case of getting a BYE block, it means that the call was established and initiated.

BYE [xxx] SIP/2.0

If the value obtained from the ms-client-diagnostics node is one of the SKYPE_GOOD_CALL_CODES constant values, then it is categorized as FinishedManually.

Otherwise, the call is categorized as Dropped and the Remote Action tries to get the reason from the ms-client-diagnostics node.

In case of getting the SERVICE block, it contains the VQReport with details about the call and its quality.

SERVICE [xxx] SIP/2.0

When the result of the call is FinishedManually, the quality is measured, categorizing the call as PoorDueTo... in case of any value is over the threshold recommended by Microsoft, otherwise the call is categorized as Good.

Collected metrics/data

The values about the quality call are computed by Skype for Business and stored in the VQReport node within SERVICE trace in the log file. The Remote Action does not perform any calculation.

Those metrics are only available when the result of the call is FinishedManually and depending on the values, the call is categorized as Good or PoorDueTo... and any reason such as RoundTrip, Jitter, and so on.

The data collection is performed as detailed on the following link.

Only the calls for the current day are considered for the metrics calculation.\

Nexthink log details

The Nexthink log is the CSV file where the Remote Action stores the calls information for the last 7 days. It is available at this location:

%LOCALAPPDATA%\Nexthink\SkypeForBusiness\nxt_skype_calls.csv

Below, you can see the fields description:

Last updated