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
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
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.
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.