SUPPORT.TWILIO.COM END OF LIFE NOTICE: This site, support.twilio.com, is scheduled to go End of Life on February 27, 2024. All Twilio Support content has been migrated to help.twilio.com, where you can continue to find helpful Support articles, API docs, and Twilio blog content, and escalate your issues to our Support team. We encourage you to update your bookmarks and begin using the new site today for all your Twilio Support needs.

Understanding Voice Insights Tags: Dashboard vs. Event Stream Discrepancies

Overview

Twilio Voice Insights provides powerful tools for monitoring and troubleshooting call quality. However, users sometimes notice differences between the data shown in the Voice Insights Dashboard and the raw data available via Event Streams. This article explains why these discrepancies occur, especially regarding call quality tags like `high_jitter` and `high_latency`, and clarifies how to interpret the different tag arrays in call summary events.

 

Product

Programmable Voice

 

What You Need To Know

Key Concepts: Tags and Edges

When Twilio analyses a call, it can detect quality issues at different points in the call path, known as "edges":

SDK Edge: The user's device running the Twilio Voice SDK.

Client Edge: Twilio's media infrastructure, where the call enters or exits Twilio's network.

Each edge can generate its own set of tags indicating issues such as high jitter, high latency, or packet loss.

 

Frequently Asked Questions

Where Do Tags Appear?

In the event stream, particularly in the `call-summary.complete` event, you may see up to three arrays of tags:

  • Top-level tags: A summary array, often combining tags from both edges.
  • client_edge.tags: Tags generated by Twilio's media edge.
  • sdk_edge.tags: Tags generated by the SDK on the user's device.

Example Event Structure

json
{
  "data": {
    "client_edge": { "tags": [] },
    "sdk_edge": { "tags": ["high_jitter", "high_latency"] },
    "tags": ["high_jitter"]
  }
}

 

Why Do Dashboard and Event Stream Counts Differ?

1. Double-Counting of Tags

The Voice Insights Dashboard may count calls tagged with the same issue at both the client edge and SDK edge as two separate occurrences. For example, if a call is tagged as `high_jitter` at both edges, the dashboard may count this as two "high jitter" calls, while the event stream shows only one unique call affected.

Tip: When analyzing raw event stream data, ensure you de-duplicate calls that have the same tag at multiple edges to avoid overcounting.

2. SDK Edge Tags May Be Ignored in the Dashboard

The dashboard primarily focuses on issues detected at Twilio's infrastructure (the client edge). Tags that are only present in the SDK edge (such as `high_latency` detected solely on the user's device) may not be reflected in the dashboard's summary or filters. This is by design, as the dashboard is intended to highlight issues Twilio can observe and potentially address.

  • Event Stream: Shows all tags, including those from the SDK edge.
  • Dashboard: Emphasises tags from the client edge; SDK-only tags may be omitted.

3. Understanding the Top-Level Tags Array

The top-level `tags` array in the event payload is a summary. It may include tags from both the client edge and SDK edge, but it is not always a strict union of the two. Its purpose is to provide a quick overview of significant call quality issues.

  • For client calls, the `client_edge.tags` array may be empty if no issues were detected at Twilio's edge.
  • The top-level array may still include tags that originated from the SDK edge.

Conclusion

Best Practices for Accurate Analysis

  • De-duplicate calls when aggregating by tag to avoid double-counting.
  • Understand the source of each tag (client edge vs. SDK edge) to interpret what the dashboard is showing.
  • Use the event stream for detailed troubleshooting, especially if you need to see device-level issues not surfaced in the dashboard.

References

If you notice unexpected discrepancies or need help interpreting your Voice Insights data, our support team is here to help. Please provide specific examples and, if possible, include relevant event payloads for faster assistance.

Have more questions? Submit a request
Powered by Zendesk