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.
Az alábbi sorozatdiagram egy Teams-telefonhívás indításának részletes lépéseit mutatja be:
Lépések
- 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.
- Ü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.
- 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' });
- 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.
- 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.
Az alábbi sorozatdiagram a bejövő Teams-telefonhívások fogadásának részletes lépéseit mutatja be:
Lépések
- 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.
- 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();
- 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ó.
- 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.
- 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.
Az alábbi szekvenciadiagram a Teams VoIP-hívások indításának részletes lépéseit mutatja be:
Lépések
- 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.
- 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.
- 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' });
- 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.
- 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.
Az alábbi szekvenciadiagram a bejövő Teams VoIP-hívások fogadásának részletes lépéseit mutatja be:
Lépések
- 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.
- 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();
- 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ó.
- 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.
- 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.
Az alábbi szekvenciadiagram a Teams-értekezletekhez való csatlakozás részletes lépéseit mutatja be:
Lépések
- 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.
- 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.
- 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.
- 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:
- További információ a hitelesítésről.
- Próbálja ki a Teams-felhasználók hitelesítésének rövid útmutatóját.
- Próbáljon meg rövid útmutatót adni egy Teams-felhasználó hívásához.