The benefits of Express route are well documented, and from the horses mouth, “ExpressRoute connections offer higher security, reliability, and speeds, with lower and consistent latencies than typical connections over the Internet”. A point of contention has been this so called reliability.

The only way to guarantee reliability in packet switched networks is QOS. Sure, through capacity management and or ‘massive pipes’ this can be avoided to a certain extent, but there is always a risk that one device/user/application could consume all of that bandwidth leaving other systems with a smaller piece of the pie.

We have recently adopted Skype for Business PSTN Calling and through this have developed a need for a priority queue on EF (voice traffic effectively) marked packets. Microsoft’s documentation is quite clear on how it thinks QOS should be deployed.

It needs to be deployed end-to-end.

A QoS capable connection must be configured end-to-end (PC, network switches and routers to the cloud) as any part in the path that fails to support QoS could degrade the quality of the entire call

Your express route provider must provide a class of service for EF packets.

Each ExpressRoute network service provider will have a class of service (QoS) that is appropriate for real-time voice and video. This COS is called ‘Expedited Forwarding’ (EF) for voice and ‘Assured Forwarding’ (AF) for video

The problem is that our network provider and Microsoft doesn’t mandate this requirement despite it’s clear stance on it. I’ve labored through support tickets both with our provider and Microsoft – The provider has no interest as there is no pressure (from Microsoft, or other customers at this point) and Microsoft won’t force them to implement it.

The post serves little more purpose than to say, ‘be careful’ when expecting your express route provider to support QOS. They may not, and they are not required to.

We are looking at alternative network providers.

In the first of several posts about Skype for Business calling, I will be looking at a few ways that performance issues can be troubleshooted. As a new user of this service we have at times experienced issues with the quality of calls – usually this comes in the form of ‘squelchy’ sounding voice, or either one way or bidirectional silence on the calls (while the participants continue to talk). First up…

Network Assessment Tool

Published on the 14th of December, network assessment tool is a program which will make automated test calls using the clients Skype for Business client. On each call the following stats are output:

  • PacketLoss
  • Rate RoundTripLatencyInMs
  • PacketsSent
  • PacketsReceived
  • AverageJitterInMs
  • PacketReorderRatio
Network Assessment Tool Results

Network Assessment Tool Results

Additionally, an audio file is stored with the results that effectively plays back the call to the user. it’s a good way to see whether a small amount of packet loss created a perceivable drop in quality on the call.

The tool can be downloaded here.

The main configuration file ‘NetworkAssessmentTool.exe.config’ allows a number of changes to the way the tool behaves by default. I suggest removing the ‘Relay.TCPPort’ setting as skype for business should be using UDP for it’s calls. The ‘NumInterations’ is important as it allows you to specify how many times the tool should run before it quits.

configuration file options

Configuration file options

An issue I found with the tool was that although it was running several times, the output file ‘ReceivedAudioFile.wma’ was being overwritten every time. It was therefore impossible to correlate one line in the excel results file to a particular audio file as only the last one was being saved. I wrote a little powershell to run the program, rename and move the audio file, and export the results.

$repeat_count = 100000
$delay = 20
$i = 1

while($i -lt $repeat_count) {

sleep $delay
write-host “Starting call number $i”
$date = Get-Date -Format s
$file = $date + “.wma”
$file = $file -replace ‘:’,”

Set-Location -Path C:\Temp\NetworkAssessmentTool\
C:\Temp\NetworkAssessmentTool\NetworkAssessmentTool.exe
Move-Item ReceivedAudioFile.wma C:\Temp\NetworkAssessmentTool\Calls\$file
$new_resilts = Import-Csv results.tsv
$new_resilts | export-csv running-results.csv -NoTypeInformation -Append
$i++

}

Now you get a directory filled with audio files, and a excel file detailing the stats of every call. I have left this running for the last few weeks and it’s been very useful to see if call performance issues can be identified against network events (ie busy periods, backup jobs, internet problems etc).

Assessment tool script output

Assessment tool script output