Skype Online – How to Run a Network Assessment

Microsoft - The Essential Guide to Microsoft Teams End-User Engagement
The Essential Guide to Microsoft Teams End-User Engagement

We take you through 10 best practices, considerations, and suggestions that can enrich your Microsoft Teams deployment and ensure both end-user adoption and engagement.

Get the Guide

In my last blog post, I discussed why a network assessment is needed when moving to Skype for Business Online. This time I’m going to walk through a quick example using the network assessment tool provided by Microsoft and see if my home network meets the requirements (just an example, this tool is meant for internal corporate networks). The tool streams audio packets to the nearest Skype media relay servers while measuring packet loss, jitter, latency, and packet reorder. The network assessment tool uses the Skype for Business client media stack and will require the following ports to be open:

First, download the Skype for Business Network Assessment Tool from Microsoft’s download center. Extract the files to your local drive. Some of the key files to notice are:

  • NetworkAssessmentTool.exe – command line tools to run the performance tests
  • NetworkAssessmentTool.exe.config – configures various aspects of the performance tests
  • ResultsAnalyzer.exe – command line tool to interpret the results

Before running the assessment, open the NetworkAssessmentTool.exe.config in order to investigate of some the settings. First, verify the “Relay.IP” is set to the Anycast IP address of This will connect to the closest media relay servers for testing. Next, set the “NumIterations” to how many times to run the assessment. By default, each assessment is 17 seconds in length with a 5 second interval between each test. If you want to run the assessment for one hour, this would be approximately 160 iterations. You can also decrease the interval between calls by changing the “IntervalInSeconds” value. Finally, if desired, set a unique file name for the “ResultsFilePath” key. Each time the assessment executable is ran, it will overwrite the existing file, so either set this value each time or rename the result file after each assessment. Also, do not change the “Delimiter” value as the results must be in a TSV format to be read by the results analyzer.
Next, open up a command prompt or PowerShell window and navigate to where the assessment tool was extracted. Run the NetworkAssessmentTool.exe and it will begin the tests based on the information provided in the config file. A running assessment will display the call metrics for each test:

Finally, run the ResultsAnalyzer.exe and specify the results file:

This will show the 90th percentile value for each metric as well as if the metric meets both the client and network edge performance goals. In this case, if I ran from this the internal corporate network, it would be a pass. However, if this was from the network edge, the packet loss rate was above the require performance value of <0.1%, so it was a failure.
To show an example of a poor performing network, I started streaming a video on YouTube and Netflix and ran the assessment again. The results:

The packet loss, jitter, and packet reorder all increased enough to identify as failures for both an internal client and from the network edge. These results would trigger an Advanced assessment as additional investigation needs to be taken to find out any network issues.
This network assessment tool is not meant for a load or stress test as only a single instance of the tool can be running at once. This is simply to see if the network in its current state meets the requirements before adding the Skype for Business Online workloads to the network. During a deployment, this can be ran again to see if the network is still meeting the requirements as user are brought online and being using the service.
Did you find this article helpful? Leave a comment below or follow me on Twitter (@JeffWBrown) for more information on Skype for Business.

About the Author

I am a Senior Technical Consultant focusing on Lync/Skype for Business. I have a broad background in Windows system administration and enjoy writing PowerShell scripts.

More from this Author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to the Weekly Blog Digest:

Sign Up