Delen via


Bekende problemen in de SDK's en API's

Deze artikelen bevatten informatie over beperkingen en bekende problemen met betrekking tot de Aanroepende SDK's van Azure Communication Services en Communication Services Call Automation-API's.

Belangrijk

Er zijn meerdere factoren die van invloed kunnen zijn op de kwaliteit van uw gesprekservaring. Zie Aanbevelingen voor netwerken voor meer informatie over de configuratie van het Communication Services-netwerk en het testen van best practices.

Web-SDK aanroepen

De volgende secties bevatten informatie over bekende problemen die zijn gekoppeld aan de JavaScript JavaScript-SDK's voor spraak- en videogesprekken van Azure Communication Services.

Chrome M115 - regressie

Chrome versie 115 voor Android heeft een regressie geïntroduceerd bij het maken van videogesprekken. Het resultaat van deze fout is dat een gebruiker die een oproep doet op Azure Communication Services met deze versie van Chrome geen uitgaande video bevat in groepsgesprekken en Azure Communication Services-Microsoft Teams.

  • Deze regressie is een bekend probleem dat is geïntroduceerd op Chromium
  • Als beperking op korte termijn geeft u gebruikers instructies om Microsoft Edge of Firefox op Android te gebruiken, of vermijd het gebruik van Google Chrome 115/116 op Android

Bekende problemen met Firefox

Firefox-bureaubladbrowserondersteuning is nu beschikbaar in openbare preview. Bekende problemen zijn:

  • Sprekers opsommen is niet beschikbaar: als u Firefox gebruikt, kan uw app luidsprekers niet opsommen of selecteren via de Communication Services-apparaatbeheer. In dit scenario moet u apparaten selecteren via het besturingssysteem.
  • Virtuele camera's worden momenteel niet ondersteund bij het maken van Firefox-audio\videogesprekken.

Bekende problemen met iOS Chrome

Ondersteuning voor de Chrome-browser voor iOS is nu beschikbaar in de openbare preview. Bekende problemen zijn:

  • Geen uitgaande en binnenkomende audio wanneer u overschakelt naar de achtergrond of het apparaat vergrendelt. Dit probleem is opgelost in iOS-versie 16.4+.
  • Geen binnenkomende/uitgaande audio afkomstig van bluetooth-headset. Wanneer een gebruiker bluetooth-headset in het midden van een Azure Communication Services-oproep verbindt, komt de audio nog steeds uit de luidspreker totdat de gebruiker de telefoon vergrendelt en ontgrendelt. We hebben dit probleem gezien in oudere iOS-versies (15.6, 15.7) en het is niet reproduceerbaar op iOS 16.

iOS Safari geeft een onjuiste resolutie van de cameravoorbeeld weer

Deze fout treedt op in iOS 16.7- of iOS 17-versies ouder dan 17.4 wanneer gebruikers hun telefoons draaien of video tijdens het gesprek in- of uitschakelen. In het cameravoorbeeld wordt kort een onjuiste resolutiegrootte weergegeven voordat u terugkeert naar normaal. Het probleem kan niet worden gereproduceerd op iOS 17.4 Beta. Gerelateerde WebKit-bug hier.

iOS 16 heeft bugs geïntroduceerd bij het plaatsen van een browser op de achtergrond tijdens een gesprek

In de iOS 16-release is een fout geïntroduceerd die de audio-/videogesprek van Azure Communication Services kan stoppen bij het gebruik van de mobiele Safari-browser. Apple is op de hoogte van dit probleem en is op zoek naar een oplossing aan hun kant. De impact kan zijn dat een Azure Communication Services-oproep niet meer werkt tijdens een gesprek en de enige oplossing om het opnieuw te laten werken, is door de eindklant zijn telefoon opnieuw op te starten.

Deze fout reproduceren:

  • Een gebruiker een iPhone met iOS 16 laten gebruiken
  • Deelnemen aan een Azure Communication Services-oproep (alleen audio of met audio en video) met behulp van de mobiele browser van Safari iOS
  • Als iemand tijdens een gesprek de Safari-browser op de achtergrond plaatst en YouTube BEKIJKt OF een FaceTime\telefoongesprek ontvangt terwijl deze is verbonden via een Bluetooth-apparaat

Resultaten:

  • Na een paar minuten van deze situatie werkt de binnenkomende en uitgaande video mogelijk niet meer.
  • De enige manier om azure Communication Services te laten bellen om opnieuw te werken, is door de eindgebruiker zijn telefoon opnieuw te laten opstarten.

Chrome M98 - regressie

Chrome versie 98 heeft een regressie geïntroduceerd met abnormale generatie videosleutelframes die de resolutie van een verzonden videostream negatief beïnvloeden voor de meerderheid (70%+) van gebruikers.

  • Deze regressie is een bekend probleem dat is geïntroduceerd op Chromium

Tijdens een PSTN-oproep kan de gebruiker nog steeds audio van de ACS-oproep horen

Dit probleem treedt op wanneer een Android Chrome-gebruiker een binnenkomende PSTN-oproep ondervindt nadat de PSTN-oproep is beantwoord, de microfoon in de ACS-oproep wordt gedempt. De uitgaande audio van de ACS-oproep is gedempt, zodat andere deelnemers de gebruiker die het PSTN-gesprek is niet kunnen horen. Het is de moeite waard om te vermelden dat de binnenkomende audio van de gebruiker niet is gedempt en dit gedrag inherent is aan de browser.

Geen binnenkomende audio tijdens een gesprek

Af en toe kan een gebruiker in een Azure Communication Services-oproep de audio van externe deelnemers niet horen. Er is een gerelateerde Chromium-fout die dit probleem veroorzaakt. Het probleem kan worden verholpen door opnieuw verbinding te maken met de PeerConnection. We hebben deze tijdelijke oplossing toegevoegd sinds SDK 1.9.1 (stabiel) en SDK 1.10.0 (bèta).

Als een gebruiker in Android Chrome meerdere keren deelneemt aan een Gesprek met Azure Communication Services, kan de binnenkomende audio ook verdwijnen. De gebruiker kan de audio van andere deelnemers pas horen als de pagina is vernieuwd. We hebben dit probleem opgelost in SDK 1.10.1-beta.1 en verbeterden het audioresourcegebruik.

Sommige Android-apparaten mislukken gespreksscenario's, met uitzondering van groepsgesprekken.

Veel specifieke Android-apparaten kunnen niet worden gestart, oproepen accepteren en vergaderingen accepteren. De apparaten die dit probleem tegenkomen, kunnen niet worden hersteld en mislukt bij elke poging. Dit zijn voornamelijk Samsung model A-apparaten, met name modellen A326U, A125U en A215U.

  • Deze regressie is een bekend probleem dat op Chromium is geïntroduceerd.

Android Chrome dempt de oproep nadat de browser één minuut op de achtergrond wordt weergegeven

Als een gebruiker zich in Android Chrome in een Azure Communication Services-aanroep bevindt en de browser één minuut op de achtergrond plaatst. De microfoon heeft geen toegang meer en de andere deelnemers aan het gesprek kunnen de audio van de gebruiker niet horen. Zodra de gebruiker de browser op de voorgrond heeft geplaatst, is de microfoon opnieuw beschikbaar. Verwante chroomfouten hier en hier

Een mobiele gebruiker (iOS en Android) heeft het gesprek verbroken, maar wordt nog steeds weergegeven in de lijst met deelnemers.

Het probleem kan optreden als een mobiele gebruiker de azure Communication Services-groepsaanroep verlaat zonder de Call.hangUp() API te gebruiken. Wanneer een mobiele gebruiker de browser sluit of de webpagina vernieuwt zonder op te hangen, kunnen andere deelnemers in de groepsoproep deze mobiele gebruiker nog steeds gedurende ongeveer 60 seconden zien in de lijst met deelnemers.

iOS Safari vernieuwt de pagina als de gebruiker naar een andere app gaat en teruggaat naar de browser

Het probleem kan optreden als een gebruiker in een Azure Communication Services-aanroep met iOS Safari en een tijdje overschakelt naar andere apps. Nadat de gebruiker weer terug is naar de browser, wordt de browserpagina mogelijk vernieuwd. Dit komt doordat het besturingssysteem de browser beëindigt. Een manier om dit probleem te verhelpen, is door bepaalde statussen te behouden en te herstellen nadat de pagina is vernieuwd.

iOS 15.1-gebruikers die deelnemen aan groepsgesprekken of Microsoft Teams-vergaderingen.

  • Soms wanneer binnenkomende PSTN wordt ontvangen, loopt het tabblad vast terwijl het gesprek of de vergadering vastloopt. Verwante webkitfouten hier en hier.

Lokale microfoon/camera dempt wanneer bepaalde onderbrekingen optreden in iOS Safari en Android Chrome.

Dit probleem kan optreden als een andere toepassing of het besturingssysteem de besturing van de microfoon of camera overneemt. Hier volgen enkele voorbeelden die kunnen optreden wanneer een gebruiker in de oproep staat:

  • Een inkomende oproep komt binnen via PSTN (Public Switched Telephone Network) en legt de toegang tot het microfoonapparaat vast.
  • Een gebruiker speelt bijvoorbeeld een YouTube-video af of start een FaceTime-oproep. Als u overschakelt naar een andere systeemeigen toepassing, kunt u toegang tot de microfoon of camera vastleggen.
  • Een gebruiker schakelt Siri in, waarmee toegang tot de microfoon wordt vastgelegd.

In iOS, bijvoorbeeld tijdens een Azure Communication Services-oproep, als er een PSTN-oproep binnenkomt, wordt er een microfoonMutedUnexepectedly slechte UFD gegenereerd en wordt audio gestopt in de Azure Communication Services-oproep en wordt het gesprek gemarkeerd als gedempt. Zodra de PSTN-oproep is afgelopen, moet de gebruiker het dempen van de Azure Communication Services-oproep voor audio opheffen om opnieuw te stromen in de Azure Communication Services-oproep. In het geval van Android Chrome wanneer een PSTN-oproep binnenkomt, stopt het geluid in de Azure Communication Services-oproep en wordt de Azure Communication Services-oproep niet gemarkeerd als gedempt. In dit geval is er geen microfoonMutedUnexepectedly UFD-gebeurtenis. Zodra de PSTN-oproep is voltooid, wordt in Android Chrome automatisch weer audio teruggekregen en wordt de audio normaal opnieuw gestroomd in de Azure Communication Services-oproep.

Als de camera is ingeschakeld en er een onderbreking optreedt, kan de azure Communication Services-oproep de camera al dan niet verliezen. Als de camera verloren is gegaan, wordt de camera gemarkeerd als uitgeschakeld en moet de gebruiker deze weer inschakelen nadat de onderbreking van de camera is vrijgegeven.

Af en toe worden microfoon- of cameraapparaten niet op tijd vrijgegeven en kunnen dit problemen met de oorspronkelijke oproep veroorzaken. Als de gebruiker bijvoorbeeld het dempen probeert op te heffen tijdens het bekijken van een YouTube-video of als een PSTN-oproep tegelijkertijd actief is.

Binnenkomende videostreams stoppen niet met renderen als de gebruiker iOS 15.2+ gebruikt en GEBRUIKMAAKT van SDK-versie 1.4.1-beta.1+, de stappen voor het dempen/starten van video's zijn nog steeds vereist om uitgaande audio en video opnieuw op te starten.

Voor iOS 15.4+ moeten audio en video automatisch kunnen worden hersteld in de meeste gevallen. In sommige edge-gevallen moet de toepassing een API aanroepen om het dempen op te heffen (kan het gevolg zijn van een gebruikersactie) om de uitgaande audio te herstellen.

iOS met Safari loopt vast en vernieuwt de pagina als een gebruiker probeert over te schakelen van camera aan de voorzijde naar de back-camera.

Azure Communication Services Calling SDK versie 1.2.3-beta.1 heeft een bug geïntroduceerd die van invloed is op alle aanroepen van iOS Safari. Het probleem treedt op wanneer een gebruiker probeert de cameravideostream van voor naar achter te schakelen. Schakelen tussen cameraresultaten in de Safari-browser om de pagina te crashen en opnieuw te laden.

Dit probleem is opgelost in Azure Communication Services Calling SDK versie 1.3.1-beta.1 +

  • iOS Safari-versie: 15.1

Scherm delen in macOS Ventura Safari (v16.3 en lager)

Scherm delen werkt niet in macOS Ventura Safari(v16.3 en lager). Bekend probleem van Safari en wordt opgelost in v16.4+.

Als u een pagina vernieuwt, wordt de gebruiker niet onmiddellijk uit de aanroep verwijderd

Als een gebruiker in gesprek is en besluit de pagina te vernieuwen, verwijdert de Communication Services-mediaservice deze gebruiker niet onmiddellijk uit het gesprek. Er wordt gewacht totdat de gebruiker opnieuw wordt toegevoegd. De gebruiker wordt verwijderd uit de aanroep nadat er een time-out optreedt voor de mediaservice.

U kunt het beste gebruikerservaringen bouwen waarvoor eindgebruikers de pagina van uw toepassing niet hoeven te vernieuwen tijdens een gesprek. Als een gebruiker de pagina vernieuwt, moet u dezelfde Communication Services-gebruikers-id opnieuw gebruiken nadat die gebruiker terugkomt naar de toepassing. Door opnieuw te deelnemen met dezelfde gebruikers-id, wordt de gebruiker weergegeven als hetzelfde, bestaande object in de remoteParticipants verzameling. Vanuit het perspectief van andere deelnemers aan het gesprek blijft de gebruiker in het gesprek gedurende de tijd die nodig is om de pagina te vernieuwen, tot een minuut of twee.

Als de gebruiker video heeft verzonden voordat deze werd vernieuwd, bewaart de videoStreams verzameling de vorige stroomgegevens totdat er een time-out optreedt en wordt deze verwijderd. In dit scenario kan de toepassing besluiten om nieuwe streams te observeren die aan de verzameling zijn toegevoegd en één met de hoogste idstreams weer te geven.

Het is niet mogelijk om meerdere previews van meerdere apparaten op internet weer te geven

Dit probleem is een bekende beperking. Zie het overzicht van de Calling SDK voor meer informatie.

Het inventariseren van apparaten is niet mogelijk in Safari wanneer de toepassing wordt uitgevoerd op iOS of iPadOS

Toepassingen kunnen geen sprekerapparaten (zoals Bluetooth) opsommen of selecteren in Safari iOS of iPadOS. Dit probleem is een bekende beperking van deze besturingssystemen.

Als u Safari in macOS gebruikt, kan uw app geen luidsprekers opsommen of selecteren via Communication Services-apparaatbeheer. In dit scenario moet u apparaten selecteren via het besturingssysteem. Als u Chrome in macOS gebruikt, kan de app apparaten inventariseren of selecteren via Communication Services-apparaatbeheer.

  • iOS Safari-versie: 15.1

Herhaaldelijk schakelen tussen videoapparaten kan ertoe leiden dat videostreaming tijdelijk wordt gestopt

Als u schakelt tussen videoapparaten, kan uw videostream worden onderbroken terwijl de stream wordt verkregen van het geselecteerde apparaat. Het schakelen tussen apparaten kan vaak leiden tot prestatievermindering. Het is het beste voor ontwikkelaars om de ene apparaatstream te stoppen voordat ze een ander apparaat starten.

Bluetooth-headsetmicrofoon wordt niet gedetecteerd of hoorbaar tijdens het gesprek in Safari op iOS

Bluetooth-headsets worden niet ondersteund door Safari op iOS. Uw Bluetooth-apparaat wordt niet vermeld in de beschikbare microfoonopties en andere deelnemers kunnen u niet horen als u Bluetooth via Safari probeert te gebruiken.

Deze regressie is een bekende beperking van het besturingssysteem. Met Safari op macOS en iOS/iPadOS is het niet mogelijk om sprekerapparaten op te sommen of te selecteren via Communication Services-apparaatbeheer. Dit komt doordat Safari geen ondersteuning biedt voor de opsomming of selectie van sprekers. In dit scenario gebruikt u het besturingssysteem om uw apparaatselectie bij te werken.

Rotatie van een apparaat kan een slechte videokwaliteit creëren

Wanneer gebruikers een apparaat draaien, kan deze beweging de kwaliteit van video's die worden gestreamd, verminderen.

Dit probleem treedt op in de volgende omgevingen:

  • Getroffen apparaten: Google Pixel 5, Google Pixel 3a, Apple iPad 8 en Apple iPad X
  • Clientbibliotheek: aanroepen (JavaScript)
  • Browsers: Safari, Chrome
  • Besturingssystemen: iOS, Android

Camera schakelen maakt het scherm blokkeren

Wanneer een Communication Services-gebruiker deelneemt aan een oproep met behulp van de Sdk voor JavaScript-aanroepen en vervolgens de knop cameraschakelaar selecteert, reageert de gebruikersinterface mogelijk niet meer. De gebruiker moet vervolgens de toepassing vernieuwen of de browser naar de achtergrond pushen.

Dit probleem treedt op in de volgende omgevingen:

  • Getroffen apparaten: Google Pixel 4a
  • Clientbibliotheek: aanroepen (JavaScript)
  • Browser: Chrome
  • Besturingssystemen: iOS, Android

Probleem met videosignaal wanneer de oproep de verbindingsstatus heeft

Als een gebruiker video snel inschakelt en uitschakelt terwijl de oproep de verbindingsstatus heeft, kan deze actie leiden tot een probleem met de stream die voor de oproep is verkregen. Het is het beste voor ontwikkelaars om hun apps te bouwen op een manier waarvoor video niet hoeft te worden ingeschakeld en uitgeschakeld terwijl de oproep de verbindingsstatus heeft. Verminderde videoprestaties kunnen optreden in de volgende scenario's:

  • Als de gebruiker begint met audio en vervolgens video start en stopt, terwijl het gesprek de verbindingsstatus heeft.
  • Als de gebruiker begint met audio en vervolgens video start en stopt, terwijl het gesprek de status Lobby heeft.

Apparaten opsommen of openen voor Safari op macOS en iOS

In bepaalde omgevingen ziet u mogelijk dat apparaatmachtigingen na enige tijd opnieuw worden ingesteld. In macOS en iOS behoudt Safari lange tijd geen machtigingen, tenzij er een stream is verkregen. De eenvoudigste manier om deze beperking te omzeilen, is door de DeviceManager.askDevicePermission() API aan te roepen voordat u de opsommings-API's van de apparaatbeheerder aanroept. Deze opsommings-API's omvatten DeviceManager.getCameras(), DeviceManager.getSpeakers()en DeviceManager.getMicrophones(). Als de machtigingen er zijn, ziet de gebruiker niets. Als de machtigingen er niet zijn, wordt de gebruiker opnieuw om de machtigingen gevraagd.

Dit probleem treedt op in de volgende omgevingen:

  • Beïnvloed apparaat: iPhone
  • Clientbibliotheek: aanroepen (JavaScript)
  • Browser: Safari
  • Besturingssysteem: iOS

Vertraging bij het weergeven van externe deelnemersvideo's

Stel dat gebruiker A tijdens een doorlopend groepsgesprek video verzendt en vervolgens gebruiker B deelneemt aan het gesprek. Soms ziet gebruiker B geen video van gebruiker A of de video van gebruiker A begint na een lange vertraging. Een configuratieprobleem met de netwerkomgeving kan deze vertraging veroorzaken. Zie Netwerkaan aanbevelingen voor meer informatie.

Het gebruik van bibliotheken van derden tijdens het gesprek kan leiden tot audioverlies

Als u afzonderlijk in de toepassing gebruikt getUserMedia , gaat de audiostream verloren. Audiostream gaat verloren omdat een bibliotheek van derden apparaattoegang overneemt vanuit de Azure Communication Services-bibliotheek.

  • Gebruik geen bibliotheken van derden die de getUserMedia API intern gebruiken tijdens de aanroep.
  • Als u nog steeds een bibliotheek van derden moet gebruiken, kunt u de audiostream alleen herstellen door het geselecteerde apparaat te wijzigen (als de gebruiker meer dan één apparaat heeft) of om het gesprek opnieuw te starten.

Dit probleem treedt op in de volgende omgevingen:

  • Browser: Safari
  • Besturingssysteem: iOS

De oorzaak van dit probleem kan zijn dat het verkrijgen van uw eigen stream vanaf hetzelfde apparaat een neveneffect heeft van het lopen in raceomstandigheden. Het verkrijgen van streams van andere apparaten kan ertoe leiden dat de gebruiker onvoldoende USB-/IO-bandbreedte heeft en dat de sourceUnavailableError snelheid skyrockets.

Overmatig gebruik van bepaalde API's, zoals dempen/dempen opheffen, resulteert in bandbreedtebeperking in de Infrastructuur van Azure Communication Services

Als gevolg van de aanroep van de API voor dempen/dempen opheffen, informeert de Azure Communication Services-infrastructuur andere deelnemers aan de oproep over de status van audio van een lokale deelnemer die demping/demping heeft aangeroepen, zodat deelnemers in de oproep weten wie er is gedempt/gedempt. Overmatig gebruik van dempen/dempen opheffen wordt geblokkeerd in de Infrastructuur van Azure Communication Services. Beperking treedt op als de deelnemer (of toepassing namens de deelnemer) continu het dempen/dempen opheffen, elke seconde, meer dan 15 keer in een rolling venster van 30 seconden probeert te dempen/dempen op te heffen.

Automation-API's aanroepen

De volgende beperkingen zijn bekende problemen in de Communication Services Call Automation-API's:

  • De enige verificatie die momenteel wordt ondersteund voor servertoepassingen is het gebruik van een verbindingsreeks.

  • Maak alleen aanroepen tussen entiteiten van dezelfde Communication Services-resource. Communicatie tussen resources wordt geblokkeerd.

  • Aanroepen tussen tenantgebruikers van Microsoft Teams en Communication Services-gebruikers of servertoepassingsentiteiten zijn niet toegestaan.

  • Als een toepassing uitbelt naar twee of meer PSTN-identiteiten en vervolgens de oproep beëindigt, wordt de oproep tussen de andere PSTN-entiteiten beëindigd.

De volgende secties bevatten informatie over bekende problemen die zijn gekoppeld aan de Azure Communication Services-aanroepen van systeemeigen en systeemeigen UI SDK's.

Android API-emulators

Bij het gebruik van Android API-emulators op Android 5.0 (API-niveau 21) en Android 5.1 (API-niveau 22), worden sommige crashes verwacht.

Android Trouter-moduleconflict

Wanneer de Android Chat en Calling SDK zich in dezelfde toepassing bevinden, werkt de functie voor realtime meldingen van chat-SDK niet. Mogelijk krijgt u een probleem met het oplossen van afhankelijkheid.

Terwijl we aan een oplossing werken, kunt u de functie voor realtime meldingen uitschakelen door de volgende afhankelijkheidsgegevens toe te voegen aan het build.gradle-bestand van de app en in plaats daarvan de GetMessages-API te peilen om binnenkomende berichten weer te geven aan gebruikers.

Java

 implementation ("com.azure.android:azure-communication-chat:1.0.0") {
     exclude group: 'com.microsoft', module: 'trouter-client-android'
 }
 implementation 'com.azure.android:azure-communication-calling:1.0.0'

Opmerking: als de toepassing een van de meldings-API's probeert aan te raken zoals chatAsyncClient.startRealtimeNotifications() of chatAsyncClient.addEventHandler(), resulteert dit in een runtime-fout.

Android-paginaformaat

De functie paginaformaat van 16 kB, beschikbaar sinds Android 15, wordt momenteel niet ondersteund.

iOS beantwoordt binnenkomende oproepen via CallKit

Uitgaande audio-instellingen zijn niet van toepassing wanneer CallKit is ingeschakeld en gebruikers beantwoorden de binnenkomende oproepen rechtstreeks via CallKit.

UI-bibliotheek

U kunt de wikipagina bekende problemen volgen in de GitHub-opslagplaatsen.