Wednesday, 28 September 2016

Hands on with the new Skype for Business Online Network Assessment tool

Hello Readers.  Hope you're well.  This is Ignite week and as usual there has been a ton of news and new stuff.  This isn't an Ignite summary post.  For starters, I'm not at Ignite.  My view of the content is through the Ignite On Demand site, video Keynotes and from my legion of Twitter fans, most of which are there this week and live tweeting.

One thing that caught my eye is the new Skype for Business Network Assessment tool from Microsoft. 

This is a very basic tool that runs in either the command prompt or PowerShell with elevated privileges.  The tool is designed to test the network performance between your laptop/PC and the Skype for Business Online Network Edge.  It checks for latency, packet loss and jitter (all of the things that might make a call using Skype for Business Online terrible).

To download go here: https://www.microsoft.com/en-us/download/details.aspx?id=53885  

It downloads as network-assessment-lib-6.0.8970.161.zip.  Unzip to your chosen directory and you're ready to run it.  Don't expect a fancy GUI, this one is strictly for geeks like me (and you) and those that know their way around PowerShell or CMD.

The contents of the zip file include the usual EULA along with two applications, the DLL's, a config file and a Usage doc.  The Usage doc just tells you what it does and how to run it.  The config file has some configuration information including the Relay IP of the Skype for Business network Edge.  The usage doc also includes an explanation of the keys contained in the config file.



I ran the assessment without changing anything in the config file and you probably should too.  If you simply unzip the contents to a folder and run the tool from within the folder you shouldn't need to change anything anyway.

The one key I questioned was the Relay.IP, which is 13.107.8.20.  I was curious to see what this is so I did a search to find the Skype for Business Online IP addresses.  And I found a big list here - https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2#BKMK_LYO. And sure enough, this IP is part of a range.  A quick check on the IP tells me it belongs to Microsoft Azure and lives in Redmond.  So I left it alone.


To run the tool you need to open either the command prompt or PowerShell as administrator.  I tried without elevated privileges and it failed almost straight away. 

Browse to the folder you unzipped the files to and run the file NetworkAssessmentTool.exe.  I used PowersShell.

.\NetworkAssessment.exe


The tool places a synthetic call by sending a Tone for 17 seconds. The tone used is the Tone.wma file.  If you play the file it just sounds like a dead line tone.

Once the call completes, you get to see the results of the call with numbers against the metrics it checks for.  It also saves these results in a file called results.tsv.

The usage doc tells you that the target for these metrics should meet "the published targets for Skype for Business network targets listed here".  If you want to compare the results against the website, you can do.  However there is also an additional tool that checks for you.  This is the ResultsAnalyzer.

To run the ResultsAnalyzer.exe application you also need to reference the results file.
.\ResultsAnalyzer.exe .\results.tsv
 

As you can see, in my case, I passed.  I'm on a wired connection to my broadband router and connecting over the public internet.  I don't use Skype for Business Online as my main account and, although I do have a Skype for Business Online account, I didn't switch accounts for the test.

I thought I would be clever and changed the relay IP to my company's access Edge IP and it failed immediately and gave the following errors.

Call failed.
ERROR: Failed to establish connection with remote endpoint.
ERROR: Check that the relay is configured correctly in your config file.

If you look in the Usage doc there is an example of these errors in section 6.5 for Connectivity Errors.  

"The configured relay may not always be reachable. This could be due to network conditions or even relay outages. This may not be a fatal error and the tool will continue to attempt subsequent iterations of the call. Results for this instance will be ignored. The following is a sample output where all iterations fail to reach the relay (due to a misconfigured IP address:"

I assume that the application is only designed only to communicate with the Skype for Business Online network Edge somehow.  Not to worry though, if you do want to check connectivity to your own deployment, whether on-premises or Online you can still use the Connectivity analyzer.

I hope you found this useful.  Thank you for reading.

If this or any other post has been useful to you please take a moment to share.  Comments are welcome.