Teams Quality Installation Instructions

Prev Next

Notes

  • After this DEX pack is installed, and components correctly configured, it may take up to 24 hours for data to appear.

  • If you update or reinstall this DEX Pack, you must reassign any Views created below to the SF_Teams Quality Check Role and reapprove the TeamsQualityCheck Action.

  • This pack relies on the Microsoft Teams Network Assessment Tool which can be deployed directly from the Microsoft Download Center.

Third Party Data Processor

IMPORTANT: This DEX pack makes use of a third-party API from DB-IP: https://db-ip.com/. The script will send public IP address information (considered Personally Identifiable Information or PII) from the subject system to obtain ISP registration and location information for said IP address. DB-IP should be considered as a third-party data processor.

Teams Quality Sensors and Experience Index

Installing this DEX pack enables the following sensors by default:

  • Teams Quality Fail - Jitter

  • Teams Quality Fail - Pkt Loss

  • Teams Quality Fail - RTT

These sensors are included in the sensor group that directly impacts the Experience Index calculation. As a result, the Experience Index for your environment may change after you install this DEX pack.

Installation Steps

To install this DEX Pack, complete the following steps:

  1. Import the Kit.

  2. Enable the TeamsQualityCheck Action.

  3. Create the TeamsNetConn View.

  4. Assign the TeamsNetConn View to the Teams Quality Check Role.

  5. Assign the Teams Quality Check Role to Relevant Configurations.

Import the Kit

There are two ways to import the DEX Pack to SysTrack:

  • Import the pack directly from the Kits page in SysTrack. See the Import Online Kits guide for more information.

  • Import a local file downloaded from the DEX and Kit Downloads page. Click the Download Kit link for the pack and follow the Import Local Kits guide to finish the import.

Enable the TeamsQualityCheck Action

  1. Verify you have unlocked the tenant next to your username.

  2. In Configure, click Automations and Collection Extensions on the left.

  3. Select Action Governance, then click the Pending Approval tab.

  4. Find the TeamsQualityCheck Action and select the checkbox next to it.

  5. Click Approve, then confirm. The action moves to the Actions tab and is enabled automatically.

    NOTE: In SysTrack Cloud, the user who imported the Kit may not be allowed to approve its actions. If the checkbox is unavailable, ask another user with Action Governance – Management permission to approve the action.

Create the TeamsNetConn View

The Teams Quality Dashboard requires you to make a View for the SF_Teams Quality Check Role.

To create the new View:

  1. Navigate to Configure > Views.

  2. Click the padlock icon in the upper-right to enable editing.

  3. Click the plus icon to add a new View.

  4. Fill in the Settings as follows:

    1. View Name: TEAMSNETCONN

    2. Existing Category: Custom

    3. Expires in: 30 days

    4. When Expired: Append Data

    5. Refresh: Daily, Inside, 24x7

    6. Copy the TEAMSNETCONN SQL Query, and paste it into the box under SQL Selection > Generic.

    7. Click Test SQL. A Success message should appear at the top of the screen. If the test is not successful, the query may have been copied incorrectly.

  5. Click Create View at the top-right.

TEAMSNETCONN SQL Query

SELECT
	T0.WGUID,
	GETUTCDATE() AS VWTIME,
	T0.probe_time,
	T0.probe_count,
	T0.avg_jitter,
	T0.avg_latency,
	T0.avg_loss_rate,
	T0.is_proxy,
	T0.max_jitter,
	T0.max_latency,
	T0.max_loss_rate,
	T0.primary_adapter_string AS primary_adapter,
	T2.STRVALUE AS primary_ASN,
	T3.STRVALUE AS primary_CIDR,
	T4.STRVALUE AS primary_city,
	T5.STRVALUE AS primary_country,
	T6.STRVALUE AS primary_egress_ip,
	T7.STRVALUE AS primary_ISP,
	T8.STRVALUE AS primary_lat,
	T9.STRVALUE AS primary_lon,
	T10.STRVALUE AS target_ip,
	T11.STRVALUE AS teams_adapter,
	T12.STRVALUE AS teams_ASN,
	T13.STRVALUE AS teams_CIDR,
	T14.STRVALUE AS teams_city,
	T15.STRVALUE AS teams_country,
	T16.STRVALUE AS teams_egress_ip,
	T17.STRVALUE AS teams_ISP,
	T18.STRVALUE AS teams_lat,
	T19.STRVALUE AS teams_lon,
	T0.NET_UTIL,
	T0.FRAME_RATE,
	T0.BYTE_RATE,
	T0.BCAST_RATE,
	T0.OUTQLEN,
	T0.REXMIT,
	T0.BANDWIDTH,
	T0.WIFI_SIGNALQ,
	T0.WIFI_TRANS_RATE,
	T0.WIFI_RECV_RATE
FROM (
	SELECT
		*,
		ROW_NUMBER() OVER (PARTITION BY RECID ORDER BY MINS_DIFF, WTYPE) AS ROWNUM
	FROM (
		SELECT
			T0.*,
			T1.NET_UTIL,
			T1.FRAME_RATE,
			T1.BYTE_RATE,
			T1.BCAST_RATE,
			T1.OUTQLEN,
			T1.REXMIT,
			T1.BANDWIDTH,
			T1.FRAME_RATE_SD,
			T1.BYTE_RATE_SD,
			T1.WIFI_SIGNALQ,
			T1.WIFI_TRANS_RATE,
			T1.WIFI_RECV_RATE,
			T1.WIFI_CHANNEL,
			T1.WIFI_BAND,
			T1.WIFI_FREQ,
			ABS(DATEDIFF(N,T0.probe_time,T1.WTIME)) AS MINS_DIFF,
			T1.WTYPE,
			S0.STRVALUE AS primary_adapter_string
		FROM DYNI_TeamsNetworkConnection AS T0
		LEFT JOIN SASTR_DYN AS S0 ON T0.primary_adapter = S0.STRINGID
		LEFT JOIN (
			SELECT
				T0.*,
				S0.STRVALUE,
				T1.ViewName
			FROM SANET AS T0
			INNER JOIN SASTRDEVICE AS S0 ON T0.DEVICE_ID = S0.STRINGID
			INNER JOIN (
				SELECT DISTINCT
					Name1 AS ViewName,
					FIRST_VALUE(Name2) OVER (PARTITION BY Name1 ORDER BY NumRows DESC) AS NetName
				FROM (
					SELECT
						S0.STRVALUE AS Name1, 
						S1.STRVALUE AS Name2,
						COUNT(*) AS NumRows
					FROM SANET_CONN_HISTORY AS T0 
					INNER JOIN SASTRDEVICE AS S0 ON T0.ADPT_DESC_ID = S0.STRINGID 
					INNER JOIN SASTRDEVICE AS S1 ON T0.DEVICE_ID = S1.STRINGID 
					WHERE S1.STRVALUE > ''
					GROUP BY
						S0.STRVALUE,
						S1.STRVALUE
				) AS T0
			) AS T1 ON S0.STRVALUE = T1.NetName
			WHERE T0.WTYPE IN (0,1)
		) AS T1 ON T0.WGUID = T1.WGUID AND T1.ViewName = S0.STRVALUE
	) AS T0
) AS T0
LEFT JOIN SASTR_DYN AS T2 ON T0.primary_ASN = T2.STRINGID
LEFT JOIN SASTR_DYN AS T3 ON T0.primary_CIDR = T3.STRINGID
LEFT JOIN SASTR_DYN AS T4 ON T0.primary_city = T4.STRINGID
LEFT JOIN SASTR_DYN AS T5 ON T0.primary_country = T5.STRINGID
LEFT JOIN SASTR_DYN AS T6 ON T0.primary_egress_ip = T6.STRINGID
LEFT JOIN SASTR_DYN AS T7 ON T0.primary_ISP = T7.STRINGID
LEFT JOIN SASTR_DYN AS T8 ON T0.primary_lat = T8.STRINGID
LEFT JOIN SASTR_DYN AS T9 ON T0.primary_lon = T9.STRINGID
LEFT JOIN SASTR_DYN AS T10 ON T0.target_ip = T10.STRINGID
LEFT JOIN SASTR_DYN AS T11 ON T0.teams_adapter = T11.STRINGID
LEFT JOIN SASTR_DYN AS T12 ON T0.teams_ASN = T12.STRINGID
LEFT JOIN SASTR_DYN AS T13 ON T0.teams_CIDR = T13.STRINGID
LEFT JOIN SASTR_DYN AS T14 ON T0.teams_city = T14.STRINGID
LEFT JOIN SASTR_DYN AS T15 ON T0.teams_country = T15.STRINGID
LEFT JOIN SASTR_DYN AS T16 ON T0.teams_egress_ip = T16.STRINGID
LEFT JOIN SASTR_DYN AS T17 ON T0.teams_ISP = T17.STRINGID
LEFT JOIN SASTR_DYN AS T18 ON T0.teams_lat = T18.STRINGID
LEFT JOIN SASTR_DYN AS T19 ON T0.teams_lon = T19.STRINGID
WHERE
	ROWNUM = 1
	AND (
		MINS_DIFF IS NULL
		OR MINS_DIFF <= 10
	)
	AND probe_time > <LASTREFRESHTIME>

Assign the TeamsNetConn View to the Teams Quality Check Role

To assign the new View:

  1. In Configure, go to System Configuration > Roles.

  2. Select the SF_Teams Quality Check Role.

  3. At the bottom of the screen, select the Views tab.

  4. Scroll to TEAMSNETCONN and check the box next to it.

  5. Click Save Changes.

Assign the Teams Quality Check Role to Relevant Configurations

This DEX Pack requires you to assign the SF_Teams Quality Check Role to the relevant Configurations assigned to systems where you would like the data to be collected:

  1. Navigate to Configure > Configurations.

  2. Click the padlock icon in the upper-right to enable editing.

  3. Use the drop-down at the top to select a relevant Configuration, or create a new Configuration.

  4. Assign the SF_Teams Quality Check Role to the Configuration by dragging it from Available Roles to Assigned Roles.

  5. Click Save Changes at the top-right.

  6. Repeat this process for any other relevant Configurations.

NOTE: The Teams Quality Role is assigning the Tool Schedule to periodically run a collection extension