Megosztás a következőn keresztül:


Az Azure Communication Services támogatása Teams-identitásokhoz – Használati esetek

A Microsoft Teams biztosítja a Microsoft Entra ID által felügyelt identitásokat, valamint a Teams Rendszergazda Center és szabályzatok által felügyelt hívófelületeket. Előfordulhat, hogy a felhasználók licencekkel rendelkeznek a telefonhívások engedélyezéséhez és a Microsoft Teams Telefon speciális hívási képességeihez. Az Azure Communication Services Teams-identitások támogatása lehetővé teszi a Teams hangátviteli ip-hívások, a Teams-telefonhívások és a Teams-értekezletekhez való csatlakozás kezelését. A fejlesztők kibővíthetik az Azure Communication Servicest a Graph API-val, hogy környezeti adatokat nyújtsanak a Microsoft 365 ökoszisztémájából. Ez a lap a meglévő Microsoft-technológiák használatát mutatja be a Teams-felhasználókkal és az Azure Communication Services SDK-kkal való hívási forgatókönyvek végpontok közötti használatához.

1. használati eset: Kimenő Teams PSTN-hívás kezdeményezése

Ebben a forgatókönyvben egy több-bérlős használati eset látható, amelyben a Contoso vállalat SaaS-t biztosít a Fabrikam vállalatnak. Az SaaS lehetővé teszi a Fabrikam felhasználói számára, hogy Teams-telefonhívásokat kezdeményezhessenek egy egyéni webhelyen keresztül, amely felveszi a Teams-felhasználó identitását és az adott Teams-felhasználóhoz rendelt PSTN-kapcsolat konfigurációját.

Diagram is showing user experience of Alice making Teams phone call to customer Megan.

Az alábbi sorozatdiagram egy Teams-telefonhívás indításának részletes lépéseit mutatja be:

Sequence diagram is describing detailed set of steps that happens to initiate a Teams phone call using Azure Communication Services and Teams.

Lépések

  1. Alice hitelesítése a Fabrikamból a Contoso ügyfélalkalmazásában: Alice böngészőt használ a Fabrikam weblapjának megnyitásához és hitelesítéséhez. A Teams-identitással történő hitelesítéssel kapcsolatos további részleteket talál. Ha a hitelesítés sikeres, Alice a kezdeti lapra lesz átirányítva.
  2. Ügyfelek betöltése és PSTN-számaik betöltése: A Contoso egyéni logikát biztosít az ügyfelek listájának és a hozzájuk tartozó telefonszámoknak a lekéréséhez. Ez a lista Alice kezdeti lapján jelenik meg.
  3. Hívás kezdeményezése a Megan felé: Alice kiválaszt egy gombot a Megan psTN-hívásának elindításához a Contoso ügyfélalkalmazásában. Az ügyfélalkalmazás az Azure Communication Services hívó SDK-val biztosítja a hívási képességet. Először létrehozza a callAgent egy példányát, amely az első lépés során beszerzett Azure Communication Services hozzáférési jogkivonatot tartalmazza.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Ezután meg kell hívnia Megan telefonszámát.

const pstnCallee = { phoneNumber: '<MEGAN_PHONE_NUMBER_E164_FORMAT>' }
const oneToOneCall = callAgent.startCall([pstnCallee], { threadId: '00000000-0000-0000-0000-000000000000' });
  1. Csatlakozás PSTN-hívás a Meganhez: A hívás az Alice-hez rendelt Teams-telefonkapcsolaton keresztül, a PSTN-hálózat elérésén és a megadott telefonszámhoz társított telefon csengetésén keresztül történik. Megan egy bejövő hívást lát Alice Teams-felhasználójával társított telefonszámról.
  2. A Megans elfogadja a hívást: Megan elfogadja a hívást, és létrejött a kapcsolat Alice és Megan között.

2. eset: Bejövő Teams-telefonhívás fogadása

Ebben a forgatókönyvben egy több-bérlős használati eset látható, amelyben a Contoso vállalat SaaS-t biztosít a Fabrikam vállalatnak. Az SaaS lehetővé teszi a Fabrikam felhasználói számára, hogy Teams-telefonhívást fogadjanak egy egyéni webhelyen keresztül, amely felveszi a Teams-felhasználó identitását és az adott Teams-felhasználóhoz rendelt PSTN-kapcsolat konfigurációját.

Diagram is showing user experience of Alice receiving Teams phone call from customer Megan.

Az alábbi sorozatdiagram a bejövő Teams-telefonhívások fogadásának részletes lépéseit mutatja be:

Sequence diagram is describing detailed set of steps that happens to receive a Teams phone call using Azure Communication Services and Teams.

Lépések

  1. Alice hitelesítése a Fabrikamból a Contoso ügyfélalkalmazásában: Alice böngészőt használ a Fabrikam weblapjának megnyitásához és hitelesítéséhez. A Teams-identitással történő hitelesítéssel kapcsolatos további részleteket talál. Ha a hitelesítés sikeres, Alice a kezdeti lapra lesz átirányítva.
  2. Feliratkozás hívások fogadására: Az ügyfélalkalmazás az Azure Communication Services hívó SDK-jával biztosítja a hívási képességet. Először létrehozza a callAgent egy példányát, amely az első lépés során beszerzett Azure Communication Services hozzáférési jogkivonatot tartalmazza.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Ezután előfizet a bejövő híváseseményre.

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);

Az IncomingCall metódus egy egyéni Contoso metódus, amely egy felhasználói felületet jelenít meg a bejövő hívások jelzésére, valamint két gombot a hívás elfogadásához és elutasításához. Ha az Elfogadás gombot választja, a rendszer a következő kódot használja:

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

Ha az elutasítás gombot választja, a rendszer a következő kódot használja:

// Reject the call
incomingCall.reject();
  1. Megan start egy hívás a PSTN-szám hozzárendelt Teams-felhasználó Alice: Megan használja a telefonját, hogy hívja Alice. A szolgáltatói hálózat csatlakozik az Alice-hez rendelt Teams-telefonkapcsolathoz, és az Alice-hez regisztrált összes Teams-végpontot megcsengeti. A következőket tartalmazza: Teams asztali, mobil, webes ügyfelek és alkalmazások az Azure Communication Services hívási SDK-ján alapuló.
  2. A Contoso ügyfélalkalmazása megjeleníti a Megan bejövő hívását: Az ügyfélalkalmazás bejövő hívásértesítést kap. A showIncomingCall metódus az egyéni Contoso logikáját használva lefordítja a telefonszámot az ügyfél nevére (például egy olyan adatbázist, amely egy telefonszámból és egy ügyfélnévből álló kulcs-érték párokat tárol). Az információk lekérése után az értesítés megjelenik Alice számára a Contoso ügyfélalkalmazásában.
  3. Alice elfogadja a hívást: Alice kiválaszt egy gombot a hívás elfogadásához, és létrejött a kapcsolat Alice és Megan között.

3. eset: Kimenő Teams VoIP-hívás kezdeményezése

Ebben a forgatókönyvben egy több-bérlős használati eset látható, amelyben a Contoso vállalat SaaS-t biztosít a Fabrikam vállalatnak. Az SaaS lehetővé teszi, hogy a Fabrikam felhasználói Teams VoIP-hívásokat kezdeményezhessenek egy egyéni webhelyen keresztül, amely a Teams-felhasználó identitását veszi át.

Diagram is showing user experience of Alice making Teams VoIP call to colleague Megan.

Az alábbi szekvenciadiagram a Teams VoIP-hívások indításának részletes lépéseit mutatja be:

Sequence diagram is describing detailed set of steps that happens to initiate a Teams VoIP call using Azure Communication Services and Teams.

Lépések

  1. Alice hitelesítése a Fabrikamból a Contoso ügyfélalkalmazásában: Alice böngészőt használ a Fabrikam weblapjának megnyitásához és hitelesítéséhez. A Teams-identitással történő hitelesítéssel kapcsolatos további részleteket talál. Ha a hitelesítés sikeres, Alice a kezdeti lapra lesz átirányítva.
  2. Felhasználók betöltése a Fabrikam szervezetéből és azonosítóikból: A Contoso ügyfélalkalmazás a Graph API használatával lekéri a Fabrikam bérlőjétől származó felhasználók listáját. Alice-nek vagy a Rendszergazda hozzájárulást kell adnia a Graph API-hoz a művelet végrehajtásához. A Graph API-parancsról a dokumentációban talál további információt.
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"

A Contoso ügyfélalkalmazása ezután megjeleníti a felhasználók listáját, valamint azt a képességet, hogy hívást kezdeményezhet egy adott felhasználóhoz.

  1. Hívás kezdeményezése a Meganhez: Alice kiválaszt egy gombot a Teams VoIP-hívás indításához a Meganhez a Contoso ügyfélalkalmazásában. Az ügyfélalkalmazás az Azure Communication Services hívó SDK-val biztosítja a hívási képességet. A Teams-ügyfelek hívásai a Teams-csevegéshez vannak társítva. Először is az alkalmazás egy dedikált csevegés létrehozását kéri a VoIP-híváshoz.
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"

Ezután az ügyfélalkalmazás létrehozza a callAgent egy példányát, amely tartalmazza az első lépés során beszerzett Azure Communication Services hozzáférési jogkivonatot.

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

Ezután elindít egy hívást Megan Teams-azonosítójára.

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. Csatlakozás VoIP-hívás a Megannek: A hívás a Teamsen keresztül történik, és a Meganhez társított Teams-ügyfelek csengetnek. Megan egy bejövő hívást lát Alice-ből a Microsoft Entra-azonosítóban meghatározott névvel.
  2. A Megans elfogadja a hívást: Megan elfogadja a hívást, és létrejött a kapcsolat Alice és Megan között.

4. eset: Bejövő Teams VoIP-hívás fogadása

Ebben a forgatókönyvben egy több-bérlős használati eset látható, amelyben a Contoso vállalat SaaS-t biztosít a Fabrikam vállalatnak. Az SaaS lehetővé teszi a Fabrikam felhasználói számára, hogy Teams VoIP-hívást fogadjanak egy egyéni webhelyen keresztül, amely felveszi a Teams-felhasználó identitását, és alkalmazza a Teams-felhasználóra alkalmazott útválasztási szabályzatokat.

Diagram is showing user experience of Alice receiving Teams VoIP call from customer Megan.

Az alábbi szekvenciadiagram a bejövő Teams VoIP-hívások fogadásának részletes lépéseit mutatja be:

Sequence diagram is describing detailed set of steps that happens to receive a Teams VoIP call using Azure Communication Services. Graph API, and Teams.

Lépések

  1. Alice hitelesítése a Fabrikamból a Contoso ügyfélalkalmazásában: Alice böngészőt használ a Fabrikam weblapjának megnyitásához és hitelesítéséhez. A Teams-identitással történő hitelesítéssel kapcsolatos további részleteket talál. Ha a hitelesítés sikeres, Alice a kezdeti lapra lesz átirányítva.
  2. Feliratkozás hívások fogadására: Az ügyfélalkalmazás az Azure Communication Services hívó SDK-jával biztosítja a hívási képességet. Először létrehozza a callAgent egy példányát, amely az első lépés során beszerzett Azure Communication Services hozzáférési jogkivonatot tárolja.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Ezután az alkalmazás feliratkozik a bejövő híváseseményre.

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);

Az IncomingCall metódus egy egyéni Contoso metódus, amely egy felhasználói felületet jelenít meg a bejövő hívások jelzésére, valamint két gombot a hívás elfogadásához és elutasításához. Ha az Elfogadás gombot választja, a rendszer a következő kódot használja:

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

Ha az elutasítás gombot választja, a rendszer a következő kódot használja:

// Reject the call
incomingCall.reject();
  1. Megan start Egy VoIP-hívás a Teams felhasználójának, Alice-nek: Megan a Teams asztali ügyfélprogramjával hívja fel Alice-t. A Teams-infrastruktúra az Alice-hez társított összes végpontot megcsengeti. A következőket tartalmazza: Teams asztali, mobil, webes ügyfelek és alkalmazások az Azure Communication Services hívási SDK-ján alapuló.
  2. A Contoso ügyfélalkalmazása megjeleníti a Megan bejövő hívását: Az ügyfélalkalmazás bejövő hívásértesítést kap. A showIncomingCall metódus a Graph API használatával fordítaná le a Teams felhasználói azonosítóját a név megjelenítéséhez.
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"

Az információk lekérése után az értesítés megjelenik Alice számára a Contoso ügyfélalkalmazásában.

  1. Alice elfogadja a hívást: Alice kiválaszt egy gombot a hívás elfogadásához, és létrejött a kapcsolat Alice és Megan között.

5. eset: Csatlakozás Teams-értekezlethez

Ebben a forgatókönyvben egy több-bérlős használati eset látható, amelyben a Contoso vállalat SaaS-t biztosít a Fabrikam vállalatnak. Az SaaS lehetővé teszi, hogy a Fabrikam felhasználói egy egyéni webhelyen keresztül csatlakozzanak a Teams-értekezletekhez, amely a Teams-felhasználó identitását veszi át.

Diagram is showing user experience of Alice joining Teams Meeting.

Az alábbi szekvenciadiagram a Teams-értekezletekhez való csatlakozás részletes lépéseit mutatja be:

Sequence diagram is describing detailed set of steps that happens to join a Teams meeting using Azure Communication Services, Graph API, and Teams.

Lépések

  1. Alice hitelesítése a Fabrikamból a Contoso ügyfélalkalmazásában: Alice böngészőt használ a Fabrikam weblapjának megnyitásához és hitelesítéséhez. A Teams-identitással történő hitelesítéssel kapcsolatos további részleteket talál. Ha a hitelesítés sikeres, Alice a kezdeti lapra lesz átirányítva.
  2. Teams-értekezletek és azok azonosítóinak betöltése: A Contoso ügyfélalkalmazás a Graph API használatával lekéri a Teams-értekezletek listáját a Fabrikam felhasználói számára. Alice-nek vagy a Rendszergazda hozzájárulást kell adnia a Graph API-hoz a művelet végrehajtásához. A Graph API-parancsról a dokumentációban talál további információt.
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;

A Contoso ügyfélalkalmazása ezután megjeleníti a Teams-értekezletek listáját és a csatlakozás lehetőségét.

  1. Csatlakozás Teams-értekezlethez "Project Tailspin": Alice kiválaszt egy gombot a Teams-értekezlethez való csatlakozáshoz a Contoso ügyfélalkalmazásában. Az ügyfélalkalmazás az Azure Communication Services hívó SDK-val biztosítja a hívási képességet. Az ügyfélalkalmazások létrehoznak egy callAgent-példányt, amely tartalmazza az első lépés során beszerzett Azure Communication Services hozzáférési jogkivonatot.
const callClient = new CallClient(); 
tokenCredential = new AzureCommunicationTokenCredential('<AlICE_ACCESS_TOKEN>');
callAgent = await callClient.createTeamsCallAgent(tokenCredential)

Ezután az alkalmazás a kapott joinUrl-en keresztül csatlakozik egy értekezlethez.

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

Alice ezután csatlakozik a Teams-értekezlethez.

  1. A Teams-értekezlethez csatlakozó többi résztvevő: A megadott élmény egy szabványos Teams-értekezlet. A konfiguráció és a meghívások alapján a Teams-értekezlethez a Teams-felhasználó, a Teams névtelen felhasználója, a Team webügyfele, a Teams asztali ügyfele, a Teams mobilügyfele, az Azure Communication Services-felhasználó az SDK-t hívó alkalmazásokon, illetve a telefonokat használó felhasználókon keresztül csatlakozhat.

Következő lépések

Az alábbi cikkek érdekelhetik Önt: