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.
Pobierz plik programu Visio z tą architekturą.
Przepływ danych
- Użytkownik uruchamia aplikację kliencką.
- 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).
- 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
- Koncepcja:Tożsamość użytkownika
- Szybki start: tworzenie tokenów dostępu i zarządzanie nimi
- Samouczek: tworzenie usługi zarządzania tożsamościami przy użyciu usługi Azure Functions
- Przykład: tworzenie usługi zarządzania tożsamościami przy użyciu usługi Azure Functions
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.
Pobierz plik programu Visio z tą architekturą.
Przepływ danych
- 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.
- Użytkownik inicjujący uruchamia klienta wywołania i wywołuje użytkownika zdalnego.
- 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.
- 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
- Koncepcja:Wywoływanie — omówienie
- Concept:UI Library
- Szybki start: dodawanie połączeń głosowych do aplikacji
- Szybki start: dodawanie wywołania wideo do aplikacji
- Przykład: grupowanie wywoływania dla sieci Web, systemów iOS i Android
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:
Pobierz plik programu Visio z tą architekturą.
Przepływ danych
- Użytkownik inicjujący inicjuje klienta Wywołanie i wykonuje wywołanie grupy.
- Użytkownik inicjujący udostępnia identyfikator wywołania grupy za pomocą usługi kontrolera komunikacji.
- 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.
- Inni użytkownicy dołączają do połączenia przy użyciu identyfikatora wywołania grupy.
- 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:
Pobierz plik programu Visio z tą architekturą.
Przepływ danych
- (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.
- Usługa kontrolera komunikacji udostępnia szczegółowe informacje o wywołaniu usługi Teams z klientami usług Communication Services.
- 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.
- 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.
- Użytkownicy komunikują się ze sobą za pośrednictwem głosu i wideo.
Zasoby
- Samouczek i przykładowy konstruktor: wizyty wirtualne
- Koncepcja:Współdziałanie usługi Teams
- Szybki start: dołączanie do spotkania usługi Teams
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Główny autor:
- Chris Palmer | Menedżer produktu grupy głównej
Inni współautorzy:
- Mick Alberts | Składnik zapisywania technicznego
Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Następne kroki
- Co to są usługi komunikacyjne?
- Tworzenie zasobu usług komunikacyjnych
- Dokumentacja referencyjna usług Komunikacyjnych
- Moduł szkoleniowy: Wprowadzenie do usług Azure Communication Services
- Moduł szkoleniowy: tworzenie aplikacji internetowej wywołującej głos za pomocą usług Azure Communication Services