Übersicht über das Calling SDK

Wichtig

Führen Sie bis zum 31. Juli 2021 ein Upgrade auf Azure Communication Services Calling SDK 1.1.0 (oder höher) für JavaScript durch.

Die Plan B-SDP-API (Session Description Protocol) ist als veraltet markiert. Aktualisieren Sie Ihre Communication Services Calling SDKs bis zum 31. Juli 2021 auf v1.1.0 (oder höher), damit diese Änderung keine Auswirkungen für Ihre Benutzer hat. Weitere Informationen finden Sie in den Versionshinweisen zur Anrufbibliothek.

Das Calling SDK ermöglicht Endbenutzergeräten die Steuerung der Sprach- und Videokommunikation. Diese Seite enthält ausführliche Beschreibungen von Anruffeatures sowie Informationen zur Plattform- und Browserunterstützung. Für den sofortigen Einstieg empfehlen wir die Schnellstartanleitungen zu Anrufen sowie das Hero-Beispiel für Anrufe.

Nach Beginn der Entwicklung können Sie sich auf der Seite mit bekannten Problemen über Fehler informieren, um die wir uns bereits kümmern.

Zentrale Features des Calling SDK:

  • 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, die es Clients ermöglichen, die Anrufteilnehmer (Teilnehmerliste) zu ermitteln.
  • Verschlüsselung: Datenverkehr wird durch das Calling SDK verschlüsselt, um Manipulationen bei der Übertragung zu verhindern.
  • 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 initiieren – entweder unter Verwendung von Telefonnummern, die über das Azure-Portal beschafft wurden, oder programmgesteuert.
  • Teams-Besprechungen: Das Calling SDK kann Teams-Besprechungen beitreten und mit der Sprach- und Videodatenebene von Teams interagieren.
  • Benachrichtigungen: Das Calling SDK stellt APIs bereit, die es ermöglichen, Clients über einen eingehenden Anruf zu informieren. Für Situationen, in denen Ihre App nicht im Vordergrund ausgeführt wird, stehen Muster zum Auslösen von Popupbenachrichtigungen (Popups) zur Verfügung, um Endbenutzer auf einen eingehenden Anruf aufmerksam zu machen.

Ausführliche 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 eines Gruppenanrufs zwischen mehr als zwei Benutzern (bis zu 350 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 ✔️ ✔️ ✔️ ✔️
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 ✔️
Freigeben einer bestimmten Anwendung (aus der Liste aktiver Anwendungen) ✔️
Freigeben eines Webbrowsertabs aus der Liste geöffneter Tabs ✔️
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 ✔️ ✔️ ✔️ ✔️
Allgemein Testen von Mikrofon, Lautsprecher und Kamera mit einem Audiotestdienst (verfügbar durch Anrufen von 8:echo123) ✔️ ✔️ ✔️ ✔️
-Geräteverwaltung Bitten um Erlaubnis zur Verwendung der Audio-/Videofunktion ✔️ ✔️ ✔️ ✔️
Abrufen einer Kameraliste ✔️ ✔️ ✔️ ✔️
Festlegen der Kamera ✔️ ✔️ ✔️ ✔️
Abrufen der ausgewählten Kamera ✔️ ✔️ ✔️ ✔️
Abrufen der Mikrofonliste ✔️ ✔️
Festlegen des Mikrofons ✔️ ✔️
Abrufen des ausgewählten Mikrofons ✔️ ✔️
Abrufen der Lautsprecherliste ✔️ ✔️
Festlegen des Lautsprechers ✔️ ✔️
Abrufen des ausgewählten Lautsprechers ✔️ ✔️
Videorendering Rendern eines Videos an mehreren Orten (lokale Kamera oder Remotedatenstrom) ✔️ ✔️ ✔️ ✔️
Festlegen/Aktualisieren des Skalierungsmodus ✔️ ✔️ ✔️ ✔️
Rendern des Remote-Videodatenstroms ✔️ ✔️ ✔️ ✔️

Streamingunterstützung des Calling SDK

Das Communication Services Calling SDK unterstützt folgende Streamingkonfigurationen:

Begrenzung Web Windows/Android/iOS
Anzahl der ausgehenden Datenströme, die gleichzeitig gesendet werden können. 1 Video- oder 1 Bildschirmfreigabe 1 Video- und 1 Bildschirmfreigabe
Anzahl der eingehenden Datenströme, die gleichzeitig gerendert werden können. 1 Video- oder 1 Bildschirmfreigabe 6 Video- und 1 Bildschirmfreigabe

Obwohl das Calling SDK diese Grenzwerte nicht erzwingt, kann es bei Ihren Benutzern zur Leistungsbeeinträchtigung führen, wenn sie überschritten werden.

Timeouts des Calling SDK

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

Aktion Zeitlimit in Sekunden
Erneutes Verbinden/Entfernen des Teilnehmers 120
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

JavaScript Calling SDK: Unterstützung nach Betriebssystem und Browser

Die folgende Tabelle enthält die unterstützten Browser, die derzeit verfügbar sind. Sofern nichts anderes angegeben ist, unterstützen wir die letzten drei Versionen des Browsers.

Plattform Chrome Safari Edge (Chromium)
Android ✔️
iOS ✔️
macOS ✔️ ✔️
Windows ✔️ ✔️
Ubuntu/Linux ✔️

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

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

Anrufclient: Browsersicherheitsmodell

Verwenden von 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

Von verschiedenen Browsern wird eine neue Berechtigungsrichtlinie (auch Featurerichtlinie genannt) eingeführt. 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 *">

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: