How it all works...


What is a Teams Analyzer Node?

The "node" consists of a PowerShell module and the Microsoft Skype for Business Network Assessment Tool. The software is hosted on Microsoft's PowerShell Gallery website making it easy to find, install, and update (automatically). Once installed and activated, the node will begin simulating an audio call to Microsoft's public real time media edge infrastructure. This infrastructure is used by both Skype for Business Online and Microsoft Teams so a successful test from Teams Analyzer will ensure you're prepared to handle audio traffic for both cloud platforms.

When we thought about the challenges IT Administrators face with change in an organization, we knew the solution to a simple network assessment was an equally simple method of installation and configuration. To make installation easy, we created the "node" as a PowerShell module hosted on powershellgallery.com. Embedded in the module is the Microsoft Skype for Business Network Assessment Tool which handles the real time media calling using Microsoft's media stack for Skype and Teams.

High-level installation flow

  1. Upon first installation, the IT admin will execute "New-TaNetworkNode" and pass the Office 365 domain name they registered online with, along with the tenant API key. These two parameters are effectively the "username" and "password" for each of your nodes when communicating to the Teams Analyzer API.
  2. The installation of the node is completed when the Skype for Business Network Assessment is installed along with the creation of four Windows Task Scheduler jobs, a few registry entries, and the registration of your node to the Teams Analyzer website.

Scheduled Jobs

  • Controller - The controller job runs every 60 seconds and communicates with the Teams Analyzer API to determine if it is activated or not. It also pulls down Tenant settings for features like location-based data collection and performance data collection. This job also sets the audio and connectivity testing intervals for the other jobs defined below and are configurable on the Teams Analyzer website. Any changes to the testing intervals defined on the website are picked up by the node and saved to the local registry.
  • Audio Test - The audio test job runs every 5 minutes and begins by simulating a voice call. We check the registry to see if we are permitted to gather basic performance data (CPU percentage and percent disk time) and location data. The results are combined into a JSON object and posted to your tenant. All activities are logged using the unique NodeID (guid) generated at installation.
  • Connectivity Test - This scheduled task simply executes the Skype for Business Network Assessment's connectivity checking feature. It attempts to connect to Microsoft's Transport Relay devices and tests the required ports/protocols for media. This test is not yet posted to the Teams Analyzer tenant as it is a work-in-progress.
  • Updater - The updater makes a call out to powershellgallery.com to check for a newer version every 60 minutes. If a newer version is found, it performs an "Update-Module" action to download a newer version automatically. Please let us know if you would prefer to have more control over this feature including when updates occur, or blocking automatic updates altogether.