Transcription and Analytics
  1. Old KB
  2. 1Stream Platform
  3. Transcription and Analytics

Call Transcription using Azure Cognitive Services with Sentiment Analysis

This article will walk through the configuration of Azure Cognitive Services to analyze call sentiment in the bvoip phone system

1Stream Level Feature Notice

This feature is available for Enterprise level 1Stream users and up. If you would like this feature to be available, then please reach out to your bvoip Sales Representative to upgrade user licensing. 

Microsoft Licensing Required

In addition to 1Stream, you must have a minimum of Power BI Pro through Microsoft 365. This license comes with Microsoft 365 E5 if you already have that.

Azure Consumption Required

This process will cause many consumption-based charges to start in your Azure subscription. Consult your bill after a day or two to determine if your settings need to be adjusted, or if this is not a right fit for you.

Requirements

You must have the following in order to proceed:

  • A Microsoft Azure subscription.
  • Call recording enabled for whichever calls you want to analyze.

Support Notice

We expect you to do a lot of heavy lifting here, and we recommend a senior-level engineer with Azure experience walk through these steps to ensure it is setup properly.

This document was created following Microsoft's official guide found here, so that can be referred to for further information. We do not control the template, applications, or functions that handle the automatic transcription.

If you have any questions about this integration, please email partners@bvoip.com for the quickest assistance, but do note we may defer to Microsoft or Azure support for some issues.

Configure Speech Services

  1. Visit the link below and login with your Azure account admin.
    https://ms.portal.azure.com/#create/Microsoft.CognitiveServicesSpeechServices
  2. Select your resource group, region, name, and pricing tier as you see fit, then click Review + create.
  3. Validate it looks correct, then click Create.
  4. Open your newly created service and go to Keys and Endpoint on the left.
  5. Copy KEY 1 and the Endpoint, and save them for later.

Configure Text Analytics

  1. Visit the link below and login with your Azure account admin.
    https://portal.azure.com/#create/Microsoft.CognitiveServicesTextAnalytics
  2. Click Continue to create your resource.
  3. Select your resource group, region, name, and pricing tier as you see fit. agree to the AI notice, then click Review + create.
  4. Validate it looks correct, then click Create.
  5. Open your newly created service and go to Keys and Endpoint on the left.
  6. Copy KEY 1 and the Endpoint, and save them for later.

Deploy the Microsoft Template

  1. Download the JSON file found at this link.
  2. In Azure go to create a new resource.
  3. Search for Template Deployment then select the option shown below.
  4. Click Build your own template in the editor.
  5. Paste in the JSON template you downloaded previously, then click Save.
  6. Fill it out using the following details:
    • Resource Group: Same group as before.
    • Region: Same region as before. "East US" should be formatted as "eastus"
    • Azure Speech Services Key: The key copied from the first section.
    • Azure Speech Services Region: Same region as before.
    • Custom Endpoint: The endpoint copied from the first section.
    • Add diarization: True, unless you don't want speakers separated.
    • Text Analytics Key: The key copied from the second section.
    • Text Analytics Endpoint: The endpoint copied from the second section.
    • Sentiment Analysis: Set this to UtteranceLevel.
    • Pii Redaction: If you need it for compliance, enable this.
    • Sql Administrator Login: The login name for the SQL server.
    • Sql Administrator Login Password: The password for the new SQL server
  7. Click Review + create.
    image-png-Feb-13-2024-05-02-25-1014-PM
  8. After validation, click Create.
    image-png-Feb-13-2024-05-02-59-3890-PM
  9. Give Azure 5-10 minutes to create the necessary resources on your behalf. You can leave the window open and you'll get a confirmation once complete.
  10. Once complete, open your newly created FetchTranscriptionFunction Function App
    image-png-Mar-06-2024-04-51-47-1426-PM
  11. Give it some time and wait for the FetchTranscription function to appear on the home page.
    image-png-Mar-06-2024-04-52-21-2237-PM
  12. Repeat the same for StartTranscriptionFunction and ensure StartTranscriptionByTimer appears like below.
    image-png-Mar-06-2024-04-53-14-2457-PM

Setup the 1Stream CRM Integration

Now that we have our Azure account setup for this, we can setup the 1Stream side.

  1. Open your newly created Storage Account and go to Access keys on the left.
  2. Copy the first Connection string value and save that.
  3. Login to your 1Stream admin portal and go to Administration > Manage Organization.
    image-png-Jan-31-2024-05-09-42-1086-PM
  4. Scroll down to the Connected Accounts and CRM Settings section, and click the green + sign in the top right.
  5. In the Add New CRM Platform pop up window, select Azure Cognitive Services and then click Save.
  6. Enter in the following details:
    • Region: The region used for the Azure resources, formatted like "eastus" or "centralus2" without quotes.
    • API Key: The API Key for the Speech Services endpoint from section one.
    • Blob Container: audio-input
    • Status: Active, you can set this to Inactive to temporarily disable it.
    • Connection String: Your copied connection string from above.
  7. Click Save.

Ship Recordings to Azure

  1. In the Manage Organization page still, scroll down to Phone System Enhancements and open Transcription & Analytics Settings
  2. Set Recordings Options as follows:
    • None: Disables the transcription system.
    • Send All: Send all call recordings.
    • Send Only These Queues: Select certain queues, and only send inbound call recordings from those queues.
      • Also set These Queues if you select this.
    • Send Only Outbound: Send only outbound call recordings.
  3. Set Seconds Threshold to the minimum duration of recording to send to Azure.
  4. Set Procession Option to the Cognitive Services (Azure Only) option.
  5. Click Save.

Accessing the Data

Once you've setup the calls to get into Azure, Azure will process them automatically using the Microsoft template we configured. You can then access the raw data by connecting to your SQL database, or use their provided Power BI templates which we recommend.

You can still access the simple text transcription inside the 1Stream system.

Allow Access to SQL

  1. In your Azure account, open your newly made SQL Server by clicking on it.
    image-png-Feb-13-2024-06-47-47-2595-PM
  2. On the left go to Security > Networking.
  3. Click Add your client IPv4 address, then click Save.
  4. You can add any other IPs necessary here as well.

Getting the template

Download one or both of the Microsoft templates below.

  • Speech Insights: A collection of reports that use transcription data to quantify your customer care agents' interactions and improve empathetic conversations.
  • Sentiment Insights: A collection of reports that use transcription data to understand the sentiment of your customers during an interaction and improve satisfaction.

Loading the Template

  1. Double click the template to open it in Power BI.
  2. Enter in your Server name, with .database.windows.net, which can be found in the Overview tab of the SQL Server in Azure.
  3. Enter in the Database name, which can be found in the SQL Databases menu in Azure.
  4. Click Load.
  5. In the login prompt click Database on the left, then enter in your SQL Admin credentials from the template deployment and click Connect.
    image-png-Feb-13-2024-07-01-02-6896-PM
  6. You can then review the data as you see fit.
    Example from Speech Template:
    image-png-Feb-13-2024-07-03-15-1101-PM
    Example from Sentiment Template: