You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/microphone-issue.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,5 +62,5 @@ If the speaking participant is using your application, you can follow this flow
62
62
10. If there is no `microphoneNotFunctioning` UFD Bad event, consider other possiblities, such as network issues.
63
63
11. If there is a `networkReconnect` Bad UFD, outgoing audio may be temporarily lost due to a network disconnection. Refer to [There's a network issue in the call](./network-issue.md) for detailed information.
64
64
12. If there are no microphone-related events and no network-related events, create a support ticket for ACS team to investigate the issue. Refer to [Reporting an issue](../general-troubleshooting-strategies/report-issue.md).
65
-
13. If a `microphoneNotFunctioning` UFD Bad event occurs, and the user has no outgoing audio, they can try to recover the stream by using ACS [mute](/javascript/api/azure-communication-services/@azure/communication-calling/call?view=azure-communication-services-js#@azure-communication-calling-call-mute) and [unmute](https://learn.microsoft.com/en-us/javascript/api/azure-communication-services/@azure/communication-calling/call?view=azure-communication-services-js#@azure-communication-calling-call-unmute).
65
+
13. If a `microphoneNotFunctioning` UFD Bad event occurs, and the user has no outgoing audio, they can try to recover the stream by using ACS [mute](/javascript/api/azure-communication-services/@azure/communication-calling/call?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-call-mute) and [unmute](/javascript/api/azure-communication-services/@azure/communication-calling/call?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-call-unmute).
66
66
14. If the `microphoneNotFunctioning` UFD doesn't recover after the user performs ACS mute and unmute, there might be an issue with the microphone device. Ask the user to unplug and replug the microhpone or select another microphone.
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/microphone-permission.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ The listener should check for events with the value of `microphonePermissionDeni
26
26
It's important to note that if the user revokes access permission during the call, this `microphonePermissionDenied` event also fires.
27
27
28
28
## How to mitigate or resolve
29
-
Your application should always call the [askDevicePermission](/javascript/api/azure-communication-services/@azure/communication-calling/devicemanager?view=azure-communication-services-js#@azure-communication-calling-devicemanager-askdevicepermission) API after the `CallClient` is initialized.
29
+
Your application should always call the [askDevicePermission](/javascript/api/azure-communication-services/@azure/communication-calling/devicemanager?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-devicemanager-askdevicepermission) API after the `CallClient` is initialized.
30
30
This way gives the user a chance to grant the device permission if they didn't do so before or if the permission state is `prompt`.
31
31
The application can also show a warning message if the user denies the permission, so the user can fix it before joining a call.
32
32
@@ -44,5 +44,5 @@ If the speaking participant is using your application, you can follow this flow
44
44
3. The app must call `askDevicePermission` if this API has not been invoked before the user joins the call. By determining the current state of permissions, the app can offer a smoother user experience. For instance, it can display a message instructing the user to adjust their permissions if necessary.
45
45
4. If the app has called `askDevicePermission` API, but the user still gets a `microphonePermissionDenied` Bad UFD event. The user has to reset or grant the microphone permission in the browser. If they have confirmed that the permission is granted in the browser, they should check if the OS is blocking mic access to the browser.
46
46
5. If there is no `microphonePermissionDenied` Bad UFD, we need to consider other possiblities. For the speaking participant, there might be other potential reasons for issues with outgoing audio, such as network reconnection, or device issues.
47
-
6. If there is a `networkReconnect` Bad UFD, the outgoing audio may be temporarily lost due to a network disconnection. See [There's a network issue in the call](./network-issue) for detailed information.
48
-
7. If no `networkReconnect` Bad UFD occurs, there might be a problem on the speaking participant's microphone. See [The speaking participant's microphone has a problem](./microphone-issue) for detailed information.
47
+
6. If there is a `networkReconnect` Bad UFD, the outgoing audio may be temporarily lost due to a network disconnection. See [There's a network issue in the call](./network-issue.md) for detailed information.
48
+
7. If no `networkReconnect` Bad UFD occurs, there might be a problem on the speaking participant's microphone. See [The speaking participant's microphone has a problem](./microphone-issue.md) for detailed information.
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/video-issues/application-disposes-video-renderer.md
# Your application disposes the video renderer while subscribing to a video
15
-
The [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API doesn't resolve immediately, as there are multiple underlying asynchronous operations involved in the video subscription process and thus this API response is an asynchronous response.
15
+
The [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API doesn't resolve immediately, as there are multiple underlying asynchronous operations involved in the video subscription process and thus this API response is an asynchronous response.
16
16
17
-
If your application disposes of the render object while the video subscription is in progress, the [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API throws an error.
17
+
If your application disposes of the render object while the video subscription is in progress, the [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API throws an error.
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/video-issues/create-view-timeout.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ the SDK detects this issue and throws an createView timeout error.
18
18
19
19
This error is unexpected from SDK's perspective. This error indicates a discrepancy between signaling and media transport.
20
20
## How to detect using SDK
21
-
When there's a `create view timeout` issue, the [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API throws an error.
21
+
When there's a `create view timeout` issue, the [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API throws an error.
@@ -30,12 +30,12 @@ When there's a `create view timeout` issue, the [`createView`](/javascript/api/%
30
30
## Reasons behind createView timeout failures and how to mitigate the issue
31
31
### The video sender's browser is in the background
32
32
Some mobile devices don't send any video frames when the browser is in the background or a user locks the screen.
33
-
The [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API detects no incoming video frames and considers this situation a subscription failure, therefore, it throws a createView timeout error.
33
+
The [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API detects no incoming video frames and considers this situation a subscription failure, therefore, it throws a createView timeout error.
34
34
No further detailed information is available because currently the SDK doesn't support notifying receivers that the sender's browser is in the background.
35
35
36
36
Your application can implement its own detection mechanism and notify the participants in a call when the sender's browser goes back to foreground.
37
37
The participants can subscribe the video again.
38
-
A feasible but less elegant approach for handling this createView timeout error is to continuously retry invoking the [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API until it succeeds.
38
+
A feasible but less elegant approach for handling this createView timeout error is to continuously retry invoking the [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API until it succeeds.
39
39
40
40
### The video sender dropped from the call unexpectedly
41
41
Some users might end the call by terminating the browser process instead of by hanging up.
@@ -50,7 +50,7 @@ If the video sender has network issues during the time other participants are su
50
50
This error is unexpected on the video receiver's side.
51
51
For example, if the sender experiences a temporary network disconnection, other participants are unable to receive video frames from the sender.
52
52
53
-
A workaround approach for handling this createView timeout error is to continuously retry invoking [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API until it succeeds when this network event is happening.
53
+
A workaround approach for handling this createView timeout error is to continuously retry invoking [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API until it succeeds when this network event is happening.
54
54
55
55
### The video receiver has network issues
56
56
Similar to the sender's network issues, if a video receiver has network issues the video subscription may fail.
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/video-issues/overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ After the SDK completes the handshake at the signaling layer with the server, it
30
30
The browser performs video encoding and packetization at the RTP(Real-time Transport Protocol) layer for transmission.
31
31
The other participants in the call receive notifications from the server, indicating the availability of a video stream from the sender.
32
32
Your application can decide whether to subscribe to the video stream or not.
33
-
If your application subscribes to the video stream from the server (for example, using [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API), the server forwards the sender's video packets to the receiver.
33
+
If your application subscribes to the video stream from the server (for example, using [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API), the server forwards the sender's video packets to the receiver.
34
34
The receiver's browser decodes and renders the incoming video.
35
35
36
36
When you use ACS Web Calling SDK for video calls, the SDK and browser may adjust the video quality of the sender based on the available bandwidth.
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/video-issues/reaching-max-number-of-active-video-subscriptions.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ ms.subservice: calling
15
15
Azure Communication Service currently imposes a maximum limit on the number of active incoming video subscriptions that are rendered at a time. The current limit is 10 videos on desktop browsers and 6 videos on mobile browsers. Review the [supported browser list](../../../../concepts/voice-video-calling/calling-sdk-features.md#javascript-calling-sdk-support-by-os-and-browser) to see what browsers currently work with Azure Communication Services WebJS SDK.
16
16
17
17
## How to detect using the SDK
18
-
If the number of active video subscriptions exceeds the limit, the [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API throws an error.
18
+
If the number of active video subscriptions exceeds the limit, the [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API throws an error.
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/video-issues/remote-video-becomes-unavailable.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ The SDK detects this change and throws an error.
18
18
19
19
This error is expected from SDK's perspective as the remote endpoint stops sending the video.
20
20
## How to detect using the SDK
21
-
If the video becomes unavailable before the [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API finishes, the [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API throws an error.
21
+
If the video becomes unavailable before the [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API finishes, the [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API throws an error.
Copy file name to clipboardExpand all lines: articles/communication-services/resources/troubleshooting/voice-video-calling/video-issues/subscribing-video-not-available.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ Subscribing a video in this case results in failure.
18
18
19
19
This error is expected from SDK's perspective as applications shouldn't subscribe to a video that is currently not available.
20
20
## How to detect using the SDK
21
-
If you subscribe to a video that is unavailable, the [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API throws an error.
21
+
If you subscribe to a video that is unavailable, the [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API throws an error.
22
22
23
23
24
24
| error | Details |
@@ -33,5 +33,5 @@ While the SDK throws an error in this scenario,
33
33
applications should refrain from subscribing to a video when the remote video isn't available, as it doesn't satisfy the precondition.
34
34
35
35
The recommended practice is to monitor the isAvailable change within the `isAvailable` event callback function and to subscribe to the video when `isAvailable` changes to `true`.
36
-
However, if there's asynchronous processing in the application layer, that might cause some delay before invoking [`createView`](/javascript/api/%40azure/communication-react/statefulcallclient?view=azure-node-latest&preserve-view=true#@azure-communication-react-statefulcallclient-createview) API.
36
+
However, if there's asynchronous processing in the application layer, that might cause some delay before invoking [`createView`](/javascript/api/azure-communication-services/@azure/communication-calling/videostreamrenderer?view=azure-communication-services-js&preserve-view=true#@azure-communication-calling-videostreamrenderer-createview) API.
37
37
In such case, applications can check isAvailable again before invoking the createView API.
0 commit comments