Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Communication Services ermöglicht Endbenutzerbrowsern, Apps und Diensten die Sprach- und Videokommunikation zu fördern. Dieser Artikel konzentriert sich auf das Aufrufen von Client-SDK, das in Websites und systemeigene Anwendungen eingebettet werden kann. Dieser Artikel enthält detaillierte Beschreibungen der Anrufclientfeatures wie Plattform- und Browserunterstützungsinformationen. Dienste verwalten Anrufe programmatisch und greifen darauf zu, indem sie die Anrufautomatisierungs-APIs verwenden. Die Rooms-API ist eine optionale Azure Communication Services-API, die einem Sprach- oder Videoanruf zusätzliche Funktionen hinzufügt, z. B. Rollen und Berechtigungen.
Informationen zum Erstellen Ihrer eigenen Benutzererfahrung mit dem Calling-SDK finden Sie unter Calling Quickstarts oder Calling Hero Sample.
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.
Nachdem Sie mit der Entwicklung begonnen haben, sehen Sie sich bekannte Probleme an, um Fehler zu finden, an denen wir arbeiten.
SDK-Links
Plattform | Web (JavaScript) | Windows (.NET) | Ios | Android | Andere |
---|---|---|---|---|---|
Aufrufen | npm | NuGet | GitHub (Englisch) | Experte | |
UI-Bibliothek | npm | - | GitHub (Englisch) | GitHub (Englisch) | GitHub, Storybook |
Schlüsselfunktionen
- Geräteverwaltung und Medien: Das Anruf-SDK ermöglicht die Bindung an Audio- und Videogeräte, codiert Inhalte zur effizienten Übertragung über die Kommunikationsdatenebene und rendert Inhalte für die von Ihnen angegebenen 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-Besprechungen und -Anrufe – Das Anruf-SDK kann an Teams-Besprechungen 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
- Roster-Kontrolle, Zeitplan-Kontrolle und Benutzer-Rollen/Berechtigungen werden über Virtual Rooms durchgesetzt.
- Die Fähigkeit eines Benutzers, einen neuen Anruf einzuleiten oder einem bestehenden Anruf beizutreten, kann über Benutzeridentitäten und Token verwaltet werden
- Benachrichtigungen – Das Calling SDK stellt APIs bereit, damit Clients über eingehende Anrufe benachrichtigt werden können. In Situationen, in denen Ihre Anwendung nicht im Vordergrund läuft, stehen Muster zur Verfügung, um Popupbenachrichtigungen oder Toasts auszulösen, die 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.
- Echtzeittext (RTT) - Echtzeittext (Real Time Text, RTT) bietet Entwicklern die Möglichkeit, Text in nahezu Echtzeit während eines Anrufs zu übertragen. Dieses Feature dient dazu, Personen, die Schwierigkeiten beim Sprechen haben, zu unterstützen, indem sichergestellt wir, dass ihre Textnachrichten für andere Besprechungsteilnehmende sichtbar angezeigt werden, ähnlich wie die gesprochene Kommunikation.
Detaillierte Funktionen
Die folgende Liste enthält die Features, die aktuell in den Azure Communication Services Calling-SDKs verfügbar sind.
Merkmalsgruppe | Fähigkeit | JS | Fenster | Java (Android) | Objective-C (iOS) |
---|---|---|---|---|---|
Grundlegende Funktionen | Einen Einzelanruf zwischen zwei Benutzern tätigen | ✔️ | ✔️ | ✔️ | ✔️ |
Tätigen Sie einen Gruppenanruf mit mehr als zwei Benutzern (bis zu 100 Benutzer) | ✔️ | ✔️ | ✔️ | ✔️ | |
Höherstufen eines 1:1-Anrufs mit zwei Benutzenden zu einem Gruppenanruf mit mehr als zwei Benutzenden | ✔️ | ✔️ | ✔️ | ✔️ | |
Beitreten eines bereits gestarteten Gruppenanrufs | ✔️ | ✔️ | ✔️ | ✔️ | |
Einladen eines weiteren VoIP-Teilnehmers zu einem laufenden Gruppenanruf | ✔️ | ✔️ | ✔️ | ✔️ | |
Steuerung während des Anrufs | Aktivieren/Deaktivieren Ihres Videos | ✔️ | ✔️ | ✔️ | ✔️ |
Stummschalten des Mikrofons/Aufheben der Stummschaltung | ✔️ | ✔️ | ✔️ | ✔️ | |
Stummschalten anderer Teilnehmender | ✔️ | ✔️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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Den Grund anzeigen, warum ein Teilnehmer den Anruf beendet hat | ✔️ | ✔️ | ✔️ | ✔️ | |
Bildschirmfreigabe | Den gesamten Bildschirm aus der Anwendung heraus freigeben | ✔️ | ✔️arabische Ziffer | ✔️arabische Ziffer | ✔️arabische Ziffer |
Freigeben einer bestimmten Anwendung (aus der Liste aktiver Anwendungen) | ✔️ | ✔️arabische Ziffer | ❌ | ❌ | |
Freigeben eines Webbrowsertabs aus der Liste geöffneter Tabs | ✔️ | ||||
Freigeben von Systemaudio während der Bildschirmfreigabe | ✔️ | ❌ | ❌ | ❌ | |
Anzeigen von Remotebildschirmfreigabe durch Teilnehmende | ✔️ | ✔️ | ✔️ | ✔️ | |
Liste | Teilnehmer auflisten | ✔️ | ✔️ | ✔️ | ✔️ |
Entfernen eines Teilnehmers | ✔️ | ✔️ | ✔️ | ✔️ | |
PSTN | Einen 1:1-Anruf mit einem PSTN-Teilnehmer tätigen | ✔️ | ✔️ | ✔️ | ✔️ |
Einen Gruppenanruf mit PSTN-Teilnehmern initiieren | ✔️ | ✔️ | ✔️ | ✔️ | |
Höherstufen eines 1:1-Anrufs mit einem PSTN-Teilnehmenden zu einem Gruppenanruf | ✔️ | ✔️ | ✔️ | ✔️ | |
Verlassen eines Gruppenanrufs als PSTN-teilnehmende Person | ✔️ | ✔️ | ✔️ | ✔️ | |
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 | ✔️ | ✔️ | ✔️ | ✔️ |
Kameraliste anzeigen | ✔️ | ✔️ | ✔️ | ✔️ | |
Festlegen der Kamera | ✔️ | ✔️ | ✔️ | ✔️ | |
Ausgewählte Kamera abrufen | ✔️ | ✔️ | ✔️ | ✔️ | |
Abrufen der Mikrofonliste | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Mikrofon festlegen | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Abrufen des ausgewählten Mikrofons | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Rednerliste abrufen | ✔️ | ✔️ | ❌ 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 | Musikmodus | ❌ | ✔️ | ✔️ | ✔️ |
Echounterdrückung | ❌ | ✔️ | ✔️ | ✔️ | |
Rauschunterdrückung | ✔️ | ✔️ | ✔️ | ✔️ | |
Automatische Verstärkungssteuerung (AGC) | ❌ | ✔️ | ✔️ | ✔️ | |
Zugänglichkeit | Echtzeittext (RTT) | ✔️ | ✔️ | ✔️ | ✔️ |
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 aufrufende SDK verfügt nicht über eine explizite API für diese Funktionen. Verwenden Sie stattdessen die Android- und iOS-Betriebssystem-APIs, 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 | Chrom | Safari | Rand | Firefox | WebView | Elektron |
---|---|---|---|---|---|---|
Android | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
Ios | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Fenster | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
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ützen der letzten beiden wichtigsten iOS-Betriebssystemupdates (N und N-1 für iOS-Mindestbetriebssystemunterstützung)
- Xcode 12.0 oder höher
- Unterstützung für iPadOS 13.0+
Maximale Anrufdauer
Die maximale Anrufdauer beträgt 30 Stunden und 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 | das Internet | 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 Bildschirmübertragung |
* Ab der Azure Communication Services Web Calling SDK Version 1.16.3. Obwohl das Calling SDK diese Grenzwerte nicht erzwingt, kann es bei Ihren Benutzern zur Leistungsbeeinträchtigung führen, wenn sie überschritten werden. Verwenden Sie die API optimale Videoanzahl, um die Anzahl der eingehenden Videostreams zu ermitteln, die Ihre Webumgebung unterstützen kann. Um 16 eingehende Videos ordnungsgemäß zu unterstützen, benötigt der Computer mindestens 16 GB RAM und eine 4-Core- oder höhere CPU, die weniger als drei Jahre alt ist.
Unterstützte Videoauflösungen
Das Anruf-SDK von Azure Communication Services passt die Auflösungen von Video- und Bildschirmfreigabedatenströmen während des Anrufs automatisch an.
Hinweis
Die Auflösung kann je nach Anzahl der Teilnehmenden an einem Anruf, verfügbarer Bandbreite für den Client oder Hardwarefunktionen der lokalen Teilnehmenden, die Remote-Video-Streams und andere allgemeine Anrufparameter rendern, variieren.
Das Azure Communication Services Calling SDK unterstützt das Senden folgender Videoauflösungen
Maximale Videoauflösung | WebJS-Desktop | WebJS Mobile | Ios | Android | Fenster |
---|---|---|---|---|---|
Senden von Videos | 1080p aktivieren | 720p | 720p | 720p | 1080p |
Bildschirmübertragung senden | 1080p | Nicht verfügbar | 720p | 720p | 1080p |
Empfangen eines Remote-Videos oder einer Bildschirmübertragung | 1080p | 720p | 720p | 720p | 1080p |
Anzahl unterstützter Teilnehmender bei einem Anruf
- Ausführliche Anweisungen zum Aktivieren von 1080p in einem Desktop-Webbrowser finden Sie.
- Bis zu 350 Benutzer können einem Gruppenanruf, einem Room-Anruf oder einem Microsoft Teams + Azure Communication Services-Anruf beitreten.
- Sobald die Anrufgröße 100 Teilnehmer erreicht hat, zeigt das Anruf-SDK nur die vier wichtigsten dominanten Lautsprecher an, für die ihre Videokamera aktiv ist.
- 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).
- Die Bildschirmübertragung von einem mobilen Browser ist aufgrund von Einschränkungen, die in mobilen Browsern bestehen, nicht verfügbar.
Timeouts des Anruf-SDKs
Für die Communication Services Calling SDKs gelten folgende Timeouts:
Maßnahme | Timeout in Sekunden |
---|---|
Erneutes Verbinden/Entfernen von Teilnehmenden | 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
Verwandte Artikel
- Machen Sie sich mit allgemeinen Anrufflows vertraut.
- Informieren Sie sich über Anruftypen.
- Erfahren Sie mehr über die Anrufautomatisierungs-API, mit der Sie serverbasierte Anrufworkflows erstellen können, die Anrufe mit Clientanwendungen weiterleiten und steuern können.
- Planen Ihrer PSTN-Lösung.