Assess Your Network’s Readiness for Skype for Business Online

Introduction: Skype for Business Online has specific network requirements in order to provide end-users with an optimal experience. Customers will need to assess the readiness of their network to ensure it can provide the level of experience that both the business and end-users are expecting. The purpose of this blog post is to describe how to use the Skype for Business Network Assessment Tool and perform an “Essentials Assessment” to see if your network meets the Jitter, Packet Loss and Latency requirements that are needed to provide said experience.

IMPORTANT: Network readiness can be a very deep topic, therefore we will not cover it end-to-end in this blog post. Please refer to the Assess stage of Skype Operations Framework for additional information and a step-by-step process on how to conduct the full network readiness exercise and how to prepare your organization for such a project.

Note: Many of the images and diagrams in this post have been sourced from the Skype Operations Framework (SOF) website. You can download the full PowerPoint decks with these slides and other supporting documentation from the SOF website here.

Background:

The following diagram illustrates the requirements for an optimal audio/video and meeting experience when using Skype for Business Online. Note, these requirements are detailed further in this article.


To understand if your network is able to meet these requirements, a Network Assessment will need to be performed. According to the Skype Operations Framework there are two assessments available: Essentials and Advanced. The idea is to first run thru the Essentials Assessment to get a baseline and identify any potential weak areas. If weak areas are identified or additional insight is needed (i.e. a wireless site survey or WAN analysis) then an Advanced Assessment is required. In this blog post, I will only be discussing the Essentials Assessment. The objective of a Network Assessment is the following:

Unveil risk areas

  • Helps determine potential weak spots
    in the network
  • Prevents congestion points before implementation

Network recommendations

  • Provides recommendations for network configuration
  • Guides through network optimization
    such as QoS
  • Prepares for additional network activities
  • Provides insight into network performance

Prepare for operations

  • Readies customer to redeliver through lifecycle (remember, the assessment is not a one and done thing. Just like SOF, it is a continuous lifecycle as changes occur in your network the assessment will need to be re-delivered).

The following figure illustrates the differences between the two types of assessments.


If you believe an Advanced Assessment may be warranted, review the following diagram to understand the triggers of the Advanced Assessment. Please note a list of qualified Advanced Assessment Microsoft Partners can be found here. Let’s take a look installing the tool for the Essentials Assessment in the next section.


Installing the Skype for Business Network Assessment Tool:

The Skype for Business Network Assessment Tool will perform a traffic simulation on the network by measuring against our published networking targets found here, and must be run on every site that will be enabled for Skype for Business Online (on both client and edge machines if in Hybrid). This tool runs on any Windows laptop, desktop or server capable of running the Skype for Business Client (i.e. Windows 7+Server 2008 R2+ Dual core 2,4 Ghz, 4GB RAM). It will use the same ports and protocols as the Skype for Business Client as documented here

To download the tool, browse to https://www.microsoft.com/en-us/download/details.aspx?id=53885 and click Download:


Once downloaded, unzip the tool to a folder that will be easy for you to access. In my example, I will unzip to a folder c:S4BAssessmentTool


Run the Tool:

Next, to run the tool launch a command prompt, navigate to the directory of where you extracted the tool to, and type the following command: NetworkAssessmentTool.exe then press Enter


Windows Firewall may prompt you with the following dialog box, click Allow Access


The simulation tests will commence. Allow ~17 seconds for this to complete:


Once the tests are completed, the results are written to a CSV file, type the following command to retrieve the results ResultsAnalyzer.exe results.csv and press Enter. The results analyzer tool will then analyze the results and provide you with visual confirmation if the results passed or failed based on the information we discussed previously in this blog post. As you can see my results failed on Packet Loss and Jitter (intended for demonstration purposes):


Customize the Tool (Optional):

Based on your specific tests and environment you may need to manually specify ports, protocols, IP address, and where the results are written to. The tool can be customized by opening NetworkAssessmentTool.exe.config using a text editor such as Notepad and modifying the parameters in the XML document:

 

<?xml version=”1.0″ encoding=”utf-8″ ?>

<configuration>

<startup>

<supportedRuntime version=”v4.0″ sku=”.NETFramework,Version=v4.5″ />

</startup>

<appSettings>

<add key=”Relay.IP” value=”13.107.8.2″/>

 

<!– At least one of the following two protocols must be configured –>

<!– Configure only one if testing only one protocol –>

<!– If both are configured, UDP will be preferred if it is available –>

<add key=”Relay.UDPPort” value=”3478″/>

<add key=”Relay.TCPPort” value=”443″/>

 

<!– WMAFilePath configures the WMA file to be streamed –>

<!– WMAOutputFilePath contains the received audio (for the duration of the call). –>

<!– If WMAOutputFilePath already exists, the existing file will be overwritten. –>

<add key=”WMAFilePath” value=”Tone.wma”/>

<add key=”WMAOutputFilePath” value=”ReceivedAudioFile.wma”/>

 

<add key=”NumIterations” value=”1″/>

<add key=”ResultsFilePath” value=”results.tsv”/>

<add key=”Delimiter” value=”    “/>

<add key=”IntervalInSeconds” value=”5″/>

</appSettings>

</configuration>

 

A description of the configuration fields that you can modify:

Configuration

Description

If Not Specified

Relay.IP

IP address to reach the relay server. MUST be a valid IP address string.

Tool will fail.

Relay.UDPPort

UDP port to reach the relay server for relay allocations. MAY be omitted if the user wishes to test TCP allocations only. If both UDP and TCP are configured, UDP will be preferred if the relay is reachable via UDP.

If UDP and TCP are not specified, tool will fail. Otherwise, allocate on TCP only.

Relay.TCPPort

TCP port to reach the relay server for relay allocations. MAY be omitted if the user wishes to test UDP allocations only.

If UDP and TCP are not specified, tool will fail. Otherwise, allocate on UDP only.

WMAFilePath

Path to valid WMA file to be used as an audio file for the audio call. File MUST exist and MUST be a WMA file.

Tool will fail.

NumIterations

Number of audio calls to make. These will be made serially (no concurrency).

Takes value of 1.

ResultsFilePath

Location to output the results to. This is typically a tsv or csv. The delimiter is specified by the “Delimiter” setting. The first line of the output describes what each column is.

Results will not be output to a file.

Delimiter

For the output file in “ResultsFilePath” (if specified), this is the separator for each column in the output file.

Takes value of <TAB>.

IntervalInSeconds

Time to wait between consecutive calls.

Takes value of 5.0s.

WMAOutputFilePath

Path to where the audio received will be written. If file exists it will be overwritten

Tool will fail.

 

Additional information about configuring and troubleshooting the tool can be found in the Usage.doc file in the tool’s installation directory.

Next Steps:

Following the methodology in Skype Operations Framework, these tests should be conducted at every site to understand that individual site’s readiness and determine if an Advanced Network Assessment is warranted. Enjoy!

 
 

As always, please leave your feedback, input and ideas in the comments below.

Validate QoS for Skype for Business Online

In this post we will look at how to validate Quality of Service (QoS) tagging in your on-premises network for Skype for Business Online. This procedure is useful for testing your changes, after configuring the environment for QoS to ensure it is working as designed.

Note: This article will not discuss how to configure your on-premises network for Quality of Service for Skype for Business Online, as this will be addressed in a future article.

Please reference the following article for additional information on QoS and Skype for Business Online: Media Quality and Network Connectivity Performance in Skype for Business Online

Prerequisites:

  • QoS is configured in your on-premises network to tag packets with the appropriate DSCP markings (i.e. EF46 for voice, AF41 for video,etc) at the network based on port ranges for Skype for Business Online (best to accommodate all devices such as BYOD, Mac, smartphones, Windows, etc), or use Active Directory Group Policy Object (Windows only).  (If using GPO, the network must trust DSCP markings from the clients, however this will only mark DSCP packets outbound from the PC and will not mark inbound packets)
  • Skype for Business desktop client is installed on the computer where you will perform the validation.

Tools Required:

Instructions:

  1. Login to Skype for Business on the computer where Microsoft Message Analyzer is installed.
  2. Launch Microsoft Message Analyzer as an Administrator
  3. From within Microsoft Message Analyzer, click the Start Local Trace button:

  4. Open Skype for Business, and place an outbound audio call to the PSTN using PSTN Calling.

Note: Alternatively you can call another Skype for Business client (Peer to Peer) or join a Skype Online Meeting.

  1. On the Skype for Business end, generate audio traffic by speaking into the microphone for 30 seconds.
  2. On the far-end (i.e. the PSTN) generate audio traffic by speaking into the microphone for 10 seconds.
  3. When finished, hang up the call.
  4. Return to Microsoft Message Analyzer and click the Stop button on the top toolbar:

  5. In the filter box at the top of the window, remove all text and type RTP and press Enter, then click Apply.

10. This will filter only Real-Time Protocol (RTP) packets, the voice packets sent/received by Skype for Business:

11. Find a packet that has a source from Office365 (in this case 131.253.133.18) and single click to highlight it:

Note: If the test call was to another Skype for Business client (Peer to Peer), find the IP Address of that computer.

12. In the lower left pane of the window under Message Stack, click IPv4

 

 

13. To the right, in the Details pane, click the line Differentiated Services to highlight it. (Note, you may need to expand the Name and Value columns)

14. In the Value column of the Differentiated Services line, validate the DifferentiatedServicesField reads DSCP=46. Indicating the RTP packet coming from Office365, traversing your network to your PC using the port range 50,000-50,019 was tagged with Expedited Forwarding (EF) 46.

This same procedure can be used to validate QoS markings for other Skype for Business traffic, such as video.

Important: If ExpressRoute is deployed and correctly configured with the carrier partner, packets over ExpressRoute will also be tagged. See ExpressRoute and QoS in Skype for Business Online for more information.

Congratulations! It is that easy to validate QoS on your network for Skype for Business Online!

(Stay tuned for a future additions to this article on information for validating QoS over a wireless network.)