Virtual Rooms 概觀
Virtual Rooms 可讓開發人員掌握基本安全性和控制功能,以建置結構完善的通訊體驗,例如虛擬約會和群組通訊。 開發人員可以使用虛擬會議室來進行語音、視訊和 PSTN 通話。 會議室中的安全性和控制可分類如下。
使用者存取安全性和控制會套用至通話參與者、控制誰可以加入通話,以及他們可以在通話期間採取的動作。 例如,在病人與醫生的虛擬看診期間,只有授權的醫院工作人員和患者可以加入通話。 限制參與者可保留病患隱私權,使參與者不超過其指派的角色和權限並中斷進行中的通話。
會議室層級的安全性和控制會套用至通話層級,以控制通話何時可以進行,以及在通話期間提供哪些功能。 例如,學生只有在分配的時間內才獲准加入教室通話,但 PSTN 來電者無法加入相同的教室通話。
Virtual Rooms 中支援的高等級功能
功能 | 在會議室通話中受支援 |
---|---|
語音 (VoIP) | ✔️ |
影片 | ✔️ |
由用戶端起始的撥出至 PSTN 號碼 | ✔️ |
游伺服器起始的撥出至 PSTN 號碼** | ✔️ |
伺服器端通話管理 (通話自動化)* | ✔️ |
PSTN 撥入 | ❌ |
非同步傳訊 (聊天) | ❌ |
與 Microsoft Teams 的互通性 | ❌ |
* 適用於一些例外狀況。 本文件列出支援的 [通話自動化] 功能的完整清單。
** 目前為公開預覽版。
使用 Virtual Rooms 的時機
下表顯示何時使用 Virtual Rooms。
Condition | 使用 Rooms |
---|---|
當控制允許誰加入通話 (僅限邀請體驗) 很重要時。 | ✔️ |
當控制啟動和結束通話的時間很重要時。 | ✔️ |
當需要使用者角色和權限,才能進行妥善管理的通訊。 | ✔️ |
當解決方案需要 Teams 互通性時。* | ❌ |
* 如果解決方案需要 Teams 與 Azure 通訊服務之間的互通性,請使用 Teams 互通性通話
如何在 Virtual Rooms 中進行通話
對於高層級,若要在 Virtual Rooms 中進行通話,您需要建立和管理會議室。 下表說明如何讓參與者從用戶端和伺服器端的呼叫 SDK 加入通話和執行通話內作業。
功能 | ACS SDK | 用戶端與伺服器 SDK | 描述 |
---|---|---|---|
建立和管理 Virtual Rooms | Virtual Rooms SDK | 伺服器 | Virtual Rooms SDK 可讓開發人員建立和管理 Virtual Rooms、新增/移除使用者、指派/更新使用者角色、設定/更新 Virtual Rooms 排程。 開發人員也可以設定安全性限制,例如限制從 Rooms 撥出 PSTN。 |
使用語音、視訊或 PSTN 加入 Virtual Rooms 通話,並執行用戶端起始的通話內作業 | 通話 SDK | 用戶端 | 通話用戶端 SDK 可讓使用者加入 Virtual Rooms 通話,並依照其受指派的使用者角色允許執行用戶端作業。 透過強制執行名冊、排程、使用者角色,以及透過建立和管理 Virtual Rooms 所設定的控制限制,確保 Virtual Rooms 通話的安全性。 開發人員使用用戶端通話 SDK,讓通話參與者能夠執行通話內作業,例如靜音/取消靜音、共用畫面、開啟/關閉視訊,以及撥出給 PSTN 參與者等等。 |
通話中作業的伺服器端管理 | 通話自動化 SDK | 伺服器 | 通話自動化 SDK 可讓開發人員從伺服器端執行通話中作業。 通話中作業包括伺服器起始的撥出至 PSTN 號碼、通話錄音、傳送/接收 DTMF、將公告傳送給特定使用者等等。 由於執行伺服器端的通話中作業與使用者無關,而且由開發人員控制,因此這些動作不會由使用者角色控制。 |
開發人員會使用 Virtual Rooms SDK、通話用戶端 SDK 和通話自動化 SDK 來保護其通話,並觸發通話中的用戶端/伺服器端作業。
功能 | Rooms 伺服器 SDK | 通話用戶端 SDK | 通話自動化伺服器 SDK |
---|---|---|---|
Virtual Rooms 管理: 建立/取得/更新/清單/刪除 Virtual Rooms | ✔️ | ❌ | ❌ |
Virtual Rooms 名冊管理: 將使用者新增/更新/移除至 Virtual Rooms | ✔️ | ❌ | ❌ |
Virtual Rooms 通話參與者權限管理: 指派/更新使用者角色 | ✔️ | ❌ | ❌ |
Virtual Rooms 排程管理: 設定/更新 Virtual Rooms 允許的排程 | ✔️ | ❌ | ❌ |
Virtual Rooms 安全性控制管理: 設定/更新旗標以允許從特定 Virtual Rooms 的 PSTN 撥出 | ✔️ | ❌ | ❌ |
取得受邀加入虛擬會議室的使用者清單 | ✔️ | ❌ | ❌ |
使用者起始 Virtual Rooms 通話或加入進行中的通話 | ❌ | ✔️ | ❌ |
撥出給 PSTN 使用者 | ❌ | ✔️ | ✔️* |
將 VoIP 參與者新增/移除至進行中的通話 | ❌ | ✔️ | ✔️* |
取得加入進行中通話的參與者清單 | ❌ | ✔️ | ✔️* |
啟動/停止通話輔助字幕和變更輔助字幕語言 | ❌ | ✔️ | ❌ |
管理通話錄音 | ❌ | ❌ | ✔️ |
從 PSTN 參與者傳送/接收 DTMF | ❌ | ❌ | ✔️* |
向參與者播放音訊提示 | ❌ | ❌ | ✔️* |
通話用戶端 SDK 提供用戶端通話中作業的完整清單,並說明如何使用它們。
* 目前為公開預覽。
使用通話自動化伺服器 SDK,從伺服器端管理 Virtual Rooms 通話
通話自動化 SDK 可讓開發人員從伺服器端管理 Virtual Rooms 通話,並執行通話中作業。 Virtual Rooms 通話中會逐漸啟用 [通話自動化] 功能。 下表顯示這些功能的目前狀態。 開發人員會從伺服器端管理及控制 [通話自動化] 功能,其運作層級高於通話參與者的權限。 因此,[通話自動化] 功能不是透過使用者角色和權限來控制。
[通話自動化] 功能 | 在會議室通話中受支援 |
---|---|
撥出給 PSTN 參與者 * | ✔️ |
從 PSTN 參與者傳送/讀取 DTMF * | ✔️ |
將公告傳送給特定通話參與者 * | ✔️ |
從進行中的通話新增/移除 VoIP 參與者 | ✔️ |
結束所有使用者的通話 | ✔️ |
通話謄寫 | ❌ |
音訊媒體串流處理 | ❌ |
* 目前為公開預覽。
此圖顯示管理和加入會議室的概念。
使用通話自動化伺服器 SDK 的伺服器起始之 PSTN 撥號
開發人員可以藉由設定 Room-特定 pstnDialoutEnabled 旗標來啟用/停用撥出給 PSTN 參與者的功能。 開發人員為 Room 設定 pstnDialoutEnabled=TRUE 之後,開發人員就可以使用 [通話自動化] 從伺服器端撥出給 PSTN 參與者,而不需要任何用戶端參與。
例如,患者可能會要求即將與醫生進行虛擬看診時的翻譯服務。 在大部分情況下,翻譯服務的電話號碼會透過後端處理程式動態決定。 此伺服器端 PSTN 撥出功能可讓開發人員判斷目標電話號碼、起始通話,並將其新增至病患的虛擬看診通話,而不需要任何用戶端動作。
請遵循下列步驟,使用通話自動化 SDK 將 PSTN 號碼新增至會議室通話:
- 建立診療室,並將 pstnDialoutEnabled 旗標設定為
True
- 參與者啟動診療室通話
- 使用通話自動化 SDK,使用診療室識別碼連線到診療室通話
- 使用通話自動化 SDK 撥出至一 PSTN 號碼
- PSTN 使用者接受並加入診療室通話
從用戶端通話 SDK 管理 Virtual Rooms 通話
使用呼叫 SDK 來加入會議室通話。 可以使用 Web、iOS 或 Android 通話 SDK 加入會議室通話。 您可以在這裡找到加入會議室通話的快速入門範例。
也可以使用 Azure 通訊服務 UI 程式庫來存取會議室。 UI 程式庫可讓開發人員僅使用幾行程式碼,將已啟用 Rooms 的通話用戶端新增至其應用程式中。
用戶端使用通話用戶端 SDK 起始的 PSTN 撥出
開發人員可以藉由設定 Room-特定 pstnDialoutEnabled 旗標來允許/不允許通話參與者撥出給 PSTN 參與者的功能。 開發人員為 Room 設定 pstnDialoutEnabled=TRUE 之後,具有簡報者角色的通話參與者可以從其通話用戶端撥出給 PSTN 參與者。 下列步驟可用來使用通話用戶端 SDK 將 PSTN 號碼新增至會議室通話。
- 建立會議室,並將 pstnDialoutEnabled 旗標設定為 True
- 參與者啟動會議室通話
- 具有簡報者角色的參與者會將 PSTN 號碼新增至通話
- PSTN 使用者接受並加入診療室通話
虛擬會議室 API/SDK
透過會議室 API 或 SDK 來建立和管理會議室。 在伺服器應用程式中使用會議室 API/SDK 來執行 room
作業:
- 建立
- 修改
- 刪除
- 設定和更新參與者清單
- 設定和修改會議室有效性
- 將角色和權限指派給使用者
虛擬會議室 SDK | 版本 | 州/省 |
---|---|---|
虛擬會議室 SDK | 2024-04-15 | 正式推出 - 完整支援 |
虛擬會議室 SDK | 2023-06-14 | 正式推出 - 完整支援 |
虛擬會議室 SDK | 2023-10-30 | 公開預覽版 - 完整支援 |
虛擬會議室 SDK | 2023-03-31 | 公開預覽 - 已淘汰 |
虛擬會議室 SDK | 2022-02-01 | 公開預覽 - 已淘汰 |
虛擬會議室 SDK | 2021-04-07 | 公開預覽 - 已淘汰 |
Virtual Rooms 通話中預先定義的參與者角色和權限
會議室參與者可以獲指派下列其中一個角色: 簡報者、出席者和取用者。
下表提供對應至角色的詳細功能。 概括而言,簡報者角色具有完全控制權,出席者功能僅限於音訊和視訊,而取用者只能接收音訊、視訊和螢幕畫面分享。
功能 | 角色:簡報者 | 角色:出席者 | 角色:取用者 |
---|---|---|---|
中間通話控制 | |||
- 開啟/關閉視訊 | ✔️ | ✔️ | ❌ |
- 靜音/取消靜音麥克風 | ✔️ | ✔️ | ❌ |
- 使遠端使用者靜音 | ✔️ | ❌ | ❌ |
- 在相機之間切換 | ✔️ | ✔️ | ❌ |
- 作用中喇叭 | ✔️ | ✔️ | ✔️ |
- 選擇通話的喇叭 | ✔️ | ✔️ | ✔️ |
- 選擇通話的麥克風 | ✔️ | ✔️ | ❌ |
- 顯示參與者狀態 (閒置、正在連線、已連線、保留、正在中斷連線、已中斷連線等等。) | ✔️ | ✔️ | ✔️ |
- 顯示通話狀態 (接通通知、連入、正在連線、鈴響中、已連線、保留、正在中斷連線、已中斷連線) | ✔️ | ✔️ | ✔️ |
- 顯示參與者是否已靜音 | ✔️ | ✔️ | ✔️ |
- 顯示參與者離開通話的原因 | ✔️ | ✔️ | ✔️ |
- 開始通話輔助字幕 | ✔️ | ✔️ | ✔️ |
- 變更標題語言 | ✔️ | ✔️ | ❌ |
- 結束所有參與者的會議 | ✔️ | ❌ | ❌ |
- 邀請參與者加入虛擬會議室通話 | ✔️ | ❌ | ❌ |
螢幕共用 | |||
- 共用畫面 | ✔️ * | ❌ | ❌ |
- 共用應用程式 | ✔️ * | ❌ | ❌ |
- 共用瀏覽器索引標籤 | ✔️ * | ❌ | ❌ |
- 參與者可以檢視共用畫面 | ✔️ | ✔️ | ✔️ |
名冊管理 | |||
- 移除參與者 | ✔️ | ❌ | ❌ |
裝置管理 | |||
- 要求使用音訊和/或視訊的權限 | ✔️ | ✔️ | ❌ |
- 取得相機清單 | ✔️ | ✔️ | ❌ |
- 設定相機 | ✔️ | ✔️ | ❌ |
- 取得選取的相機 | ✔️ | ✔️ | ❌ |
- 取得麥克風清單 | ✔️ * | ✔️ * | ❌ |
- 設定麥克風 | ✔️ * | ✔️ * | ❌ |
- 取得選取的麥克風 | ✔️ * | ✔️ * | ❌ |
- 取得喇叭清單 | ✔️ * | ✔️ * | ✔️ * |
- 設定喇叭 | ✔️ * | ✔️ * | ✔️ * |
- 取得選取的喇叭 | ✔️ | ✔️ | ✔️ |
影片轉譯 | |||
- 在多個位置 (本機相機或遠端串流) 轉譯視訊 | ✔️ | ✔️ | ✔️ (僅限遠端) |
- 設定/更新視訊縮放模式 | ✔️ | ✔️ | ✔️ (僅限遠端) |
- 轉譯遠端視訊串流 | ✔️ | ✔️ | ✔️ |
從用戶端撥出給 PSTN 參與者 | |||
- 從 Virtual Rooms 通話撥出給 PSTN 參與者 | ✔️ | ❌ | ❌ |
* 僅適用於 Web 呼叫 SDK。 無法在 iOS 和 Android 上呼叫 SDK
** 目前為公開預覽版。
事件處理
- 通話開始時會發佈 CallStarted。
- 會議室通話結束時會發佈 CallEnded。
- 新的參與者加入會議室通話時會發佈 CallParticipantAdded。
- 參與者離開會議室通話時會發佈 CallParticipantRemoved。
已被取代的功能
Rooms API 的早期公開預覽版本支援了兩個 Rooms 名冊控制設定,如下所示:
- 僅限邀請會議室,只允許受邀的使用者加入 Rooms 通話。
- 較不安全的開放式會議室。 在開放式會議室設定中,允許所有 Azure 通訊服務使用者加入通話,而不需透過會議室名冊明確邀請。
開放式會議室概念現已被取代。 接下來,僅限邀請會議室會是唯一支援的會議室類型。
已知限制
- Azure 通訊服務 [通話自動化] 功能目前不支援 Rooms 通話。
後續步驟:
- 使用 快速入門來建立、管理及加入會議室。
- 了解如何加入會議室通話。
- 了解如何管理會議室通話。
- 檢閱媒體和訊號的網路需求。
- 分析會議室資料,請參閱:會議室記錄。
- 了解如何使用 Log Analytics 工作區,請參閱:Log Analytics 教學課程。
- 在 Log Analytics 中建立自己的查詢,請參閱:開始使用查詢。