Skip to content

Commit 3bbb5d2

Browse files
authored
update 4
1 parent 0afc754 commit 3bbb5d2

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

articles/communication-services/concepts/voice-video-calling/includes/user-facing-diagnostics-web.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,19 @@ ms.subservice: calling
1313
---
1414

1515
## Local vs Remote User Facing Diagnostics
16-
User Facing Diagnostics (UFD) are enabled to expose user-impacting events happening on a users calling device via a programmatic API. With an ACS, there are two methods for consuming and generating UFDs: **local UFD's** and **remote UFD's**. **Local UFD's** are generated on the local user's phone or browser. **Remote UFD's** are events occurring in a remote participant's environment, which allow a local user to consume and view those remoote user impacting events locally.
16+
User Facing Diagnostics (UFD) are enabled to expose user-impacting events happening on a users calling device via a programmatic API. With an ACS, there are two methods for consuming and generating UFDs: **local UFDs** and **remote UFDs**. **Local UFDs** are generated on the local user's phone or browser. **Remote UFDs** are events occurring in a remote participant's environment, which allows a local user to consume and view those remote user impacting events locally.
1717

18-
User Facing Diagnostics (UFD) allows you to see when local or remote participants are experiencing issues that affect audio-video call quality. UFD provides real-time diagnostics on network conditions, device functionality, and media performance, helping developers identify problems such as poor connectivity, muted microphones, or low bandwidth. While UFD does not automatically fix these issues, it allows applications to offer proactive feedback to users, suggesting solutions like checking their internet connection or adjusting device settings. Based on this data, users can either correct the issue themselves (e.g., turn off video when the network is weak) or display the information through the User Interface.
18+
[!INCLUDE [Public Preview Disclaimer](../../../includes/private-preview-include.md)]
1919

20-
There are some minor differences in using **remote UFD's** and **local UFD's**. Those differences are:
21-
- The calling SDK does not expose the `speakingWhileMicrophoneIsMuted` via remote UFD's due to privacy concerns.
22-
- The calling SDK will only expose and stream UFD's up to a maximum of 20 participants on the call. When the number of participants exceeds 20, we limit and cease transmission of **remote UFD's** to prevent overloading the network with these events.
23-
- The calling SDK will filter so you will only see 3 **remote UFD** events per minute coming from a unique client.
20+
[Version 1.34.1-beta.2](https://www.npmjs.com/package/@azure/communication-calling/v/1.34.1-beta.2) and higher of the public preview calling SDK support sending Remote UFDs from the WebJS calling SDK.
21+
22+
23+
User Facing Diagnostics (UFD) allows you to see when local or remote participants are experiencing issues that affect audio-video call quality. UFD provides real-time diagnostics on network conditions, device functionality, and media performance, helping developers identify problems such as poor connectivity, muted microphones, or low bandwidth. While UFD doesn't automatically fix these issues, it allows applications to offer proactive feedback to users, suggesting solutions like checking their internet connection or adjusting device settings. Based on this data, users can either correct the issue themselves (e.g., turn-off video when the network is weak) or display the information through the User Interface.
24+
25+
There are some minor differences in using **remote UFDs** and **local UFDs**. Those differences are:
26+
- The calling SDK doesn't expose the `speakingWhileMicrophoneIsMuted` via remote UFDs due to privacy concerns.
27+
- The calling SDK only exposes and stream UFDs up to a maximum of 20 participants on the call. When the number of participants exceeds 20, we limit and cease transmission of **remote UFDs** to prevent overloading the network with these events.
28+
- The calling SDK filters so you'll only see 3 **remote UFD** events per minute coming from a unique client.
2429
- From the client SDK perspective, you need to enable the functionality for the local UFDs to be sent remotely.
2530

2631
## Diagnostic values
@@ -32,10 +37,10 @@ The following user-facing diagnostics are available:
3237
| Name | Description | Possible values | Use cases | Mitigation steps |
3338
| --------------------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
3439
| noNetwork | There's no network available. | - Set to `True` when a call fails to start because there's no network available. <br/> - Set to `False` when there are ICE candidates present. | Device isn't connected to a network. | Ensure that the call has a reliable internet connection that can sustain a voice call. For more information, see the [Network optimization](../network-requirements.md#network-optimization) section. |
35-
| networkRelaysNotReachable | Problems with a network. | - Set to `True` when the network has some constraint that isn't allowing you to reach Azure Communication Services relays. <br/> - Set to `False` upon making a new call. | During a call when the WiFi signal goes on and off. | Ensure that firewall rules and network routing allow client to reach Microsoft turn servers. For more information, see the [Firewall configuration](../network-requirements.md#firewall-configuration) section. |
40+
| networkRelaysNotReachable | Problems with a network. | - Set to `True` when the network has some constraint that isn't allowing you to reach Azure Communication Services relays. <br/> - Set to `False` upon making a new call. | When on an active call call and the WiFi signal goes on and off. | Ensure that firewall rules and network routing allow client to reach Microsoft turn servers. For more information, see the [Firewall configuration](../network-requirements.md#firewall-configuration) section. |
3641
| networkReconnect | The connection was lost and we are reconnecting to the network. | - Set to`Bad` when the network is disconnected <br/> - Set to `Poor`when the media transport connectivity is lost <br/> - Set to `Good` when a new session is connected. | Low bandwidth, no internet | Ensure that the call has a reliable internet connection that can sustain a voice call. For more information, see the [Network bandwidth requirement](../network-requirements.md#network-bandwidth) section. |
37-
| networkReceiveQuality | An indicator regarding incoming stream quality. | - Set to`Bad` when there's a severe problem with receiving the stream. <br/> - Set to `Poor` when there's a mild problem with receiving the stream. <br/> - Set to `Good` when there's no problem with receiving the stream. | Low bandwidth | Ensure that the call has a reliable internet connection that can sustain a voice call. For more information, see the [Network bandwidth requirement](../network-requirements.md#network-bandwidth) section. Suggest that the end user turn off their camera to conserve available internet bandwidth. |
38-
| networkSendQuality | An indicator regarding outgoing stream quality. | - Set to`Bad` when there's a severe problem with sending the stream. <br/> - Set to `Poor` when there's a mild problem with sending the stream. <br/> - Set to `Good` when there's no problem with sending the stream. | Low bandwidth | Ensure that the call has a reliable internet connection that can sustain a voice call. For more information, see the [Network bandwidth requirement](../network-requirements.md#network-bandwidth) section. Also, suggest that the end user turn off their camera to conserve available internet bandwidth. |
42+
| networkReceiveQuality | An indicator regarding incoming stream quality. | - Set to`Bad` when there's a severe problem with receiving the stream. <br/> - Set to `Poor` when there's a mild problem with receiving the stream. <br/> - Set to `Good` when there's no problem with receiving the stream. | Low bandwidth | Ensure that the call has a reliable internet connection that can sustain a voice call. For more information, see the [Network bandwidth requirement](../network-requirements.md#network-bandwidth) section. Suggest that the end user turns off their camera to conserve available internet bandwidth. |
43+
| networkSendQuality | An indicator regarding outgoing stream quality. | - Set to`Bad` when there's a severe problem with sending the stream. <br/> - Set to `Poor` when there's a mild problem with sending the stream. <br/> - Set to `Good` when there's no problem with sending the stream. | Low bandwidth | Ensure that the call has a reliable internet connection that can sustain a voice call. For more information, see the [Network bandwidth requirement](../network-requirements.md#network-bandwidth) section. Also, suggest that the end user turns off their camera to conserve available internet bandwidth. |
3944

4045
### Audio values
4146

@@ -54,7 +59,7 @@ The following user-facing diagnostics are available:
5459

5560
| Name | Description | Possible values | Use cases | Mitigation steps |
5661
| --------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
57-
| cameraFreeze | Camera stops producing frames for more than 5 seconds. | - Set to `True` when the local video stream is frozen. This diagnostic means that the remote side is seeing your video frozen on their screen or it means that the remote participants are not rendering your video on their screen. <br/> - Set to `False` when the freeze ends and users can see your video as per normal. | The Camera was lost during the call or bad network caused the camera to freeze. | When value is set to `True`, consider giving notification to end user that the remote participant network might be bad - possibly suggest that they turn off their camera to conserve bandwidth. For more information, see [Network bandwidth requirement](../network-requirements.md#network-bandwidth) section on needed internet abilities for an Azure Communication Services call. |
62+
| cameraFreeze | Camera stops producing frames for more than 5 seconds. | - Set to `True` when the local video stream is frozen. This diagnostic means that the remote side is seeing your video frozen on their screen or it means that the remote participants are not rendering your video on their screen. <br/> - Set to `False` when the freeze ends and users can see your video as per normal. | The Camera was lost during the call or bad network caused the camera to freeze. | When value is set to `True`, consider giving notification to end user that the remote participant network might be bad - possibly suggest that they turn-off their camera to conserve bandwidth. For more information, see [Network bandwidth requirement](../network-requirements.md#network-bandwidth) section on needed internet abilities for an Azure Communication Services call. |
5863
| cameraStartFailed | Generic camera failure. | - Set to `True` when we fail to start sending local video because the camera device may have been disabled in the system or it is being used by another process~. <br/> - Set to `False` when selected camera device successfully sends local video again. | Camera failures | When value is set to `True`, give visual notification to end user that their camera failed to start. |
5964
| cameraStartTimedOut | Common scenario where camera is in bad state. | - Set to `True` when camera device times out to start sending video stream. <br/> - Set to `False` when selected camera device successfully sends local video again. | Camera failures | When value is set to `True`, give visual notification to end user that their camera is possibly having problems. (When value is set back to `False` remove notification). |
6065
| cameraPermissionDenied | Camera permissions were denied in settings. | - Set to `True` when camera permission is denied from the system settings (video). <br/> - Set to `False` on successful stream acquisition. <br> Note: This diagnostic only works on macOS Chrome. | Camera permissions are disabled in the settings. | When value is set to `True`, give visual notification to end user that they did not enable permission to use camera for an Azure Communication Services call. |
@@ -84,7 +89,7 @@ const userFacingDiagnostics = call.feature(Features.UserFacingDiagnostics);
8489
```js
8590
/**
8691
* Each diagnostic has the following data:
87-
* - diagnostic is the type of diagnostic, e.g. NetworkSendQuality, DeviceSpeakWhileMuted, etc...
92+
* - diagnostic is the type of diagnostic, for example NetworkSendQuality, DeviceSpeakWhileMuted, etc...
8893
* - value is DiagnosticQuality or DiagnosticFlag:
8994
* - DiagnosticQuality = enum { Good = 1, Poor = 2, Bad = 3 }.
9095
* - DiagnosticFlag = true | false.

0 commit comments

Comments
 (0)