Skip to content

Commit 2169a8e

Browse files
committed
rooms call changes
1 parent cfe2931 commit 2169a8e

File tree

6 files changed

+637
-642
lines changed

6 files changed

+637
-642
lines changed

articles/communication-services/quickstarts/rooms/get-started-rooms.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,27 @@ author: mayssamm
77
manager: alexokun
88

99
ms.author: mayssamm
10-
ms.date: 05/15/2025
10+
ms.date: 06/02/2025
1111
ms.topic: quickstart
1212
ms.service: azure-communication-services
1313
ms.custom: mode-other, devx-track-azurecli, devx-track-extended-java, devx-track-js, devx-track-python
1414
zone_pivot_groups: acs-azcli-js-csharp-java-python
1515
---
1616
# Create a room resource
1717

18-
This article describes how to create a Room within your Azure Communication Services resource. A room is a server-managed communications space for a known, fixed, set of participants to collaborate for a predetermined duration. For more information and use cases, see [rooms conceptual documentation](../../concepts/rooms/room-concept.md).
18+
This article describes how to create a Room within your Azure Communication Services resource. A room is a server-managed communications space for a known, fixed, set of participants to collaborate for a predetermined duration. For more information and use cases, see [Rooms API for structured meetings](../../concepts/rooms/room-concept.md).
1919

2020
## Object model
2121

2222
The following table lists the main properties of room objects:
2323

24-
| Name | Description |
25-
|-----------------------|-------------------------------------------|
26-
| `roomId` | Unique room identifier. |
24+
| Name | Description |
25+
| --- | --- |
26+
| `roomId` | Unique room identifier. |
2727
| `validFrom` | Earliest time a room can be used. |
2828
| `validUntil` | Latest time a room can be used. |
29-
| `pstnDialOutEnabled` | Enable or disable dialing out to a PSTN number in a room.|
30-
| `participants` | List of participants to a room. Specified as a `CommunicationUserIdentifier`. |
29+
| `pstnDialOutEnabled` | Enable or disable dialing out to a public switched telephone network (PSTN) number from a room.|
30+
| `participants` | List of participants in a room. Specified as a `CommunicationUserIdentifier`. |
3131
| `roleType` | The role of a room participant. Can be `Presenter`, `Attendee`, `Consumer`, or `Collaborator`. |
3232

3333
::: zone pivot="platform-azcli"
@@ -36,28 +36,28 @@ The following table lists the main properties of room objects:
3636

3737
::: zone pivot="programming-language-csharp"
3838

39-
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for rooms.
39+
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. For more information, see [Rooms API for structured meetings](../../concepts/rooms/room-concept.md).
4040

4141
[!INCLUDE [Use rooms with .NET SDK](./includes/rooms-quickstart-net.md)]
4242
::: zone-end
4343

4444
::: zone pivot="programming-language-java"
4545

46-
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for rooms.
46+
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. For more information, see [Rooms API for structured meetings](../../concepts/rooms/room-concept.md).
4747

4848
[!INCLUDE [Use rooms with Java SDK](./includes/rooms-quickstart-java.md)]
4949
::: zone-end
5050

5151
::: zone pivot="programming-language-python"
5252

53-
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for rooms.
53+
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. For more information, see [Rooms API for structured meetings](../../concepts/rooms/room-concept.md).
5454

5555
[!INCLUDE [Use rooms with Python SDK](./includes/rooms-quickstart-python.md)]
5656
::: zone-end
5757

5858
::: zone pivot="programming-language-javascript"
5959

60-
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for rooms.
60+
A room is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. For more information, see [Rooms API for structured meetings](../../concepts/rooms/room-concept.md).
6161

6262
[!INCLUDE [Use rooms with JavaScript SDK](./includes/rooms-quickstart-javascript.md)]
6363
::: zone-end
@@ -75,6 +75,7 @@ This article described how to:
7575
7676
## Related articles
7777

78-
- Learn about [rooms concept](../../concepts/rooms/room-concept.md).
79-
- Learn about [voice and video calling concepts](../../concepts/voice-video-calling/about-call-types.md).
80-
- Review Azure Communication Services [samples](../../samples/overview.md).
78+
- [Rooms API for structured meetings](../../concepts/rooms/room-concept.md).
79+
- [Voice and video calling concepts](../../concepts/voice-video-calling/about-call-types.md).
80+
- [Azure Communication Services samples](../../samples/overview.md).
81+

articles/communication-services/quickstarts/rooms/includes/rooms-quickstart-call-android.md

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,18 @@ description: include file
44
services: azure-communication-services
55
author: mrayyan
66
manager: alexokun
7-
87
ms.service: azure-communication-services
9-
ms.date: 07/20/2023
8+
ms.date: 06/02/2025
109
ms.topic: include
1110
ms.custom: include file
1211
ms.author: t-siddiquim
1312
---
1413

15-
## Sample app
16-
17-
18-
To follow along with this quickstart, you can download the Room Call quickstart on [GitHub](https://github.com/Azure-Samples/communication-services-android-quickstarts/tree/main/RoomsCallQuickstart).
19-
14+
## Implement the sample app
2015

21-
## Setting up project
16+
To implement the code needed to join participants to a rooms call, download from GitHub the [Room Call sample app](https://github.com/Azure-Samples/communication-services-android-quickstarts/tree/main/RoomsCallQuickstart).
2217

18+
## Set up the project
2319

2420
## Create an Android app with an empty activity
2521

@@ -32,6 +28,7 @@ Name your project **Room Call Quickstart** and select **Kotlin**.
3228
:::image type="content" source="..\..\voice-video-calling\media\android\android-room-project.png" alt-text="Screenshot showing new project properties in the Project Setup Screen.":::
3329

3430
## Install the package
31+
3532
In your module level `build.gradle`, add the following line to the `dependencies` section.
3633

3734
```groovy
@@ -43,10 +40,9 @@ dependencies {
4340
}
4441
```
4542

46-
4743
## Add permissions to application manifest
4844

49-
To request permissions required to make a call, you must first declare the permissions in the application manifest (`app/src/main/AndroidManifest.xml`). Copy the following to your manifest file:
45+
To request permissions required to make a call, first declare the permissions in the application manifest (`app/src/main/AndroidManifest.xml`). Copy the following to your manifest file:
5046

5147
```xml
5248
<?xml version="1.0" encoding="utf-8"?>
@@ -86,14 +82,13 @@ To request permissions required to make a call, you must first declare the permi
8682
</application>
8783

8884
</manifest>
89-
9085
```
9186

9287
### Set up the layout for the app
9388

9489
You need a text input for the room ID, a button for placing the call, and extra button for hanging up the call.
9590

96-
Go to `app/src/main/res/layout/activity_main.xml`, and replace the content of file with the following code:
91+
Open the `app/src/main/res/layout/activity_main.xml` file, and replace the content of file with the following code:
9792

9893
```xml
9994
<?xml version="1.0" encoding="utf-8"?>
@@ -167,18 +162,17 @@ Go to `app/src/main/res/layout/activity_main.xml`, and replace the content of fi
167162
</LinearLayout>
168163

169164
</androidx.constraintlayout.widget.ConstraintLayout>
170-
171165
```
172166

173167
## Create the main activity
174168

175-
With the layout created, you can add the logic to start a Room call. The activity handles requesting runtime permissions, creating the call agent, and placing the call when the button is pressed.
169+
With the layout created, you can add the logic to start a Room call. The activity handles requesting runtime permissions, creating the call agent, and placing the call when a participant presses the button.
176170

177171
The `onCreate` method invokes `getAllPermissions` and `createAgent`, and adds the bindings for the call button.
178172

179-
This event occurs only once when the activity is created. For more information about `onCreate`, see the guide [Understand the activity lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle).
173+
This event occurs only once when the activity is created. For more information about `onCreate`, see [Understand the activity lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle).
180174

181-
Go to *MainActivity.kt* file, and replace the content with the following code:
175+
Open the `MainActivity.kt` file, and replace the content with the following code:
182176

183177
```java
184178
package com.contoso.roomscallquickstart
@@ -336,14 +330,13 @@ class MainActivity : AppCompatActivity() {
336330
}
337331
}
338332
}
339-
340333
```
341334

342335
> [!NOTE]
343-
> When you're designing your app, consider when these permissions should be requested. Permissions should be requested as they are needed, not ahead of time. For more information, see, the [Android Permissions Guide](https://developer.android.com/training/permissions/requesting).
344-
336+
> When designing your app, consider when you need to request these permissions. We recommend requesting permissions when needed not ahead of time. For more information, see the [Android Permissions Guide](https://developer.android.com/training/permissions/requesting).
345337

346338
## Run your project
339+
347340
Before running your project, replace `<ACS_USER_TOKEN>` in `MainActivity.kt` with your Azure Communication Services User Access Token.
348341

349342
```
@@ -352,12 +345,11 @@ private val userToken = "<ACS_USER_TOKEN>"
352345

353346
Run the project on an emulator or a physical device.
354347

355-
You should see a field to enter your Room ID and a button to start the Room Call. Enter your Room ID and verify the Call status has changed along with your Role.
356-
348+
Look for the field to enter your Room ID and a button to start the Room Call. Enter your Room ID and verify the Call status changed along with your Role.
357349

358350
## Understanding joining a Room call
359351

360-
All the code that you have added in your QuickStart app allowed you to successfully start and join a room call. We need to dive deep into how it all works and what more methods/handlers you can access for Rooms.
352+
All the code that you added in the app enables you to successfully start and join a room call. We need to dive deep into how it all works and which other methods and handlers you can access for Rooms.
361353

362354
Room calls are joined through `CallAgent` which is created with a valid user token:
363355
```kotlin
@@ -373,19 +365,17 @@ private fun createCallAgent() {
373365
).show()
374366
}
375367
}
376-
377368
```
378369

379-
Using `CallAgent` and `RoomCallLocator`, we can join a room call using the `CallAgent.join` method which returns a `Call` object:
370+
Participants can use `CallAgent` and `RoomCallLocator` to join a room call using the `CallAgent.join` method which returns a `Call` object:
380371

381372
```java
382373
val joinCallOptions = JoinCallOptions()
383374
val roomCallLocator = RoomCallLocator(roomId)
384375
call = callAgent.join(applicationContext, roomCallLocator, joinCallOptions)
385-
386376
```
387377

388-
Further customization beyond the `MainActivity.kt`file includes subscribing to `Call` events to get updates:
378+
You can further customize the `MainActivity.kt` file by subscribing to `Call` events to get updates:
389379

390380
```Java
391381
call.addOnRemoteParticipantsUpdatedListener { args: ParticipantsUpdatedEvent? ->
@@ -401,7 +391,7 @@ call.addOnStateChangedListener { args: PropertyChangedEvent? ->
401391
}
402392
```
403393

404-
You can extend `MainActivity.kt` further to display the role of the local or remote call participants by using these methods and handlers below.
394+
You can extend `MainActivity.kt` to display the role of the local or remote call participants by using these methods and handlers:
405395

406396
```java
407397
// Get your role in the call
@@ -427,4 +417,4 @@ remoteParticipant.getCallParticipantRole();
427417

428418
The ability to join a room call and display the roles of call participants is available in the Android Mobile Calling SDK version [2.4.0](https://search.maven.org/artifact/com.azure.android/azure-communication-calling/2.4.0/aar) and above.
429419

430-
You can learn more about roles of room call participants in the [rooms concept documentation](../../../concepts/rooms/room-concept.md#predefined-participant-roles-and-permissions).
420+
For more information about roles of room call participants, see [Rooms API for structured meetings](../../../concepts/rooms/room-concept.md#predefined-participant-roles-and-permissions).

0 commit comments

Comments
 (0)