Call Quality Dashboard – Part 3: The Portal

After describing the Call Quality Dashboard (CQD) QoE Archiving Database and the QoE CUBE, I will show now how to install the Portal component and how it works on the solution.

The CQD Portal is “where users can easily query and visualize QoE data.” synchronized by the Archive and processed by the CUBE.
ic841926The CQD Portal is a IIS based web application that allows you not just visualized but create new reports, views and assign permissions to them. As the above picture shows, it relies on a SQL database to keep all the information.

Installing CQD – Portal

Before performing the installation, the following pre-requisites need to be in place:

  • You need a SQL Databases Services (dedicated or existing) for the setup to install the Portal support database.
  • On the server that will host the Portal you need to install IIS. The following powershell command will install all the required components:
    Add-WindowsFeature Web-Server, Web-Static-Content, Web-Default-Doc, Web-Asp-Net, Web-Asp-Net45, Web-Net-Ext, Web-Net-Ext45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Url-Auth, Web-Windows-Auth, Web-Mgmt-Console  -verbose
  • A dedicated domain service account is recommended to can grant the least required privileges. If you installed all the components on the same server you can use the local built-in server account but, if have the SQL Database/Analysis services (CUBE) deployed on a different  servers, the account is required.
  • The QoE Archiving and the CUBE needs to be already deployed.

The installation package is the same for all CQD components so, if: (a) you are installing all components you can go to step 2; (b) if you already installed the QoE Archiving and/or the CUBE on the same server, go to ‘programs and features’ and ‘change’ the package and proceed to step 2:

  1. Proceed throw the welcome screen, licence agreement, and choose the binaries install location:
  2. For this part, I will select the Portal and proceed to the configurations screen:

    Configuration options:
    sqlname-vs-instance QoE Archive SQL Server: SQL Server instance name for where the QoE Archive database is located.
    Cube Analysis Server: SQL Server Analysis Service instance name for where the cube is located.
    Repository SQL Server: SQL Server instance name where the Repository database is to be created.
    IIS App Pool User – User Name & Password: The account that the IIS application pool should execute under and access the other components. You can choose one of the local server services account, otherwise choose ‘Other’ and provide a domain service account credentials (see pre-requisites above explanation).

  3. After the validations the installation will ask to proceed until completion, hopefully without any error 🙂

Behind the CQD Portal

What happened and was configured after the previous installation steps?
This component setup  installed some specific files, created support database and made some updates on the QoE CUBE Database:
• QoERepositoryDb database was created. This database holds the portal all the configurations, customized reports, …
• ‘IIS App Pool User’ login created and assigned db_owner on the QoERepositoryDb
• ‘IIS App Pool User’ login created and assigned db_datareader on the QoEArchive database
• ‘IIS App Pool User’ added to the QoERole on the CUBE database
• IIS default web site configured with 3 folders that matches the directories and files installed.

Known ‘caveats’ regarding the installation and architecture process:

  • In rare cases, the installer fails to create the correct settings in IIS. Manual change is required to allow users to log into the CQD. If users are having trouble logging in, please follow the steps described on ‘know issues’ section of the  TechNet article.
  • Cube Sync Fails – QoEMetrics may contain some invalid records based on end user clocks. If the time skew is greater than 60 yrs, the cube import will fail. Check the Min and Max StartTime/EndTime using the selections below. Look for and delete records in the far past and very distant future, they can be disregarded and they will break up the sync processes.
    Select MIN(StartTime) FROM CqdPartitionedStreamView
    Select MAX(StartTime) FROM CqdPartitionedStreamView
    Select MIN(EndTime) FROM CqdPartitionedStreamView
    Select MAX(EndTime) FROM CqdPartitionedStreamView
  • After deploying the CQD on a new server, you can run into a problem where the Portal was not showing any data and returned a problem saying:
    We couldn’t perform the query while running it on the Cube. Use the Query Editor to modify the query and fix any issues. Also make sure that the Cube is accessible
    In order to solve it, process the CUBE object and make sure it’s accessible as described here.

How to manage and monitor the CQD Portal process

The main portal page is accessible via http://<portalserverFQDN>/CQD.

You probably will not see any data because “when the installer is done, most likely the SQL Server Agent job will be in progress, doing the initial load of the QoE data and the cube processing. Depending on the amount of data in QoE, the portal will not have data available for viewing yet.” To check on the status of the data load and cube processing, go to http://<portalserverFQDN>/CQD/#/Health.
Or (like my LAB) you don’t have any monitoring data to display :). After that you should see the last successful and failed update status:

Other configurations that you can perform on the Portal are described on the Deploy CQD TechNet article:

  • Post-install tasks required to have reporting data regarding locations (buildings, networks name, subnets, BSSID)
  • By default, any authenticated user has access. This can be changed by using IIS Authorization rules to restrict to a specific.
  • Detailed log messages will be shown if debug mode is enabled. To enable debug mode, go to [CQD installed Dir]\QoEDataService\web.config, and update the following line so the value is set to True:
    <add key=”QoEDataLib.DebugMode” value=”True” />

And that’s it! you now have CQD fully deployed!
You can now see how the Lync/Skype4b is performing, and even build you own reports. Creating them is tricky, but you can learn some basics here.

<Am I missing something? maybe some more posts about it. provide me some feedback suggestions/requests 😉 >


2 thoughts on “Call Quality Dashboard – Part 3: The Portal

  1. sniceper 01/08/2017 / 10:42


    I’m currently installing the portal on a different server than the cube.

    When arriving at final step, I Have The error you described “We couldn’t perform the query while running it on the Cube. Use the Query Editor to modify the query and fix any issues. Also make sure that the Cube is accessible”.

    I followed the link (Process the cube). Process Worked and i could browse cube data. But the message is Still Showing up at Portal side. you say “mmake sure it’s accessible”. Do you have any information for this side? The ports to verify/open?

    Thank you in advance.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s