Skip to content

Commit da05aba

Browse files
authored
Merge pull request #258341 from amagginetti/Call-Diagnostics-Concept-Document
Call Diagnostics Concept Doc
2 parents 0de4c16 + 4005ebf commit da05aba

File tree

2 files changed

+304
-0
lines changed

2 files changed

+304
-0
lines changed
Lines changed: 301 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,301 @@
1+
---
2+
title: Azure Communication Services Call Diagnostics
3+
titleSuffix: An Azure Communication Services concept document
4+
description: Use Call Diagnostics to diagnose call issues with Azure Communication Services
5+
author: amagginetti
6+
ms.author: amagginetti
7+
manager: chpalm
8+
9+
services: azure-communication-services
10+
ms.date: 11/21/2023
11+
ms.topic: conceptual
12+
ms.service: azure-communication-services
13+
ms.subservice: calling
14+
---
15+
16+
17+
18+
# Call Diagnostics
19+
20+
[!INCLUDE [Public Preview Disclaimer](../../includes/public-preview-include-document.md)]
21+
22+
Understanding your call quality and reliability is foundational to
23+
delivering a great customer calling experience. There are various
24+
issues that can affect the quality of your calls, such as poor internet
25+
connectivity, software compatibility issues, and technical difficulties
26+
with devices. These issues can be frustrating for all call participants,
27+
whether they're a patient checking in for a doctor’s call, or a student
28+
taking a lesson with their teacher. As a developer, diagnosing and
29+
fixing these issues can be time-consuming and frustrating.
30+
31+
Call Diagnostics acts as a detective for your calls. It helps developers
32+
using Azure Communication Services investigate events that happened in a call to
33+
identify likely causes of poor call quality and reliability. Just like a
34+
real conversation, many things happen simultaneously in a call that may
35+
or may not affect your communication. Call Diagnostics’ timeline makes
36+
it easier to visualize what happened in a call by showing you rich data
37+
visualizations of call events and providing insights into issues that
38+
commonly affect calls.
39+
40+
## How to enable Call Diagnostics
41+
42+
Azure Communication Services collects call data in the form of metrics
43+
and events. You must enable a Diagnostic Setting in Azure Monitor to
44+
send these data to a Log Analytics workspace for Call Diagnostics to
45+
analyze new call data.
46+
47+
48+
49+
> [!IMPORTANT]
50+
> Call Diagnostics can’t query data from data that wasn’t sent to a Log Analytics workspace. Diagnostic Settings will only begin collect data by single Azure Communications Services Resource ID once enabled. See our Frequently Asked Question on enabling Call Diagnostics [here](#frequently-asked-questions)
51+
52+
53+
54+
Since Call Diagnostics is an application layer on top of data for your
55+
Azure Communications Service Resource you can query these call data and
56+
[build workbook reports on top of your data](../../../azure-monitor/logs/data-platform-logs.md#what-can-you-do-with-azure-monitor-logs)
57+
58+
You can access Call Diagnostics from any Azure Communication Services
59+
Resource in your Azure portal. When you open your Azure Communications
60+
Services Resource, just look for the “Monitoring” section on the left
61+
side of the screen and select "Call Diagnostics."
62+
63+
Once you have setup Call Diagnostics for your Azure Communication Services Resource you can search for calls using valid callIDs that took place in that resource. Data can take several hours after call completion to appear in your resource and populate in Call Diagnostics.
64+
65+
**Call Diagnostics has four main sections:**
66+
67+
- [Call Search](#call-search)
68+
69+
- [Call Overview](#call-overview)
70+
71+
- [Call Issues](#call-issues)
72+
73+
- [Call Timeline](#call-timeline)
74+
75+
## Call Search
76+
77+
The search section lets you find individual calls, or filter calls to explore calls with issues. Clicking on a call takes you to a detail screen where you
78+
see three sections, **Overview**, **Issues**, and **Timeline** for the
79+
selected call.
80+
81+
The search field allows you to search by callID. See our documentation to [access your client call ID.](../troubleshooting-info.md#access-your-client-call-id)
82+
83+
<!-- (**insert image)** -->
84+
85+
> [!NOTE]
86+
> You can explore information icons and links within Call Diagnostics to learn functionality, definitions, and helpful tips.
87+
88+
## Call Overview
89+
90+
Once you select a call from the Call Search page, your call details will
91+
display in the Call Overview tab. You’ll see a call summary highlighting
92+
the participants in the call and key metrics for their call quality. You
93+
can select a participant to drill into their call timeline details
94+
directly or navigate to the Call Issues tab for further analysis.
95+
96+
<!-- (**<u>TODO insert image)</u>** -->
97+
98+
99+
<!-- > [!NOTE]
100+
> You can explore information icons and links on each page within Call Diagnostics to learn functionality, definitions, and helpful tips. -->
101+
102+
<!-- (**insert image)** -->
103+
104+
## Call Issues
105+
106+
The Call Issues tab gives you a high-level analysis of any media quality
107+
and reliability issues that were detected during the call.
108+
109+
Call Issues highlights detected issues commonly known to affect user’s call
110+
quality such as poor network conditions, speaking while muted, or device
111+
failures during a call. If you want to explore a detected issue, select
112+
the highlighted item and you'll see a pre-populated view of the
113+
related events in the Timeline tab.
114+
115+
<!-- (**<u>TODO insert image)</u>** -->
116+
117+
118+
<!-- > [!NOTE]
119+
> You can explore information icons and links on each page within Call Diagnostics to learn functionality, definitions, and helpful tips. -->
120+
121+
## Call Timeline
122+
123+
When call issues are difficult to troubleshoot, you can explore the
124+
timeline tab to see a detailed sequence of events that occurred during
125+
the call.
126+
127+
The timeline view is complex and designed for developers who need
128+
explore details of a call and interpret detailed debugging data. In
129+
large calls the timeline view can present an overwhelming amount of
130+
information, we recommend relying on filtering to narrow your search
131+
results and reduce complexity.
132+
133+
You can view detailed call logs for each participant within a call. Call information may not be present, this can be due to various reasons such as privacy constraints between different calling resources. See frequently asked questions to learn more.
134+
135+
<!-- (**<u>TODO insert image)</u>** -->
136+
137+
138+
<!-- > [!NOTE]
139+
> You can explore information icons and links on each page within Call Diagnostics to learn functionality, definitions, and helpful tips. -->
140+
141+
<!-- # Common issues
142+
143+
Issue categories can include:
144+
145+
- Azure Communication Services issue
146+
147+
- Calling deployment issue
148+
149+
- Network issue
150+
151+
- User actions or inactions (e.g. not allowing device permissions),
152+
driving through a tunnel.
153+
154+
To help you get started, you will find below the steps to triage common
155+
issues using Call Diagnostics.
156+
157+
***“Other participants couldn’t hear me on the call”***
158+
159+
Dive into the audio section for the participant to see if there are any
160+
issues detected. In the case below, we see that the microphone was muted
161+
unexpectedly. In other cases, we might see errors with the device’s set
162+
up and permissions.
163+
164+
(**<u>TODO insert image)</u>**
165+
166+
***“My video was choppy and pixelated”***
167+
Explore the video section for the participant to see if a poor network
168+
connection in a call may have caused the issue.
169+
170+
(**<u>TODO insert image)</u>**
171+
172+
***“My call unexpectedly dropped”***
173+
**<u>TODO -</u>** Show how you might drill down to show the end-user
174+
lost connection.
175+
176+
(**<u>TODO insert image)</u>**
177+
178+
***“Other participants couldn’t see me on the call”***
179+
Show how you might drill down to show the status of the camera in the
180+
call and any detected failures.
181+
182+
(**<u>TODO insert image)</u>**
183+
184+
## Call quality resources
185+
186+
Ensuring good call quality starts with your calling setup, please
187+
explore our documentation to learn how you can use the UI Library to
188+
benefit from our quality and reliability tools \<[link to manage call
189+
quality](https://learn.microsoft.com/azure/communication-services/concepts/voice-video-calling/manage-call-quality)\>. -->
190+
191+
## Frequently asked questions:
192+
193+
- How do I setup Call Diagnostics?
194+
195+
- Follow instructions to add diagnostic settings for your resource here [Enable logs via Diagnostic Settings in Azure Monitor.](../analytics/enable-logging.md) When prompted to select [select logs](../analytics/enable-logging.md#adding-a-diagnostic-setting) select "**allLogs**".
196+
- If you have multiple Azure Communications Services Resource IDs you must enable these settings for each resource ID and query call details for participants within their respective Azure Communications Services Resource ID. Your data volume, retention, and CDC query usage in Log Analytics is billed through existing Azure data meters, monitor your data usage and retention policies for [cost considerations as needed](../../../azure-monitor/logs/cost-logs.md)
197+
198+
- If Azure Communication Services participants join from different Azure Communication Services Resources, how will they display in Call Diagnostics?
199+
200+
- If all the participants are from the same Azure subscription, they'll appear as "remote participants". However, Call Diagnostics won’t show any participant details for Azure Communication Services participants from another resource. You need to review that same call ID from the specific Azure Communication Services Resource the participant belongs to.
201+
202+
<!-- 2. If that ACS resource isn't part of **<u>your Azure subscription
203+
and / or hasn't enabled Diagnostics Settings to store call logs,
204+
there will not be any data available</u>** for Call Diagnostics. -->
205+
206+
<!-- 1. If Teams participants join a call, how will they display in Call
207+
Diagnostics?
208+
209+
1. If a Teams participant organized the call through Microsoft
210+
Teams, that participant will appear as a participant in Call
211+
Diagnostics, however they'll have fewer call details populated.
212+
213+
2. If there were other Teams participants besides the Teams meeting
214+
organizer, those participants won't appear in Call
215+
Diagnostics. -->
216+
217+
218+
<!-- 1. How do I find a Call ID?
219+
220+
a. Link -->
221+
222+
<!-- 1. My call ID should be here?
223+
224+
a. It could no longer be stored by your Log Analytics workspace, you may need to ensure you retain your call data in diagnostics settings. It's possible your callID is incorrect. (**ENG add details on which call ID to specifically pull in the event of multiple callIDs.**)
225+
226+
a. Maybe it’s not the ACS call ID, check “how do I find a callID?” to learn more. -->
227+
228+
<!-- 1. My call had issues, but Call Diagnostics doesn’t show any issues.
229+
230+
a. Call Diagnostics relies on several common call issues to help diagnose calls. Issues can still occur outside of the existing telemetry or can be caused by unlisted call participants you aren’t allowed to view due to privacy restrictions. -->
231+
232+
<!-- 1. What types of calls are visible in Call Diagnostics?
233+
234+
a. Call types included.
235+
1. Includes call data for Web JS SDK, Native SKD, PSTN, Call Automation.
236+
237+
1. Includes some Call Automation Bot data edges
238+
239+
a. Partial data.
240+
241+
a. Different SDKs, privacy considerations may prevent you from receiving those data. -->
242+
243+
244+
<!-- 1. What are limits of what our data reaches.
245+
1. Privacy restrictions may prevent you from seeing the full call roster.
246+
247+
1. What are bots?
248+
249+
1. What capabilities does Search have?
250+
251+
1. What capabilities does Overview have?
252+
253+
1. What capabilities does Issues have?
254+
255+
1. What capabilities does Timeline have?
256+
257+
1. You can zoom within the timeline by using SHIFT+mouse-scroll wheel and pan left and right by clicking and dragging within the timeline itself. -->
258+
259+
<!-- 1. What types of issues might I find?
260+
261+
a. Participant’s call issues generally fall into these categories: 
262+
1. They can’t join a call. 
263+
264+
1. They can’t do something in a call (mute, start video, etc.). 
265+
266+
1. They get dropped from a call. 
267+
268+
1. They have a poor call experience (audio/video quality).  -->
269+
270+
271+
<!-- FAQ - Clear cache - Ask Nan.
272+
People need to do X, in case your cache is stale or causing issues,
273+
274+
choose credential A vs. B
275+
276+
Clear your cache to ensure X, you may need clear your cache occasionally if you experience issues using Call Diagnostics. -->
277+
278+
## Next steps
279+
280+
- Learn how to manage call quality, see: [Improve and manage call quality](manage-call-quality.md)
281+
282+
- Continue to learn other quality best practices, see: [Best practices: Azure Communication Services calling SDKs](../best-practices.md)
283+
284+
- Learn how to use the Log Analytics workspace, see: [Log Analytics Tutorial](../../../../articles/azure-monitor/logs/log-analytics-tutorial.md)
285+
286+
- Create your own queries in Log Analytics, see: [Get Started Queries](../../../../articles/azure-monitor/logs/get-started-queries.md)
287+
288+
- Explore known call issues, see: [Known issues in the SDKs and APIs](../known-issues.md)
289+
290+
291+
<!-- added to the toc.yml file at row 583.
292+
293+
- name: Monitor and manage call quality
294+
items:
295+
- name: Manage call quality
296+
href: concepts/voice-video-calling/manage-call-quality.md
297+
displayName: diagnostics, Survey, feedback, quality, reliability, users, end, call, quick
298+
- name: End of Call Survey
299+
href: concepts/voice-video-calling/end-of-call-survey-concept.md
300+
displayName: diagnostics, Survey, feedback, quality, reliability, users, end, call, quick
301+
-->

articles/communication-services/toc.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,9 @@ items:
736736
- name: Manage call quality
737737
href: concepts/voice-video-calling/manage-call-quality.md
738738
displayName: diagnostics, Survey, feedback, quality, reliability, users, end, call, quick
739+
- name: Call Diagnostics
740+
href: concepts/voice-video-calling/diagnose-calls.md
741+
displayName: diagnostics, Survey, feedback, quality, reliability, users, call, quick, debug, diagnose, call debugging, debugging
739742
- name: End of Call Survey
740743
href: concepts/voice-video-calling/end-of-call-survey-concept.md
741744
displayName: diagnostics, Survey, feedback, quality, reliability, users, end, call, quick

0 commit comments

Comments
 (0)