Sdílet prostřednictvím


Podpora služeb Azure Communication Services pro identity Teams – Případy použití

Microsoft Teams poskytuje identity spravované id Microsoft Entra a prostředí volání řízená Centrem pro správu Teams a zásadami. Uživatelé můžou mít přiřazené licence k povolení telefonních hovorů a pokročilých možností volání Telefon v Microsoft Teams. Podpora služeb Azure Communication Services pro identity Teams umožňuje spravovat hovory přes IP adresy (VoIP), telefonní hovory Teams a připojovat se ke schůzkám Teams. Vývojáři můžou rozšířit službu Azure Communication Services pomocí rozhraní Graph API, aby poskytovali kontextová data z ekosystému Microsoftu 365. Tato stránka poskytuje inspiraci, jak pomocí stávajících technologií Microsoftu poskytnout ucelené prostředí pro volání scénářů s uživateli Teams a sadami SDK pro volání do Azure Communication Services.

Případ použití 1: Volání do veřejné telefonní sítě v Teams pro odchozí spojení

Tento scénář ukazuje případ použití s více tenanty, kdy společnost Contoso poskytuje Společnosti Fabrikam SaaS. SaaS umožňuje uživatelům společnosti Fabrikam volat přes vlastní web, který přebírá identitu uživatele Teams a konfiguraci připojení k veřejné telefonní síti přiřazené tomuto uživateli Teams.

Diagram znázorňuje uživatelské prostředí Alice, která provádí telefonní hovor teams zákazníkovi Megan.

Následující sekvenční diagram znázorňuje podrobné kroky zahájení telefonního hovoru v Teams:

Sekvenční diagram popisuje podrobnou sadu kroků, ke kterým dojde při zahájení telefonního hovoru v Teams pomocí služeb Azure Communication Services a Teams.

Kroky

  1. Ověření Alice z Fabrikam v klientské aplikaci společnosti Contoso: Alice používá prohlížeč k otevření webové stránky a ověření společnosti Fabrikam. Další podrobnosti o ověřování pomocí identity Teams najdete. Pokud je ověření úspěšné, Alice se přesměruje na počáteční stránku.
  2. Načtení zákazníků a jejich čísel do veřejné telefonní sítě: Společnost Contoso poskytuje vlastní logiku pro načtení seznamu zákazníků a přidružených telefonních čísel. Tento seznam se vykreslí na úvodní stránce alici.
  3. Zahájit volání Megan: Alice vybere tlačítko pro zahájení volání do veřejné telefonní sítě megan v klientské aplikaci společnosti Contoso. Klientská aplikace používá sadu SDK pro volání služeb Azure Communication Services k poskytování funkce volání. Nejprve vytvoří instanci callAgent, která obsahuje přístupový token služby Azure Communication Services získaný během prvního kroku.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Pak musíte zahájit hovor na telefonní číslo Megan.

const pstnCallee = { phoneNumber: '<MEGAN_PHONE_NUMBER_E164_FORMAT>' }
const oneToOneCall = callAgent.startCall([pstnCallee], { threadId: '00000000-0000-0000-0000-000000000000' });
  1. Připojení volání do veřejné telefonní sítě k Megan: Hovor je směrován přes telefonní připojení Teams přiřazené Alice, do sítě veřejné telefonní sítě a vyzvánění telefonu přidruženého k zadanému telefonnímu číslu. Megan uvidí příchozí hovor z telefonního čísla přidruženého k uživateli Teams Alice.
  2. Megans přijme hovor: Megan přijme hovor a spojení mezi Alice a Megan je vytvořeno.

Případ použití 2: Příjem příchozího telefonního hovoru v Teams

Tento scénář ukazuje případ použití s více tenanty, kdy společnost Contoso poskytuje Společnosti Fabrikam SaaS. SaaS umožňuje uživatelům společnosti Fabrikam přijímat telefonní hovor Přes vlastní web, který přebírá identitu uživatele Teams a konfiguraci připojení k veřejné telefonní síti přiřazené danému uživateli Teams.

Diagram znázorňuje uživatelské prostředí Alice, která přijímá telefonní hovor Teams od zákazníka Megan.

Následující sekvenční diagram znázorňuje podrobné kroky pro příjem příchozích telefonních hovorů v Teams:

Sekvenční diagram popisuje podrobnou sadu kroků, ke kterým dochází při přijímání telefonního hovoru v Teams pomocí služeb Azure Communication Services a Teams.

Kroky

  1. Ověření Alice z Fabrikam v klientské aplikaci společnosti Contoso: Alice používá prohlížeč k otevření webové stránky a ověření společnosti Fabrikam. Další podrobnosti o ověřování pomocí identity Teams najdete. Pokud je ověření úspěšné, Alice se přesměruje na počáteční stránku.
  2. Přihlášení k odběru volání: Klientská aplikace používá sadu SDK pro volání služeb Azure Communication Services k poskytování funkce volání. Nejprve vytvoří instanci callAgent, která obsahuje přístupový token služby Azure Communication Services získaný během prvního kroku.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Pak se přihlásíte k odběru události příchozího hovoru.

const incomingCallHandler = async (args: { teamsIncomingCall: TeamsIncomingCall }) => {
    
    const incomingCall = args.teamsIncomingCall;
    
    // Get information about caller
    var callerInfo = incomingCall.callerInfo
    
    showIncomingCall(callerInfo,incomingCall);
};
callAgent.on('incomingCall', incomingCallHandler);

Metoda showIncomingCall je vlastní metoda společnosti Contoso, která vykreslí uživatelské rozhraní pro označení příchozích volání a dvou tlačítek pro přijetí a odmítnutí hovoru. Pokud vyberete tlačítko Přijmout, použije se následující kód:

// Accept the call
var call = await incomingCall.accept();

Pokud vyberete tlačítko odmítnout, použije se následující kód:

// Reject the call
incomingCall.reject();
  1. Megan start je hovor na číslo veřejné telefonní sítě přiřazené uživateli Teams Alice: Megan používá svůj telefon k volání Alice. Síť operátora se připojí k telefonnímu připojení Teams přiřazené Alici a bude vyzvánět všechny koncové body Teams zaregistrované pro Alice. Zahrnuje: Desktopové, mobilní, webové klienty a aplikace Teams založené na sadě SDK pro volání služeb Azure Communication Services.
  2. Klientská aplikace společnosti Contoso zobrazuje příchozí hovor Megan: Klientská aplikace přijímá oznámení o příchozím hovoru. Metoda showIncomingCall by použila vlastní logiku společnosti Contoso k překladu telefonního čísla na jméno zákazníka (například databáze, která ukládá páry klíč-hodnota skládající se z telefonního čísla a jména zákazníka). Po načtení informací se oznámení zobrazí Alice v klientské aplikaci společnosti Contoso.
  3. Alice přijme hovor: Alice vybere tlačítko pro přijetí hovoru a spojení mezi Alice a Megan se vytvoří.

Případ použití 3: Uskutečnění odchozího volání VoIP v Teams

Tento scénář ukazuje případ použití s více tenanty, kdy společnost Contoso poskytuje Společnosti Fabrikam SaaS. SaaS umožňuje uživatelům společnosti Fabrikam volat teams VoIP prostřednictvím vlastního webu, který přebírá identitu uživatele Teams.

Diagram znázorňuje uživatelské prostředí Alice, která volá teams VoIP kolegovi Meganovi.

Následující sekvenční diagram znázorňuje podrobné kroky pro zahájení volání VoIP v Teams:

Sekvenční diagram popisuje podrobnou sadu kroků, ke kterým dojde při zahájení volání VoIP teams pomocí služeb Azure Communication Services a Teams.

Kroky

  1. Ověření Alice z Fabrikam v klientské aplikaci společnosti Contoso: Alice používá prohlížeč k otevření webové stránky a ověření společnosti Fabrikam. Další podrobnosti o ověřování pomocí identity Teams najdete. Pokud je ověření úspěšné, Alice se přesměruje na počáteční stránku.
  2. Načtení uživatelů z organizace společnosti Fabrikam a jejich identifikátorů: Klientská aplikace Contoso využívá rozhraní Graph API k získání seznamu uživatelů z tenanta společnosti Fabrikam. Alice nebo její správce musí k provedení této akce udělit souhlas s rozhraním Graph API. Další informace o příkazu Graph API najdete v dokumentaci.
GET https://graph.microsoft.com/v1.0/users
Permissions: User.ReadBasic.All (delegated)
Response: response.body.value[1].displayName; // ”Megan Bowen”
	  response.body.value[1].id; // "e8b753b5-4117-464e-9a08-713e1ff266b3"

Klientská aplikace společnosti Contoso pak zobrazí seznam uživatelů a možnost zahájit volání daného uživatele.

  1. Zahájit volání Megan: Alice vybere tlačítko pro zahájení volání Aplikace Teams VoIP megan v klientské aplikaci společnosti Contoso. Klientská aplikace používá sadu SDK pro volání služeb Azure Communication Services k poskytování funkce volání. Hovory v klientech Teams jsou přidružené k chatu Teams. Nejprve aplikace požádá o vytvoření vyhrazeného chatu pro volání VoIP.
POST https://graph.microsoft.com/v1.0/chats
Body:
{
    "chatType": "oneOnOne",
    "members": [
        {
            "@odata.type": "#microsoft.graph.aadUserConversationMember",
            "roles": [
                "owner"
            ],
            "user@odata.bind": "https://graph.microsoft.com/v1.0/users('8c0a1a67-50ce-4114-bb6c-da9c5dbcf6ca')"
        },
        {
            "@odata.type": "#microsoft.graph.aadUserConversationMember",
            "roles": [
                "owner"
            ],
            "user@odata.bind": "https://graph.microsoft.com/v1.0/users('e8b753b5-4117-464e-9a08-713e1ff266b3')"
        }
    ]
}
Permissions: Chat.Create (delegated)
Response: response.body.value.id; // "19:8c0a1a67-50ce-4114-bb6c-da9c5dbcf6ca_e8b753b5-4117-464e-9a08-713e1ff266b3@unq.gbl.spaces"

Potom klientská aplikace vytvoří instanci callAgent, která obsahuje přístupový token služby Azure Communication Services získaný během prvního kroku.

const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Pak začnete volat MEGAN's Teams ID.

var teamsUser = { microsoftTeamsUserId: 'e8b753b5-4117-464e-9a08-713e1ff266b3'};
const oneToOneCall = callAgent.startCall([teamsUser], { threadId: '19:8c0a1a67-50ce-4114-bb6c-da9c5dbcf6ca_e8b753b5-4117-464e-9a08-713e1ff266b3@unq.gbl.spaces' });
  1. Připojení volání VoIP k Megan: Hovor se směruje přes Teams a vyzvánění klientů Teams přidružených k Megan. Megan uvidí příchozí hovor od Alice s názvem definovaným v ID Microsoft Entra.
  2. Megans přijme hovor: Megan přijme hovor a spojení mezi Alice a Megan je vytvořeno.

Případ použití 4: Příjem příchozích volání VoIP v Teams

Tento scénář ukazuje případ použití s více tenanty, kdy společnost Contoso poskytuje Společnosti Fabrikam SaaS. SaaS umožňuje uživatelům společnosti Fabrikam přijímat volání VoIP teams prostřednictvím vlastního webu, který přebírá identitu uživatele Teams a používá zásady směrování použité pro uživatele Teams.

Diagram znázorňuje uživatelské prostředí Alice, která přijímá volání VoIP teams od zákazníka Megan.

Následující sekvenční diagram znázorňuje podrobné kroky pro příjem příchozích volání VoIP v Teams:

Sekvenční diagram popisuje podrobnou sadu kroků, ke kterým dochází při přijímání volání VoIP teams pomocí Azure Communication Services. Graph API a Teams.

Kroky

  1. Ověření Alice z Fabrikam v klientské aplikaci společnosti Contoso: Alice používá prohlížeč k otevření webové stránky a ověření společnosti Fabrikam. Další podrobnosti o ověřování pomocí identity Teams najdete. Pokud je ověření úspěšné, Alice se přesměruje na počáteční stránku.
  2. Přihlášení k odběru volání: Klientská aplikace používá sadu SDK pro volání služeb Azure Communication Services k poskytování funkce volání. Nejprve vytvoří instanci callAgent, která obsahuje přístupový token služby Azure Communication Services získaný během prvního kroku.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Aplikace se pak přihlásí k odběru události příchozího hovoru.

const incomingCallHandler = async (args: { teamsIncomingCall: TeamsIncomingCall }) => {
    
    const incomingCall = args.teamsIncomingCall;
    
    // Get information about caller
    var callerInfo = incomingCall.callerInfo
    
    showIncomingCall(callerInfo,incomingCall);
};
callAgent.on('incomingCall', incomingCallHandler);

Metoda showIncomingCall je vlastní metoda společnosti Contoso, která vykreslí uživatelské rozhraní pro označení příchozích volání a dvou tlačítek pro přijetí a odmítnutí hovoru. Pokud vyberete tlačítko Přijmout, použije se následující kód:

// Accept the call
var call = await incomingCall.accept();

Pokud vyberete tlačítko odmítnout, použije se následující kód:

// Reject the call
incomingCall.reject();
  1. Megan start je volání VoIP pro uživatele Teams Alice: Megan používá svého desktopového klienta Teams k volání Alice. Infrastruktura Teams bude vyzvánět ke všem koncovým bodům přidruženým k Alice. Zahrnuje: Desktopové, mobilní, webové klienty a aplikace Teams založené na sadě SDK pro volání služeb Azure Communication Services.
  2. Klientská aplikace společnosti Contoso zobrazuje příchozí hovor Megan: Klientská aplikace přijímá oznámení o příchozím hovoru. Metoda showIncomingCall by použila rozhraní Graph API k překladu ID uživatele Teams na zobrazované jméno.
GET https://graph.microsoft.com/v1.0/users/e8b753b5-4117-464e-9a08-713e1ff266b3
Permissions: User.Read (delegated)
Response: response.body.value.displayName; // ”Megan Bowen”
	  response.body.value.id; // "e8b753b5-4117-464e-9a08-713e1ff266b3"

Po načtení informací se oznámení zobrazí Alice v klientské aplikaci společnosti Contoso.

  1. Alice přijme hovor: Alice vybere tlačítko pro přijetí hovoru a spojení mezi Alice a Megan se vytvoří.

Případ použití 5: Připojení ke schůzce Teams

Tento scénář ukazuje případ použití s více tenanty, kdy společnost Contoso poskytuje Společnosti Fabrikam SaaS. SaaS umožňuje uživatelům společnosti Fabrikam připojit se ke schůzkám Teams prostřednictvím vlastního webu, který přebírá identitu uživatele Teams.

Diagram znázorňuje uživatelské prostředí Alice, která se připojuje ke schůzce Teams.

Následující sekvenční diagram znázorňuje podrobné kroky pro připojení ke schůzce Teams:

Sekvenční diagram popisuje podrobnou sadu kroků, které se připojování ke schůzce v Teams používají služby Azure Communication Services, Graph API a Teams.

Kroky

  1. Ověření Alice z Fabrikam v klientské aplikaci společnosti Contoso: Alice používá prohlížeč k otevření webové stránky a ověření společnosti Fabrikam. Další podrobnosti o ověřování pomocí identity Teams najdete. Pokud je ověření úspěšné, Alice se přesměruje na počáteční stránku.
  2. Načtení schůzek Teams a jejich identifikátorů: Klientská aplikace Contoso využívá rozhraní Graph API k získání seznamu schůzek Teams pro uživatele společnosti Fabrikam. Alice nebo její správce musí k provedení této akce udělit souhlas s rozhraním Graph API. Další informace o příkazu Graph API najdete v dokumentaci.
GET https://graph.microsoft.com/v1.0/me/calendar/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}
Permissions: Calendars.Read (delegated)
Response: response.body.value[0].subject; // ”Project Tailspin”
	  response.body.value[0].onlineMeeting.joinUrl; // "https://teams.microsoft.com/l/meetup-join/..."
	  response.body.value[0].start.dateTime;
	  response.body.value[0].end.dateTime;
	  response.body.value[0].location.displayName;

Klientská aplikace Contoso pak zobrazí seznam schůzek Teams a možnost se k nim připojit.

  1. Připojit se ke schůzce Teams "Project Tailspin": Alice vybere tlačítko pro připojení ke schůzce Teams Project Tailspin v klientské aplikaci Contoso. Klientská aplikace používá sadu SDK pro volání služeb Azure Communication Services k poskytování funkce volání. Klientské aplikace vytvoří instanci callAgent, která obsahuje přístupový token služby Azure Communication Services získaný během prvního kroku.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Aplikace se pak připojí ke schůzce prostřednictvím přijaté adresy joinUrl.

var meetingLocator = new TeamsMeetingLinkLocator("https://teams.microsoft.com/l/meetup-join/...");
callAgent.startCallJoinAsync(meetingLocator , new JoinCallOptions());

Alice se pak připojí ke schůzce Teams.

  1. Ostatní účastníci, kteří se připojují ke schůzce Teams: Poskytované prostředí je standardní schůzka Teams. Na základě konfigurace a pozvánek se ke schůzce Teams může připojit uživatel Teams, anonymní uživatel Teams pomocí týmového webového klienta, desktopového klienta Teams, mobilního klienta Teams, uživatele Služby Azure Communication Services prostřednictvím aplikací založených na sadě SDK nebo uživatelích komunikačních služeb využívajících telefony.

Další kroky

Následující články vás můžou zajímat: