Monitoring User Experience, consisting of Quality and Reliability metrics, is an important element to ensure end-users realize the value of calling and meetings in a Teams and Skype for Business deployment. In this article we will help you creating the building file required to run CQD effectively.
We offer rich data to support user experience management through the Call Quality Dashboard (CQD). To get the most out of CQD you want to get targeted reports to understand if there is a certain area of your environment that requires special attention. CQD allows you to do this by uploading a building mapping file. This file helps you to map subnets to buildings, countries and much more attributes to create insightful, actionable reports.
The starting point for this building mapping file is always a list of subnets and the associated physical location of that subnet. Good starting points for the creation of such a file is usually the networking team, an IP address management solution (IPAM) or other inventory systems that track IP address assignments. Plugging into those solutions and processes not only allows you to create an initial file but also enables to maintain and update the mapping file as changes are rolled out to your environment.
While working with customers and helping them with managing user experience in CQD I’ve identified a few common challenges and I’d like to introduce the PowerShell Module CQDTools that helps to overcome some of these challenges.
Initial creation of the building mapping file While using an IPAM solution is a good starting point for a building mapping file, this concept doesn’t work for all customers. Maybe there isn’t a central IPAM solution in place, maybe the export capabilities are limited, or other reasons prevent us from using this data. However, most environments have other data sources that can be leveraged. The PowerShell Module allows you to generate a CQD-compatible building file from different data sources:
Create a new CQD building file based on AD Site information. Building names can be retrieved from the site name, site description or subnet description in AD.
Create a new CQD building file based on MSFT DHCP servers. You can run this locally on a DHCP server, specify a DHCP server name or iterate through all authorized DHCP servers in AD.
While this data might not be as granular as needed or sometimes might require little bit of manual updates, it certainly provides you with a solid starting point, if not more.
Management of the building mapping file
Once the file is created, you also need to think about ongoing management of that file. Like updates, addition of new sites that went live and other updates. The identification of subnets that are potentially missed in the file is another important aspect. CQD always requires you to upload a new, full file – there is no concept as incremental updates for the building file. CQD will also enforce integrity of that file, you must not have overlapping or duplicate subnet information in that file. The CQDTools module supports you as well:
Validate an existing CQD building file to check for duplicates and overlaps (subnet/supernet relationship)
Find unmapped subnets using the same internet egress point as already mapped subnets as they are most likely just missed in the building file. This function leverages the CQDPowerShell module to talk to CQD directly, pull all the required data and return a list of likely missed subnets. Note: this will only work if building mapping file is uploaded (see 1 and 2 for this) and if the missed subnet is using the same internet egress as an already mapped site.
Where can I get the PowerShell Module?
This PowerShell module is published to PowerShell Gallery. If you are running PowerShell 5 or higher, which is a pre-requisite for this module, simply run Install-Module CQDTools to download and install the module directly from PS Gallery.
What else do I need to know?
The functions all come with help content and have optional parameters. E.g. if you want to get data from all authorized DHCP servers in your environment, you would run: