Overzicht van de aanroep-SDK
Met Azure Communication Services kunnen browsers, apps en services van eindgebruikers spraak- en videocommunicatie stimuleren. Deze pagina is gericht op het aanroepen van client-SDK, die kan worden ingesloten in websites en systeemeigen toepassingen. Deze pagina bevat gedetailleerde beschrijvingen van belclientfuncties, zoals platform- en browserondersteuningsinformatie. Services beheren en openen van aanroepen via programmacode met behulp van de Call Automation-API's. De Rooms-API is een optionele Azure Communication Services-API die extra functies toevoegt aan een spraak- of videogesprek, zoals rollen en machtigingen.
Als u uw eigen gebruikerservaring wilt bouwen met de Calling SDK, bekijkt u de quickstarts of het voorbeeld van een aanroepende hero.
Als u hulp nodig hebt bij de eindgebruikerservaring, biedt de Ui-bibliotheek van Azure Communication Services een verzameling opensource-ui-onderdelen die gereed zijn voor productie in uw toepassing. Met deze set vooraf samengestelde besturingselementen kunt u prachtige communicatie-ervaringen maken met behulp van de Fluent-ontwerptaal van Microsoft. Als u meer wilt weten over de UI-bibliotheek, gaat u naar de overzichtssite.
Zodra u begint met ontwikkelen, bekijkt u de pagina bekende problemen om fouten te vinden waaraan we werken.
SDK-koppelingen
Platform | Web (JavaScript) | Windows (.NET) | iOS | Android | Overige |
---|---|---|---|---|---|
Bellen | npm | NuGet | GitHub | Maven | |
UI-bibliotheek | npm | - | GitHub | GitHub | GitHub, Storybook |
Belangrijke functies
- Apparaatbeheer en Media: de Calling SDK biedt faciliteiten voor binding met audio- en videoapparaten, codeert inhoud voor efficiënte overdracht via het communicatiegegevensvlak en geeft inhoud weer voor uitvoerapparaten en weergaven die u opgeeft. API's zijn ook beschikbaar voor het delen van schermen en toepassingen.
- PSTN : de Calling SDK kan spraakoproepen initiëren met het traditionele, openbaar geschakelde telefoonnetwerk, met behulp van telefoonnummers die u in Azure Portal aanschaft of programmatisch. U kunt ook uw eigen nummers meenemen met behulp van sessierandcontrollers.
- Teams-vergaderingen en -gesprekken : de Bel-SDK kan deelnemen aan Teams-vergaderingen en communiceren met het teams-gegevensvlak voor spraak en video.
- Versleuteling : de Calling SDK versleutelt verkeer en voorkomt manipulatie op de kabel.
- Adressering : Azure Communication Services biedt algemene identiteiten die worden gebruikt om communicatie-eindpunten aan te pakken. Clients gebruiken deze identiteiten om te verifiëren bij de service en met elkaar te communiceren. Deze identiteiten worden gebruikt in aanroepende API's die clients inzicht geven in wie is verbonden met een aanroep (het rooster).
- Beveiliging van gebruikerstoegang
- Roosterbeheer, planningsbeheer en gebruikersrollen/machtigingen worden afgedwongen via virtuele ruimten.
- De mogelijkheid voor een gebruiker om een nieuwe aanroep te initiëren of om lid te worden van een bestaande aanroep kan worden beheerd via gebruikersidentiteiten en tokens
- Meldingen : de Calling SDK biedt API's waarmee clients op de hoogte kunnen worden gesteld van een binnenkomende oproep. In situaties waarin uw app niet op de voorgrond wordt uitgevoerd, zijn patronen beschikbaar om pop-upmeldingen ('pop-upmeldingen ') te activeren om eindgebruikers te informeren over een inkomende oproep.
- Media Stats : de Calling SDK biedt uitgebreide inzichten in de metrische gegevens van uw VoIP- en videogesprekken. Met deze informatie hebben ontwikkelaars een duidelijker begrip van de gesprekskwaliteit en kunnen ze weloverwogen beslissingen nemen om hun communicatie-ervaring verder te verbeteren.
- Videobeperkingen - De Calling SDK biedt API's die de mogelijkheid krijgen om de videokwaliteit te reguleren onder andere parameters tijdens videogesprekken door parameters zoals resolutie en framesnelheid aan te passen die verschillende oproepsituaties ondersteunen voor verschillende niveaus van videokwaliteit
- User Facing Diagnostics (UFD): de Calling SDK biedt gebeurtenissen die zijn ontworpen om inzicht te krijgen in onderliggende problemen die van invloed kunnen zijn op de gesprekskwaliteit. Ontwikkelaars kunnen zich abonneren op triggers zoals zwakke netwerksignalen of gedempte microfoons, zodat ze altijd op de hoogte zijn van alle factoren die van invloed zijn op de aanroepen.
Gedetailleerde mogelijkheden
De volgende lijst bevat de set functies die momenteel beschikbaar zijn in de Aanroepende SDK's van Azure Communication Services.
Groep van functies | Mogelijkheid | JS | Windows | Java (Android) | Objective-C (iOS) |
---|---|---|---|---|---|
Belangrijkste mogelijkheden | Een een-op-een-oproep tussen twee gebruikers plaatsen | ✔️ | ✔️ | ✔️ | ✔️ |
Een groepsgesprek plaatsen met meer dan twee gebruikers (maximaal 100 gebruikers) | ✔️ | ✔️ | ✔️ | ✔️ | |
Een een-op-een-oproep promoten met twee gebruikers in een groepsaanroep met meer dan twee gebruikers | ✔️ | ✔️ | ✔️ | ✔️ | |
Een groepsoproep toevoegen nadat deze is gestart | ✔️ | ✔️ | ✔️ | ✔️ | |
Een andere VoIP-deelnemer uitnodigen om deel te nemen aan een actieve groepsoproep | ✔️ | ✔️ | ✔️ | ✔️ | |
Midden gespreksbeheer | Video in- of uitschakelen | ✔️ | ✔️ | ✔️ | ✔️ |
Microfoon dempen/dempen opheffen | ✔️ | ✔️ | ✔️ | ✔️ | |
Andere deelnemers dempen | ✔️ | ✔️1 | ✔️1 | ✔️1 | |
Schakelen tussen camera's | ✔️ | ✔️ | ✔️ | ✔️ | |
Lokaal vasthouden/opheffen | ✔️ | ✔️ | ✔️ | ✔️ | |
Actieve luidspreker | ✔️ | ✔️ | ✔️ | ✔️ | |
Een spreker kiezen voor aanroepen | ✔️ | ✔️ | ✔️ | ✔️ | |
Microfoon kiezen voor aanroepen | ✔️ | ✔️ | ✔️ | ✔️ | |
Status van een deelnemer weergeven Niet-actief, vroege media, verbinding maken, verbonden, in de wacht, in lobby, verbroken |
✔️ | ✔️ | ✔️ | ✔️ | |
Status van een aanroep weergeven Vroege media, binnenkomend, verbinden, rinkelen, verbonden, in de wacht, verbinding verbreken, verbroken |
✔️ | ✔️ | ✔️ | ✔️ | |
Weergeven als een deelnemer is gedempt | ✔️ | ✔️ | ✔️ | ✔️ | |
De reden weergeven waarom een deelnemer een gesprek heeft verlaten | ✔️ | ✔️ | ✔️ | ✔️ | |
Scherm delen | Het volledige scherm delen vanuit de toepassing | ✔️ | ✔️Arabisch cijfer | ✔️Arabisch cijfer | ✔️Arabisch cijfer |
Een specifieke toepassing delen (in de lijst met actieve toepassingen) | ✔️ | ✔️Arabisch cijfer | ❌ | ❌ | |
Een tabblad van webbrowser delen vanuit de lijst met geopende tabbladen | ✔️ | ||||
Systeemaudio delen tijdens het delen van het scherm | ✔️ | ❌ | ❌ | ❌ | |
Deelnemer kan externe schermdeling weergeven | ✔️ | ✔️ | ✔️ | ✔️ | |
Rooster | Deelnemers weergeven | ✔️ | ✔️ | ✔️ | ✔️ |
Een deelnemer verwijderen | ✔️ | ✔️ | ✔️ | ✔️ | |
PSTN | Een een-op-een-aanroep met een PSTN-deelnemer plaatsen | ✔️ | ✔️ | ✔️ | ✔️ |
Een groepsaanroep met PSTN-deelnemers plaatsen | ✔️ | ✔️ | ✔️ | ✔️ | |
Een een-op-een-aanroep promoten met een PSTN-deelnemer in een groepsaanroep | ✔️ | ✔️ | ✔️ | ✔️ | |
Inbellen vanuit een groepsaanroep als een PSTN-deelnemer | ✔️ | ✔️ | ✔️ | ✔️ | |
Ondersteuning voor vroege media | ✔️ | ✔️ | ✔️ | ✔️ | |
Algemeen | Uw microfoon, spreker en camera testen met een service voor audio testen (beschikbaar door het aanroepen van 8:echo123) | ✔️ | ✔️ | ✔️ | ✔️ |
Apparaatbeheer | Vragen om toestemming om audio en/of video te gebruiken | ✔️ | ✔️ | ✔️ | ✔️ |
Cameralijst ophalen | ✔️ | ✔️ | ✔️ | ✔️ | |
Camera instellen | ✔️ | ✔️ | ✔️ | ✔️ | |
Geselecteerde camera ophalen | ✔️ | ✔️ | ✔️ | ✔️ | |
Microfoonlijst ophalen | ✔️ | ✔️ | ❌3 | ❌3 | |
Microfoon instellen | ✔️ | ✔️ | ❌3 | ❌3 | |
Geselecteerde microfoon ophalen | ✔️ | ✔️ | ❌3 | ❌3 | |
Lijst met sprekers ophalen | ✔️ | ✔️ | ❌3 | ❌3 | |
Luidspreker instellen | ✔️ | ✔️ | ❌3 | ❌3 | |
Geselecteerde spreker ophalen | ✔️ | ✔️ | ❌3 | ❌3 | |
Videorendering | Eén video weergeven op veel plaatsen (lokale camera of externe stream) | ✔️ | ✔️ | ✔️ | ✔️ |
Schaalmodus instellen/bijwerken | ✔️ | ✔️ | ✔️ | ✔️ | |
Externe videostream weergeven | ✔️ | ✔️ | ✔️ | ✔️ | |
Video-effecten | Achtergrond vervagen | ✔️ | ✔️ | ✔️ | ✔️ |
Aangepaste achtergrondafbeelding | ✔️ | ✔️ | ✔️ | ✔️ | |
Audio-effecten | Muziekmodus | ❌ | ✔️ | ✔️ | ✔️ |
Echoannulering | ❌ | ✔️ | ✔️ | ✔️ | |
Ruisonderdrukking | ✔️ | ✔️ | ✔️ | ✔️ | |
AGC (Automatic Gain Control) | ❌ | ✔️ | ✔️ | ✔️ | |
Meldingen 4 | Pushmeldingen | ✔️ | ✔️ | ✔️ | ✔️ |
Aangepaste context | UUI (User-to-User) of aangepaste headers toevoegen aan een aanroep | ✔️ | ❌ | ❌ | ❌ |
1 De mogelijkheid om anderen te dempen is momenteel beschikbaar als openbare preview.
2 De mogelijkheid voor het delen van het scherm kan worden bereikt met raw media-API's. Ga voor meer informatie naar de snelstartgids voor onbewerkte mediatoegang.
3 De Aanroepende SDK heeft geen expliciete API voor deze functies. Gebruik in plaats daarvan de Api's van het Android- en iOS-besturingssysteem om te bereiken.
4 De maximumwaarde voor TTL in systeemeigen platforms is 180 dagen (15.552.000 seconden) en de minimale waarde is 5 minuten (300 seconden). Voor CTE (Custom Teams Endpoint)/M365 Identity is de maximale TTL-waarde 24 uur (86.400 seconden).
JavaScript Calling SDK-ondersteuning per besturingssysteem en browser
De volgende tabel vertegenwoordigt de set ondersteunde browsers, die momenteel beschikbaar zijn. We ondersteunen de meest recente drie primaire versies van de browser (meest recente drie secundaire versies voor Safari), tenzij anders aangegeven.
Platform | Chrome | Safari | Edge | Firefox | Webweergave | Electron |
---|---|---|---|---|---|---|
Android | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
iOS | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Windows | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
Ubuntu/Linux | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
- Uitgaand scherm delen wordt niet ondersteund in mobiele iOS- of Android-browsers.
- Firefox-ondersteuning bevindt zich in openbare preview.
- Momenteel ondersteunt de aanroepende SDK alleen Android System WebView op Android, iOS WebView (WKWebView) in openbare preview. Andere typen ingesloten browsers of WebView op andere besturingssysteemplatforms worden niet officieel ondersteund, bijvoorbeeld GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. Het uitvoeren van de JavaScript Calling SDK op deze platforms wordt niet actief getest. Het werkt mogelijk of niet.
- Een iOS-app in Safari kan geen microfoon- en luidsprekerapparaten opsommen/selecteren (bijvoorbeeld Bluetooth). Dit probleem is een beperking van iOS en het besturingssysteem bepaalt standaardapparaatselectie.
Aanroepende client - beveiligingsmodel voor browsers
WebRTC via HTTPS gebruiken
WebRTC-API's zoals getUserMedia
vereisen dat de app die deze API's aanroept, geleverd wordt via HTTPS. Voor lokale ontwikkeling kunt u http://localhost
gebruiken.
De aanroepende SDK voor communicatieservices insluiten in een iframe
Er is een nieuw machtigingsbeleid (ook wel een functiebeleid genoemd) beschikbaar in verschillende browsers. Dit beleid is van invloed op het aanroepen van scenario's door te bepalen hoe toepassingen toegang hebben tot de camera en microfoon van een apparaat via een cross-origin iframe-element.
Als u een iframe wilt gebruiken om een deel van de app te hosten vanuit een ander domein, moet u het allow
-kenmerk met de juiste waarde toevoegen aan uw iframe.
Met deze iframe kunt u bijvoorbeeld toegang tot de camera en microfoon toestaan:
<iframe allow="camera *; microphone *">
Android Calling SDK-ondersteuning
- Ondersteuning voor Android-API-niveau 21 of hoger
- Ondersteuning voor Java 7 of hoger
- Ondersteuning voor Android Studio 2.0
We raden u ten zeerste aan uw scenario te identificeren en te valideren door naar de ondersteunde Android-platforms te gaan
Ondersteuning voor aanroepende SDK voor iOS
- Ondersteuning voor iOS 10.0+ tijdens de build en iOS 12.0+ tijdens runtime
- Xcode 12.0+
- Ondersteuning voor iPadOS 13.0+
Maximale gespreksduur
De maximale gespreksduur is 30 uur, deelnemers die de maximale duur van de oproepduur van 30 uur bereiken, worden losgekoppeld van het gesprek.
Ondersteund aantal binnenkomende videostreams
De Azure Communication Services Calling SDK ondersteunt de volgende streamingconfiguraties:
Grenswaarde | Web | Windows/Android/iOS |
---|---|---|
Maximum aantal uitgaande lokale streams dat tegelijkertijd kan worden verzonden | 1 video en 1 scherm delen | 1 video + 1 scherm delen |
Maximum aantal binnenkomende externe streams dat tegelijkertijd kan worden weergegeven | 16 video's + 1 scherm delen op desktopbrowsers*, 4 video's + 1 scherm delen in mobiele webbrowsers | 9 video's + 1 scherm delen |
* Vanaf Azure Communication Services Web Calling SDK versie 1.16.3 Terwijl de Calling SDK deze limieten niet afdwingt, kunnen uw gebruikers prestatievermindering ervaren als ze worden overschreden. Gebruik de API van Optimaal aantal video's om te bepalen hoeveel huidige binnenkomende videostreams uw webomgeving kan ondersteunen. Voor een juiste ondersteuning van 16 binnenkomende video's moet de computer minimaal 16 GB RAM en een 4-core of hoger CPU hebben die niet ouder is dan 3 jaar
Ondersteunde videoresoluties
De Azure Communication Services Calling SDK past tijdens het gesprek automatisch oplossingen aan van video- en schermsharestreams.
Notitie
De resolutie kan variëren, afhankelijk van het aantal deelnemers aan een gesprek, de hoeveelheid bandbreedte die beschikbaar is voor de client, hardwaremogelijkheden van lokale deelnemers die externe videostreams en andere algemene gespreksparameters weergeven.
De Azure Communication Services Calling SDK biedt ondersteuning voor het verzenden van de volgende videoresoluties
Maximale videoresolutie | WebJS | iOS | Android | Windows |
---|---|---|---|---|
Video verzenden | 720P | 720P | 720P | 1080P |
Schermshare verzenden | 1080P | 1080P | 1080P | 1080P |
Een externe videostream of schermshare ontvangen | 1080P | 1080P | 1080P | 1080P |
Aantal deelnemers aan een telefonische ondersteuning
- Maximaal 350 gebruikers kunnen deelnemen aan een groepsgesprek, ruimte of Teams + ACS-oproep.
- Zodra de gespreksgrootte 100+ deelnemers in een gesprek bereikt, kunnen alleen de top 4 meest dominante sprekers met hun videocamera worden gezien.
- Wanneer het aantal personen in de oproep 100+ is, wordt het zichtbare aantal binnenkomende video's automatisch verlaagd van 4x4 (16 inkomende video's) tot 2x2 (4 inkomende video's).
- Wanneer het aantal gebruikers lager is dan 100, wordt het aantal ondersteunde binnenkomende video's maximaal 4x4 (16 binnenkomende video's) geretourneerd.
Time-outs voor aanroepen van SDK
De volgende time-outs zijn van toepassing op de Communication Services Calling SDK's:
Actie | Time-out in seconden |
---|---|
Deelnemer opnieuw verbinden/verwijderen | 60 |
Nieuwe modaliteit toevoegen aan of verwijderen uit een gesprek (video starten/stoppen of scherm delen) | 40 |
Time-out voor oproepoverdracht | 60 |
Time-out voor 1:1 oproepinrichting | 85 |
Time-out voor het instellen van groepsoproepen | 85 |
Time-out voor het instellen van PSTN-oproepen | 115 |
1:1-oproep verhogen naar een time-out voor groepsgesprekken | 115 |
Volgende stappen
Raadpleeg voor meer informatie de volgende artikelen:
- Lees meer over algemene oproepstromen
- Meer informatie over aanroeptypen
- Meer informatie over aanroepautomatiserings-API waarmee u op servers gebaseerde aanroepende werkstromen kunt bouwen die aanroepen kunnen routeren en beheren met clienttoepassingen.
- Uw PSTN-oplossing plannen