Teams 互通性: 通話
重要
本文所述的功能目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議用於處理生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
在此預覽版中,Azure 通訊服務 SDK 可用來建置應用程式,讓自備身分識別 (BYOI) 使用者能與 Teams 使用者開始 1:1 通話。 標準 Azure 通訊服務定價 適用於這些使用者,但互通性功能不需要額外費用。 使用 Azure 通訊服務所建置的自訂應用程式可讓終端使用者或 Bot 使用,以與 Teams 使用者或 Teams 語音應用程式連線及通訊,除非應用程式開發人員以顯示名稱明確指出,否則在 Teams 應用程式中顯示給 Teams 使用者的方式沒有差異。
若要啟用通訊服務使用者與 Teams 租用戶之間的通話,請透過 表單 允許租用戶並啟用租用戶與通訊服務資源之間的連線。
在您的 Teams 租用戶中啟用互通性
具有 Teams 系統管理員角色 的 Microsoft Entra 使用者可以使用 MicrosoftTeams 模組執行 PowerShell Cmdlet,以啟用租用戶中的通訊服務資源。
1.準備 Microsoft Teams 模組
首先,開啟 PowerShell,並使用下列命令驗證 Teams 模組是否存在:
Get-module *teams*
如果您沒有看到 MicrosoftTeams
模組,請先加以安裝。 若要安裝模組,您必須以系統管理員身分執行 PowerShell。 然後執行下列命令:
Install-Module -Name MicrosoftTeams
系統會通知您將要安裝的模組,您可以用 Y
或 A
答案進行確認。 如果模組已安裝但已過期,您可以執行下列命令來更新模組:
Update-Module MicrosoftTeams
2.連線至 Microsoft Teams 模組
安裝模組並就緒時,您可以使用下列命令連線到 MicrosftTeams 模組。 系統將透過一個互動式視窗提示您登入。 您將使用的使用者帳戶必須具有 Teams 系統管理員權限。 否則,您可能會在下一個步驟中取得 access denied
回應。
Connect-MicrosoftTeams
3.刪除租用戶設定
與通訊服務資源的互通性是透過租用戶設定和指派的原則來控制。 Teams 租用戶具有單一租用戶設定,且 Teams 使用者已指派全域原則或自訂原則。 如需詳細資訊,請參閱 在 Teams 中指派原則。
成功登入之後,您可以執行 Cmdlet Set-CsTeamsAcsFederationConfiguration 以在您的租用戶中啟用通訊服務資源。 以通訊資源中的不可變資源識別碼取代文字 IMMUTABLE_RESOURCE_ID
。 您可以在 這裡 找到如何取得此資訊的詳細資訊。
$allowlist = @('IMMUTABLE_RESOURCE_ID')
Set-CsTeamsAcsFederationConfiguration -EnableAcsUsers $True -AllowedAcsResources $allowlist
4.啟用租用戶原則
每個 Teams 使用者已指派 External Access Policy
,以判斷通訊服務使用者是否可以呼叫此 Teams 使用者。 使用 Cmdlet Set-CsExternalAccessPolicy 以確保指派給 Teams 使用者的原則已將 EnableAcsFederationAccess
設定為 $true
Set-CsExternalAccessPolicy -Identity Global -EnableAcsFederationAccess $true
取得 Teams 使用者識別碼
若要使用 Teams 使用者或 Teams Voice 應用程式啟動通話,您需要目標的識別碼。 您有下列選項可擷取識別碼:
- Microsoft Entra ID 或內部部署目錄同步處理的使用者介面 Microsoft Entra Connect
- 透過 Microsoft Graph API 以程式設計的方式
通話
透過通話 SDK,通訊服務使用者或端點可以與 Teams 使用者開始 1:1 通話,由其 Microsoft Entra 物件識別碼來識別身分。 您可以輕鬆將現有應用程式從呼叫其他通訊服務使用者修改為呼叫 Teams 使用者。
管理呼叫 - Azure 通訊服務操作指南 | Microsoft Docs
使用 communicationUserId 呼叫另一個通訊服務端點:
const acsCallee = { communicationUserId: '<Azure Communication Services User ID>' }
const call = callAgent.startCall([acsCallee]);
使用 microsoftTeamsUserId 呼叫 Teams 使用者:
const teamsCallee = { microsoftTeamsUserId: '<Teams User AAD Object ID>' }
const call = callAgent.startCall([teamsCallee]);
語音和視訊通話事件
通訊服務使用者與 Teams 使用者之間的通話會引發通訊服務語音和視訊通話事件。
限制和已知問題
- 這項功能目前無法在 .NET 通話 SDK 中使用。
- Teams 使用者必須處於「TeamsOnly」模式。 商務用 Skype 使用者無法接收來自通訊服務使用者的 1:1 通話。
- 不支援升級至群組通話。
- 通訊服務通話錄音不適用於 1:1 通話。
- 不支援進階通話路由功能,例如通話轉接、群組通話接聽、同時撥打和語音信箱。
- Teams 使用者無法將通訊服務使用者設定為轉接目標。
- 在與通訊服務使用者進行 1:1 通話期間,Teams 用戶端中有一些功能未如預期般運作。
- 不支援第三方 Teams 裝置 和 Skype IP 電話。
隱私權
Azure 通訊服務與 Microsoft Teams 之間的互通性可讓您的應用程式和使用者參與 Teams 通話和會議。 在 Teams 通話或會議中啟用錄製或轉錄功能時, 貴用戶有責任通知 貴用戶的應用程式使用者。
Microsoft 會透過 Azure 通訊服務 API 指出錄製或轉譯已經開始。 您必須即時將此事實傳達給應用程式使用者介面內的使用者。 您同意針對因您未遵守此義務而造成的所有成本和損害對 Microsoft 進行補償。