Rooms overview

Important

Functionality described on this section is currently in private preview. Private preview includes access to SDKs and documentation for testing purposes that are not yet available publicly. Apply to become an early adopter by filling out the form for preview access to Azure Communication Services.

Azure Communication services provide a concept of rooms for developers who are building structured conversations. Rooms support only voice and video calling in Private Preview. Here are main scenarios where Rooms are useful:

  • Service-managed communication. Rooms help service platforms deliver meeting-style experiences while still being suitably generic for a wide variety of industry applications. Services can create and manage rooms for patients seeking medical advice, financial planners working with clients, and lawyers providing legal services.
  • Ability to have Invite-only experiences. Rooms allow your services to control which users can join the rooms. Board members can discuss sensitive topics confidentially.

When to use Rooms

Not every solution needs a Room. Some scenarios, like building basic one-to-one or one-to-few ad-hoc interactions, can be created using the Calling or Chat SDKs without the need for rooms.

Use rooms when you need:

  • Control who can access a calling session on server side
  • Need coordinates that can be expired at a specific moment of time
  • Have a call to which only invited users can join

Diagram showing decision tree to select a Room.

Note while you can use either group CallID or rooms if you just need an ephemeral coordinate. We recommend using rooms API for all new solutions you are building.

Capability 1:N Call 1:N Call
with ephemeral ID
Room call
Interactive participants 350 350 350
Ephemeral ID to distribute to participants No Yes (Group ID) Yes (Room ID)
Invitee only participation No No Yes
(Mandatory in private preview)
API to create. remove, update, delete the call No No Rooms API
Set validity period for a call No No Yes
Up to six months

Managing the Rooms

Rooms are managed via Rooms SDK or Rooms API. In the initial release, the rooms allows only have voice and video calls within the Room.

Use the Rooms API/SDK in your server application for Room:

  • Creation
  • Modification
  • Deletion
  • Defining and updating the set of participants
  • Setting and modifying the Room validity (up to six months).

Use the JS Calling SDKs (with other Calling SDKs and chat support on the roadmap) to join the room.

The picture below illustrates the concept of managing and joining the rooms.

Diagram showing Rooms Management.

Runtime operations

Most actions available in regular one-to-one or group calls in JS Calling SDK are also available in rooms. You cannot promote the existing one-to-one or group call to a room call or Invite an ad hoc user to join a Room (you need to add the user using the Rooms API) Full list of capabilities that are available in JS SDK are listed in the Calling SDK Overview.

Capability JS Calling SDK Rooms API/SDK
Join a Room call with voice and video ✔️
List participants that joined the Rooms call ✔️
List all participants that are invited to the Room call ✔️
Add or remove a VoIP participant ✔️
Add or remove a new PSTN participant

Next steps: