Exigences et considérations relatives aux bots multimédias hébergés par des applications
Un bot multimédia hébergé par une application requiert la Microsoft.Graph.Communications.Calls.Media
bibliothèque .NET pour accéder aux flux multimédias audio et vidéo. Le bot doit être déployé sur une machine locale Windows Server ou un système d’exploitation invité Windows Server dans Azure.
Remarque
- Les conseils pour le développement de bots de messagerie et de réponse vocale interactive (IVR) ne s’appliquent pas complètement à la création de bots multimédias hébergés par des applications.
- Étant donné que Microsoft Real-time Media Platform for bots est en préversion pour les développeurs, les instructions de ce document sont susceptibles d’être modifiées.
C# ou .NET et Windows Server pour le développement
Un bot multimédia hébergé par l’application a les exigences suivantes :
Le bot doit être développé à l’aide de C# et du .NET Framework standard, et déployé sur Microsoft Azure. Vous ne pouvez pas utiliser les API C++ ou Node.js pour accéder aux médias en temps réel. Toutefois, .NET Core est pris en charge pour un bot multimédia hébergé par une application, et le SDK prend en charge .NET 6.0.
Le bot peut être hébergé dans l’un des environnements de service Azure suivants :
- Service cloud.
- Service Fabric avec Virtual Machine Scale Sets (VMSS).
- Machine virtuelle IaaS (Infrastructure as a Service).
- Azure Kubernetes Service (AKS).
Le bot ne peut pas être déployé en tant qu’application web Azure.
Le bot doit s’exécuter sur une version récente de la bibliothèque .NET
Microsoft.Graph.Communications.Calls.Media
. Le bot doit utiliser la dernière version disponible du package NuGet, ou une version datant de moins de trois mois. Les versions antérieures de la bibliothèque sont déconseillées et ne fonctionnent pas après quelques mois. La mise à jour de la bibliothèqueMicrosoft.Graph.Communications.Calls.Media
garantit la meilleure interopérabilité entre le bot et Microsoft Teams.
La section suivante fournit des détails sur l’emplacement des appels multimédias en temps réel.
Les appels multimédias en temps réel restent là où ils sont créés
Les appels multimédias en temps réel restent sur l’ordinateur sur lequel ils ont été créés. Un appel multimédia en temps réel est épinglé à l’instance de machine virtuelle qui a accepté ou démarré l’appel. Les flux multimédias provenant d’un appel ou d’une réunion Teams vers cette instance de machine virtuelle, et les médias que le bot renvoie à Teams doivent également provenir de cette machine virtuelle. S’il existe des appels multimédias en temps réel en cours lorsque la machine virtuelle est arrêtée, ces appels sont soudainement arrêtés. Si le bot a connaissance préalablement de l’arrêt de la machine virtuelle en attente, il peut mettre fin aux appels.
La section suivante fournit des détails sur l’accessibilité des bots multimédias hébergés par l’application.
Bots multimédias hébergés par des applications accessibles sur Internet
Les bots multimédias hébergés par l’application doivent être directement accessibles sur Internet. Ces bots doivent inclure les fonctionnalités suivantes :
Chaque instance de machine virtuelle hébergeant un bot multimédia hébergé par une application dans Azure doit être directement accessible à partir d’Internet à l’aide d’une adresse IP publique au niveau de l’instance (ILPIP).
- Pour obtenir et configurer un ILPIP pour un service cloud Azure, consultez vue d’ensemble de l’adresse IP publique classique au niveau de l’instance.
- Pour configurer un ILPIP pour un groupe de machines virtuelles identiques, consultez IPv4 public par machine virtuelle.
Le service hébergeant un bot multimédia hébergé par une application doit également configurer chaque instance de machine virtuelle avec un port public, qui correspond à l’instance spécifique.
- Pour un service cloud Azure, cela nécessite un point de terminaison d’entrée d’instance. Pour plus d’informations, consultez activer la communication pour les instances de rôle dans Azure.
- Pour un groupe de machines virtuelles identiques, une règle NAT sur l’équilibreur de charge doit être configurée. Pour plus d’informations, consultez réseaux virtuels et machines virtuelles dans Azure.
Bot Framework Emulator ne prend pas en charge les bots multimédias hébergés par l’application.
La section suivante fournit des détails sur les considérations relatives à l’extensibilité et aux performances des bots multimédias hébergés par l’application.
Considérations relatives à l’évolutivité et aux performances
Les bots multimédias hébergés par l’application nécessitent les considérations suivantes en matière d’extensibilité et de performances :
- Les bots multimédias hébergés par l’application nécessitent plus de capacité de calcul et de réseau (bande passante) que les bots de messagerie et peuvent entraîner des coûts opérationnels plus élevés. Un développeur de bot multimédia en temps réel doit mesurer avec soin l’extensibilité du bot et s’assurer qu’il n’accepte pas plus d’appels simultanés qu’il ne peut le gérer. Un bot vidéo peut être en mesure de ne gérer qu’une ou deux sessions multimédias simultanées par cœur d’UC (si vous utilisez le « raw » Formats vidéo RVB24 ou NV12).
- La plateforme multimédia en temps réel ne tire pas parti des unités de traitement graphique (GPU) disponibles sur la machine virtuelle pour décharger l’encodage/décodage vidéo H.264. Au lieu de cela, l’encodage et le décodage vidéo sont effectués dans les logiciels sur l’UC. Si un GPU est disponible, le bot peut en tirer parti pour son propre rendu graphique, par exemple, si le bot utilise un moteur graphique 3D.
- L’instance de machine virtuelle hébergeant le bot multimédia en temps réel doit avoir au moins deux cœurs de processeur. Pour Azure, une machine virtuelle de la série Dv2 est recommandée. Pour les autres types de machines virtuelles Azure, un système avec quatre processeurs virtuels est la taille minimale requise. Des informations détaillées sur les types de machines virtuelles Azure sont disponibles dans la documentation Azure.
Exemple de code
Les exemples de bots multimédias hébergés par l’application sont les suivants :
Exemple de nom | Description | Graph |
---|---|---|
Exemple de média local | Exemple illustrant différents scénarios de médias locaux. | View |
Exemple de média distant | Exemple illustrant différents scénarios multimédias distants. | View |
Étape suivante
Voir aussi
- Documentation du Kit de développement logiciel (SDK) Graph Calling
- exemples d’applications