Skip to content

Commit 055b106

Browse files
Merge pull request #176962 from fizampou/patch-2
Update known-issues.md
2 parents c104b2e + c3eb5ff commit 055b106

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

articles/communication-services/concepts/known-issues.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,20 @@ Applications can't enumerate/select mic/speaker devices (like Bluetooth) on Safa
4545

4646
If you're using Safari on macOS, your app won't be able to enumerate/select speakers through the Communication Services Device Manager. In this scenario, devices must be selected via the OS. If you use Chrome on macOS, the app can enumerate/select devices through the Communication Services Device Manager.
4747

48-
#### Audio connectivity is lost when receiving SMS messages or calls during an ongoing VoIP call
49-
This problem may occur due to multiple reasons:
48+
#### Device will get muted and incoming video will stop rendering when an interruption occurs that takes over device access.
49+
This problem may occur primarily from another application or OS taking over the control of microphone or camera, some examples can be seen bellow:
5050

51-
- Some mobile browsers don't maintain connectivity while in the background state. This can lead to a degraded call experience if the VoIP call was interrupted by an event that pushes your application into the background.
52-
- Sometimes, an SMS or PSTN call captures the audio sound, and doesn't release audio back to the VoIP call. Apple fixed this issue in iOS versions 14.4.1+.
51+
- User while is in the call, an incoming PSTN call arrives and captures the microphone device access.
52+
- User while is in the call, will navigate to another native application that will capture access to the microphone or camera, for example play a YouTube video or start a FaceTime call.
53+
- User while is in the call, will enable Siri which will capture access to the microphone again.
54+
55+
To recover from all these cases user will have to go back to the application to unmute and start video in order to have the audio and video start flowing after the interruption.
56+
57+
In some occasions the devices (Microphone or camera) won't be released on time and that can cause issues with the original call, for example if user tries to unmute while watching a YouTube video or a PSTN call is active simultaneously.
5358

5459
<br/>Client library: Calling (JavaScript)
55-
<br/>Browsers: Safari, Chrome
56-
<br/>Operating System: iOS, Android
60+
<br/>Browsers: Safari
61+
<br/>Operating System: iOS
5762

5863
#### Repeatedly switching video devices may cause video streaming to temporarily stop
5964

@@ -100,8 +105,8 @@ If users decide to quickly turn video on/off while call is in `Connecting` state
100105
##### Possible causes
101106
Under investigation.
102107

103-
#### Enumerating/accessing devices for Safari on MacOS and iOS
104-
If access to devices are granted, after some time, device permissions are reset. Safari on MacOS and on iOS does not keep permissions for very long time unless there is a stream acquired. The simplest way to work around this is to call DeviceManager.askDevicePermission() API before calling the device manager's device enumeration APIs (DeviceManager.getCameras(), DeviceManager.getSpeakers(), and DeviceManager.getMicrophones()). If the permissions are there, then user will not see anything, if not, it will re-prompt.
108+
#### Enumerating/accessing devices for Safari on macOS and iOS
109+
If access to devices are granted, after some time, device permissions are reset. Safari on macOS and on iOS does not keep permissions for very long time unless there is a stream acquired. The simplest way to work around this is to call DeviceManager.askDevicePermission() API before calling the device manager's device enumeration APIs (DeviceManager.getCameras(), DeviceManager.getSpeakers(), and DeviceManager.getMicrophones()). If the permissions are there, then user will not see anything, if not, it will re-prompt.
105110

106111
<br/>Devices affected: iPhone
107112
<br/>Client library: Calling (JavaScript)
@@ -114,8 +119,8 @@ During an ongoing group call, _User A_ sends video and then _User B_ joins the c
114119
#### Using 3rd party libraries to access GUM during the call may result in audio loss
115120
Using getUserMedia separately inside the application will result in losing audio stream since a third party library takes over device access from ACS library.
116121
Developers are encouraged to do the following:
117-
1. Don't use 3rd party libraries that are using internally GetUserMedia API during the call.
118-
2. If you still need to use 3rd party library, only way to recover is to either change the selected device (if the user has more than one) or restart the call.
122+
- Don't use 3rd party libraries that are using internally GetUserMedia API during the call.
123+
- If you still need to use 3rd party library, only way to recover is to either change the selected device (if the user has more than one) or restart the call.
119124

120125
<br/>Browsers: Safari
121126
<br/>Operating System: iOS
@@ -124,7 +129,7 @@ Developers are encouraged to do the following:
124129
In some browsers (Safari for example), acquiring your own stream from the same device will have a side-effect of running into race conditions. Acquiring streams from other devices may lead the user into insufficient USB/IO bandwidth, and sourceUnavailableError rate will skyrocket.
125130

126131
#### Support for Simulcast
127-
Simulcast is a technique by which a client encodes the same video stream twice in different resolutions and bitrates and letting the ACS intrastrucutre decide which stream a client should receive. The ACS calling library SDK for Windows, Android, or iOS support sending simulcast streams. The ACS Web SDK does not currently support sending simulcast streams out.
132+
Simulcast is a technique by which a client encodes the same video stream twice in different resolutions and bitrates and letting the ACS infrastructure decide which stream a client should receive. The ACS calling library SDK for Windows, Android, or iOS support sending simulcast streams. The ACS Web SDK does not currently support sending simulcast streams out.
128133

129134
## Azure Communication Services Call Automation APIs
130135

0 commit comments

Comments
 (0)