Vue d’ensemble du SDK Calling

Azure Communication Services permet aux navigateurs, applications et services des utilisateurs finaux de gérer la communication vocale et vidéo. Cette page se concentre sur l’appel du kit de développement logiciel (SDK) client, qui peut être incorporé dans des sites web et des applications natives. Cette page offre une description détaillée des fonctionnalités d’appel client, notamment les informations de prise en charge des plateformes et des navigateurs. Les services gèrent et accèdent par programmation aux appels à l’aide des API d’automatisation des appels. L’API Rooms est une API Azure Communication Services facultative qui ajoute des fonctionnalités supplémentaires à un appel vocal ou vidéo, comme des rôles et des autorisations.

Remarque

Partagez avec nous vos réflexions et commentaires à propos d’Azure Communication Services en répondant à cette petite enquête.

Pour créer votre propre expérience utilisateur avec le kit SDK Appel, consultez les guides de démarrage rapide d’appel ou l’exemple de bannière d’appel.

Si vous souhaitez obtenir de l’aide sur l’expérience de l’utilisateur final, la bibliothèque d’interface utilisateur Azure Communication Services fournit une collection de composants d’interface utilisateur prêts pour la production open source à déposer dans votre application. Avec cet ensemble de contrôles prédéfinis, vous pouvez créer de belles expériences de communication à l’aide du langage Fluent design de Microsoft. Si vous souhaitez en savoir plus sur la bibliothèque d’interface utilisateur, visitez le site de vue d’ensemble ou Storybook.

Une fois que vous avez commencé le développement, consultez la page des problèmes connus pour connaître les bogues sur lesquels nous travaillons.

Liens du kit de développement logiciel (SDK)

Plateforme Web (JavaScript) Windows (.NET) iOS Android Autres
Appel npm NuGet GitHub Maven
Bibliothèque d’interface utilisateur npm - GitHub GitHub GitHub, Storybook

Fonctionnalités clés

  • Gestion des appareils et contenu multimédia : le kit SDK Appel fournit des possibilités de liaison avec des appareils audio et vidéo, il encode le contenu pour une transmission efficace sur le plan de données des communications et restitue le contenu sur les appareils et les vues de sortie que vous spécifiez. Les API sont également fournies pour le partage d’écran et d’application.
  • RTC : le SDK d’appel peut émettre des appels vocaux avec le réseau téléphonique commuté public traditionnel, en utilisant les numéros de téléphone que vous obtenez sur le portail Azure ou par programmation. Vous pouvez également apporter vos propres numéros à l’aide de contrôleurs de bordure de session.
  • Réunions et appels Teams : le kit SDK Appel peut participer aux réunions Teams et interagir avec le plan de données vocal et vidéo de Teams.
  • Chiffrement : le kit SDK Appel chiffre le trafic et empêche la falsification sur le réseau.
  • Adressage : Azure Communication Services fournit des identités génériques utilisées pour traiter les points de terminaison de communication. Les clients utilisent ces identités pour s’authentifier auprès du service et communiquer entre eux. Ces identités sont utilisées dans les API Appel qui fournissent aux clients une visibilité sur les personnes connectées à un appel (la liste).
  • Sécurité de l'accès utilisateur
    • Le contrôle de liste, le contrôle de planification et les rôles/autorisations d’utilisateur sont appliqués par le biais de Virtual Rooms.
    • La possibilité pour un utilisateur de Lancer un nouvel appel ou de Rejoindre un appel existant peut être gérée via Identités et jetons utilisateur
  • Notifications : le kit SDK Appel fournit des API qui permettent aux clients d’être avertis d’un appel entrant. Dans les situations où votre application ne s’exécute pas au premier plan, des modèles sont disponibles pour déclencher des notifications contextuelles (des « toasts »), afin d’informer les utilisateurs finaux d’un appel entrant.
  • Statistiques média : le kit SDK Appel fournit des insights complets sur les métriques de vos appels VoIP et vidéo. Avec ces informations, les développeurs ont une meilleure compréhension de la qualité des appels et peuvent prendre des décisions éclairées pour améliorer davantage leur expérience de communication.
  • Contraintes vidéo : le kit SDK Appel fournit des API qui permettent de réguler la qualité vidéo parmi d’autres paramètres pendant les appels vidéo en ajustant des paramètres tels que la résolution et la fréquence d’images prenant en charge différentes situations d’appel pour différents niveaux de qualité vidéo
  • Diagnostics accessibles par l’utilisateur (UFD) : le kit SDK Appel fournit des événements conçus pour fournir des insights sur les problèmes sous-jacents susceptibles d’affecter la qualité des appels. Les développeurs peuvent s’abonner à des déclencheurs tels que des signaux de réseau faible ou des microphones désactivés, ce qui leur permet de s’assurer qu’ils sont toujours conscients des facteurs ayant un impact sur les appels.

Capacités détaillées

La liste suivante présente l’ensemble des fonctionnalités actuellement disponibles dans les SDK Azure Communication Services Calling.

Groupe de fonctionnalités Fonctionnalité JS Windows Java (Android) Objective-C (iOS)
Fonctionnalités principales Passer un appel un-à-un entre deux utilisateurs ✔️ ✔️ ✔️ ✔️
Passer un appel de groupe avec plus de deux utilisateurs (jusqu’à 100 utilisateurs) ✔️ ✔️ ✔️ ✔️
Promouvoir un appel un-à-un avec deux utilisateurs en un appel de groupe avec plus de deux utilisateurs ✔️ ✔️ ✔️ ✔️
Rejoindre un appel de groupe après son démarrage ✔️ ✔️ ✔️ ✔️
Inviter un autre participant VoIP à rejoindre un appel de groupe en cours ✔️ ✔️ ✔️ ✔️
Contrôle durant l’appel Activer/désactiver la vidéo ✔️ ✔️ ✔️ ✔️
Désactiver/réactiver le micro ✔️ ✔️ ✔️ ✔️
Désactiver le son des autres participants ✔️1 ✔️1 ✔️1 ✔️1
Basculer entre les caméras ✔️ ✔️ ✔️ ✔️
Mettre en attente/reprendre ✔️ ✔️ ✔️ ✔️
Haut-parleur actif ✔️ ✔️ ✔️ ✔️
Choisir un intervenant pour les appels ✔️ ✔️ ✔️ ✔️
Choisir un microphone pour les appels ✔️ ✔️ ✔️ ✔️
Afficher l’état d’un participant
Inactif, Médias préliminaires, Connexion, Connecté, En attente, Dans la salle d’attente, Déconnecté
✔️ ✔️ ✔️ ✔️
Afficher l’état d’un appel
Médias préliminaires, Entrant, Connexion, Sonnerie, Connecté, Attente, Déconnexion, Déconnecté
✔️ ✔️ ✔️ ✔️
Montrer si le micro d’un participant est désactivé ✔️ ✔️ ✔️ ✔️
Afficher la raison pour laquelle un participant a quitté un appel ✔️ ✔️ ✔️ ✔️
Partage d’écran Partager la totalité de l’écran dans l’application ✔️ ✔️2 ✔️2 ✔️2
Partager une application spécifique (à partir de la liste des applications en cours d’exécution) ✔️ ✔️2
Partager un onglet de navigateur web à partir de la liste des onglets ouverts ✔️
Partager l’audio du système pendant le partage d’écran ✔️
Le participant peut visionner le partage d’écran à distance ✔️ ✔️ ✔️ ✔️
Liste Lister les participants ✔️ ✔️ ✔️ ✔️
Supprimer un participant ✔️ ✔️ ✔️ ✔️
RTC Passer un appel un-à-un avec un participant RTPC ✔️ ✔️ ✔️ ✔️
Passer un appel de groupe avec des participants RTPC ✔️ ✔️ ✔️ ✔️
Promouvoir un appel un-à-un avec un participant RTPC en appel de groupe ✔️ ✔️ ✔️ ✔️
Composer un numéro à partir d’un appel de groupe en tant que participant RTPC ✔️ ✔️ ✔️ ✔️
Prise en charge pour les médias précoces ✔️ ✔️ ✔️ ✔️
Général Tester votre micro, votre haut-parleur et votre caméra avec un service de test audio (disponible en appelant 8:echo123) ✔️ ✔️ ✔️ ✔️
Gestion des appareils Demander l’autorisation d’utiliser l’audio et/ou la vidéo ✔️ ✔️ ✔️ ✔️
Obtenir la liste des caméras ✔️ ✔️ ✔️ ✔️
Définir la caméra ✔️ ✔️ ✔️ ✔️
Obtenir la caméra sélectionnée ✔️ ✔️ ✔️ ✔️
Obtenir la liste des microphones ✔️ ✔️ 3 3
Définir le microphone ✔️ ✔️ 3 3
Obtenir le microphone sélectionné ✔️ ✔️ 3 3
Obtenir la liste des haut-parleurs ✔️ ✔️ 3 3
Définir le haut-parleur ✔️ ✔️ 3 3
Obtenir le haut-parleur sélectionné ✔️ ✔️ 3 3
Rendu vidéo Afficher une vidéo unique à de nombreux emplacements (caméra locale ou flux distant) ✔️ ✔️ ✔️ ✔️
Définir/mettre à jour le mode de mise à l’échelle ✔️ ✔️ ✔️ ✔️
Afficher un flux vidéo distant ✔️ ✔️ ✔️ ✔️
Effets de vidéo Flou d’arrière-plan ✔️ ✔️ ✔️ ✔️
Arrière-plan personnalisé ✔️
Effets audio Mode musique ✔️ ✔️ ✔️
Filtres audio ✔️ ✔️ ✔️
Supression du bruit ✔️
Notifications 4 Notifications push ✔️ ✔️ ✔️ ✔️

1 La fonctionnalité Désactiver le son des autres est actuellement en préversion publique.

2 La fonctionnalité Partage d’écran peut être obtenue à l’aide des API de média brut. Pour en savoir plus, consultez le guide de démarrage rapide sur l’accès multimédia brut.

3 Le kit SDK Appel n’a pas d’API explicite pour ces fonctions, vous devez utiliser les API de système d’exploitation Android et iOS pour y parvenir.

4 La valeur maximale de la durée de vie dans les plate-formes natives est de 180 jours (15 552 000 secondes) et sa valeur minimale est de 5 minutes (300 secondes). Pour un point de terminaison Teams personnalisé/une identité M365, la valeur maximale de la durée de vie est de 24 heures (86 400 secondes).

Prise en charge du kit SDK Appel JavaScript par le système d’exploitation et le navigateur

Le tableau suivant représente l’ensemble des navigateurs pris en charge disponibles. Nous prenons en charge les trois versions principales les plus récentes du navigateur (les trois versions mineures les plus récentes pour Safari), sauf indication contraire.

Plateforme Chrome Safari Edge Firefox Vue web Electron
Android ✔️ ✔️ ✔️
iOS ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️
Ubuntu/Linux ✔️
  • Le partage d’écran sortant n’est pas pris en charge sur les navigateurs mobiles iOS ou Android.
  • La prise en charge de Firefox est en préversion publique.
  • Actuellement, le kit SDK Appel prend uniquement en charge Android System WebView sur Android, iOS WebView(WKWebView) est en préversion publique. Les autres types de navigateurs incorporés ou WebView sur d’autres plateformes de système d’exploitation ne sont pas officiellement pris en charge, par exemple, GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. L’exécution du kit SDK Appel JavaScript sur ces plateformes n’est pas testée activement, elle peut fonctionner ou non.
  • Une application iOS sur Safari ne peut pas énumérer/sélectionner des appareils micro et haut-parleurs (par exemple, Bluetooth). Ce problème est une limitation d’iOS et le système d’exploitation contrôle la sélection par défaut de l’appareil.

Client appelant – Modèle de sécurité de navigateur

Utiliser WebRTC sur HTTPS

Les API WebRTC comme getUserMedia exigent que l’application qui appelle ces API soit traitée sur HTTPS. Pour un développement local, vous pouvez utiliser http://localhost.

Incorporer le SDK d’appel Communication Services dans un iframe

Une nouvelle stratégie d’autorisations (aussi appelée « stratégie de fonctionnalité ») est disponible sur différents navigateurs. Cette stratégie affecte les scénarios d’appel en contrôlant la façon dont les applications peuvent accéder à la caméra et au microphone d’un appareil via un élément iframe cross-origin.

Si vous souhaitez utiliser un iframe pour héberger une partie de l’application à partir d’un autre domaine, vous devez ajouter l’attribut allow à votre iframe avec la valeur correcte.

Par exemple, cet iframe autorise l’accès à la caméra et au microphone :

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

Prise en charge du SDK d’appel Android

  • Prise en charge de l’API Android Niveau 21 ou ultérieur
  • Prise en charge de Java 7 ou version ultérieure
  • Prise en charge d'Android Studio 2.0
  • Les appareils Android Auto et IoT exécutant Android ne sont actuellement pas pris en charge

Prise en charge du SDK d’appel iOS

  • Prise en charge d’iOS 10.0 et versions ultérieures au moment de la génération et d’iOS 12.0 et versions ultérieures au moment de l’exécution
  • XCode 12.0 et versions ultérieures
  • Prise en charge pour iPadOS 13.0+

Durée maximale des appels

La durée maximale de l’appel est de 30 heures, les participants qui atteignent la durée maximale d’appel de 30 heures seront déconnectés de l’appel.

Nombre de flux vidéo entrants pris en charge

Le kit SDK Appel Azure Communication Services prend en charge les configurations de streaming suivantes :

Limite web Windows/Android/iOS
Nombre maximal de flux locaux sortants qui peuvent être envoyés simultanément 1 vidéo et 1 partage d’écran 1 vidéo + 1 partage d’écran
Nombre maximal de flux distants entrants qui peuvent être rendus simultanément 9 vidéos + 1 partage d’écran sur les navigateurs de bureau*, 4 vidéos + 1 partage d’écran sur les navigateurs mobiles web 9 vidéos + 1 partage d’écran

* À partir de la version 1.16.3 du kit SDK Appel Web Azure Communication Services, bien que le kit SDK Appel n’applique pas ces limites, vos utilisateurs peuvent rencontrer une dégradation des performances si elles sont dépassées. Utilisez l’API du nombre optimal de vidéos pour déterminer le nombre de flux vidéo entrants actuels que votre environnement web peut prendre en charge.

Résolutions vidéo prises en charge

Le Kit de développement logiciel (SDK) d’appel Azure Communication Services ajuste automatiquement les résolutions des flux vidéo et de partage d’écran pendant l’appel.

Remarque

La résolution peut varier en fonction du nombre de participants à un appel, de la quantité de bande passante disponible pour le client, des capacités matérielles du participant local qui restitue les flux vidéo distants et d’autres paramètres généraux de l’appel.

Le Kit de développement logiciel (SDK) Azure Communication Services Calling prend en charge l’envoi de résolutions vidéo suivantes

Résolution vidéo maximale WebJS iOS Android Windows
Envoi de vidéos 720P 720P 720P 1080P
Envoi d’un partage d’écran 1080P 1080P 1080P 1080P
Réception d’un flux vidéo distant ou d’un partage d’écran 1080P 1080P 1080P 1080P

Nombre de participants sur un appel de support technique

  • Jusqu’à 350 utilisateurs peuvent rejoindre un appel de groupe ou une Salle ou un appel Teams + ACS.
  • Une fois que la taille de l’appel atteint 100 participants, seuls les quatre principaux orateurs qui ont leur caméra vidéo activée peuvent être vus.
  • Lorsque le nombre de personnes sur l’appel est supérieur à 100, le nombre de vidéos entrantes visibles diminue automatiquement de 3x3 (neuf vidéos entrantes) à 2x2 (quatre vidéos entrantes).
  • Lorsque le nombre d’utilisateurs repasse sous la barre des 100, le nombre de vidéos entrantes prises en charge remonte à 3x3 (neuf vidéos entrantes).

Délais d’attente du kit SDK Appel

Les délais d’attente suivants s’appliquent aux kits SDK Appel Communication Services :

Action Délai d’attente en secondes
Reconnecter/supprimer un participant 60
Ajouter ou supprimer une nouvelle modalité à partir d'un appel (démarrage/arrêt d'une vidéo ou partage d'écran) 40
Délai d’attente de l’opération de transfert d’appel 60
Délai d’établissement de l’appel en tête-à-tête 85
Délai d’établissement de l’appel de groupe 85
Délai d’établissement de l’appel PSTN 115
Délai de la promotion de l’appel en tête-à-tête en appel de groupe 115

Étapes suivantes

Pour plus d’informations, consultez les articles suivants :