Översikt av SDK för samtal

Med Azure Communication Services kan slutanvändares webbläsare, appar och tjänster driva röst- och videokommunikation. Den här sidan fokuserar på anropande klient-SDK, som kan bäddas in på webbplatser och interna program. Den här sidan innehåller detaljerade beskrivningar av klientfunktioner för samtal, till exempel supportinformation för plattform och webbläsare. Tjänster hanterar och kommer åt samtal programmatiskt med hjälp av API:erna för samtalsautomatisering. Rooms API är ett valfritt Azure Communication Services-API som lägger till ytterligare funktioner i ett röst- eller videosamtal, till exempel roller och behörigheter.

Om du vill skapa en egen användarupplevelse med Calling SDK kan du titta på Snabbstarter för samtal eller Anropa hero.

Om du vill ha hjälp med slutanvändarupplevelsen tillhandahåller Azure Communication Services UI Library en samling produktionsklara gränssnittskomponenter med öppen källkod som kan tas bort i ditt program. Med den här uppsättningen fördefinierade kontroller kan du skapa snygga kommunikationsupplevelser med microsofts fluent-designspråk. Om du vill veta mer om användargränssnittsbiblioteket går du till översiktswebbplatsen.

När du har börjat utveckla kan du titta på sidan med kända problem för att hitta buggar som vi arbetar med.

SDK-länkar

Plattform Web (JavaScript) Windows (.NET) iOS Android Övrigt
Samtal npm NuGet GitHub Maven
UI-bibliotek npm - GitHub GitHub GitHub, Storybook

Huvudfunktioner    

  • Enhetshantering och Media – Calling SDK tillhandahåller funktioner för bindning till ljud- och videoenheter, kodar innehåll för effektiv överföring via kommunikationsdataplanen och återger innehåll till utdataenheter och vyer som du anger. API:er tillhandahålls också för skärm- och programdelning.
  • PSTN – Calling SDK kan initiera röstsamtal med det traditionella offentligt växlade telefonnätet med hjälp av telefonnummer som du skaffar i Azure Portal eller programmatiskt. Du kan också ta med egna nummer med hjälp av sessionsgränskontrollanter.
  • Teams möten och samtal – Den anropande SDK:n kan ansluta till Teams-möten och interagera med Teams röst- och videodataplan.
  • Kryptering – Anropande SDK krypterar trafik och förhindrar manipulering av kabeln.
  • Adressering – Azure Communication Services tillhandahåller allmänna identiteter som används för att hantera kommunikationsslutpunkter. Klienter använder dessa identiteter för att autentisera till tjänsten och kommunicera med varandra. Dessa identiteter används i ANROPANDE API:er som ger klienter insyn i vem som är ansluten till ett anrop (listan).
  • Säkerhet för användaråtkomst
    • Schemakontroll , schemakontroll och användarroller /behörigheter tillämpas via virtuella rum.
    • Möjligheten för en användare att initiera ett nytt anrop eller ansluta till ett befintligt anrop kan hanteras via användaridentiteter och token
  • Meddelanden – Anropande SDK tillhandahåller API:er som gör att klienter kan meddelas om ett inkommande samtal. I situationer där din app inte körs i förgrunden är mönster tillgängliga för att utlösa popup-meddelanden ("popup-fönster") för att informera slutanvändarna om ett inkommande samtal.
  • Mediestatistik – Calling SDK ger omfattande insikter om måtten för dina VoIP- och videosamtal. Med den här informationen har utvecklare en tydligare förståelse för samtalskvalitet och kan fatta välgrundade beslut för att ytterligare förbättra sin kommunikationsupplevelse.
  • Videobegränsningar – Calling SDK tillhandahåller API:er som kan reglera videokvaliteten bland andra parametrar under videosamtal genom att justera parametrar som upplösning och bildfrekvens som stöder olika samtalssituationer för olika nivåer av videokvalitet
  • Användarinriktad diagnostik (UFD) – Anropande SDK tillhandahåller händelser som är utformade för att ge insikter om underliggande problem som kan påverka samtalskvaliteten. Utvecklare kan prenumerera på utlösare som svaga nätverkssignaler eller dämpade mikrofoner, vilket säkerställer att de alltid är medvetna om faktorer som påverkar anropen.

Detaljerade funktioner

I följande lista visas den uppsättning funktioner som för närvarande är tillgängliga i Azure Communication Services Calling SDK:er.

Grupp med funktioner Kapacitet JS Windows Java (Android) Objective-C (iOS)
Kärnfunktioner Placera ett 1-till-ett-anrop mellan två användare ✔️ ✔️ ✔️ ✔️
Placera ett gruppsamtal med fler än två användare (upp till 100 användare) ✔️ ✔️ ✔️ ✔️
Höja upp ett 1-till-ett-samtal med två användare i ett gruppsamtal med fler än två användare ✔️ ✔️ ✔️ ✔️
Ansluta till ett gruppsamtal när det har startats ✔️ ✔️ ✔️ ✔️
Bjud in en annan VoIP-deltagare att delta i ett pågående gruppsamtal ✔️ ✔️ ✔️ ✔️
Kontroll av mittanrop Aktivera/inaktivera videon ✔️ ✔️ ✔️ ✔️
Stäng av/slå på mikrofonen ✔️ ✔️ ✔️ ✔️
Stäng av ljudet för andra deltagare ✔️ ✔️1 ✔️1 ✔️1
Växla mellan kameror ✔️ ✔️ ✔️ ✔️
Lokalt undantag/avspärrning ✔️ ✔️ ✔️ ✔️
Aktiv högtalare ✔️ ✔️ ✔️ ✔️
Välj talare för samtal ✔️ ✔️ ✔️ ✔️
Välj mikrofon för samtal ✔️ ✔️ ✔️ ✔️
Visa status för en deltagare
Idle, Early media, Connecting, Connected, On hold, In Lobby, Disconnected
✔️ ✔️ ✔️ ✔️
Visa tillståndet för ett anrop
Tidig media, inkommande, anslutning, ringning, ansluten, håll, koppla från, frånkopplad
✔️ ✔️ ✔️ ✔️
Visa om en deltagare är avstängd ✔️ ✔️ ✔️ ✔️
Visa orsaken till att en deltagare lämnade ett anrop ✔️ ✔️ ✔️ ✔️
Skärmdelning Dela hela skärmen inifrån programmet ✔️ ✔️2 ✔️2 ✔️2
Dela ett specifikt program (från listan över program som körs) ✔️ ✔️2
Dela en webbläsarflik från listan med öppna flikar ✔️
Dela systemljud under skärmdelning ✔️
Deltagare kan visa fjärrskärmsresurs ✔️ ✔️ ✔️ ✔️
Lista Visa en lista över deltagare ✔️ ✔️ ✔️ ✔️
Ta bort en deltagare ✔️ ✔️ ✔️ ✔️
PSTN Placera ett 1-till-1-samtal med en PSTN-deltagare ✔️ ✔️ ✔️ ✔️
Ringa ett gruppsamtal med PSTN-deltagare ✔️ ✔️ ✔️ ✔️
Höja upp ett 1-till-ett-samtal med en PSTN-deltagare i ett gruppsamtal ✔️ ✔️ ✔️ ✔️
Uppringning från ett gruppsamtal som PSTN-deltagare ✔️ ✔️ ✔️ ✔️
Stöd för tidiga medier ✔️ ✔️ ✔️ ✔️
Allmänt Testa mikrofonen, högtalaren och kameran med en ljudtestningstjänst (tillgänglig genom att ringa 8:echo123) ✔️ ✔️ ✔️ ✔️
Enhetshantering Be om behörighet att använda ljud och/eller video ✔️ ✔️ ✔️ ✔️
Hämta kameralista ✔️ ✔️ ✔️ ✔️
Ställ in kamera ✔️ ✔️ ✔️ ✔️
Hämta vald kamera ✔️ ✔️ ✔️ ✔️
Hämta mikrofonlista ✔️ ✔️ 3 3
Ställ in mikrofon ✔️ ✔️ 3 3
Hämta vald mikrofon ✔️ ✔️ 3 3
Hämta talarlista ✔️ ✔️ 3 3
Ange högtalare ✔️ ✔️ 3 3
Hämta vald talare ✔️ ✔️ 3 3
Videoåtergivning Rendera enstaka video på många platser (lokal kamera eller fjärrström) ✔️ ✔️ ✔️ ✔️
Ange/uppdatera skalningsläge ✔️ ✔️ ✔️ ✔️
Rendera fjärrvideoström ✔️ ✔️ ✔️ ✔️
Videoeffekter Bakgrundsoskärpa ✔️ ✔️ ✔️ ✔️
Anpassad bakgrundsbild ✔️ ✔️ ✔️ ✔️
Ljudeffekter Musikläge ✔️ ✔️ ✔️
Ekoreducering ✔️ ✔️ ✔️
Brusreducering ✔️ ✔️ ✔️ ✔️
Automatisk gain-kontroll (AGC) ✔️ ✔️ ✔️
Meddelanden 4 Push-aviseringar ✔️ ✔️ ✔️ ✔️
Anpassad kontext Lägga till användar-till-användare (UUI) eller anpassade rubriker i ett anrop ✔️

1 Funktionen för att stänga av andra är för närvarande i offentlig förhandsversion.

2 Funktionen Dela skärm kan uppnås med hjälp av RAW Media-API:er. Mer information finns i snabbstartsguiden för rå mediaåtkomst.

3 Calling SDK har inte något explicit API för dessa funktioner. Du bör använda API:erna för Android- och iOS-operativsystemet för att uppnå det i stället.

4 Det maximala värdet för TTL på interna plattformar är 180 dagar (15 552 000 sekunder) och minimivärdet är 5 minuter (300 sekunder).. För CTE (Custom Teams Endpoint)/M365 Identity är det maximala TTL-värdet 24 timmar (86 400 sekunder).

Stöd för JavaScript Calling SDK per operativsystem och webbläsare

Följande tabell representerar den uppsättning webbläsare som stöds, som för närvarande är tillgängliga. Vi stöder de senaste tre huvudversionerna av webbläsaren (de senaste tre delversionerna för Safari) om inget annat anges.

Plattform Chrome Safari Edge Firefox Webbvy Elektron
Android ✔️ ✔️ ✔️
iOS ✔️ ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️
Ubuntu/Linux ✔️
  • Utgående skärmdelning stöds inte i iOS- eller Android-mobila webbläsare.
  • Firefox-stöd finns i offentlig förhandsversion.
  • För närvarande stöder anropande SDK endast Android System WebView på Android, iOS WebView (WKWebView) i offentlig förhandsversion. Andra typer av inbäddade webbläsare eller WebView på andra operativsystemplattformar stöds inte officiellt, till exempel GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. Körning av JavaScript Calling SDK på dessa plattformar testas inte aktivt, det kanske eller kanske inte fungerar.
  • En iOS-app i Safari kan inte räkna upp/välja mikrofon- och talarenheter (till exempel Bluetooth). Det här problemet är en begränsning för iOS och operativsystemet styr standardalternativet för enheten.

Anropa klient – webbläsarsäkerhetsmodell

Använda WebRTC via HTTPS

WebRTC-API:er som getUserMedia kräver att appen som anropar dessa API:er hanteras via HTTPS. För lokal utveckling kan du använda http://localhost.

Bädda in Communication Services Calling SDK i en iframe

En ny behörighetsprincip (kallas även för en funktionsprincip) är tillgänglig i olika webbläsare. Den här principen påverkar samtalsscenarier genom att styra hur program kan komma åt en enhets kamera och mikrofon via ett korsande iframe-element.

Om du vill använda en iframe som värd för en del av appen från en annan domän måste du lägga till allow attributet med rätt värde i din iframe.

Till exempel tillåter den här iframe både kamera- och mikrofonåtkomst:

<iframe allow="camera *; microphone *">

Stöd för Android Calling SDK

  • Stöd för Android API-nivå 21 eller senare
  • Stöd för Java 7 eller senare
  • Stöd för Android Studio 2.0

Vi rekommenderar starkt att du identifierar och validerar ditt scenario genom att besöka androidplattformar som stöds

Stöd för iOS-samtals-SDK

  • Stöd för iOS 10.0+ vid byggtid och iOS 12.0+ vid körning
  • Xcode 12.0+
  • Stöd för iPadOS 13.0+

Maximal samtalsvaraktighet

Den maximala samtalsvaraktigheten är 30 timmar, deltagare som når den maximala samtalstiden på 30 timmar kopplas från samtalet.

Antal inkommande videoströmmar som stöds

Azure Communication Services Calling SDK stöder följande strömningskonfigurationer:

Gräns Webb Windows/Android/iOS
Maximalt antal utgående lokala strömmar som kan skickas samtidigt 1 video och 1 skärmdelning 1 video + 1 skärmdelning
Maximalt antal inkommande fjärrströmmar som kan renderas samtidigt 16 videor + 1 skärmdelning på skrivbordswebbläsare*, 4 videor + 1 skärmdelning på mobila webbläsare 9 videor + 1 skärmdelning

* Från och med Azure Communication Services Web Calling SDK version 1.16.3 Även om anropande SDK inte tillämpar dessa gränser kan användarna uppleva prestandaförsämring om de överskrids. Använd API :et optimalt antal video för att avgöra hur många aktuella inkommande videoströmmar som din webbmiljö kan stödja. För att korrekt stödja 16 inkommande videor datorn bör ha en mimimum på 16 GB RAM och en 4-kärnor eller större CPU som inte är äldre än 3 år gammal

Videoupplösningar som stöds

Azure Communication Services Calling SDK justerar automatiskt upplösningar för video- och skärmdelningsströmmar under samtalet.

Kommentar

Lösningen kan variera beroende på antalet deltagare i ett anrop, mängden bandbredd som är tillgänglig för klienten, maskinvarufunktioner för lokala deltagare som återger fjärrvideo-streans och andra övergripande anropsparametrar.

Azure Communication Services Calling SDK stöder sändning av följande videoupplösningar

Maximal videoupplösning WebJS iOS Android Fönster
Skicka video 720P 720P 720P 1080P
Skicka skärmresurs 1080P 1080P 1080P 1080P
Ta emot en fjärrvideoström eller skärmresurs 1080P 1080P 1080P 1080P

Antal deltagare i ett samtalsstöd

  • Upp till 350 användare kan ansluta till ett gruppsamtal, Rum eller Teams + ACS-samtal.
  • När samtalsstorleken når 100+ deltagare i ett samtal kan endast de 4 mest dominerande talarna som har sin videokamera vänd ses.
  • När antalet personer i samtalet är 100+ minskar det visningsbara antalet inkommande videor automatiskt från 4x4 (16 inkommande videor) ned till 2x2 (4 inkommande videor).
  • När antalet användare understiger 100 går antalet inkommande videor som stöds tillbaka upp till 4 x 4 (16 inkommande videor).

Anropa SDK-timeouter

Följande tidsgränser gäller för SDK:er för kommunikationstjänster som anropar:

Åtgärd Timeout i sekunder
Återansluta/ta bort deltagare 60
Lägga till eller ta bort ny modalitet från ett anrop (Starta/stoppa video- eller skärmdelning) 40
Tidsgräns för samtalsöverföringsåtgärd 60
1:1 Tidsgräns för samtalsetablissemang 85
Tidsgräns för gruppsamtalsetablering 85
Tidsgräns för PSTN-samtalsetableringsetablering 115
Flytta upp 1:1-samtal till en timeout för gruppsamtal 115

Nästa steg

Mer information finns i följande artiklar: