Übersicht über das Calling SDK

Mit Azure Communication Services können Endbenutzerbrowser, Anwendungen und Dienste die Sprach- und Videokommunikation steuern. Diese Seite konzentriert sich auf das Aufrufen des Client-SDK, das in Websites und systemeigene Anwendungen eingebettet werden kann. Auf dieser Seite finden Sie ausführliche Beschreibungen der Client-Anruffunktionen, z. B. Informationen zur Plattform- und Browserunterstützung. Dienste verwalten Anrufe programmatisch und greifen darauf zu, indem sie die Anrufautomatisierungs-APIs verwenden. Die Räume-API ist eine optionale Azure Communication Services-API, die einem Sprach- oder Videoanruf zusätzliche Funktionen hinzufügt, z. B. Rollen und Berechtigungen.

Wenn Sie ihre eigene Benutzererfahrung mit dem Anruf-SDK erstellen möchten, schauen Sie sich Anrufschnellstarts oder Anruf-Hero-Beispiel an.

Wenn Sie Hilfe bei der Endbenutzererfahrung benötigen, bietet die Azure Communication Services UI-Bibliothek eine Sammlung von produktionsfertigen Open-Source-UI-Komponenten, die Sie in Ihre Anwendung einfügen können. Mit dieser Reihe vordefinierter Steuerelemente können Sie mithilfe der Fluent-Entwurfssprache von Microsoft ansprechende Kommunikationserfahrungen erstellen. Wenn Sie mehr über die UI-Bibliothek erfahren möchten, besuchen Sie die Übersichtswebsite.

Sobald Sie mit der Entwicklung beginnen, können Sie auf der Seite mit den bekannten Problemen nach Fehlern suchen, an denen wir arbeiten.

SDK-Links

Plattform Web (JavaScript) Windows (.NET) iOS Android Andere
Aufrufen npm NuGet GitHub Maven
UI-Bibliothek npm - GitHub GitHub GitHub, Storybook

Schlüsselfunktionen

  • Geräteverwaltung und Medien: Das Calling SDK ermöglicht die Bindung an Audio- und Videogeräte, codiert Inhalte für eine effiziente Übertragung über die Kommunikationsdatenebene und rendert Inhalte für von Ihnen angegebene Ausgabegeräte und Ansichten. Darüber hinaus stehen APIs für die Bildschirm- und Anwendungsfreigabe zur Verfügung.
  • Telefonfestnetz: Das Calling SDK kann Sprachanrufe über das herkömmliche Telefonfestnetz empfangen und tätigen – entweder unter Verwendung von Telefonnummern, die über das Azure-Portal beschafft wurden, oder programmgesteuert. Sie können auch eigene Nummern mit Session Border Controllern mitbringen.
  • Teams Meetings und Calling – Das Calling SDK kann an Teams Meetings teilnehmen und mit der Sprach- und Videodatenebene von Teams interagieren.
  • Verschlüsselung: Datenverkehr wird durch das Calling SDK verschlüsselt, um Manipulationen bei der Übertragung zu verhindern.
  • Adressierung: Azure Communication Services bietet generische Identitäten zur Adressierung von Kommunikationsendpunkten. Clients nutzen diese Identitäten, um sich bei dem Dienst zu authentifizieren und miteinander zu kommunizieren. Diese Identitäten werden in Anruf-APIs verwendet, mit denen Clients die Anrufteilnehmer*innen (die Teilnehmerliste) ermitteln können.
  • Sicherheit für den Benutzerzugriff
  • Benachrichtigungen: Das Calling SDK stellt APIs bereit, die es ermöglichen, Clients über einen eingehenden Anruf zu informieren. In Situationen, in denen Ihre Anwendung nicht im Vordergrund läuft, stehen Muster zur Verfügung, um Popupbenachrichtigungen („Toasts“) auszulösen, die den Endbenutzer über einen eingehenden Anruf informieren.
  • Medienstatistiken – Das Calling SDK bietet umfassende Einblicke in die Metriken Ihrer VoIP- und Videoanrufe. Mit diesen Informationen verfügen Entwickler über ein klareres Verständnis der Anrufqualität und können fundierte Entscheidungen treffen, um ihre Kommunikationserfahrung weiter zu verbessern.
  • Videoeinschränkungen – Das Calling SDK bietet APIs, mit denen Sie die Videoqualität und andere Parameter während eines Videoanrufs regulieren können, indem Sie Parameter wie Auflösung und Bildfrequenz anpassen und so verschiedene Anrufsituationen für unterschiedliche Videoqualitätsebenen unterstützen
  • Benutzerorientierte Diagnose (User Facing Diagnostics, UFD) – Das Calling SDK stellt Ereignisse bereit, die darauf ausgelegt sind, Einblicke in zugrundeliegende Probleme zu liefern, die sich auf die Anrufqualität auswirken können. Entwickler können Auslöser wie schwache Netzsignale oder stumm geschaltete Mikrofone abonnieren und so sicherstellen, dass sie immer über alle Faktoren informiert sind, welche die Anrufe beeinflussen.

Detaillierte Funktionen

Die folgende Liste enthält die Features, die aktuell in den Azure Communication Services Calling-SDKs verfügbar sind.

Featuregruppe Funktion JS Windows Java (Android) Objective-C (iOS)
Grundlegende Funktionen Tätigen eines 1:1-Anrufs zwischen zwei Benutzern ✔️ ✔️ ✔️ ✔️
Tätigen Sie einen Gruppenanruf mit mehr als zwei Benutzern (bis zu 100 Benutzer) ✔️ ✔️ ✔️ ✔️
Höherstufen eines 1:1-Anrufs mit zwei Benutzern zu einem Gruppenanruf mit mehr als zwei Benutzern ✔️ ✔️ ✔️ ✔️
Beitreten zu einem bereits gestarteten Gruppenanruf ✔️ ✔️ ✔️ ✔️
Einladen eines weiteren VoIP-Teilnehmers zu einem laufenden Gruppenanruf ✔️ ✔️ ✔️ ✔️
Steuerung während des Anrufs Aktivieren/Deaktivieren Ihres Videos ✔️ ✔️ ✔️ ✔️
Stummschalten des Mikrofons/Aufheben der Stummschaltung ✔️ ✔️ ✔️ ✔️
Andere Teilnehmer stummschalten ✔️ ✔️1 ✔️1 ✔️1
Wechseln zwischen Kameras ✔️ ✔️ ✔️ ✔️
Lokales Halten/Aufheben des Haltens ✔️ ✔️ ✔️ ✔️
Aktiver Lautsprecher ✔️ ✔️ ✔️ ✔️
Auswählen des Lautsprechers für Anrufe ✔️ ✔️ ✔️ ✔️
Auswählen des Mikrofons für Anrufe ✔️ ✔️ ✔️ ✔️
Anzeigen des Status eines Teilnehmers
Beschäftigt, Early Media, Verbindungsaufbau, Verbunden, Gehalten, Im Wartebereich, Getrennt
✔️ ✔️ ✔️ ✔️
Anzeigen des Zustands eines Anrufs
Early Media, Eingehend, Verbindungsaufbau, Klingeln, Verbunden, Halten, Trennung, Getrennt
✔️ ✔️ ✔️ ✔️
Anzeigen, ob ein Teilnehmer stummgeschaltet ist ✔️ ✔️ ✔️ ✔️
Anzeigen des Grunds, warum ein Teilnehmer einen Anruf verlassen hat ✔️ ✔️ ✔️ ✔️
Bildschirmfreigabe Freigeben des gesamten Bildschirms innerhalb der Anwendung ✔️ ✔️2 ✔️2 ✔️2
Freigeben einer bestimmten Anwendung (aus der Liste aktiver Anwendungen) ✔️ ✔️2
Freigeben eines Webbrowsertabs aus der Liste geöffneter Tabs ✔️
Freigeben von Systemaudio während der Bildschirmfreigabe ✔️
Anzeigen von Remotebildschirmfreigabe durch Teilnehmer ✔️ ✔️ ✔️ ✔️
Liste Auflisten von Teilnehmern ✔️ ✔️ ✔️ ✔️
Entfernen eines Teilnehmers ✔️ ✔️ ✔️ ✔️
PSTN Tätigen eines 1:1-Anrufs mit einem PSTN-Teilnehmer ✔️ ✔️ ✔️ ✔️
Tätigen eines Gruppenanrufs mit PSTN-Teilnehmern ✔️ ✔️ ✔️ ✔️
Höherstufen eines 1:1-Anrufs mit einem PSTN-Teilnehmer zu einem Gruppenanruf ✔️ ✔️ ✔️ ✔️
Verlassen eines Gruppenanrufs als PSTN-Teilnehmer ✔️ ✔️ ✔️ ✔️
Unterstützung für frühe Medien ✔️ ✔️ ✔️ ✔️
Allgemein Testen von Mikrofon, Lautsprecher und Kamera mit einem Audiotestdienst (verfügbar durch Anrufen von 8:echo123) ✔️ ✔️ ✔️ ✔️
-Geräteverwaltung Bitten um Berechtigung zur Verwendung von Audio- und/oder Videofunktionen ✔️ ✔️ ✔️ ✔️
Abrufen einer Kameraliste ✔️ ✔️ ✔️ ✔️
Festlegen der Kamera ✔️ ✔️ ✔️ ✔️
Abrufen der ausgewählten Kamera ✔️ ✔️ ✔️ ✔️
Abrufen der Mikrofonliste ✔️ ✔️ 3 3
Festlegen des Mikrofons ✔️ ✔️ 3 3
Abrufen des ausgewählten Mikrofons ✔️ ✔️ 3 3
Abrufen der Lautsprecherliste ✔️ ✔️ 3 3
Festlegen des Lautsprechers ✔️ ✔️ 3 3
Abrufen des ausgewählten Lautsprechers ✔️ ✔️ 3 3
Videorendering Rendern eines Videos an mehreren Orten (lokale Kamera oder Remotedatenstrom) ✔️ ✔️ ✔️ ✔️
Festlegen/Aktualisieren des Skalierungsmodus ✔️ ✔️ ✔️ ✔️
Rendern des Remote-Videodatenstroms ✔️ ✔️ ✔️ ✔️
Videoeffekte Verschwommener Hintergrund ✔️ ✔️ ✔️ ✔️
Benutzerdefiniertes Hintergrundbild ✔️ ✔️ ✔️ ✔️
Audioeffekte Music Mode ✔️ ✔️ ✔️
Echounterdrückung ✔️ ✔️ ✔️
Rauschunterdrückung ✔️ ✔️ ✔️ ✔️
Automatische Verstärkungssteuerung (AGC) ✔️ ✔️ ✔️
Benachrichtigungen 4 Pushbenachrichtigungen ✔️ ✔️ ✔️ ✔️
Benutzerdefinierter Kontext Hinzufügen von Benutzer-zu-Benutzer-Headern (UUI) oder benutzerdefinierten Headern zu einem Anruf ✔️

1 Die Funktion zum Stummschalten anderer Personen befindet sich derzeit in der öffentlichen Vorschau.

2 Die Freigabebildschirmfunktion kann mithilfe von Raw Media-APIs erreicht werden. Weitere Informationen finden Sie im Schnellstartleitfaden für den Rohmedienzugriff.

3 Das Calling SDK verfügt nicht über eine explizite API für diese Funktionen, Sie sollten stattdessen die Android- und iOS-Betriebssystem-APIs verwenden, um dies zu erreichen.

4 Der maximale TTL-Wert in nativen Plattformen beträgt 180 Tage (15.552.000 Sekunden), und der Mindestwert ist 5 Minuten (300 Sekunden). Für CTE (Custom Teams Endpoint)/M365 Identity beträgt der maximale TTL-Wert 24 Stunden (86.400 Sekunden).

JavaScript Calling SDK: Unterstützung nach Betriebssystem und Browser

Die folgende Tabelle enthält die unterstützten Browser, die derzeit verfügbar sind. Wir unterstützen die neuesten drei Hauptversionen des Browsers (zuletzt drei Nebenversionen für Safari), sofern nicht anders angegeben.

Plattform Chrome Safari Edge Firefox WebView Electron
Android ✔️ ✔️ ✔️
iOS ✔️ ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️
Ubuntu/Linux ✔️
  • Die ausgehende Bildschirmfreigabe wird in mobilen iOS- oder Android-Browsern nicht unterstützt.
  • Firefox-Unterstützung befindet sich in der öffentlichen Vorschauphase.
  • Derzeit unterstützt das aufrufende SDK nur Android System WebView unter Android, iOS WebView(WKWebView) in der öffentlichen Vorschau. Andere Arten von eingebetteten Browsern oder WebView auf anderen Betriebssystemplattformen werden offiziell nicht unterstützt, z. B. GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. Die Ausführung von JavaScript Calling SDK auf diesen Plattformen wird nicht aktiv getestet, es könnte also funktionieren oder auch nicht.
  • Eine iOS-Anwendung auf Safari kann Mikrofon- und Lautsprechergeräte nicht aufzählen/auswählen (z. B. Bluetooth). Dieses Problem ist eine Einschränkung von iOS und das Betriebssystem steuert die Standardgeräteauswahl.

Anrufclient: Browsersicherheitsmodell

Verwenden Sie WebRTC über HTTPS

WebRTC-APIs wie getUserMedia setzen voraus, dass die App, von der diese APIs aufgerufen werden, über HTTPS bedient wird. Für die lokale Entwicklung können Sie http://localhost verwenden.

Einbetten des Anruf-SDK für Communication Services in ein iframe-Element

Eine neue Berechtigungsrichtlinie (auch Feature-Richtlinie genannt) ist in verschiedenen Browsern verfügbar. Durch diese Richtlinie wird über ein ursprungsübergreifendes iframe-Element gesteuert, wie Anwendungen auf die Kamera und das Mikrofon eines Geräts zugreifen können, was Auswirkungen auf Anrufszenarien hat.

Wenn Sie ein iframe-Element verwenden möchten, um einen Teil der App über eine andere Domäne zu hosten, müssen Sie Ihrem iframe-Element das Attribut allow mit dem korrekten Wert hinzufügen.

Durch das folgende iframe-Element wird beispielsweise sowohl Kamera- als auch Mikrofonzugriff gewährt:

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

Android Calling SDK-Unterstützung

  • Unterstützung für Android-API Level 21 oder höher
  • Unterstützung für Java 7 oder höher
  • Unterstützung für Android Studio 2.0

Wir empfehlen dringend, Ihr Szenario zu bestimmen und zu validieren, indem Sie die unterstützten Android-Plattformen überprüfen.

iOS Calling SDK-Unterstützung

  • Unterstützung für iOS 10.0 und höher zur Erstellungszeit und iOS 12.0 und höher zur Laufzeit
  • Xcode 12.0 oder höher
  • Unterstützung für iPadOS 13.0+

Maximale Anrufdauer

Die maximale Anrufdauer beträgt 30 Stunden, Teilnehmer, welche die maximale Dauer der Anrufdauer von 30 Stunden erreichen, werden vom Anruf getrennt.

Unterstützte Anzahl eingehender Videostreams

Das Calling SDK von Azure Communication Services unterstützt die folgenden Streamingkonfigurationen:

Begrenzung Web Windows/Android/iOS
Maximale Anzahl der ausgehenden Datenströme, die gleichzeitig gesendet werden können 1 Video- und 1 Bildschirmfreigabe 1 Video- und 1 Bildschirmfreigabe
Maximale Anzahl der eingehenden Remotedatenströme, die gleichzeitig gerendert werden können 16 Videos + 1 Bildschirmfreigabe auf Desktopbrowsern*, 4 Videos + 1 Bildschirmfreigabe auf mobilen Webbrowsern 9 Videos und 1 Bildschirmfreigabe

* Ab Azure Communication Services Web Calling SDK Version 1.16.3 Das Calling SDK erzwingt diese Grenzen zwar nicht, aber Ihre Benutzer könnten bei Überschreitung dieser Grenzen Leistungseinbußen erfahren. Verwenden Sie die API der Optimalen Videoanzahl, um zu bestimmen, wie viele aktuelle eingehende Videostreams Ihre Webumgebung unterstützen kann. Um 16 eingehende Videos ordnungsgemäß zu unterstützen, sollte der Computer mindestens 16 GB RAM und eine 4-Core- oder höhere CPU haben, die nicht älter als 3 Jahre ist.

Unterstützte Videoauflösungen

Das Azure Communication Services Calling SDK passt die Auflösungen von Video- und Bildschirmfreigabedatenströmen während des Anrufs automatisch an.

Hinweis

Die Auflösung kann je nach Anzahl der Teilnehmer an einem Anruf, verfügbarer Bandbreite für den Client oder Hardwarefunktionen des lokalen Teilnehmers, der Remotevideo-Streams und andere allgemeine Anrufparameter rendert, variieren.

Das Azure Communication Services Calling SDK unterstützt maximal das Senden folgender Videoauflösungen

Maximale Videoauflösung WebJS iOS Android Windows
Senden von Videos 720P 720P 720P 1080P
Senden der Bildschirmfreigabe 1080P 1080P 1080P 1080P
Empfangen eines Remotevideostreams oder einer Bildschirmfreigabe 1080P 1080P 1080P 1080P

Anzahl unterstützter Teilnehmer bei einem Anruf

  • Bis zu 350 Benutzer und Benutzerinnen können einem Gruppenanruf, einem Raum oder einem Teams + ACS-Anruf beitreten.
  • Sobald der Anruf mehr 100 Teilnehmer erreicht hat, werden nur die 4 dominantesten Sprecher angezeigt, die ihre Videokamera aktiviert haben.
  • Wenn die Anzahl der Personen im Anruf 100 übersteigt, verringert sich die sichtbare Anzahl eingehender Videos automatisch von 4x4 (16 eingehende Videos) auf 2x2 (4 eingehende Videos).
  • Wenn die Anzahl der Benutzer unter 100 liegt, steigt die Anzahl der unterstützten eingehenden Videos wieder auf 4x4 (16 eingehende Videos).

Timeouts des Calling SDK

Für die Communication Services Calling SDKs gelten folgende Timeouts:

Aktion Timeout in Sekunden
Erneutes Verbinden/Entfernen des Teilnehmers 60
Hinzufügen oder Entfernen einer neuen Modalität aus einem Anruf (Video oder Bildschirmfreigabe starten/beenden) 40
Timeout beim Vorgang zur Anrufübertragung 60
Timeout bei 1:1-Verbindungsherstellung 85
Timeout bei Gruppenverbindungsherstellung 85
Timeout bei PSTN-Verbindungsherstellung 115
Timeout beim Heraufstufen von 1:1-Anrufen auf Gruppenverbindungen 115

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: