You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/concepts/rooms/room-concept.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,19 +12,19 @@ ms.topic: conceptual
12
12
ms.service: azure-communication-services
13
13
---
14
14
# Virtual Rooms overview
15
-
Virtual Rooms empower developer with essential security and controls capabilities to build wellstructured 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. Roomlevel 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 callparticipants 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.
18
18
19
19
# High level capabilities supported in Virtual Rooms
20
20
21
21
| Capability | Supported in Rooms call |
22
22
| ------ | :------: |
23
23
| Voice (VoIP) | ✔️ |
24
24
| Video | ✔️ |
25
-
| Client initiated Dial-out to a PSTN number | ✔️ |
25
+
| Client initiated dial-out to a PSTN number | ✔️ |
| Server initiated Dial-out to a PSTN number**| ✔️ |
27
+
| Server initiated dial-out to a PSTN number**| ✔️ |
28
28
| PSTN Dial-in | ❌ |
29
29
| Async Messaging (Chat) | ❌ |
30
30
| Interoperability with Microsoft Teams | ❌ |
@@ -34,24 +34,24 @@ Virtual Rooms empower developer with essential security and controls capabilitie
34
34
** Currently in [public preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
35
35
36
36
# When to use Virtual Rooms
37
-
Following table shows when to use virtual Rooms.
37
+
Following table shows when to use Virtual Rooms.
38
38
| Condition | Use Rooms |
39
39
| ------ | :------: |
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 wellmanaged 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 | ❌*|
44
44
45
45
*If the solution requires interoperability between Teams and Azure Communication Services, use [Teams interoperability calls](../voice-video-calling/teams-interop)
46
46
47
47
# 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 serverside, as shown the table below.
48
+
At a highlevel, 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.
49
49
50
50
| Capability | ACS SDK | Client vs Server SDK | Description |
| 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 dialout 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 dialout 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, serverinitiated 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. |
55
55
56
56
57
57
<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
66
66
| Virtual Rooms security-controls management - Set/Update flag to allow PSTN dial-out from specific Virtual Rooms | ✔️ | ❌ | ❌ |
67
67
| Get list of users invited to join a Virtual Room | ✔️ | ❌ | ❌ |
68
68
| A user initiates a Virtual Rooms call or joins an in-progress call | ❌ | ✔️ | ❌ |
69
-
| Dialout to a PSTN user | ❌ | ✔️ | ✔️*|
69
+
| Dial-out to a PSTN user | ❌ | ✔️ | ✔️*|
70
70
| Add/Remove VoIP participants to an in-progress call | ❌ | ✔️ | ✔️ |
71
71
| Get list of participants who joined the in-progress call | ❌ | ✔️ | ✔️ |
72
72
| Start/Stop call captions and change captions language | ❌ | ✔️*| ❌ |
[Calling client SDK](../voice-video-calling/calling-sdk-features.md#detailed-capabilities) provides the full list of clientside 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.
78
78
79
79
\* Currently in [public preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
80
80
81
81
## 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.
83
83
84
84
| Call Automation capability | Supported in Rooms call |
### 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 Roomspecific 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.
102
102
1. Create a room with pstnDialoutEnabled flag set to True
103
103
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
106
106
1. PSTN user accepts and joins a room call
107
107
108
108
## Managing Virtual Rooms calls from client-side Calling SDKs
109
109
110
110
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).
111
111
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 Roomsenabled 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.
113
113
114
114
### Client initiated PSTN Dial-out using Calling client SDK
115
115
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
0 commit comments