Projektowanie architektury Azure Communication Services

Azure Communication Services
Identyfikator Microsoft Entra
Azure Functions

W tym przewodniku przedstawiono diagramy przepływu danych dla usług Azure Communication Services. Te diagramy umożliwiają zrozumienie sposobu interakcji klientów i usług z platformą Azure w celu dostarczania środowisk komunikacyjnych.

Communication Services to oparta na chmurze usługa z interfejsami API REST i zestawami SDK bibliotek klienta, które ułatwiają integrację komunikacji z aplikacjami. Usługi Communication Services obsługują wiele formatów komunikacji: połączeń głosowych i wideo, czatu tekstowego, wiadomości SMS i niestandardowych danych binarnych.

Możesz dodać komunikację do aplikacji internetowych i mobilnych, zintegrować usługi niestandardowe i boty oraz programowo uzyskać dostęp do publicznej sieci telefonicznej (PSTN). Numery telefonów można uzyskać bezpośrednio z interfejsów API usług Azure Communication Services lub witryny Azure Portal i używać tych numerów dla aplikacji sms lub połączeń głosowych. Korzystając z routingu bezpośredniego usług komunikacyjnych, możesz użyć własnego dostawcy telefonii za pośrednictwem protokołu inicjowania sesji (SIP) i kontrolerów granic sesji.

Następujące składniki są używane na tych diagramach przepływu danych:

  • Aplikacja kliencka. Witryna internetowa lub aplikacja natywna używana przez użytkowników końcowych do komunikacji. Usługi Communication Services udostępniają biblioteki klienta zestawu SDK dla przeglądarek i aplikacji natywnych. Biblioteka interfejsu użytkownika typu open source oparta na tych zestawach SDK udostępnia programowalne składniki interfejsu użytkownika sieci Web (React), iOS i Android.
  • Usługa zarządzania tożsamościami. Usługa, którą tworzysz w celu mapowania użytkowników i usług na tożsamości usług komunikacyjnych. Ta usługa tworzy również tokeny dla użytkowników, którzy muszą uzyskać dostęp do płaszczyzny danych.
  • Usługa kontrolera komunikacji. Usługa, którą tworzysz w celu kontrolowania wątków czatu i połączeń głosowych i wideo.
  • Usługa danych komunikacyjnych. Możliwość usługi, którą tworzysz w celu bezpośredniej interakcji z zawartością komunikacji, na przykład wysyłania wiadomości sms i czatu lub odtwarzania dźwięku w połączeniu głosowym.

Standardy branżowe dotyczące komunikacji, takie jak WebRTC, oddzielają komunikację w płaszczyznęsterowania i sygnalizającą oraz płaszczyznę danych. Korzystając z usług Komunikacyjnych, możesz utworzyć środowisko komunikacji bez konieczności zrozumienia wewnętrznej implementacji usługi WebRTC. Te pojęcia mogą jednak pomóc w projektowaniu aplikacji:

System Function Protokoły Model dostępu
Płaszczyzna sterowania Określa, kto komunikuje się, kiedy i jak REST Poświadczenia usługi Entra firmy Microsoft
Płaszczyzna danych Zawiera zawartość komunikacji, głos, wideo, tekst i dane interfejsu z ludźmi i aplikacjami UDP, RTMP, WebSockets, REST Tokeny dostępu użytkowników i poświadczenia usługi Microsoft Entra

Typowy przepływ danych występuje, gdy aplikacje klienckie inicjują komunikację, żądając informacji o kontroli od kontrolera usługi:

  • Jakie spotkania mam dzisiaj?
  • Jakiego numeru telefonu używam, aby zadzwonić do mojego przyjaciela Josepha?
  • Jakie są nazwiska moich kolegów z drużyny? Jakie bieżące wątki czatu mamy?

Usługa kontroli spełnia te żądania, dostarczając klientom tokeny i identyfikatory usług komunikacyjnych dla użytkowników, wątków, numerów telefonów i połączeń. Następnie klienci używają tych tokenów i identyfikatorów do interakcji z płaszczyzną danych platformy Azure. Interfejsy API usług Communication Services nie ograniczają projektowania środowiska użytkownika końcowego ani procesów kontrolujących komunikację.

W standardzie WebRTC klienci żądają informacji o kontroli z usług, wysyłając komunikaty sterujące w procesie znanym jako sygnalizowanie. Identyfikatory usług komunikacyjnych, takie jak identyfikator wywołania, są porównywalne z opisami sesji WebRTC.

Użytkownicy uwierzytelnieni za pośrednictwem tokenów dostępu użytkowników

Klienci usług Komunikacyjnych prezentują tokeny dostępu użytkowników w celu uzyskania dostępu, z ulepszonymi zabezpieczeniami, platformą Azure wywołującą i płaszczyzną danych czatu. Należy wygenerować tokeny dostępu użytkowników i zarządzać nimi przy użyciu zaufanej usługi. Token i wpisy tajne parametry połączenia lub Microsoft Entra, które są niezbędne do ich wygenerowania, muszą być chronione. Niepowodzenie prawidłowego zarządzania tokenami dostępu może spowodować dodatkowe opłaty z powodu nieprawidłowego użycia zasobów.

Diagram that shows the user access token architecture.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Użytkownik uruchamia aplikację kliencką.
  2. Aplikacja kliencka kontaktuje się z usługą zarządzania tożsamościami. Usługa zarządzania tożsamościami obsługuje mapowanie tożsamości między tożsamościami aplikacji i tożsamościami usług komunikacyjnych. (Tożsamości aplikacji obejmują użytkowników i inne obiekty adresowalne, takie jak usługi lub boty).
  3. Usługa zarządzania tożsamościami używa mapowania w celu wystawienia tokenu dostępu użytkownika dla odpowiedniej tożsamości.

aplikacja systemu Azure Service lub Azure Functions to dwie alternatywy dla obsługi usługi zarządzania tożsamościami. Te usługi można łatwo skalować i mieć wbudowane funkcje do uwierzytelniania użytkowników. Są one zintegrowane z dostawcami tożsamości openID i dostawcami tożsamości innych firm, takimi jak Facebook.

Zasoby

Użytkownik wywołuje aplikację lub numer telefonu

Najprostszy scenariusz połączeń głosowych i wideo obejmuje użytkownika wywołującego innego użytkownika na pierwszym planie bez powiadomień wypychanych. Możesz zintegrować połączenia głosowe i wideo usług Communication Services z aplikacjami internetowymi, natywnymi aplikacjami mobilnymi i klasycznymi systemu Windows. Biblioteka interfejsu użytkownika typu open source może pomóc w przyspieszeniu opracowywania.

Diagram that shows Communication Services calling without push notifications.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Użytkownik inicjujący uzyskuje tożsamość usług komunikacyjnych osoby, którą chce wywołać. W typowym scenariuszu użytkownik pobiera tożsamość z listy znajomych, która jest utrzymywana przez usługę zarządzania tożsamościami. Lista umożliwia sortowanie znajomych użytkownika i skojarzonych tożsamości usług komunikacyjnych.
  2. Użytkownik inicjujący uruchamia klienta wywołania i wywołuje użytkownika zdalnego.
  3. Akceptowany użytkownik jest powiadamiany o wywołaniu przychodzącym za pośrednictwem zestawu Sdk wywołującego. Aby odbierać połączenia przychodzące, element akceptujący musi już zainicjować klienta połączenia.
  4. Użytkownicy komunikują się ze sobą za pośrednictwem połączenia głosowego i wideo.

Przepływ danych jest prawie identyczny, gdy użytkownik wywołuje zewnętrzny numer telefonu. Kluczową różnicą jest to, że aby uzyskać dostęp do tradycyjnej telefonii, inicjowanie klienta użytkownika musi zażądać źródłowych i docelowych numerów telefonów z usługi kontrolera, zamiast żądać tożsamości użytkowników.

W niektórych sytuacjach możesz chcieć, aby aplikacje akceptowały wywołania w tle przy użyciu usług platformy, takich jak Apple Push Notification. Tę funkcję można włączyć, integrując usługi Communication Services z usługą Azure Notification Hubs.

Zasoby

Użytkownik dołącza do połączenia grupowego bez zaproszenia

Możesz chcieć, aby użytkownicy mogli dołączyć do wywołania grupy bez jawnego zaproszenia. Twoja aplikacja może zapewnić stałą przestrzeń społecznościową lub klub , który zawiera kanał rozmów wideo, do którego użytkownicy mogą dołączyć, gdy chcą. Ten przepływ danych pokazuje wywołanie, które jest początkowo tworzone przez klienta i umożliwia klientowi zdalnemu dołączanie bez jawnego zaproszenia:

Diagram that shows a call without an invitation.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Użytkownik inicjujący inicjuje klienta Wywołanie i wykonuje wywołanie grupy.
  2. Użytkownik inicjujący udostępnia identyfikator wywołania grupy za pomocą usługi kontrolera komunikacji.
  3. Usługa kontrolera komunikacji udostępnia identyfikator wywołania innym użytkownikom. Jeśli na przykład aplikacja udostępnia kluby użytkowników, identyfikator wywołania grupy jest atrybutem modelu danych klubu przechowywanego w usłudze Azure Cosmos DB.
  4. Inni użytkownicy dołączają do połączenia przy użyciu identyfikatora wywołania grupy.
  5. Użytkownicy komunikują się ze sobą za pośrednictwem połączenia głosowego i wideo.

Microsoft 365 i Teams

Wiele organizacji używa platformy Microsoft 365 i usługi Teams do komunikacji. Usługi komunikacyjne i zespoły są możliwe do współdziałania, co umożliwia wykonanie następujących scenariuszy:

  • Utwórz aplikację niestandardową, aby umożliwić użytkownikowi zewnętrznemu dołączenie do spotkania usługi Teams. Ten scenariusz jest idealny w scenariuszach z wizytą wirtualną, w których firma korzystająca z usługi Teams hostuje spotkanie dla użytkowników zewnętrznych korzystających z aplikacji niestandardowej i tożsamości niestandardowej. Aby dowiedzieć się więcej na temat tego scenariusza, zobacz Samouczek dotyczący wizyt wirtualnych i przykładowy konstruktor.
  • Utwórz aplikację niestandardową dla użytkownika wewnętrznego przy użyciu poświadczeń usługi Teams/Microsoft Entra. Ten scenariusz jest przeznaczony do tworzenia niestandardowych klientów usługi Teams dla pracowników.

Te scenariusze aplikacji niestandardowych używają interfejsów API programu Microsoft Graph i usług komunikacyjnych . Podczas tworzenia zewnętrznych aplikacji i usług łączących się z usługą Teams zazwyczaj używasz programu Microsoft Graph jako płaszczyzny sterowania usługi Teams. Ta płaszczyzna sterowania służy do konfigurowania, kto komunikuje się i jak i kiedy komunikuje się przy użyciu interfejsów API dla:

Informacje z tych interfejsów API sterowania, takie jak adres URL spotkania i identyfikator wątku, służą do łączenia klientów rozmów i czatów usług Komunikacyjnych z płaszczyzną danych usługi Teams.

Usługa Teams ma również zestawy SDK do dodawania niestandardowych funkcji w środowiskach usługi Teams i za pośrednictwem sklepu Teams, takich jak karty, boty i automatyzacja. Te scenariusze wykraczają poza zakres tego artykułu.

Usługi komunikacyjne nie obsługują bezpośrednio interakcji z kanałami usługi Teams. W przypadku aplikacji niestandardowych można używać interfejsów API czatu i kanału programu Microsoft Graph do tworzenia niestandardowych klientów dla pracowników, którzy uzyskują dostęp do kanałów.

Aplikacja dołącza zaplanowane wywołanie usługi Teams

Aplikacje usług komunikacyjnych mogą dołączać do wywołań usługi Teams. W przypadku użytkowników zewnętrznych aplikacja musi mieć link do spotkania usługi Teams. Pobieranie linków jest zarządzane za pośrednictwem interfejsów API programu Microsoft Graph. Oto przepływ danych:

Diagram showing Communication Services architecture for joining a Teams meeting.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. (1A) Usługa kontrolera komunikacji planuje wywołanie grupy przy użyciu interfejsu API programu Microsoft Graph. W innym przypadku użycia (1B) użytkownicy planują wywołanie grupy przy użyciu programu Outlook lub Teams.
  2. Usługa kontrolera komunikacji udostępnia szczegółowe informacje o wywołaniu usługi Teams z klientami usług Communication Services.
  3. Zazwyczaj użytkownik usługi Teams musi dołączyć do połączenia za pośrednictwem interfejsu użytkownika usługi Teams i zezwolić użytkownikom zewnętrznym na przejście przez lobby przed wywołaniem usługi Teams. Jednak to wymaganie zależy od konfiguracji dzierżawy usługi Teams i określonych ustawień spotkania.
  4. Użytkownicy usług Communication Services inicjują klienta połączenia i dołączają do spotkania usługi Teams przy użyciu szczegółów odebranych w kroku 2.
  5. Użytkownicy komunikują się ze sobą za pośrednictwem głosu i wideo.

Zasoby

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Inni współautorzy:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki