Modifier

Share via


Conception d’architecture Azure Communication Services

Azure Communication Services
Microsoft Entra ID
Azure Functions

Ce guide présente des diagrammes de flux de données pour Azure Communication Services. Ces diagrammes vous permettent de comprendre comment vos clients et services interagissent avec Azure pour offrir des expériences de communication.

Azure Communication Services est un service cloud dotés d’API REST et de SDK de bibliothèque de client qui vous aident à intégrer la communication dans vos applications. Communication Services prend en charge plusieurs formats de communication : appels vocaux et vidéo, conversation texte, SMS et données binaires personnalisées.

Vous pouvez ajouter des fonctionnalités de communication à des applications web et mobiles, intégrer des services personnalisés et des bots, et accéder par programmation au réseau téléphonique commuté public (PSTN). Vous pouvez acquérir des numéros de téléphone directement à partir d’API REST Azure Communication Services ou du portail Azure, et utiliser ces numéros pour les applications de SMS ou d’appel vocal. Le routage direct Communication Services vous permet d’apporter votre propre fournisseur de téléphonie via le protocole SIP (Session Initiation Protocol) et des contrôleurs de frontière de session.

Les composants utilisés dans ces diagrammes de flux de données sont les suivants :

  • Application cliente. Site web ou application native utilisés par des utilisateurs finaux pour la communication. Azure Communication Services fournit des bibliothèques de client SDK pour navigateurs et applications natives. La bibliothèque d’interface utilisateur open source basée sur ces kits de développement logiciel (SDK) fournit des composants d’interface utilisateur web (React), iOS et Android programmables.
  • Service de gestion des identités. Service que vous créez pour mapper des utilisateurs et services à des identités Communication Services. Ce service crée également des jetons pour des utilisateurs devant accéder au plan de données.
  • Service de contrôleur de communication. Service que vous créez pour contrôler des conversations ainsi que des appels vocaux et vidéo.
  • Service de données de communication. Fonctionnalité de service que vous créez pour interagir directement avec du contenu de communication, comme l’envoi de messages de conversation et SMS, ou la lecture d’audio dans un appel vocal.

Les normes sectorielles pour la communication, comme WebRTC, séparent la communication en un plan de contrôle et de signalisation et un plan de données. Communication Services vous permet de créer une expérience de communication sans avoir à comprendre l’implémentation interne de WebRTC dans le service. Toutefois, les concepts suivants peuvent vous aider à concevoir votre application :

Système Fonction Protocoles Modèle d’accès
Plan de contrôle Régit qui communique, quand et comment REST Informations d'identification de service Microsoft Entra
Plan de données Contient du contenu de communication (audio, vidéo, texte et données) compréhensible par l’être humain et les applications UDP, RTMP, WebSockets, REST Jetons d’accès utilisateur et informations d’identification de service Microsoft Entra

Un flux de données courant se produit quand des applications clientes établissent une communication en demandant des informations de contrôle d’un contrôleur de service :

  • Quelles réunions ai-je aujourd’hui ?
  • Quel numéro de téléphone dois-je utiliser pour appeler mon ami Joseph ?
  • Quels sont les noms de mes coéquipiers ? Quelles sont les conversations en cours ?

Votre service de contrôle répond à ces demandes en fournissant aux clients des jetons et identificateurs Communication Services pour des utilisateurs, threads, numéros de téléphone et autres appels. Les clients utilisent ensuite ces jetons et identificateurs pour interagir avec le plan de données Azure. Les API Communication Services ne limitent pas la conception de votre expérience d’utilisateur final ou les processus qui contrôlent la communication.

Dans la norme WebRTC, les clients demandent des informations de contrôle des services en envoyant des messages de contrôle dans un processus appelé signalisation. Les identificateurs Communication Services tels que l’ID d’appel sont comparables aux descriptions de session WebRTC.

Utilisateurs authentifiés via des jetons d’accès utilisateur

Les clients Communication Services présentent des jetons d’accès utilisateur pour accéder, avec une sécurité améliorée, aux appels Azure et au plan de données de conversation. Vous devriez générer et gérer les jetons d’accès utilisateur à l’aide d’un service approuvé. Le jeton et la chaîne de connexion ou les secrets Microsoft Entra nécessaires pour les générer doivent être protégés. L’impossibilité de gérer correctement les jetons d’accès peut entraîner des frais supplémentaires en raison d’une mauvaise utilisation des ressources.

Diagram that shows the user access token architecture.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. Un utilisateur démarre l’application cliente.
  2. L’application cliente contacte votre service de gestion des identités. Le service de gestion des identités gère un mappage entre les identités d’application et les identités Communication Services (les identités d’application incluent vos utilisateurs et d’autres objets adressables, tels que des services ou des bots).
  3. Le service de gestion des identités utilise le mappage afin d’émettre un jeton d’accès utilisateur pour l’identité concernée.

Azure App Service ou Azure Functions sont deux alternatives à l’exploitation du service de gestion des identités. Ces services se mettent à l’échelle facilement et disposent de fonctionnalités intégrées pour authentifier les utilisateurs. Ils sont intégrés avec OpenID et des fournisseurs d’identité tiers tels que Facebook.

Ressources

Un utilisateur appelle une application ou un numéro de téléphone

Les scénarios d’appel audio et vidéo les plus simples impliquent un utilisateur en appelant un autre au premier plan sans notification Push. Vous pouvez intégrer les appels audio et vidéo Communication Services dans des applications web, mobiles natives et de bureau Windows. La bibliothèque d’interface utilisateur open source peut vous aider à accélérer le développement.

Diagram that shows Communication Services calling without push notifications.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. L’utilisateur à l’origine de l’appel obtient l’identité Communication Services de la personne qu’il souhaite appeler. Dans un scénario classique, l’utilisateur obtient l’identité à partir d’une liste d’amis maintenue par le service de gestion des identités. La liste collationne les amis de l’utilisateur et les identités Communication Services associées.
  2. L’utilisateur démarre le client Appel et appelle l’utilisateur distant.
  3. Le destinataire est informé de l’appel entrant via le Kit de développement logiciel (SDK) Appel. Pour recevoir des appels entrants, le destinataire doit avoir initialisé le client Appel.
  4. Les utilisateurs communiquent via un appel vocal et vidéo.

Le flux de données est presque identique quand un utilisateur appelle un numéro de téléphone externe. La principale différence est que, pour accéder à la téléphonie traditionnelle, le client de l’utilisateur appelant doit demander les numéros de téléphone source et de destination au service contrôleur, au lieu de demander des identités d’utilisateur.

Dans certains cas, il peut être souhaitable que des applications acceptent des appels en arrière-plan en utilisant des services de plateforme tels que les notifications Push Apple. Vous pouvez activer cette fonctionnalité en intégrant Communication Services avec Azure Notification Hubs.

Ressources

Un utilisateur rejoint un appel de groupe sans invitation

Il peut être souhaitable que les utilisateurs puissent rejoindre un appel de groupe sans invitation explicite. Votre application pourrait fournir un espace social ou un club persistants incluant un canal d’appel vidéo que les utilisateurs peuvent rejoindre quand ils le souhaitent. Le flux de données suivant montre un appel initialement créé par un client, et permet à un client distant de s’y joindre sans invitation explicite :

Diagram that shows a call without an invitation.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. L’utilisateur à l’origine de l’action initialise le client Appel et passe un appel de groupe.
  2. L’utilisateur partage l’ID d’appel de groupe avec un service contrôleur de communication.
  3. Le service contrôleur de communication partage l’ID d’appel avec d’autres utilisateurs. Par exemple, si l’application fournit des clubs d’utilisateurs, l’ID d’appel de groupe est un attribut du modèle de données du club stocké dans Azure Cosmos DB.
  4. D’autres utilisateurs rejoignent l’appel en utilisant l’ID d’appel de groupe.
  5. Les utilisateurs communiquent entre eux via un appel vocal et vidéo.

Microsoft 365 et Teams

De nombreuses organisations utilisent Microsoft 365 et Teams pour la communication. Communication Services et Teams sont interopérables, ce qui permet les scénarios suivants :

  • Créer une application personnalisée pour permettre à un utilisateur externe de rejoindre une réunion Teams. Ce scénario est idéal pour des scénarios de visite virtuelle où une entreprise qui utilise Teams héberge une réunion pour des consommateurs externes qui utilisent une application et une identité personnalisées. Pour en savoir plus sur ce scénario, consultez Tutoriel et Sample Builder pour les visites virtuelles.
  • Créer une application personnalisée pour un utilisateur interne avec des informations d’identification Teams / Microsoft Entra. Ce scénario est conçu pour créer des clients Teams personnalisés pour des employés.

Ces scénarios d’application personnalisés utilisent des API Microsoft Graph et Communication Services. Lorsque vous créez des applications et services externes qui se connectent à Teams, vous utilisez généralement Microsoft Graph comme plan de contrôle Teams. Vous utilisez ce plan de contrôle pour configurer qui communique, ainsi que comment et quand, à l’aide d’API pour :

Vous utilisez des informations de ces API de contrôle, telles que l’URL de réunion et l’identificateur de conversation, pour connecter des clients d’appel et de conversation Communication Services au plan de données Teams.

Teams dispose également de kits de développement logiciel (SDK) pour ajouter des fonctionnalités personnalisées à l’intérieur des expériences Teams et via le magasin Teams, comme des onglets, des bots et une automatisation. Ces scénarios dépassent la portée de cet article.

Communication Services ne prend pas directement en charge les interactions avec les canaux Teams. Pour des applications personnalisées, vous pouvez utiliser les API Microsoft Graph Conversation et Canal afin de créer des clients personnalisés pour les employés qui accèdent aux canaux.

Une application rejoint un appel Teams planifié

Les applications Azure Communication Services peuvent rejoindre des appels Teams. Pour des utilisateurs externes, l’application a besoin d’un lien vers la réunion Teams. La récupération de lien est gérée via des API Microsoft Graph. Voici le flux de données :

Diagram showing Communication Services architecture for joining a Teams meeting.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. (1A) Le service contrôleur de communication planifie l’appel de groupe à l’aide de l’API Microsoft Graph. Dans un autre cas d’usage, (1B), des utilisateurs planifient l’appel de groupe à l’aide d’Outlook ou de Teams.
  2. Le service contrôleur de communication partage les détails de l’appel Teams avec les clients Communication Services.
  3. En règle générale, un utilisateur de Teams doit rejoindre l’appel via l’interface utilisateur de Teams, et autoriser des utilisateurs externes à transiter par la salle d’attente avant appel de Teams. Toutefois, cette exigence dépend de la configuration du locataire Teams et des paramètres spécifiques de la réunion.
  4. Les utilisateurs d’Azure Communication Services initialisent leur client Appel et rejoignent la réunion Teams en utilisant les détails reçus à l’étape 2.
  5. Les utilisateurs communiquent entre eux par voie vocale et vidéo.

Ressources

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes