共用方式為


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 號碼新增至會議室通話:

  1. 建立診療室,並將 pstnDialoutEnabled 旗標設定為 True
  2. 參與者啟動診療室通話
  3. 使用通話自動化 SDK,使用診療室識別碼連線到診療室通話
  4. 使用通話自動化 SDK 撥出至一 PSTN 號碼
  5. PSTN 使用者接受並加入診療室通話

從用戶端通話 SDK 管理 Virtual Rooms 通話

使用呼叫 SDK 來加入會議室通話。 可以使用 Web、iOS 或 Android 通話 SDK 加入會議室通話。 您可以在這裡找到加入會議室通話的快速入門範例。

也可以使用 Azure 通訊服務 UI 程式庫來存取會議室。 UI 程式庫可讓開發人員僅使用幾行程式碼,將已啟用 Rooms 的通話用戶端新增至其應用程式中。

用戶端使用通話用戶端 SDK 起始的 PSTN 撥出

開發人員可以藉由設定 Room-特定 pstnDialoutEnabled 旗標來允許/不允許通話參與者撥出給 PSTN 參與者的功能。 開發人員為 Room 設定 pstnDialoutEnabled=TRUE 之後,具有簡報者角色的通話參與者可以從其通話用戶端撥出給 PSTN 參與者。 下列步驟可用來使用通話用戶端 SDK 將 PSTN 號碼新增至會議室通話。

  1. 建立會議室,並將 pstnDialoutEnabled 旗標設定為 True
  2. 參與者啟動會議室通話
  3. 具有簡報者角色的參與者會將 PSTN 號碼新增至通話
  4. 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 將於 2024 年 4 月 30 日淘汰
虛擬會議室 SDK 2022-02-01 將於 2024 年 4 月 30 日淘汰
虛擬會議室 SDK 2021-04-07 將於 2024 年 4 月 30 日淘汰

Virtual Rooms 通話中預先定義的參與者角色和權限

會議室參與者可以獲指派下列其中一個角色: 簡報者出席者取用者

下表提供對應至角色的詳細功能。 概括而言,簡報者角色具有完全控制權,出席者功能僅限於音訊和視訊,而取用者只能接收音訊、視訊和螢幕畫面分享。

功能 角色:簡報者 角色:出席者 角色:取用者
中間通話控制
- 開啟/關閉視訊 ✔️ ✔️
- 靜音/取消靜音麥克風 ✔️ ✔️
- 使遠端使用者靜音 ✔️
- 在相機之間切換 ✔️ ✔️
- 作用中喇叭 ✔️ ✔️ ✔️
- 選擇通話的喇叭 ✔️ ✔️ ✔️
- 選擇通話的麥克風 ✔️ ✔️
- 顯示參與者狀態 (閒置、正在連線、已連線、保留、正在中斷連線、已中斷連線等等。) ✔️ ✔️ ✔️
- 顯示通話狀態 (接通通知、連入、正在連線、鈴響中、已連線、保留、正在中斷連線、已中斷連線) ✔️ ✔️ ✔️
- 顯示參與者是否已靜音 ✔️ ✔️ ✔️
- 顯示參與者離開通話的原因 ✔️ ✔️ ✔️
- 開始通話輔助字幕 ** ✔️ ✔️ ✔️
- 變更輔助字幕語言 ** ✔️ ✔️
- 結束所有參與者的會議 ✔️
- 邀請參與者加入虛擬會議室通話 ✔️
螢幕共用
- 共用畫面 ✔️ *
- 共用應用程式 ✔️ *
- 共用瀏覽器索引標籤 ✔️ *
- 參與者可以檢視共用畫面 ✔️ ✔️ ✔️
名冊管理
- 移除參與者 ✔️
裝置管理
- 要求使用音訊和/或視訊的權限 ✔️ ✔️
- 取得相機清單 ✔️ ✔️
- 設定相機 ✔️ ✔️
- 取得選取的相機 ✔️ ✔️
- 取得麥克風清單 ✔️ * ✔️ *
- 設定麥克風 ✔️ * ✔️ *
- 取得選取的麥克風 ✔️ * ✔️ *
- 取得喇叭清單 ✔️ * ✔️ * ✔️ *
- 設定喇叭 ✔️ * ✔️ * ✔️ *
- 取得選取的喇叭 ✔️ ✔️ ✔️
影片轉譯
- 在多個位置 (本機相機或遠端串流) 轉譯視訊 ✔️ ✔️ ✔️
(僅限遠端)
- 設定/更新視訊縮放模式 ✔️ ✔️ ✔️
(僅限遠端)
- 轉譯遠端視訊串流 ✔️ ✔️ ✔️
從用戶端撥出給 PSTN 參與者
- 從 Virtual Rooms 通話撥出給 PSTN 參與者 ✔️

* 僅適用於 Web 呼叫 SDK。 無法在 iOS 和 Android 上呼叫 SDK

** 目前為公開預覽版

事件處理

透過事件方格發佈的語音和視訊通話事件會標註會議室通話資訊。

  • 通話開始時會發佈 CallStarted
  • 會議室通話結束時會發佈 CallEnded
  • 新的參與者加入會議室通話時會發佈 CallParticipantAdded
  • 參與者離開會議室通話時會發佈 CallParticipantRemoved

已被取代的功能

Rooms API 的早期公開預覽版本支援了兩個 Rooms 名冊控制設定,如下所示:

  • 僅限邀請會議室,只允許受邀的使用者加入 Rooms 通話。
  • 較不安全的開放式會議室。 在開放式會議室設定中,允許所有 Azure 通訊服務使用者加入通話,而不需透過會議室名冊明確邀請。

開放式會議室概念現已被取代。 接下來,僅限邀請會議室會是唯一支援的會議室類型。

已知限制

  • Azure 通訊服務 [通話自動化] 功能目前不支援 Rooms 通話。

後續步驟: