Catching up with Voice Insights

March 17, 2022
Written by

image (1).png

Maybe it's been a while since you poked around the Voice Insights docs, or you haven't had time to set up an RSS reader to check out items from Twilio's Changelog or follow the changelog on Twitter. Don't sweat it! We are only too happy to give you a guided tour of new features and capabilities that have been added to Voice Insights in the past few months.

catching up.png

Voice Insights Dashboard Multidimensional Filters

The Voice Insights Dashboard in Console has had multidimensional filtering for a while now, but the filter builder left a little something to be desired. You couldn't mix directions so, for example, you had to choose either calls To a given country or From a given country if you wanted to filter on multiple dimensions. We have implemented changes on the backend that enable mixing dimensions from different directions. We have also updated the filter builder interface to align with Messaging Insights, so if you've used that, you should feel right at home.

Voice Insights Multidimensional Filters
Voice Insights Settings API

Voice Insights Advanced Features and Voice Trace status can now be programmatically managed via the Settings API. The Settings API does not require Voice Insights Advanced Features to use.

Voice Insights Advanced Features API

If you've got more than a couple dozen subaccounts, managing Advanced Features via Console has been a challenge. In Console you can search by account SIDs, friendly names, and you can filter by enablement status, but it still requires a trip into Console which isn't always ideal for customers at scale.

Now with the Settings API, you can programmatically enable or disable Voice Insights Advanced Features. You could, for example, enable Voice Insights Advanced Features via API as part of your new subaccount creation script, or set up windows where Advanced Features is enabled during load testing, incidents, or deployments. Finally, ISVs can now expose controls to their customers, allowing their end users to opt-in to advanced troubleshooting capabilities, and pass the price bump along to the customer.

Voice Trace

In certain scenarios Twilio support teams may need to enable diagnostic capture of voice media in the form of RTP packets to help understand call behavior and potentially escalate to carriers or provide guidance to customers on network performance optimizations. We call this diagnostic capture capability Voice Trace, and we have exposed controls for the feature in Console for some time.

The Settings API now allows developers to tactically enable and disable Voice Trace capture on the platform programmatically. This enables use cases like using inbound support tickets to trigger enablement for an account and using the resolution of the support ticket to disable.

Voice Insights Call Summary List API

Call Summary List API.png

The Voice Insights Advanced Features Call Summary API now supports reading multiple resources with query parameters. This capability allows developers to request call summary records for specific time ranges, call states, call types, and other dimensions including whether or not Twilio detected any issues on the call or if the SIP session ended with a non-200 OK response.

Now instead of needing to pull down the Call Summary record for every call and then inspecting it within your own systems to identify calls you are interested in reviewing in more detail, you can pass query parameters to the List API and Twilio will do some of the heavy lifting for you by only returning Call Summary records that match the parameters you provided. Access to the Call Summary API requires Voice Insights Advanced Features to be enabled on the account.

Conference Insights Beta

Conference + Participant Summary

Conference Details.png

Conference and Participant Summaries provide multiple views into conference metadata which allow users to see conference parameters, investigate participant event timelines, and understand detected quality issues. The Details tab shows conference metadata regarding the initial configuration of the conference as well as an at-a-glance view of conference health based on common quality, region configuration, and participant behaviors during the conference. The Conference Health Report Card provides an overview of any potential issues detected by Twilio. If you are investigating reports of quality issues or unexpected behavior in a conference you can see at a glance if common problems were detected and how many instances were detected for each type.

Conference Insights Participant Timeline

The Participant Timeline is a visual representation of conference events over time, including when conferences start, when participants join, and when quality issues are detected. You can select sections of the timeline to zoom in for greater granularity which is useful when many events occur in close proximity to each other.

Conference Insights Detected Issues

Every conference on Twilio is now being analyzed and aggregated by Conference Insights to provide visibility into participant behavior and offer prescriptive recommendations for resolving common quality and configuration issues. Conference and Participant Summaries are included with all conferences at no additional cost.

Conference Insights Dashboard

Conference Insights Docs Header Image.png

The Conference Insights Dashboard provides an account-level view of conference and participant behavior. Conference Insights Dashboard data is generated by analyzing and aggregating Conference Summary and Participant Summary records, and can be used to detect changes in application behavior and surface opportunities for optimization.

The Conference Insights Dashboard Overview tab displays high-level previews of data from the other tabs, volume and call length graphs, overall trends based on potential issues, and the distribution of conference end reasons for the timeframe. The Quality Warnings tab shows conference performance based on common audio degradation types caused by network transport. The Participant Behavior tab shows conferences that didn't start, conferences with participants who were silent, and conferences where the same caller ID is seen on multiple participants. You can also see the distribution of participants by country in tabular and displayed on a map.

Conference Insights API

The Conference Summary and Participant Summary from Conference Insights is also available via API. The Participant Summary API represents the first post-conference API to provide access to participant data; previously participant information was only retrievable via API while a conference was in-progress. Access to the Conference Insights API requires Voice Insights Advanced Features to be enabled on the account.

Event Streams

REST APIs are great, we love them here at Twilio. APIs are kind of our thing.

Twilio IPO API Flag

However, at scale and across potentially dozens of endpoints for a given application to interact with, the venerable HTTP REST API starts to show its age a little bit. Event Streams is an API that allows you to tap into a unified stream of every Voice Insights and Conference Insights event and have it piped directly into your data infrastructure using modern technologies like Amazon Kinesis. Subscribing to Voice Insights and Conference Insights events via Event Streams requires Voice Insights Advanced Features to be enabled on the account.

Voice Insights Event Streams v2

Voice Insights Call Summary events sent to Event Streams have been updated. The new changes from v1 bring parity with the parameters returned by the Call Summary REST API, including created_time, queue_time, edge_location, queue_time, application info (such as app.name, app.version), and the trust object which includes verified_caller and branded_call details. If you are currently subscribed to one of the Call Summary event types, you will need to re-subscribe to consume the new version and receive the new fields that were added to v2.

Conference + Participant Summary Event Streams

The Conference Summary and Participant Summary from Conference Insights is now available via Event Streams. All of the details described above can be sent straight to your data pipeline for your consumption.

Onward!

Enjoy the Silence

That's just some of stuff we've been up to on the Voice Insights side of things in the past six months. Pretty much everything you could ever want to know about your calls on Twilio is now available to you using Voice Insights and Conference Insights, and you can choose how you consume the data whether via Console, REST API, or Event Streams. We made these changes to help make your lives easier when interacting with your Voice data at Twilio, so if you have any questions, or need help with anything, please feel free to reach out. We can't wait to see what you build!

Michael Carpenter (aka MC) is a telecom API lifer who has been making phones ring with software since 2001. As a Product Manager for Voice & Video Insights at Twilio, the Venn Diagram of his interests is the intersection of APIs, SIP, WebRTC, and mobile SDKs. He also knows a lot about Depeche Mode. Hit him up at mc@twilio.com