Návrh architektury Azure Communication Services

Azure Communication Services
Microsoft Entra ID
Azure Functions

Tato příručka představuje diagramy toku dat pro službu Azure Communication Services. Pomocí těchto diagramů můžete pochopit, jak vaši klienti a služby komunikují s Azure za účelem poskytování komunikačních prostředí.

Communication Services je cloudová služba s rozhraními REST API a sadami SDK klientské knihovny, která vám pomůže integrovat komunikaci do vašich aplikací. Komunikační služby podporují více formátů komunikace: hlasové hovory a videohovory, textový chat, SMS a vlastní binární data.

Můžete přidat komunikaci do webových a mobilních aplikací, integrovat vlastní služby a roboty a programově přistupovat k veřejné telefonní síti (PSTN). Telefonní čísla můžete získat přímo z rozhraní API služeb Azure Communication Services nebo webu Azure Portal a tato čísla můžete použít pro sms nebo hlasové hovory. Pomocí přímého směrování komunikačních služeb můžete použít vlastního poskytovatele telefonie prostřednictvím protokolu SIP (Session Initiation Protocol) a řadičů ohraničení relací.

V těchto diagramech toku dat se používají následující komponenty:

  • Klientská aplikace. Web nebo nativní aplikace používané koncovými uživateli ke komunikaci Communication Services poskytuje klientské knihovny sady SDK pro prohlížeče a nativní aplikace. Opensourcová knihovna uživatelského rozhraní založená na těchto sadách SDK poskytuje programovatelné webové komponenty (React), iOS a Android UI.
  • Služba správy identit. Služba, kterou vytvoříte pro mapování uživatelů a služeb na identity komunikačních služeb. Tato služba také vytvoří tokeny pro uživatele, kteří potřebují přístup k rovině dat.
  • Služba komunikačního kontroleru. Služba, kterou vytvoříte pro řízení vláken chatu a hlasových hovorů a videohovorů.
  • Komunikační datová služba. Funkce služby, kterou vytvoříte pro přímou interakci s komunikačním obsahem, jako je odesílání chatu a SMS zpráv nebo přehrávání zvuku v hlasovém hovoru.

Oborové standardy pro komunikaci, jako je WebRTC, oddělují komunikaci do řídicí roviny a roviny signálů a roviny dat. Pomocí komunikačních služeb můžete vytvořit komunikační prostředí, aniž byste museli porozumět interní implementaci služby WebRTC. Tyto koncepty vám ale můžou pomoct při návrhu aplikace:

Systémový Function Protokoly Model accessu
Řídicí rovina Řídí, kdo komunikuje, kdy a jak REST Přihlašovací údaje služby Microsoft Entra
Rovina dat Obsahuje komunikační obsah, hlas, video, text a data, která jsou v rozhraní s lidmi a aplikacemi. UDP, RTMP, WebSockets, REST Přístupové tokeny uživatele a přihlašovací údaje služby Microsoft Entra

K běžnému toku dat dochází v případě, že klientské aplikace zahájí komunikaci vyžádáním informací o řízení ze kontroleru služby:

  • Jaké schůzky mám dnes?
  • Jaké telefonní číslo používám k volání mého přítele Josepha?
  • Jaké jsou jména mých členů týmu? Jaké probíhající vlákna chatu máme?

Vaše řídicí služba tyto požadavky splňuje tím, že klientům poskytuje tokeny a identifikátory komunikačních služeb pro uživatele, vlákna, telefonní čísla a volání. Klienti pak tyto tokeny a identifikátory používají k interakci s rovinou dat Azure. Rozhraní API komunikačních služeb neomezují návrh prostředí koncového uživatele ani procesů, které řídí komunikaci.

Ve standardu WebRTC klienti požadují informace o řízení ze služeb odesláním řídicích zpráv v procesu známém jako signalizační. Identifikátory komunikačních služeb, jako je ID volání, jsou srovnatelné s popisy relací WebRTC.

Uživatelé ověření prostřednictvím přístupových tokenů uživatele

Klienti komunikačních služeb prezentují přístupové tokeny uživatelů s vylepšeným zabezpečením, rovinou dat volání a chatu v Azure. Tokeny přístupu uživatelů byste měli generovat a spravovat pomocí důvěryhodné služby. Token a připojovací řetězec nebo tajné kódy Microsoft Entra, které jsou nezbytné k jejich vygenerování, musí být chráněny. Selhání správné správy přístupových tokenů může vést k dalším poplatkům kvůli zneužití prostředků.

Diagram that shows the user access token architecture.

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. Uživatel spustí klientskou aplikaci.
  2. Klientská aplikace kontaktuje vaši službu správy identit. Služba správy identit udržuje mapování mezi identitami aplikací a identitami komunikačních služeb. (Identity aplikací zahrnují uživatele a další adresovatelné objekty, jako jsou služby nebo roboti.)
  3. Služba správy identit používá mapování k vydání přístupového tokenu uživatele pro příslušnou identitu.

Aplikace Azure Služba nebo Azure Functions jsou dvě alternativy pro provoz služby správy identit. Tyto služby se snadno škálují a mají integrované funkce pro ověřování uživatelů. Jsou integrované s OpenID a poskytovateli identity třetích stran, jako je Facebook.

Zdroje informací

Uživatel volá aplikaci nebo telefonní číslo.

Nejjednodušší scénář hlasového volání a videohovoru zahrnuje volání jiného uživatele v popředí bez nabízených oznámení. Hlasové hovory a videohovory komunikačních služeb můžete integrovat do webových, nativních mobilních a desktopových aplikací pro Windows. Opensourcová knihovna uživatelského rozhraní vám může pomoct zrychlit vývoj.

Diagram that shows Communication Services calling without push notifications.

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. Iniciující uživatel získá identitu komunikační služby osoby, které chce zavolat. V typickém scénáři získá uživatel identitu ze seznamu přátel, který udržuje služba správy identit. Seznam shromáždí přátele uživatele a přidružené identity komunikačních služeb.
  2. Iniciující uživatel spustí klienta volání a zavolá vzdáleného uživatele.
  3. Přijímající uživatel obdrží oznámení o příchozím hovoru prostřednictvím volající sady SDK. Pokud chcete přijímat příchozí hovory, musí být příjemce již inicializován klientem volání.
  4. Uživatelé spolu komunikují hlasem a videem v hovoru.

Tok dat je téměř stejný, když uživatel zavolá externí telefonní číslo. Hlavní rozdíl spočívá v tom, že pro přístup k tradiční telefonii musí iniciační klient uživatele požadovat zdrojová a cílová telefonní čísla ze služby kontroleru místo vyžádání identit uživatelů.

V některých situacích můžete chtít, aby aplikace přijímaly hovory na pozadí pomocí služeb platformy, jako je Apple Push Notification. Tuto funkci můžete povolit integrací komunikačních služeb se službou Azure Notification Hubs.

Zdroje informací

Uživatel se připojí ke skupinovému hovoru bez pozvánky.

Můžete chtít, aby se uživatelé mohli připojit ke skupinovému hovoru bez explicitní pozvánky. Vaše aplikace může poskytovat trvalý sociální prostor nebo klub , který zahrnuje kanál videohovorů, ke kterému se uživatelé můžou připojit, když chtějí. Tento tok dat zobrazuje volání, které původně vytvořil klient a umožňuje vzdálenému klientovi připojit se bez explicitní pozvánky:

Diagram that shows a call without an invitation.

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. Inicializace uživatele inicializuje klienta volání a provede skupinové volání.
  2. Iniciující uživatel sdílí ID volání skupiny se službou komunikačního kontroleru.
  3. Služba komunikačního kontroleru sdílí ID volání s ostatními uživateli. Pokud například aplikace poskytuje uživatelské kluby, ID volání skupiny je atributem datového modelu klubu, který je uložený ve službě Azure Cosmos DB.
  4. Ostatní uživatelé se k hovoru připojí pomocí ID volání skupiny.
  5. Uživatelé spolu komunikují hlasem a videem v hovoru.

Microsoft 365 a Teams

Mnoho organizací používá k komunikaci Microsoft 365 a Teams. Komunikační služby a Teams jsou interoperabilní, což umožňuje tyto scénáře:

  • Vytvořte vlastní aplikaci, která externímu uživateli umožní připojit se ke schůzce Teams. Tento scénář je ideální pro scénáře virtuální návštěvy, kdy firma, která používá Teams, hostuje schůzku pro externí uživatele, kteří používají vlastní aplikaci a vlastní identitu. Další informace o tomto scénáři najdete v kurzu o virtuálních návštěvách a ukázkovém Tvůrci.
  • Vytvořte vlastní aplikaci pro interního uživatele pomocí přihlašovacích údajů Teams / Microsoft Entra. Tento scénář je určený pro vytváření vlastních klientů Teams pro zaměstnance.

Tyto vlastní scénáře aplikací používají rozhraní Microsoft Graph API a komunikační služby. Při vytváření externích aplikací a služeb, které se připojují k Teams, obecně používáte Microsoft Graph jako řídicí rovinu Teams. Pomocí této řídicí roviny můžete nakonfigurovat, kdo komunikuje a jak a jak a kdy komunikují pomocí rozhraní API pro:

Informace z těchto řídicích rozhraní API, jako je adresa URL schůzky a identifikátor vlákna, slouží k připojení volajících a chatovacích klientů komunikačních služeb k rovině dat Teams.

Teams má také sady SDK pro přidávání vlastních funkcí v rámci prostředí Teams a prostřednictvím obchodu Teams, jako jsou karty, roboti a automatizace. Tyto scénáře jsou nad rámec tohoto článku.

Komunikační služby přímo nepodporují interakce s kanály Teams. Pro vlastní aplikace můžete pomocí rozhraní MICROSOFT Graph Chat a Channel API vytvářet vlastní klienty pro zaměstnance, kteří přistupují ke kanálům.

Aplikace se připojí k naplánovaným voláním Teams.

Aplikace komunikačních služeb se můžou připojit k voláním Teams. Pro externí uživatele potřebuje aplikace odkaz na schůzku Teams. Načítání odkazů se spravuje prostřednictvím rozhraní Microsoft Graph API. Tady je tok dat:

Diagram showing Communication Services architecture for joining a Teams meeting.

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. (1A) Služba kontroleru komunikace naplánuje volání skupiny pomocí rozhraní Microsoft Graph API. V jiném případě použití (1B) uživatelé plánují skupinové hovory pomocí Outlooku nebo Teams.
  2. Služba komunikačního kontroleru sdílí podrobnosti o volání Teams s klienty komunikačních služeb.
  3. Uživatel Teams se obvykle musí připojit k hovoru přes uživatelské rozhraní Teams a umožnit externím uživatelům předávat předvolání předsálí Teams. Tento požadavek ale závisí na konfiguraci tenanta Teams a na konkrétním nastavení schůzky.
  4. Uživatelé komunikačních služeb inicializují klienta volání a připojují se ke schůzce Teams pomocí podrobností přijatých v kroku 2.
  5. Uživatelé vzájemně komunikují hlasem a videem.

Zdroje informací

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další přispěvatelé:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky