Skype for Business


Skype for Business

Skype for Business

Remote Action: Skype for Business Diagnostic

This remote action collects information every hour about Skype for Business for active devices. It creates 24 log files for the last 24 hours where every call is monitored.

When the remote action is executed, it rotates all files and removes the last one if the elapsed time from the last execution is greater than one hour, otherwise the information gathered in the execution will be saved in the last file, replacing the information in it.

The Nexthink logs are available at this location: %LOCALAPPDATA%\Nexthink\SkypeForBusiness

Make sure you have FULL logs enabled for Skype.

see how to enable Skype For Business/Lync logging

You should get the logs written on one of these two folders depending on the Skype version: %LocalAppData%\Microsoft\Office\16.0\Lync\Tracing **FOR SKYPE 2016** %LocalAppData%\Microsoft\Office\15.0\Lync\Tracing **FOR SKYPE 2015**

If the log files are empty, the Remote Action will not be able to return any Skype calls data.

Input parameters

  • MinSecondsForCall: If the duration is under the provided value, the call is considered as short. It is categorized in this way because some calls may become short due to technical issues.
  • NumHoursForTimeout: The maximum duration to consider an unfinished call as dropped call. When the remote action is being executed, there may be calls in progress, hence they are stored in a cache file. For the following attempts, if the duration of the call passes the provided value, it is categorized as dropped. The purpose of this value is to categorize dropped and unfinished calls properly, because they have the same traces in the Skype for Business logs.

Desired remote action configuration

  • Schedule time: Hourly. Recommended value, because otherwise the calls information is not stored within the set of logs properly hence it could imply a loss of data.
  • User context: Current interactive user. The remote action needs to access data that is stored in the user folder.
  • Timeout: At least 165 seconds. The remote action has an initial wait up to 45 seconds to avoid a huge quantity of devices writing the results in the engine at the same time.

About the collected metrics/data

The outputs taken from the Skype for Business logs are computed by Skype as detailed on the following link: skype metrics

Nexthink is not modifying those values.

Calls statuses

All these types of calls can reach one o more of these final statuses:

  • Successful call: A call of any type which was established and did not have any problem.
  • Failed call: A call of any type which could not be established, or the destination did not receive, typically due to network issues. The users could not communicate each other because the call was not started, it was only an attempt.
  • Dropped call: A call of any type which was established correctly but due to serious issues, was cancelled. Skype cancelled the communication automatically. If the users had finished the communication manually due to network issues, it would become a poor call.
  • Poor call: A call of any type which was established but had some quality issues. A poor call may become dropped call if it is cancelled by Skype for Business.
  • Rejected call: A call of any type which was cancelled by the caller or declined by the receiver before it can be established. This status is not considered by the remote action.
  • Short calls: Uses input parameter "Min Seconds For Call" anything under X seconds is a short call.

=How to interprete the NXT logs

About NXT Logs

Mode Quality Bad result reasons Duration Wifi
0 0 0 10 0
0 1/2 0 100 1
0 3 1 "Reason Network 1" 50
0 4/5 2 "Reason Network 2" 20
1 0 0 30 1
1 1/2 0 120 0
1 3 1 "Reason Timeout 1" 1000
1 4/5 2 "Reason Network 3" 500

NXT Logs details:

Mode attribute may be:

0 = Audio 1 = Video 2 = Sharing


  • may be 0 if good
  • 1 .. 13 if poor.

If poor, several values separated by '/' are accepted. Possible values in case of poor quality:

  • 0 = Good
  • 1 = PoorMOS
  • 2 = PoorRoundTrip
  • 3 = PoorPacketLoss
  • 4 = PoorJitter
  • 5 = PoorConcealed
  • 6 = PoorVideoPostFECPLR
  • 7 = PoorVideoLocalFrameLoss
  • 8 = PoorRecvFrameRate
  • 9 = PoorLowFrameRate
  • 10 = PoorVideoPacketLoss
  • 11 = PoorVideoFrameRate
  • 12 = PoorDynamicCapability
  • 13 = PoorRelativeOneWay

result may be:

  • -2 = Unfinished (only for hashtable, not to be included in log)
  • -1 = Rejected/Canceled
  • 0 = Successful
  • 1 = Failed
  • 2 = Dropped

bad_result_reason attribute

contains a string with the reason for the call to be dropped/failed.

It may also be empty (result = Successful).

duration attribute

is the number of seconds that the call lasted.

wifi attribute

may be: 0 = Wired 1 = Wifi

Additional attributes might be available (e.g. device used for the communication).

Recommendation is to execute this remote action every hour to be able to access the generated files for each hour.