This is not the first blog post on internet about this tool but since it is so import that you keep a good network quality for you Skype for Business users and Teams users I will also write about this tool.

When I’ve been working with customers running Skype for Business network is usually one of the components that causing bad quality in calls and meetings, the other component is bad audio devices. So now when rolling out Teams in organisations we get a new chance to do the homework first and make sure that we give our users a good experience for calls and meetings. Even if users tend to work more from other locations that the office network the majority still use the internal network to reach Office 365 network.

Network Testing Companion is a tool from Microsoft that helps you to perform network quality and connectivity test from your computer. When the tool is installed it is an easy tool that anyone can use. If you have users spread out on different sites within your organisation it is good to have a “Quality Champion” working locally on the different sites that can use this tool to make sure that you have a great network quality from their local site.

Installing Network Testing Companion

First open PowerShell and run it as Administrator. Execute the command Install-Module -Name NetworkTestingCompanion

The installation process will check if you have NuGet installed in the correct version and ask if you want to install it if it is not installed yet. You can also get an warning that you are installing from an untrusted repository. Type y on both questions to continue.

The next step is to create shortcuts, you do this with Invoke-ToolCreateShortcuts.

Run Network Testing Companion

When the installation is done you should be able to find NTC in the Start menu, search for Network Testing Companion and run the application.

At the first start NTC will check so that you have Network Assessment Tool installed (a tool that is used to do the network tests) and if something is missing you will see the green Install button, press it and NTC will take care of the installation.

When you see the green Start button you are ready to go, make sure that you shutdown all other applications so that you don’t have anything else taking bandwidth. Press the green Start button to start the test. NTC will first test connectivity to known Teams servers and then start to testing the quality by sending a audio file to Microsoft edge servers, so we send traffic to the relay servers fronting Teams servers.

When the test is done you see a red cross if any of the two tests failed or if everything was good you would see a green check icon. To see more details of your tests select the View Results tab. You can click on the reports icon to see more details of each test.

In this example there was a network connectivity error so we open the Report and check it out, click the Report icon to open the report.

The report will open up in notepad and in it you will see a list of addresses and ports NTC tried to access. Use this list when talking to your network team and make sure that they open communication to all addresses and ports listed on the page Office 365 URLs and IP address ranges.

Even if the Network quality test was green in this test we should check the report. Here we can see that for a end user client the test was good, but if we were running this test from a computer connected close to our internet connection (network Edge) the package loss rate was to high.

Running multiple tests

Since network quality can go up and down during a day we could also use Network Testing Companion to do some longer tests. If you don’t do any changes one test will take 40-50 seconds, depending on how long connectivity tests take.

Select the Settings tab and change how many Consecutive audio tests you want to do (1-50), sen select the Delay between audio tests (1-120 seconds) and then select how long each test should be in the Connectivity test timeout (90-190 seconds). If you set all these to the maximum you will run tests during 1,5 hours.

Sometimes 1,5 hour tests is not enough to find the problem or you want to find other errors, maybe the path is changing constantly or you have a proxy blocking traffic, then you should contact a partner that can do a network assessment test that runs for many days instead with tools that can see more statistics. One of them is the UCReady test.

Network preparation

The tests we did with Network Testing Companion measures quality by sending a audio file to a Microsoft Edge (the connection point connecting Microsoft network to Internet). When measuring you should check that you are below the numbers in the figure below.

ValueClient to Microsoft Edge
Latency (one way) *< 50ms
Latency (RTT or Round-trip Time) *< 100ms
Burst packet loss<10% during any 200ms interval
Packet loss<1% during any 15s interval
Packet inter-arrival Jitter<30ms during any 15s interval
Packet reorder<0.05% out-of-order packets

If you get higher number than this check the following:

  • Network drivers can be old on the computer that you are testing from and that can give you a bad test result.
  • Local egress point is better than a central, this is were your traffic exits your network and go out on internet to find the closes Microsoft network peering location. You always want to come it to Microsoft network as soon as possible since their global network is optimised for this traffic.
  • Internet Exchange Points is were different Internet Service Providers connect to each other, make sure that you use an ISP that is connected to an Exchange Point were Microsoft is connected to minimise the numbers of hops on Internet. You can check it in the PeeringDB.
  • Firewall ports 80 and 443 and UDP ports 3478 through 3481 from the clients to the internet have to be open to get an good experience.