Create an Azure Communication Services Room with role-based participant permissions
domain: learn.microsoft.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Use the Virtual Rooms SDK (server-side) to create a room, specifying a validity window (start/end) and setting pstnDialoutEnabled if PSTN dial-out is needed
Add participants to the room roster and assign each a role: Presenter, Collaborator, Attendee, or Consumer
Note that rooms only support the "Invite Only" type — the older "Open Room" (join without invite) type is deprecated
Have clients join the room using the standard Calling SDK (Web, iOS, or Android) with their assigned role
For server-side actions during the call (dial-out, recording, DTMF, announcements), use the separate Call Automation SDK — it is not governed by room roles
Known gotchas
Rooms do not support Microsoft Teams interoperability or PSTN dial-in — if you need Teams interop, use ACS's separate Teams-interop calling path instead of Rooms
Role capabilities (mute others, screen share, remove from roster, PSTN dial-out) differ per role — check the capability matrix before assuming a role can perform an action
Recording and audio media streaming inside Rooms are still public-preview capabilities as of the current GA SDK versions — don't assume full parity with non-Room calls
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?