Skip to content

Commit 95a12c6

Browse files
committed
Updated per review comments
1 parent 80bb4fe commit 95a12c6

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

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

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ ms.topic: conceptual
1212
ms.service: azure-communication-services
1313
---
1414
# Virtual Rooms overview
15-
Virtual Rooms empower developer with essential security and controls capabilities to build well structured communication experiences such as virtual appointments and group communications. Developers can use Rooms to conduct Voice, Video and PSTN calls. Security and Controls in Rooms can be classified as follows.
16-
1. User access security and controls are applied on call-participants to control WHO is allowed to join a call and WHAT actions they are allowed to take in the call. For example, during a patient's virtual appointment with a doctor, it is necessary to ensure that only the authorized hospital staff and patients can join the call to preserve the patient's privacy and the participants don't exceed their assigned roles and privileges to disrupt the ongoing call.
17-
2. Room level security and controls are applied at the call level to control WHEN the call is allowed to be conducted and what capabilities are allowed for the call. For example, students are only allowed to join a classroom call during allowed time and PSTN is not allowed for the classroom call.
15+
Virtual Rooms empower developers with essential security and controls capabilities to build well-structured communication experiences such as virtual appointments and group communications. Developers can use Rooms to conduct voice, video and PSTN calls. Security and controls in Rooms can be classified as follows.
16+
1. User access security and controls are applied upon call participants to control who is allowed to join a call and which actions they are allowed to take in the call. For example, during a patient's virtual appointment with a doctor, it is necessary to ensure that only the authorized hospital staff and patients can join the call to preserve the patient's privacy and the participants don't exceed their assigned roles and privileges to disrupt the ongoing call.
17+
2. Room-level security and controls are applied at the call level to control when the call is allowed to be conducted and which capabilities are allowed for the call. For example, students are only authorized to join a classroom call during allocated time but PSTN user is not allowed to join for the same classroom call.
1818

1919
# High level capabilities supported in Virtual Rooms
2020

2121
| Capability | Supported in Rooms call |
2222
| ------ | :------: |
2323
| Voice (VoIP) | ✔️ |
2424
| Video | ✔️ |
25-
| Client initiated Dial-out to a PSTN number | ✔️ |
25+
| Client initiated dial-out to a PSTN number | ✔️ |
2626
| Server-side call management (Call Automation) | ✔️* |
27-
| Server initiated Dial-out to a PSTN number** | ✔️ |
27+
| Server initiated dial-out to a PSTN number** | ✔️ |
2828
| PSTN Dial-in ||
2929
| Async Messaging (Chat) ||
3030
| Interoperability with Microsoft Teams ||
@@ -34,24 +34,24 @@ Virtual Rooms empower developer with essential security and controls capabilitie
3434
** Currently in [public preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
3535

3636
# When to use Virtual Rooms
37-
Following table shows when to use virtual Rooms.
37+
Following table shows when to use Virtual Rooms.
3838
| Condition | Use Rooms |
3939
| ------ | :------: |
40-
| When it is important to control who is allowed to join a call (Invite only experience) | ✔️ |
41-
| When it is important to control when the call is allowed and when it expires | ✔️ |
42-
| When user roles and permissions are needed to conduct well managed communications | ✔️ |
43-
| When solution require Teams interoperability |* |
40+
| When it is important to control who is allowed to join a call (invite-only experience) | ✔️ |
41+
| When it is important to control when the call is started and ended | ✔️ |
42+
| When user roles and permissions are needed to conduct well-managed communications | ✔️ |
43+
| When solution requires Teams interoperability |* |
4444

4545
*If the solution requires interoperability between Teams and Azure Communication Services, use [Teams interoperability calls](../voice-video-calling/teams-interop)
4646

4747
# How to conduct calls in Virtual Rooms
48-
At a high-level, conducting calls in Virtual Rooms involves the creation and management of Virtual Rooms, joining the Virtual Rooms calls and executing in-call operations from calling client and server side, as shown the table below.
48+
At a high level, conducting calls in a Virtual Rooms involves the creation and management of Virtual Rooms, joining the Virtual Rooms calls and executing in-call operations from Calling SDK on client-side and server-side, as shown the table below.
4949

5050
| Capability | ACS SDK | Client vs Server SDK | Description |
5151
|----------------------------------------------|--------|--------|--------|
52-
| Create and manage Virtual Rooms | [Virtual Rooms SDK](../../quickstarts/rooms/join-rooms-call.md) | Server | Virtual Rooms SDK allows developers to create and manage Virtual Room, add/remove users, assign/update user roles, set/update Virtual Rooms schedule, and set security limits such as to restrict PSTN dial out from the Room.|
53-
| 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 | Calling client SDK allows users to join a Virtual Rooms call and execute client-side operations as permitted by their assigned user roles. Security in Virtual Rooms call is ensured through enforcement of roster, schedule, user roles and control limits set through creation and management of Virtual Rooms. Using client calling SDK, developers empower call participant to execute in-call operations like mute/unmute, share screen, turn video on/off and dial out to a PSTN participant etc. |
54-
| Server-side management of in-call operations | [Call Automation SDK](../../how-tos/call-automation/actions-for-call-control?branch=pr-en-us-280574&tabs=csharp) | Server | Call Automation SDK allows developers to execute in-call operations from server-side. This includes, server initiated dial-out to a PSTN, call recording, send/receive DTMF and send announcements to specific users etc. Since server-side invocation of in-call operations are independent from users and are fully controlled by the developers, these actions are not controlled by user-roles. |
52+
| Create and manage Virtual Rooms | [Virtual Rooms SDK](../../quickstarts/rooms/join-rooms-call.md) | Server | Virtual Rooms SDK allows developers to create and manage Virtual Rooms, add/remove users, assign/update user roles, set/update Virtual Rooms schedules, and set security limits such as to restrict PSTN dial-out in Rooms.|
53+
| 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 allows 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 etc. |
54+
| Server-side management of in-call operations | [Call Automation SDK](../../how-tos/call-automation/actions-for-call-control?branch=pr-en-us-280574&tabs=csharp) | Server | The Call Automation SDK allows developers to execute in-call operations from server-side. This includes, server-initiated dial-out to a PSTN number, call recording, sending/receiving DTMF and sending announcements to specific users etc. Since server-side invocations of in-call operations are independent from users and are fully controlled by the developers, these actions are not controlled by user-roles. |
5555

5656

5757
<b>Developers will 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. Specifically the following. </b>
@@ -66,29 +66,29 @@ At a high-level, conducting calls in Virtual Rooms involves the creation and man
6666
| Virtual Rooms security-controls management - Set/Update flag to allow PSTN dial-out from specific Virtual Rooms | ✔️ |||
6767
| Get list of users invited to join a Virtual Room | ✔️ |||
6868
| A user initiates a Virtual Rooms call or joins an in-progress call || ✔️ ||
69-
| Dial out to a PSTN user || ✔️ | ✔️* |
69+
| Dial-out to a PSTN user || ✔️ | ✔️* |
7070
| Add/Remove VoIP participants to an in-progress call || ✔️ | ✔️ |
7171
| Get list of participants who joined the in-progress call || ✔️ | ✔️ |
7272
| Start/Stop call captions and change captions language || ✔️* ||
7373
| Manage call recording ||| ✔️* |
74-
| Send receive DTMF to/from PSTN participants ||| ✔️* |
74+
| Send/Receive DTMF to/from PSTN participants ||| ✔️* |
7575
| Send announcements to participants ||| ✔️* |
7676

77-
[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.
77+
[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.
7878

7979
\* Currently in [public preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
8080

8181
## Managing Virtual Rooms calls from the server-side using Call Automation Server SDK
82-
Call Automation SDK empowers developers to manage Virtual Rooms calls from the server-side and execute in-call operations. Call Automation capabilities are being progressively enabled in Virtual Rooms calls. The following table shows the current status of these capabilities. Since developers manage control Call Automation capabilities from the server-side, which operates at a higher level than a call participant's privileges, these Call Automation capabilities are not controlled through user roles and permissions.
82+
Call Automation SDK empowers developers to manage Virtual Rooms calls from the server-side and execute in-call operations. Call Automation capabilities are being progressively enabled in Virtual Rooms calls. The following table shows the current status of these capabilities. Since developers manage and control Call Automation capabilities from the server-side, which operate at a higher level than a call participant's privileges, these Call Automation capabilities are not controlled through user roles and permissions.
8383

8484
| Call Automation capability | Supported in Rooms call |
8585
| ------ | :------: |
86-
| Dial out to PSTN participant * | ✔️ |
86+
| Dial-out to PSTN participant * | ✔️ |
8787
| Send/Read DTMF to/from PSTN participant * | ✔️ |
8888
| Send announcements to specific call participants * | ✔️ |
8989
| Add/Remove a VoIP participant from an ongoing call | ✔️ |
9090
| End call for all users | ✔️ |
91-
| Call Transcriptions ||
91+
| Call transcriptions ||
9292
| Audio media streaming ||
9393

9494
\* Currently in [public preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
@@ -98,18 +98,18 @@ The picture below illustrates the concept of managing and joining the rooms.
9898
:::image type="content" source="../media/rooms/rooms-join-call.png" alt-text="Diagram showing Rooms Management.":::
9999

100100
### Server initiated PSTN Dialout using Call Automation Server SDK
101-
Developers can allow/disallow the ability to dial-out to a PSTN participant, by setting the Room specific pstnDialoutEnabled flag. Once the developer sets pstnDialoutEnabled=TRUE for a Room, developers can dial-out to a PSTN participant from the server-side using Call Automation, without needing any client-side participation. e.g. A patient might request interpretation service for their upcoming virtual appointment with their doctor. In most cases, the phone number to the interpretation service is determined dynamically through a backend process. This server-side PSTN dial-out capability allows developers to determine the target phone number, initiate the call and add it to patient's virtual appointment call, without requiring any client-side actions. The following steps are used to add a PSTN number to a room call using Call Automation SDK.
101+
Developers can allow/disallow the ability to dial-out to a PSTN participant, by setting the Room-specific pstnDialoutEnabled flag. Once the developer sets pstnDialoutEnabled=TRUE for a Room, developers can dial-out to a PSTN participant from the server-side using Call Automation, without needing any client-side participation. e.g. A patient might request interpretation service for their upcoming virtual appointment with their doctor. In most cases, the phone number to the interpretation service is determined dynamically through a backend process. This server-side PSTN dial-out capability allows developers to determine the target phone number, initiate the call and add it to patient's virtual appointment call, without requiring any client-side actions. The following steps are used to add a PSTN number to a room call using Call Automation SDK.
102102
1. Create a room with pstnDialoutEnabled flag set to True
103103
1. Participants start a room call
104-
1. Use Call Automation SDK to connect to a room call using a room Id
105-
1. Use Call Automation SDK to dial-out to PSTN number
104+
1. Use Call Automation SDK to connect to a room call using a room ID
105+
1. Use Call Automation SDK to dial-out to a PSTN number
106106
1. PSTN user accepts and joins a room call
107107

108108
## Managing Virtual Rooms calls from client-side Calling SDKs
109109

110110
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).
111111

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

114114
### Client initiated PSTN Dial-out using Calling client SDK
115115
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.
@@ -120,6 +120,7 @@ Developers can allow/disallow the ability for call participants to dial-out to a
120120

121121
|Virtual Rooms SDK | Version | State|
122122
|-------------------| :-----------------------: | :-----------------------------: |
123+
| Virtual Rooms SDKs | 2024-04-15 | Generally Available - Fully supported |
123124
| Virtual Rooms SDKs | 2023-06-14 | Generally Available - Fully supported |
124125
| Virtual Rooms SDKs | 2023-10-30 | Public Preview - Fully supported |
125126
| Virtual Rooms SDKs | 2023-03-31 | Will be retired on April 30, 2024 |
@@ -151,7 +152,7 @@ The tables below provide detailed capabilities mapped to the roles. At a high le
151152
| - Start call captions ** | ✔️ | ✔️ | ✔️ |
152153
| - Change captions language ** | ✔️ | ✔️ ||
153154
| - End meeting for all participants | ✔️ |||
154-
| - Invite-to-join a Virtual Room participant to a call | ✔️ |||
155+
| - Invite to join a Virtual Room participant to a call | ✔️ |||
155156
| **Screen sharing** | | |
156157
| - Share screen | ✔️ * |||
157158
| - Share an application | ✔️ * |||
@@ -177,10 +178,9 @@ The tables below provide detailed capabilities mapped to the roles. At a high le
177178
| **Dial-out to PSTN participants from the client-side** | | |
178179
| - Dial-out to PSTN participants from Virtual Rooms calls | ✔️ |||
179180

180-
ACS Rooms support
181181
\* Only available on the web calling SDK. Not available on iOS and Android calling SDKs
182182

183-
** Currently in [public preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
183+
\** Currently in [public preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
184184

185185
## Event handling
186186

0 commit comments

Comments
 (0)