Megosztás a következőn keresztül:


Az SDK-k és API-k ismert problémái

Ezek a cikkek tájékoztatást nyújtanak az Azure Communication Services call SDK-kkal és a Communication Services Call Automation API-kkal kapcsolatos korlátozásokról és ismert problémákról.

Fontos

Több tényező is befolyásolhatja a hívási élmény minőségét. A Communication Services hálózatkonfigurációjáról és az ajánlott eljárások teszteléséről további információt a Hálózati javaslatok című témakörben talál.

Webes SDK hívása

A következő szakaszok az Azure Communication Services JavaScript hang- és videohívási SDK-kkal kapcsolatos ismert problémáival kapcsolatos információkat tartalmaznak.

Chrome M115 – regresszió

Az Android Chrome 115-ös verziója regressziót vezetett be a videohívások során – ennek a hibának az az eredménye, hogy egy felhasználó hívást kezdeményez az Azure Communication Servicesen a Chrome ezen verziójával, és nem rendelkezik kimenő videóval a Csoportos és az Azure Communication Services-Microsoft Teams hívásokban.

  • Ez a regresszió a Chromiumon bevezetett ismert probléma
  • Rövid távú megoldásként utasítsa a felhasználókat a Microsoft Edge vagy a Firefox androidos használatára, vagy kerülje a Google Chrome 115/116 androidos használatát

A Firefox ismert problémái

A Firefox asztali böngésző támogatása mostantól nyilvános előzetes verzióban érhető el. Ismert problémák:

  • A hangszórók felsorolása nem érhető el: Ha Firefoxot használ, az alkalmazás nem tud számbavételt vagy hangszórók kiválasztását a Communication Services eszközkezelőn keresztül. Ebben a forgatókönyvben az operációs rendszeren keresztül kell kiválasztania az eszközöket.
  • A virtuális kamerák jelenleg nem támogatottak a Firefox asztali hang- és videohívásai során.

Az iOS Chrome ismert problémái

Az iOS Chrome böngésző támogatása mostantól nyilvános előzetes verzióban érhető el. Ismert problémák:

  • Nincs kimenő és bejövő hang, amikor a böngészőt háttérre váltja vagy zárolja az eszközt. Ezt a problémát az iOS 16.4+-os verziójában javítottuk.
  • Nincs bejövő/kimenő hang a bluetooth headsetről. Amikor egy felhasználó bluetooth headsetet csatlakoztat az Azure Communication Services-hívás közepén, a hang továbbra is kijön a hangszóróból, amíg a felhasználó nem zárolja és nem oldja fel a telefont. Láttuk ezt a problémát a régebbi iOS-verziókban (15.6, 15.7), és iOS 16-on nem reprodukálható.

Az iOS Safari helytelen felbontásméretet jelenít meg a kamera előnézetében

Ez a hiba az iOS 16.7 vagy az iOS 17 17 17.4-nél korábbi verzióiban fordul elő, amikor a felhasználók elforgatják a telefonjukat, vagy engedélyezik/letiltják a videoképet a hívás során. A kamera előnézete rövid időre helytelen felbontást jelenít meg, mielőtt visszatér a normál állapotba. A probléma nem reprodukálható az iOS 17.4 bétaverzióban. Kapcsolódó WebKit hiba itt.

Az iOS 16 hibákat vezetett be, amikor a böngészőt a háttérben helyezték el egy hívás során

Az iOS 16-os kiadás olyan hibát vezetett be, amely leállíthatja az Azure Communication Services hang- és videohívását a Safari mobilböngésző használatakor. Az Apple tisztában van ezzel a problémával, és javítást keres az oldalukon. Ennek az lehet az oka, hogy egy Azure Communication Services-hívás leállhat egy hívás közben, és az egyetlen megoldás, hogy újra működjön, ha a végfelhasználó újraindítja a telefonját.

A hiba reprodukálása:

  • Felhasználó használata iOS 16-ot futtató i TELEFON
  • Csatlakozás Azure Communication Services-híváshoz (csak hanggal vagy hanggal és videóval) a Safari iOS mobilböngészővel
  • Ha egy hívás során valaki a háttérben helyezi el a Safari böngészőt, és megtekinti a YouTube-ot, VAGY FaceTime-hívást kap, miközben Bluetooth-eszközön keresztül csatlakozik

Eredmények:

  • Néhány perc elteltével a bejövő és kimenő videó működése leállhat.
  • Az Azure Communication Services újrahívásának egyetlen módja, ha a végfelhasználó újraindítja a telefonját.

Chrome M98 – regresszió

A Chrome 98-es verziója olyan regressziót vezetett be a videokulcskeretek rendellenes generációjával, amely negatívan befolyásolja az elküldött videóstreamek felbontását a felhasználók többsége (70%+) számára.

PSTN-hívás közben a felhasználó továbbra is hallhatja az ACS-hívás hangját

Ez a probléma akkor fordul elő, ha egy Android Chrome-felhasználó bejövő PSTN-hívást tapasztal a PSTN-hívás fogadása után az ACS-hívás mikrofonja elnémul. Az ACS-hívás kimenő hangja el van némítva, így a többi résztvevő nem hallja a PSTN-hívást végző felhasználót. Érdemes megjegyezni, hogy a felhasználó bejövő hangja nincs elnémítva, és ez a viselkedés a böngésző velejárója.

Hívás közben nincs bejövő hang

Előfordulhat, hogy egy Azure Communication Services-hívás felhasználója nem hallja a távoli résztvevők hanganyagát. A problémát egy kapcsolódó Chromium-hiba okozza, a probléma a társ Csatlakozás ion újracsatlakoztatásával hárítható el. Ezt a kerülő megoldást az SDK 1.9.1 (stabil) és az SDK 1.10.0 (bétaverzió) óta vettük fel.

Android Chrome-on, ha egy felhasználó többször csatlakozik az Azure Communication Services-híváshoz, a bejövő hang is eltűnhet. A felhasználó a lap frissítéséig nem hallja a többi résztvevő hangját. Kijavítottuk ezt a problémát az SDK 1.10.1-beta.1-ben, és javítottuk a hangerőforrás-használatot.

Egyes Android-eszközök nem fogadnak hívási forgatókönyveket, kivéve a csoportos hívásokat.

Számos androidos eszköz nem indul el, fogad hívásokat és értekezleteket. A problémába ütköző eszközök nem állíthatók helyre és sikertelenek minden kísérlet során. Ezek többnyire Samsung A modell eszközök, különösen az A326U, A125U és A215U modellek.

  • Ez a regresszió a Chromiumon bevezetett ismert probléma.

Az Android Chrome elnémítja a hívást, miután a böngésző egy percre háttérbe kerül

Android Chrome-on, ha egy felhasználó egy Azure Communication Services-híváson van, és egy percre háttérbe helyezi a böngészőt. A mikrofon elveszíti a hozzáférést, és a hívás többi résztvevője nem hallja a felhasználó hangját. Miután a felhasználó előtérbe helyezi a böngészőt, a mikrofon ismét elérhető lesz. Kapcsolódó krómhibák itt és itt

Egy mobilfelhasználó (iOS és Android) elvetette a hívást, de továbbra is megjelenik a résztvevők listájában.

A probléma akkor fordulhat elő, ha egy mobilfelhasználó a Call.hangUp() API használata nélkül hagyja el az Azure Communication Services-csoporthívást. Ha egy mobilfelhasználó bezárja a böngészőt, vagy lefagyás nélkül frissíti a weblapot, a csoporthívás többi résztvevője körülbelül 60 másodpercig továbbra is láthatja ezt a mobilfelhasználót a résztvevők listájában.

Az iOS Safari frissíti a lapot, ha a felhasználó egy másik alkalmazásba megy vissza, és visszatér a böngészőbe

A probléma akkor fordulhat elő, ha egy felhasználó egy Azure Communication Services-hívásban iOS Safarit használ, és egy ideig másik alkalmazásra vált. Miután a felhasználó visszatért a böngészőbe, a böngészőoldal frissíthető. Ennek az az oka, hogy az operációs rendszer megöli a böngészőt. A probléma megoldásának egyik módja, ha megtart néhány állapotot, és helyreáll az oldalfrissítések után.

Az iOS 15.1-felhasználók csoportos hívásokat vagy Microsoft Teams-értekezleteket csatlakoznak.

  • Néha, amikor a bejövő PSTN-t fogadják, a hívás vagy az értekezlet lefagy. Kapcsolódó WebKit-hibák itt és itt.

A helyi mikrofon/kamera elnémul, ha bizonyos megszakítások történnek az iOS Safariban és az Android Chrome-ban.

Ez a probléma akkor fordulhat elő, ha egy másik alkalmazás vagy operációs rendszer átveszi a mikrofon vagy a kamera vezérlését. Íme néhány példa, amelyek akkor fordulhatnak elő, amikor egy felhasználó a hívásban van:

  • A bejövő hívás PSTN-en (nyilvános telefonhálózaton) keresztül érkezik, és rögzíti a mikrofon eszköz hozzáférését.
  • A felhasználó lejátszhat például egy YouTube-videót, vagy elindíthat egy FaceTime-hívást. Ha másik natív alkalmazásra vált, rögzítheti a mikrofonhoz vagy a kamerához való hozzáférést.
  • A felhasználó engedélyezi a Sirit, amely rögzíti a mikrofonhoz való hozzáférést.

iOS-en például egy Azure Communication Services-hívás esetén, ha PSTN-hívás érkezik, egy mikrofonMutedUnexepectedlyly bad UFD jön létre, és a hang leáll az Azure Communication Services-hívásban, és a hívás elnémítottként van megjelölve. Miután a PSTN-hívás befejeződött, a felhasználónak vissza kell hívnia az Azure Communication Services hanghívását, hogy újra elinduljon az Azure Communication Services-hívásban. Az Android Chrome esetében, amikor PSTN-hívás érkezik, a hang leáll az Azure Communication Services-hívásban, és az Azure Communication Services-hívás nem lesz elnémítva. Ebben az esetben nincs mikrofonMutedUnexepectedly UFD esemény. A PSTN-hívás befejezése után az Android Chrome automatikusan visszanyeri a hangot, és a hang újra normálisan áramlik az Azure Communication Services-hívásban.

Ha a kamera be van kapcsolva, és megszakad a probléma, előfordulhat, hogy az Azure Communication Services hívása elveszíti a kamerát. Ha elveszett, akkor a kamera ki van jelölve, és a felhasználónak vissza kell kapcsolnia a megszakítás után.

Előfordulhat, hogy a mikrofon- vagy kameraeszközök nem jelennek meg időben, és ez problémákat okozhat az eredeti hívással kapcsolatban. Ha például a felhasználó egy YouTube-videó megtekintése közben próbál visszahangosítani, vagy ha egy PSTN-hívás egyidejűleg aktív.

A bejövő videostreamek nem hagyják abba a renderelést, ha a felhasználó az iOS 15.2+-on van, és az SDK 1.4.1-béta.1+-os verzióját használja, a visszahangosítás/indítás videó lépései továbbra is szükségesek a kimenő hang és a videó újraindításához.

Az iOS 15.4+-os verzió esetén a hang- és videoképnek a legtöbb esetben automatikusan helyre kell állnia. Egyes peremhálózati esetekben a visszahangosításhoz az alkalmazásnak le kell hívnia egy API-t a "visszahangosításra" (ez a felhasználói művelet eredménye lehet) a kimenő hang helyreállításához.

A Safarit használó iOS összeomlik, és frissíti az oldalt, ha egy felhasználó megpróbál váltani az előtér kameráról a háttér kamerára.

Az Azure Communication Services Calling SDK 1.2.3-beta.1-es verziója olyan hibát vezetett be, amely az iOS Safariból indított összes hívást érinti. A probléma akkor fordul elő, ha egy felhasználó megpróbálja átállítani a kamerás videostreamet elölről hátra. A kamera váltásával a Safari böngésző összeomlik, és újra betölti az oldalt.

Ez a probléma az Azure Communication Services Calling SDK 1.3.1-beta.1 + verziójában van kijavítva

  • iOS Safari-verzió: 15.1

Képernyőmegosztás a macOS Ventura Safariban (16.3-os vagy újabb verzió)

A képernyőmegosztás nem működik a macOS Ventura Safariban (16.3-os vagy újabb verzió). A Safari ismert hibája, és a 16.4-s verzióban lesz javítva.

A lap frissítése nem távolítja el azonnal a felhasználót a hívásból

Ha egy felhasználó hívásban van, és úgy dönt, hogy frissíti a lapot, a Communication Services médiaszolgáltatás nem távolítja el azonnal a felhasználót a hívásból. Megvárja, amíg a felhasználó újra csatlakozik. A rendszer eltávolítja a felhasználót a hívásból, miután a médiaszolgáltatás túllépte az időkorlátot.

A legjobb, ha olyan felhasználói élményt hoz létre, amely nem követeli meg a végfelhasználóktól az alkalmazás lapjának frissítését hívás közben. Ha egy felhasználó frissíti a lapot, használja újra ugyanazt a Communication Services-felhasználói azonosítót, miután a felhasználó visszatér az alkalmazáshoz. Ugyanazzal a felhasználói azonosítóval való újracsatlakozással a felhasználó ugyanazként jelenik meg, mint a gyűjtemény meglévő objektuma remoteParticipants . A hívás többi résztvevője szempontjából a felhasználó a lap frissítésének időtartama alatt, akár egy-két percig is a hívásban marad.

Ha a felhasználó a frissítés előtt videót küldött, a videoStreams gyűjtemény megőrzi az előző streamadatokat, amíg a szolgáltatás időtúllépést nem végez, és eltávolítja azt. Ebben a forgatókönyvben az alkalmazás úgy dönthet, hogy megfigyeli a gyűjteményhez hozzáadott új streameket, és a legmagasabb idmegjelenítést jeleníti meg.

Nem lehet több előnézetet renderelni több eszközről a weben

Ez a probléma egy ismert korlátozás. További információ: Az SDK hívásának áttekintése.

Az eszközök számbavétele nem lehetséges a Safariban, ha az alkalmazás iOS vagy iPadOS rendszeren fut

Az alkalmazások nem tudják számba vagy kiválasztani a beszélőeszközöket (például Bluetooth-t) a Safari iOS-en vagy iPadOS-en. Ez a probléma az operációs rendszerek ismert korlátozása.

Ha macOS rendszeren használja a Safarit, az alkalmazás nem tud számbavételt vagy hangszórók kiválasztását a Communication Services eszközkezelőjén keresztül. Ebben a forgatókönyvben az operációs rendszeren keresztül kell kiválasztania az eszközöket. Ha macOS rendszeren használja a Chrome-ot, az alkalmazás a Communication Services eszközkezelőjén keresztül számba vehet vagy kiválaszthat eszközöket.

  • iOS Safari-verzió: 15.1

A videoeszközök ismételt váltása a videostreamelés ideiglenes leállítását okozhatja

A videoeszközök közötti váltás miatt a videostream szüneteltetődhet, amíg a streamet a kiválasztott eszközről szerzi be. Az eszközök közötti gyakori váltás teljesítménycsökkenést okozhat. A fejlesztők számára a legjobb, ha leállítja az egyik eszközstreamet, mielőtt elindítanak egy másikat.

A Bluetooth-headset mikrofonja nem észlelhető vagy hallható az iOS-es Safari hívása során

Az iOS-en futó Safari nem támogatja a Bluetooth-headseteket. A Bluetooth-eszköz nem szerepel a rendelkezésre álló mikrofonbeállítások között, és a többi résztvevő nem hallja Önt, ha a Safarion keresztül próbál Bluetooth-t használni.

Ez a regresszió ismert operációsrendszer-korlátozás. MacOS-en és iOS-en/iPadOS-en futó Safari esetén nem lehet számba adni vagy kiválasztani a beszélő eszközöket a Communication Services eszközkezelőjén keresztül. Ennek az az oka, hogy a Safari nem támogatja a beszélők számbavételét vagy kiválasztását. Ebben a forgatókönyvben az operációs rendszer használatával frissítse az eszközválasztást.

Az eszköz elforgatása gyenge videominőséget okozhat

Amikor a felhasználók elforgatnak egy eszközt, ez a mozgás ronthatja a streamelt videók minőségét.

Ez a probléma a következő környezetekben fordul elő:

  • Érintett eszközök: Google Pixel 5, Google Pixel 3a, Apple iPad 8 és Apple iPad X
  • Ügyfélkódtár: Hívás (JavaScript)
  • Böngészők: Safari, Chrome
  • Operációs rendszerek: iOS, Android

Kamera váltással a képernyő lefagy

Ha egy Communication Services-felhasználó a JavaScript hívó SDK-val csatlakozik egy híváshoz, majd kiválasztja a kamerakapcsoló gombot, előfordulhat, hogy a felhasználói felület nem válaszol. A felhasználónak ezután frissítenie kell az alkalmazást, vagy le kell küldenie a böngészőt a háttérbe.

Ez a probléma a következő környezetekben fordul elő:

  • Érintett eszközök: Google Pixel 4a
  • Ügyfélkódtár: Hívás (JavaScript)
  • Böngésző: Chrome
  • Operációs rendszerek: iOS, Android

Videojel-probléma, ha a hívás csatlakozási állapotban van

Ha egy felhasználó gyorsan be- és kikapcsolja a videót, miközben a hívás Csatlakozás állapotban van, ez a művelet problémát okozhat a híváshoz beszerzett adatfolyammal kapcsolatban. A fejlesztők számára a legjobb, ha olyan módon készítik el az alkalmazásaikat, hogy ne kelljen be- és kikapcsolni a videót, amíg a hívás Csatlakozás állapotban van. A videoteljesítmény romlása a következő esetekben fordulhat elő:

  • Ha a felhasználó hanggal indul, majd elindítja és leállítja a videót, miközben a hívás Csatlakozás állapotban van.
  • Ha a felhasználó hanggal indul, majd elindítja és leállítja a videót, miközben a hívás a Lobby állapotban van.

Eszközök számbavétele vagy elérése a Safarihoz macOS-en és iOS-en

Bizonyos környezetekben előfordulhat, hogy bizonyos idő elteltével az eszközengedélyek alaphelyzetbe állnak. MacOS-en és iOS-en a Safari nem őrzi meg sokáig az engedélyeket, hacsak nem szerez be streamet. Ennek a korlátozásnak a legegyszerűbb módja, ha meghívja az DeviceManager.askDevicePermission() API-t, mielőtt meghívja az eszközkezelő eszköz-enumerálási API-jait. Ezek az enumerálási API-k a következők: DeviceManager.getCameras(), DeviceManager.getSpeakers()és DeviceManager.getMicrophones(). Ha az engedélyek ott vannak, a felhasználó nem lát semmit. Ha az engedélyek nincsenek meg, a rendszer ismét kéri a felhasználótól az engedélyeket.

Ez a probléma a következő környezetekben fordul elő:

  • Érintett eszköz: i Telefon
  • Ügyfélkódtár: Hívás (JavaScript)
  • Böngésző: Safari
  • Operációs rendszer: iOS

Távoli résztvevők videóinak megjelenítésének késleltetése

Egy folyamatban lévő csoportos hívás során tegyük fel, hogy az A felhasználó videót küld, majd a B felhasználó csatlakozik a híváshoz. Előfordulhat, hogy a B felhasználó nem látja az A felhasználó videóját, vagy az A felhasználó videója hosszú késés után elkezd renderelni. A hálózati környezet konfigurációs problémája okozhatja ezt a késést. További információ: Hálózati javaslatok.

Ha harmadik féltől származó kódtárakat használ a hívás során, az hangvesztést okozhat

Ha külön használja getUserMedia az alkalmazást, a hangstream elveszik. A hangstream elveszik, mert egy harmadik féltől származó kódtár veszi át az eszközhozzáférést az Azure Communication Services-kódtárból.

  • Ne használjon külső kódtárakat, amelyek belsőleg használják az getUserMedia API-t a hívás során.
  • Ha továbbra is külső kódtárat kell használnia, a hangstream helyreállításának egyetlen módja a kiválasztott eszköz módosítása (ha a felhasználó egynél többel rendelkezik), vagy a hívás újraindítása.

Ez a probléma a következő környezetekben fordul elő:

  • Böngésző: Safari
  • Operációs rendszer: iOS

A probléma oka az lehet, hogy a saját stream beszerzése ugyanabból az eszközről versenyhelyzetekbe ütközik. Ha más eszközökről szerzi be a streameket, a felhasználó nem elegendő USB/IO-sávszélességhez vezethet, és a sourceUnavailableError sebesség az egekbe szökhet.

Bizonyos API-k, például a némítás/visszahangosítás túlzott használata szabályozást eredményez az Azure Communication Services-infrastruktúrában

Az API-hívás elnémítása/visszahangosítása miatt az Azure Communication Services-infrastruktúra tájékoztatja a hívás többi résztvevőét a némítást/visszahangosítást kezdeményező helyi résztvevő hangállapotáról, hogy a hívás résztvevői tudják, hogy ki van elnémítva/elnémítva. A némítás/visszahangosítás túlzott használata le van tiltva az Azure Communication Services-infrastruktúrában. Szabályozás akkor történik, ha a résztvevő (vagy a résztvevő nevében történő alkalmazás) folyamatosan, másodpercenként, több mint 15 alkalommal próbál elnémítani/visszahangosítani egy 30 másodperces gördülő ablakban.

Automation API-k meghívása

A Communication Services hívásautomatizálási API-jaiban az alábbi korlátozások ismert problémák:

  • A kiszolgálóalkalmazások esetében jelenleg az egyetlen támogatott hitelesítés egy kapcsolati sztring használata.

  • Csak ugyanahhoz a Communication Services-erőforráshoz tartozó entitások között kezdeményez hívásokat. Az erőforrásközi kommunikáció le van tiltva.

  • A Microsoft Teams bérlői felhasználói és a Communication Services-felhasználók vagy kiszolgálóalkalmazás-entitások közötti hívások nem engedélyezettek.

  • Ha egy alkalmazás két vagy több PSTN-identitáshoz tárcsáz, majd kilép a hívásból, a többi PSTN-entitás közötti hívás megszakad.

A következő szakaszok az Azure Communication Services natív és natív felhasználói SDK-kkal kapcsolatos ismert problémáival kapcsolatos információkat tartalmaznak.

Android API-emulátorok

Az Android API emulátorainak androidos 5.0-s (21-es API-szintű) és Android 5.1-es (API 22-es szintű) használatakor néhány összeomlás várható.

Android Trouter modul ütközése

Ha az Android Chat and Calling SDK ugyanabban az alkalmazásban van együtt, a Csevegő SDK valós idejű értesítési funkciója nem működik. Előfordulhat, hogy függőségi problémát old meg.

Miközben egy megoldáson dolgozunk, kikapcsolhatja a valós idejű értesítések funkciót úgy, hogy hozzáadja a következő függőségi információkat az alkalmazás build.gradle fájljához, és ehelyett lekérdezi a GetMessages API-t a bejövő üzenetek felhasználók számára való megjelenítéséhez.

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'

Megjegyzés: ha az alkalmazás megpróbál megérinteni bármelyik értesítési API-t, például chatAsyncClient.startRealtimeNotifications() vagy chatAsyncClient.addEventHandler(), futásidejű hiba lép fel.

iOS folyamatban lévő videó képe a képben (PiP)

A bejövő videó leáll, amikor az alkalmazás háttérbe kerül. Ha az alkalmazás előtérben van, a videó megfelelően jelenik meg.

iOS bejövő hívás fogadása a CallKiten keresztül

A kimenő hangbeállítások nem érvényesek, ha a CallKit engedélyezve van, és a felhasználók közvetlenül a CallKiten keresztül fogadják a bejövő hívásokat.

Felhasználói felületi kódtár

Az ismert problémák wikilapja a GitHub-adattárakban követhető nyomon.