Microsoft Teams-felhasználó hozzáadása meglévő híváshoz a Call Automation használatával
Fontos
Az Azure Communication Services ezen funkciója jelenleg előzetes verzióban érhető el.
Az előzetes verziójú API-k és SDK-k szolgáltatásszintű szerződés nélkül érhetők el. Javasoljuk, hogy éles számítási feladatokhoz ne használja őket. Előfordulhat, hogy egyes funkciók nem támogatottak, vagy korlátozott képességekkel rendelkeznek.
További információkért tekintse át a Microsoft Azure Előzetes verzió kiegészítő használati feltételeit.
Ebben a rövid útmutatóban az Azure Communication Services Hívásautomatizálási API-jait használjuk a teams-felhasználók hívásainak hozzáadására, eltávolítására és átvitelére.
Előfeltételek
- Az aktív előfizetéssel rendelkező Azure-fiókról további információt a Fiók létrehozása ingyenesen című témakörben talál.
- Egy Microsoft Teams Telefon licenc és egy rendszergazdai jogosultságokkal rendelkező Teams-bérlő. A Teams Phone-licenc kötelező a funkció használatához, itt talál további információt a Teams-licencekről. A Microsoft Teams-felhasználót is engedélyezni kell
voice
, lásd a telefonos rendszer beállítását. Rendszergazdai jogosultságokra van szükség ahhoz, hogy a Communication Services-erőforrás meghívhassa a Teams-felhasználókat, ezt az 1. lépés későbbi részében ismertetjük. - Üzembe helyezett kommunikációs szolgáltatás-erőforrás és érvényes kapcsolati sztring található az Azure Portal bal oldali menüjének Kulcsok elemével.
- PSTN-telefonszám beszerzése a Kommunikációs szolgáltatás erőforrásból. Jegyezze fel az ebben a rövid útmutatóban használt telefonszámot.
- Egy Azure Event Grid-előfizetés az esemény fogadásához
IncomingCall
. - A legújabb Azure Communication Service Call Automation API-kódtár az operációs rendszerhez.
- A Call Automation API-kódtárat implementáló webszolgáltatás kövesse ezt az oktatóanyagot.
1. lépés: Az Azure Communication Services-erőforrás engedélyezése a Microsoft Teams-felhasználókhoz való hívás engedélyezéséhez
A Hívásautomatizálási API-k használatával történő hívás engedélyezéséhez a Microsoft Teams rendszergazdájának vagy globális rendszergazdájának explicit módon engedélyeznie kell a Communication Services-erőforrások hozzáférését a bérlőhöz a hívás engedélyezéséhez.
Set-CsTeamsAcsFederationConfiguration (MicrosoftTeamsPowerShell) Bérlői szintű beállítás, amely engedélyezi vagy letiltja az összevonást a bérlő és az adott Communication Services-erőforrások között.
Set-CsExternalAccessPolicy (SkypeForBusiness) Felhasználói szabályzat, amely lehetővé teszi a rendszergazda számára, hogy tovább szabályozza, hogy a szervezet mely felhasználói vehetnek részt a Communication Services felhasználóival folytatott összevont kommunikációban.
2. lépés: A Graph API használatával lekérheti a Microsoft Entra objektumazonosítóját a Teams-felhasználók számára, és opcionálisan ellenőrizheti a jelenlétüket
A Teams-felhasználó Microsoft Entra-objektumazonosítójának (OID) megadása szükséges ahhoz, hogy hozzáadja vagy átvihesse őket egy Communication Services-hívásból. Az OID lekérhető az 1) Office Portalon, 2) Microsoft Entra felügyeleti központban, 3) Microsoft Entra Connect; vagy 4) Graph API. Az alábbi példa a Graph API-t használja.
A Microsoft Entra rendszergazdájának nagy hozzájárulást kell adnia ahhoz, hogy a Graph használható legyen a felhasználók keresésére. További információt a Microsoft Graph Biztonsági API áttekintő dokumentumában talál. Az OID a listafelhasználói API-val kérhető le a felhasználók kereséséhez. Az alábbi példában megjelenítendő név szerinti keresés látható, de más tulajdonságokat is kereshet:
Felhasználók listázása a Microsoft Graph 1.0-s verzióval:
Request:
https://graph.microsoft.com/v1.0/users?$search="displayName:Art Anderson"
Permissions:
Application and delegated. Refer to documentation.
Response:
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
"value": [
{
"displayName": "Art Anderson",
"mail": "artanderson@contoso.com",
"id": "fc4ccb5f-8046-4812-803f-6c344a5d1560"
}
A felhasználó jelenléti adatai a get presence API és a felhasználói ObjectId használatával kérhetők le. További információ a Microsoft Graph 1.0-s verziójának dokumentációjában.
Request:
https://graph.microsoft.com/v1.0/users/fc4ccb5f-8046-4812-803f-6c344a5d1560/presence
Permissions:
Delegated only. Application not supported. Refer to documentation.
Response:
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('fc4ccb5f-8046-4812-803f-6c344a5d1560')/presence/$entity",
"id": "fc4ccb5f-8046-4812-803f-6c344a5d1560",
"availability": "Offline",
"activity": "Offline"
3. lépés: Teams-felhasználó hozzáadása egy meglévő Communication Services-híváshoz, amelyet a Call Automation API-k vezérelnek
El kell végeznie az előfeltétel-lépést, és rendelkeznie kell egy webszolgáltatás-alkalmazással a Communication Services-hívások vezérléséhez. A callConnection objektum használatával vegyen fel egy résztvevőt a hívásba.
CallAutomationClient client = new CallAutomationClient('<Connection_String>');
AnswerCallResult answer = await client.AnswerCallAsync(incomingCallContext, new Uri('<Callback_URI>'));
await answer.Value.CallConnection.AddParticipantAsync(
new CallInvite(new MicrosoftTeamsUserIdentifier('<Teams_User_Guid>'))
{
SourceDisplayName = "Jack (Contoso Tech Support)"
});
CallAutomationClient client = new CallAutomationClientBuilder().connectionString("<resource_connection_string>").buildClient();
AnswerCallResult answer = client.answerCall(incomingCallContext, "<Callback_URI>"));
answer.getCallConnection().addParticipant(
new CallInvite(new MicrosoftTeamsUserIdentifier("<Teams_User_Guid>"))
.setSourceDisplayName("Jack (Contoso Tech Support)"));
const client = new CallAutomationClient("<resource_connection_string>");
const answer = await client.answerCall(incomingCallContext, "<Callback_URI>"));
answer.callConnection.addParticipant({
targetParticipant: { microsoftTeamsUserId: "<Teams_User_Guid>" },
sourceDisplayName: "Jack (Contoso Tech Support)"
});
call_automation_client = CallAutomationClient.from_connection_string("<resource_connection_string>")
answer = call_automation_client.answer_call(incoming_call_context = incoming_call_context, callback_url = "<Callback_URI>")
call_connection_client = call_automation_client.get_call_connection(answer.call_connection_id)
call_connection_client.add_participant(target_participant = CallInvite(
target = MicrosoftTeamsUserIdentifier(user_id="<USER_ID>"),
source_display_name = "Jack (Contoso Tech Support)"))
Az asztali Microsoft Teams-ügyfélen Jack hívása egy bejövő bejelentési értesítésen keresztül érkezik a Microsoft Teams-felhasználónak.
Miután a Microsoft Teams-felhasználó elfogadta a hívást, a Microsoft Teams-felhasználó hívás közbeni felülete megjeleníti az összes résztvevőt a Microsoft Teams-névsoron. A Hívásautomatizálási API használatával a hívást kezelő alkalmazás továbbra is rejtve marad a Teams-felhasználó számára a hívási képernyőn.
4. lépés: Teams-felhasználó eltávolítása egy meglévő Communication Services-hívásból, amelyet a Call Automation API-k vezérelnek
await answer.Value.CallConnection.RemoveParticipantAsync(new MicrosoftTeamsUserIdentifier('<Teams_User_Guid>'));
answer.getCallConnection().removeParticipant(new MicrosoftTeamsUserIdentifier("<Teams_User_Guid>"));
answer.callConnection.removeParticipant({ microsoftTeamsUserId: "<Teams_User_Guid>" });
call_connection_client.remove_participant(target_participant = MicrosoftTeamsUserIdentifier(user_id="<USER_ID>"))
Választható funkció: Átvitel Teams-felhasználónak egy meglévő Communication Services-hívásból, amelyet a Call Automation API-k vezérelnek
await answer.Value.CallConnection.TransferCallToParticipantAsync(new MicrosoftTeamsUserIdentifier('<Teams_User_Guid>'));
answer.getCallConnection().transferCallToParticipant(new MicrosoftTeamsUserIdentifier("<Teams_User_Guid>"));
answer.callConnection.transferCallToParticipant({ microsoftTeamsUserId: "<Teams_User_Guid>" });
call_connection_client.transfer_call_to_participant(target_participant = MicrosoftTeamsUserIdentifier(user_id = "<USER_ID>"))
Az erőforrások eltávolítása
Ha törölni és eltávolítani szeretne egy Communication Services-előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli. További információ az erőforrások tisztításáról.
Következő lépések
- Megtudhatja, hogyan rögzítheti a hívásokat.
- További információ a Hívásautomatizálásról és annak funkcióiról.
- További információ a Teams együttműködési támogatásának lehetőségeiről az Azure Communication Services Call Automation használatával
- További információ a hívás közbeni hang lejátszásához szükséges lejátszási műveletről.
- Megtudhatja, hogyan hozhat létre hívási munkafolyamatot egy ügyfélszolgálati forgatókönyvhöz.