Skip to content

Commit 8416172

Browse files
committed
Reconcile headings with TOC (7)
Reconcile article titles and headings with TOC refresh
1 parent 145a045 commit 8416172

File tree

8 files changed

+175
-156
lines changed

8 files changed

+175
-156
lines changed

articles/communication-services/concepts/rooms/room-concept.md

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
---
2-
title: Azure Communication Services Rooms overview
3-
titleSuffix: An Azure Communication Services concept document
4-
description: Learn about the Azure Communication Services Rooms.
2+
title: Rooms API for structured meetings
3+
titleSuffix: An Azure Communication Services article
4+
description: This article describes Azure Communication Services Rooms API for structured meetings.
55
author: farrukhghaffar
66
manager: cassidyfein
77
services: azure-communication-services
88

99
ms.author: FAGHAFFA
10-
ms.date: 07/10/2024
10+
ms.date: 05/15/2025
1111
ms.topic: conceptual
1212
ms.service: azure-communication-services
1313
---
14-
# Virtual Rooms overview
14+
# Rooms API for structured meetings
1515

1616
Virtual Rooms empower developers with essential security and control capabilities to build well-structured communication experiences such as virtual appointments and group communications. Developers can use virtual rooms to conduct voice, video, and PSTN calls. Security and controls in rooms can be classified as follows.
1717

@@ -32,11 +32,11 @@ Virtual Rooms empower developers with essential security and control capabilitie
3232
| Async Messaging (Chat) ||
3333
| Interoperability with Microsoft Teams ||
3434

35-
\* Some exceptions apply. The full list of supported [Call Automation capabilities](#how-to-conduct-calls-in-virtual-rooms) are listed in this document.
35+
\* Some exceptions apply. For the full list, see [Call Automation capabilities](#how-to-conduct-calls-in-virtual-rooms).
3636

3737
## When to use Virtual Rooms
3838

39-
Following table shows when to use Virtual Rooms.
39+
The following table describes when to use Virtual Rooms.
4040

4141
| Condition | Use Rooms |
4242
| ------ | ------ |
@@ -45,22 +45,22 @@ Following table shows when to use Virtual Rooms.
4545
| When user roles and permissions are needed to conduct well-managed communications. | ✔️ |
4646
| When solution requires Teams interoperability.* ||
4747

48-
\* If the solution requires interoperability between Teams and Azure Communication Services, use [Teams interoperability calls](../interop/teams-user-calling.md)
48+
\* If the solution requires interoperability between Teams and Azure Communication Services, use [Teams interoperability calls](../interop/teams-user-calling.md).
4949

5050
## How to conduct calls in Virtual Rooms
5151

5252
At a high level, to conduct calls in a Virtual Rooms you need to create and manage rooms. The following table describes how to enable participants to join calls and execute in-call operations from the Calling SDK on client-side and server-side.
5353

54-
| Capability | ACS SDK | Client vs Server SDK | Description |
55-
|----------------------------------------------|--------|--------|--------|
54+
| Capability | ACS SDK | Client vs Server SDK | Description |
55+
| --- | --- | --- | --- |
5656
| Create and manage Virtual Rooms | [Virtual Rooms SDK](../../quickstarts/rooms/join-rooms-call.md) | Server | The Virtual Rooms SDK enables developers to create and manage Virtual Rooms, add/remove users, assign/update user roles, set/update Virtual Rooms schedules. Developers can also set security limits such as to restrict PSTN dial-out from Rooms.|
5757
| Join a Virtual Rooms call with voice, video, or PSTN and execute the client-initiated in-call operations | [Calling SDK](../voice-video-calling/calling-sdk-features.md#detailed-capabilities) | Client | The Calling client SDK enables users to join a Virtual Rooms call and execute client-side operations as permitted by their assigned user roles. Security in a Virtual Rooms call is ensured through enforcement of roster, schedule, user roles, and control limits set through creation and management of Virtual Rooms. Using The client Calling SDK, developers empower call participants to execute in-call operations like mute/unmute, share screen, turn video on/off and dial-out to a PSTN participant, and so on. |
58-
| Server-side management of in-call operations | [Call Automation SDK](../../how-tos/call-automation/actions-for-call-control.md) | Server | The Call Automation SDK enables developers to execute in-call operations from the server-side. In-call operations include server-initiated dial-out to a PSTN number, call recording, sending/receiving DTMF, sending announcements to specific users, and so on. Because running server-side in-call operations are independent from users and are controlled by developers, these actions aren't controlled by user-roles. |
58+
| Server-side management of in-call operations | [Call Automation SDK](../../how-tos/call-automation/actions-for-call-control.md) | Server | The Call Automation SDK enables developers to execute in-call operations from the server-side. In-call operations include server-initiated dial-out to a PSTN number, call recording, sending/receiving DTMF, sending announcements to specific users, and so on. Because running server-side in-call operations are independent from users and controlled by developers, these actions aren't controlled by user-roles. |
5959

60-
<b>Developers use Virtual Rooms SDK, Calling client SDK, and Call Automation SDK to secure their calls and to trigger in-call client-side/server-side operations. </b>
60+
<b>To secure calls and to trigger in-call client-side/server-side operations, Developers use Virtual Rooms SDK, Calling client SDK, and Call Automation SDK.</b>
6161

62-
| Capability | Rooms Server SDK| Calling Client SDK | Call Automation Server SDK |
63-
|----------------------------------------------|--------|--------|----------|
62+
| Capability | Rooms Server SDK| Calling Client SDK | Call Automation Server SDK |
63+
| --- | --- | --- | --- |
6464
| Virtual Rooms management - Create/Get/Update/List/Delete Virtual Rooms | ✔️ |||
6565
| Virtual Rooms roster management - Add/Update/Remove user to a Virtual Room| ✔️ |||
6666
| Virtual Rooms call participants permissions management - Assign/Update user roles | ✔️ |||
@@ -76,7 +76,7 @@ At a high level, to conduct calls in a Virtual Rooms you need to create and mana
7676
| Send/Receive DTMF to/from PSTN participants ||| ✔️ |
7777
| Play audio prompts to participants ||| ✔️ |
7878

79-
[Calling client SDK](../voice-video-calling/calling-sdk-features.md#detailed-capabilities) provides the full list of client-side in-call operations and explains how to use them.
79+
For the full list of client-side in-call operations and how to use them, see [Calling client SDK](../voice-video-calling/calling-sdk-features.md#detailed-capabilities).
8080

8181
## Managing Virtual Rooms calls from the server-side using Call Automation Server SDK
8282

@@ -111,19 +111,19 @@ Follow these steps to add a PSTN number to a room call using Call Automation SDK
111111
1. Use Call Automation SDK to dial-out to a PSTN number
112112
1. PSTN user accepts and joins a room call
113113

114-
## Managing Virtual Rooms calls from client-side Calling SDKs
114+
## Managing virtual rooms calls from client-side Calling SDKs
115115

116-
Use the [Calling SDKs](../voice-video-calling/calling-sdk-features.md) to join the room call. Room calls can be joined using the Web, iOS, or Android Calling SDKs. You can find quick start samples for joining room calls [here](../../quickstarts/rooms/join-rooms-call.md).
116+
Use the [Calling SDKs](../voice-video-calling/calling-sdk-features.md) to join the room call. Room calls can be joined using the Web, iOS, or Android Calling SDKs. For samples and how to join room calls, see [Join a room call](../../quickstarts/rooms/join-rooms-call.md).
117117

118118
Rooms can also be accessed using the [Azure Communication Services UI Library](https://azure.github.io/communication-ui-library/?path=/docs/concepts-rooms--docs). The UI Library enables developers to add a call client that is Rooms-enabled into their application with only a couple lines of code.
119119

120120
### Client initiated PSTN Dial-out using Calling client SDK
121121

122-
Developers can allow/disallow the ability for call participants to dial-out to a PSTN participant, by setting the Room specific pstnDialoutEnabled flag. Once the developer sets pstnDialoutEnabled=TRUE for a Room, the call participants with the Presenter role can dial-out to a PSTN participant from their calling client. The following steps are used to add a PSTN number to a room call using Calling Client SDK.
123-
1. Create a room with pstnDialoutEnabled flag set to True
124-
1. Participants start a room call
125-
1. A participant with Presenter role adds PSTN number into a call
126-
1. PSTN user accepts and joins a room call
122+
Developers can enable / disable the ability for call participants to dial-out to a PSTN participant, by setting the Room specific pstnDialoutEnabled flag. Once the developer sets pstnDialoutEnabled=TRUE for a Room, the call participants with the Presenter role can dial-out to a PSTN participant from their calling client. The following steps are used to add a PSTN number to a room call using Calling Client SDK.
123+
1. Create a room with pstnDialoutEnabled flag set to True.
124+
1. Participants start a room call.
125+
1. A participant with Presenter role adds PSTN number into a call.
126+
1. PSTN user accepts and joins a room call.
127127

128128
### Virtual Rooms API/SDKs
129129

@@ -135,50 +135,51 @@ Rooms are created and managed via rooms APIs or SDKs. Use the rooms API/SDKs in
135135
- Set and modify the Room validity
136136
- Assign roles and permissions to users
137137

138-
|Virtual Rooms SDK | Version | State|
138+
| Virtual Rooms SDK | Version | State |
139139
|-------------------| :-----------------------: | :-----------------------------: |
140-
| Virtual Rooms SDKs | 2025-03-13 | Generally Available - Fully supported |
141-
| Virtual Rooms SDKs | 2024-04-15 | Generally Available - Fully supported |
142-
| Virtual Rooms SDKs | 2023-06-14 | Generally Available - Fully supported |
140+
| Virtual Rooms SDKs | 2025-03-13 | General Availability - Fully supported |
141+
| Virtual Rooms SDKs | 2024-04-15 | General Availability - Fully supported |
142+
| Virtual Rooms SDKs | 2023-06-14 | General Availability - Fully supported |
143143
| Virtual Rooms SDKs | 2023-10-30 | Public Preview - Fully supported |
144144
| Virtual Rooms SDKs | 2023-03-31 | Public Preview - retired |
145145
| Virtual Rooms SDKs | 2022-02-01 | Public Preview - retired |
146146
| Virtual Rooms SDKs | 2021-04-07 | Public Preview - retired |
147147

148148
## Predefined participant roles and permissions in Virtual Rooms calls
149+
149150
<a name="predefined-participant-roles-and-permissions"></a>
150151

151-
Room participants can be assigned one of the following roles: **Presenter**, **Collaborator**, **Attendee**, and **Consumer**.
152+
You can assign room participants one of the following roles: **Presenter**, **Collaborator**, **Attendee**, and **Consumer**.
152153

153154
The following table provides detailed capabilities mapped to the roles. At a high level, **Presenter** role has full control, **Collaborator** has audio, video, and screenshare capabilities, **Attendee** has audio and video capabilities, while **Consumer** can only receive audio, video, and screen sharing.
154155

155-
<b>Note:</b> A PSTN call participant is not a part of Room roster, so a user role is not assigned to them. They capabilities are limited to mute/unmute themselves on the local device.
156+
<b>Note:</b> A PSTN call participant isn't a part of Room roster, so a user role isn't assigned to them. They capabilities are limited to mute/unmute themselves on the local device.
156157

157158
| Capability | Role: Presenter | Role: Collaborator | Role: Attendee | Role: Consumer |
158-
|---------------------------------------------| :--------: | :--------: | :--------: | :--------: |
159-
| **Mid call controls** | | | |
159+
| :--- | :--------: | :--------: | :--------: | :--------: |
160+
| **Mid call controls** | | | |
160161
| - Turn video on/off | ✔️ | ✔️ | ✔️ ||
161162
| - Mute/Unmute mic | ✔️ | ✔️ | ✔️ ||
162163
| - Mute remote user | ✔️ ||||
163164
| - Switch between cameras | ✔️ | ✔️ | ✔️ ||
164165
| - Active speaker | ✔️ | ✔️ | ✔️ | ✔️ |
165166
| - Choose speaker for calls | ✔️ | ✔️ | ✔️ | ✔️ |
166167
| - Choose mic for calls | ✔️ | ✔️ | ✔️ ||
167-
| - Show participants state (idle, connecting, connected, On-hold, Disconnecting, Disconnected etc.) | ✔️ | ✔️ | ✔️ | ✔️ |
168-
| - Show call state (Early media, Incoming, Connecting, Ringing, Connected, Hold, Disconnecting, Disconnected | ✔️ | ✔️ | ✔️ | ✔️ |
168+
| - Show participants state: idle, connecting, connected, On-hold, Disconnecting, Disconnected, and so on. | ✔️ | ✔️ | ✔️ | ✔️ |
169+
| - Show call state: Early media, Incoming, Connecting, Ringing, Connected, Hold, Disconnecting, Disconnected, and so on. | ✔️ | ✔️ | ✔️ | ✔️ |
169170
| - Show if a participant is muted | ✔️ | ✔️ | ✔️ | ✔️ |
170171
| - Show the reason why a participant left a call | ✔️ | ✔️ | ✔️ | ✔️ |
171172
| - Start call captions | ✔️ | ✔️ | ✔️ | ✔️ |
172173
| - Change captions language | ✔️ | ✔️ | ✔️ | ✔️ |
173174
| - Invite to join a Virtual Room participant to a call | ✔️ ||||
174-
| **Screen sharing** | | | |
175+
| **Screen sharing** | | | | |
175176
| - Share screen | ✔️ * | ✔️ * |||
176177
| - Share an application | ✔️ * | ✔️ * |||
177178
| - Share a browser tab | ✔️ * | ✔️ * |||
178179
| - Participants can view shared screen | ✔️ | ✔️ | ✔️ | ✔️ |
179-
| **Roster management** | | | |
180+
| **Roster management** | | | | |
180181
| - Remove a participant | ✔️ ||||
181-
| **Device management** | | | |
182+
| **Device management** | | | | |
182183
| - Ask for permission to use audio and/or video | ✔️ | ✔️ | ✔️ ||
183184
| - Get camera list | ✔️ | ✔️ | ✔️ ||
184185
| - Set camera | ✔️ | ✔️ | ✔️ ||
@@ -193,7 +194,7 @@ The following table provides detailed capabilities mapped to the roles. At a hig
193194
| - Render a video in multiple places (local camera or remote stream) | ✔️ | ✔️ | ✔️ | ✔️ <br>(Only Remote)</br> |
194195
| - Set/Update video scaling mode | ✔️ | ✔️ | ✔️ | ✔️ <br>(Only Remote)</br> |
195196
| - Render remote video stream | ✔️ | ✔️ | ✔️ | ✔️ |
196-
| **Dial-out to PSTN participants from the client-side** | | | |
197+
| **Dial-out to PSTN participants from the client-side** | | | | |
197198
| - Dial-out to PSTN participants from Virtual Rooms calls | ✔️ ||||
198199

199200
\* Only available on the web calling SDK.
@@ -222,9 +223,10 @@ The *Open Room* concept is now deprecated. Going forward, *Invite Only* rooms ar
222223

223224
## Known Limitations
224225

225-
- Azure Communication Services Call Automation capabilities currently don't support Rooms call.
226+
- Azure Communication Services Call Automation currently doesn't support room calls.
227+
228+
## Next steps
226229

227-
## Next steps:
228230
- Use the [QuickStart to create, manage, and join a room](../../quickstarts/rooms/get-started-rooms.md).
229231
- Learn how to [join a room call](../../quickstarts/rooms/join-rooms-call.md).
230232
- Learn how to [manage a room call](../../quickstarts/rooms/manage-rooms-call.md).

0 commit comments

Comments
 (0)