Teams meeting support for Teams user in Calling SDK
The Azure Communication Services Calling SDK enables Microsoft 365 users to join and participate in voice and video meeting experiences. This page provides detailed descriptions of Teams meeting features. To get started right away, check out Calling quickstarts.
The following list of capabilities is allowed when Microsoft 365 users participate in Teams meeting:
Group of features | Capability | JavaScript | Windows | Java (Android) | Objective-C (iOS) |
---|---|---|---|---|---|
Core Capabilities | Join Teams meeting | ✔️ | ✔️ | ✔️ | ✔️ |
Leave meeting | ✔️ | ✔️ | ✔️ | ✔️ | |
End meeting for everyone | ✔️ | ✔️ | ✔️ | ✔️ | |
Change meeting options | ❌ | ❌ | ❌ | ❌ | |
Lock & unlock meeting | ❌ | ❌ | ❌ | ❌ | |
Prevent joining locked meeting | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor assigned Teams meeting role | ✔️ | ✔️ | ✔️ | ✔️ | |
Mid call control | Turn your video on/off | ✔️ | ✔️ | ✔️ | ✔️ |
Mute/Unmute mic | ✔️ | ✔️ | ✔️ | ✔️ | |
Switch between cameras | ✔️ | ✔️ | ✔️ | ✔️ | |
Local hold/un-hold | ✔️ | ✔️ | ✔️ | ✔️ | |
Indicator of dominant speakers in the call | ✔️ | ✔️ | ✔️ | ✔️ | |
Choose speaker device for calls | ✔️ | ✔️ | ❌2 | ❌2 | |
Choose microphone for calls | ✔️ | ✔️ | ❌2 | ❌2 | |
Indicator of participant's state Idle, Early media, Connecting, Connected, On hold, In Lobby, Disconnected |
✔️ | ✔️ | ✔️ | ✔️ | |
Indicator of call's state Early Media, Incoming, Connecting, Ringing, Connected, Hold, Disconnecting, Disconnected |
✔️ | ✔️ | ✔️ | ✔️ | |
Indicate participants being muted | ✔️ | ✔️ | ✔️ | ✔️ | |
Indicate participants' reasons for terminating the call | ✔️ | ✔️ | ✔️ | ✔️ | |
Get associated toll and toll-free phone numbers with the meeting | ✔️ | ❌ | ❌ | ❌ | |
Screen sharing | Share the entire screen from within the application | ✔️ | ✔️1 | ✔️1 | ✔️1 |
Share a specific application (from the list of running applications) | ✔️ | ✔️1 | ❌ | ❌ | |
Share a web browser tab from the list of open tabs | ✔️ | ✔️ | ✔️ | ✔️ | |
Receive your screen sharing stream | ❌ | ❌ | ❌ | ❌ | |
Share content in "content-only" mode | ✔️ | ✔️ | ✔️ | ✔️ | |
Receive video stream with content for "content-only" screen sharing experience | ✔️ | ✔️ | ✔️ | ✔️ | |
Share content in "standout" mode | ❌ | ❌ | ❌ | ❌ | |
Receive video stream with content for a "standout" screen sharing experience | ❌ | ❌ | ❌ | ❌ | |
Share content in "side-by-side" mode | ❌ | ❌ | ❌ | ❌ | |
Receive video stream with content for "side-by-side" screen sharing experience | ❌ | ❌ | ❌ | ❌ | |
Share content in "reporter" mode | ❌ | ❌ | ❌ | ❌ | |
Receive video stream with content for "reporter" screen sharing experience | ❌ | ❌ | ❌ | ❌ | |
Share system audio during screen sharing | ✔️ | ❌ | ❌ | ❌ | |
Roster | List participants | ✔️ | ✔️ | ✔️ | ✔️ |
Add an Azure Communication Services user | ❌ | ❌ | ❌ | ❌ | |
Add a Teams user | ✔️ | ✔️ | ✔️ | ✔️ | |
Adding Teams user honors Teams external access configuration | ✔️ | ✔️ | ✔️ | ✔️ | |
Adding Teams user honors Teams guest access configuration | ✔️ | ✔️ | ✔️ | ✔️ | |
Add a phone number | ✔️ | ✔️ | ✔️ | ✔️ | |
Remove a participant | ✔️ | ✔️ | ✔️ | ✔️ | |
Manage breakout rooms | ❌ | ❌ | ❌ | ❌ | |
Participation in breakout rooms | ❌ | ❌ | ❌ | ❌ | |
Admit participants in the lobby into the Teams meeting | ✔️ | ✔️ | ✔️ | ✔️ | |
Be admitted from the lobby into the Teams meeting | ✔️ | ✔️ | ✔️ | ✔️ | |
Promote participant to a presenter or attendee | ❌ | ❌ | ❌ | ❌ | |
Be promoted to presenter or attendee | ✔️ | ✔️ | ✔️ | ✔️ | |
Disable or enable mic for attendees | ❌ | ❌ | ❌ | ❌ | |
Honor disabling or enabling a mic as an attendee | ✔️ | ✔️ | ✔️ | ✔️ | |
Disable or enable camera for attendees | ❌ | ❌ | ❌ | ❌ | |
Honor disabling or enabling a camera as an attendee | ✔️ | ✔️ | ✔️ | ✔️ | |
Adding Teams user honors information barriers | ✔️ | ✔️ | ✔️ | ✔️ | |
Device Management | Ask for permission to use audio and/or video | ✔️ | ✔️ | ✔️ | ✔️ |
Get camera list | ✔️ | ✔️ | ✔️ | ✔️ | |
Set camera | ✔️ | ✔️ | ✔️ | ✔️ | |
Get selected camera | ✔️ | ✔️ | ✔️ | ✔️ | |
Get microphone list | ✔️ | ✔️ | ✔️ | ✔️ | |
Set microphone | ✔️ | ✔️ | ✔️ | ✔️ | |
Get selected microphone | ✔️ | ✔️ | ✔️ | ✔️ | |
Get speakers list | ✔️ | ✔️ | ✔️ | ✔️ | |
Set speaker | ✔️ | ✔️ | ✔️ | ✔️ | |
Get selected speaker | ✔️ | ✔️ | ✔️ | ✔️ | |
Video Rendering | Render single video in many places (local camera or remote stream) | ✔️ | ✔️ | ✔️ | ✔️ |
Set / update scaling mode | ✔️ | ✔️ | ✔️ | ✔️ | |
Render remote video stream | ✔️ | ✔️ | ✔️ | ✔️ | |
See together mode video stream | ✔️ | ❌ | ❌ | ❌ | |
See Large gallery view | ❌ | ❌ | ❌ | ❌ | |
Receive video stream from Teams media bot | ❌ | ❌ | ❌ | ❌ | |
Receive adjusted stream for "content from Camera" | ❌ | ❌ | ❌ | ❌ | |
Add and remove video stream from spotlight | ✔️ | ✔️ | ✔️ | ✔️ | |
Allow video stream to be selected for spotlight | ✔️ | ✔️ | ✔️ | ✔️ | |
Video Effects | Background Blur | ✔️ | ✔️ | ✔️ | ✔️ |
Custom background image | ✔️ | ❌ | ❌ | ❌ | |
Recording & transcription | Manage Teams convenient recording | ❌ | ❌ | ❌ | ❌ |
Receive information of call being recorded | ✔️ | ✔️ | ✔️ | ✔️ | |
Manage Teams transcription | ❌ | ❌ | ❌ | ❌ | |
Receive information of call being transcribed | ✔️ | ✔️ | ✔️ | ✔️ | |
Support for compliance recording | ✔️ | ✔️ | ✔️ | ✔️ | |
Azure Communication Services recording | ❌ | ❌ | ❌ | ❌ | |
Engagement | Raise and lower hand | ✔️ | ✔️ | ✔️ | ✔️ |
Indicate other participants' raised and lowered hands | ✔️ | ✔️ | ✔️ | ✔️ | |
Trigger reactions | ❌ | ❌ | ❌ | ❌ | |
Indicate other participants' reactions | ❌ | ❌ | ❌ | ❌ | |
Integrations | Control Teams third-party applications | ❌ | ❌ | ❌ | ❌ |
Receive PowerPoint Live stream | ❌ | ❌ | ❌ | ❌ | |
Receive Whiteboard stream | ❌ | ❌ | ❌ | ❌ | |
Interact with a poll | ❌ | ❌ | ❌ | ❌ | |
Interact with a Q&A | ❌ | ❌ | ❌ | ❌ | |
Interact with a OneNote | ❌ | ❌ | ❌ | ❌ | |
Manage SpeakerCoach | ❌ | ❌ | ❌ | ❌ | |
Include participant in Teams meeting attendance report | ❌ | ❌ | ❌ | ❌ | |
Accessibility | Receive closed captions | ✔️ | ✔️ | ✔️ | ✔️ |
Communication access real-time translation (CART) | ❌ | ❌ | ❌ | ❌ | |
Language interpretation | ❌ | ❌ | ❌ | ❌ | |
Advanced call routing | Does meeting dial-out honor forwarding rules | ✔️ | ✔️ | ✔️ | ✔️ |
Read and configure call forwarding rules | ❌ | ❌ | ❌ | ❌ | |
Does meeting dial-out honor simultaneous ringing | ✔️ | ✔️ | ✔️ | ✔️ | |
Read and configure simultaneous ringing | ❌ | ❌ | ❌ | ❌ | |
Does meeting dial-out honor shared line configuration | ✔️ | ✔️ | ✔️ | ✔️ | |
Dial-out from meeting on behalf of the Teams user | ❌ | ❌ | ❌ | ❌ | |
Read and configure shared line configuration | ❌ | ❌ | ❌ | ❌ | |
Teams meeting policy | Honor setting "Let anonymous people join a meeting" | ✔️ | ✔️ | ✔️ | ✔️ |
Honor setting "Mode for IP audio" | ❌ | ❌ | ❌ | ❌ | |
Honor setting "Mode for IP video" | ❌ | ❌ | ❌ | ❌ | |
Honor setting "IP video" | ❌ | ❌ | ❌ | ❌ | |
Honor setting "Local broadcasting" | ❌ | ❌ | ❌ | ❌ | |
Honor setting "Media bit rate (kBps)" | ❌ | ❌ | ❌ | ❌ | |
Honor setting "Network configuration lookup" | ❌ | ❌ | ❌ | ❌ | |
Honor setting "Transcription" | No API available | No API available | No API available | No API available | |
Honor setting "Cloud recording" | No API available | No API available | No API available | No API available | |
Honor setting "Meetings automatically expire" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Default expiration time" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Store recordings outside of your country or region" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Screen sharing mode" | No API available | No API available | No API available | No API available | |
Honor setting "Participants can give or request control" | No API available | No API available | No API available | No API available | |
Honor setting "External participants can give or request control" | No API available | No API available | No API available | No API available | |
Honor setting "PowerPoint Live" | No API available | No API available | No API available | No API available | |
Honor setting "Whiteboard" | No API available | No API available | No API available | No API available | |
Honor setting "Shared notes" | No API available | No API available | No API available | No API available | |
Honor setting "Select video filters" | ❌ | ❌ | ❌ | ❌ | |
Honor setting "Let anonymous people start a meeting" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Who can present in meetings" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Automatically admit people" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Dial-in users can bypass the lobby" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Meet now in private meetings" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Live captions" | No API available | No API available | No API available | No API available | |
Honor setting "Chat in meetings" | ✔️ | ✔️ | ✔️ | ✔️ | |
Honor setting "Teams Q&A" | No API available | No API available | No API available | No API available | |
Honor setting "Meeting reactions" | No API available | No API available | No API available | No API available | |
DevOps | Azure Metrics | ✔️ | ✔️ | ✔️ | ✔️ |
Azure Monitor | ✔️ | ✔️ | ✔️ | ✔️ | |
Azure Communication Services Insights | ✔️ | ✔️ | ✔️ | ✔️ | |
Azure Communication Services Voice and video calling events | ❌ | ❌ | ❌ | ❌ | |
Teams Call Analytics | ✔️ | ✔️ | ✔️ | ✔️ | |
Teams real-time Analytics | ❌ | ❌ | ❌ | ❌ |
- The Share Screen capability can be achieved using Raw Media, if you want to learn, how to add Raw Media, visit the quickstart guide.
- The Calling SDK doesn't have an explicit API, you need to use the OS (android & iOS) API to achieve it.
Teams meeting organizers can configure the Teams meeting options to adjust the experience for participants. The following options are supported in Azure Communication Services for Teams users:
Option name | Description | Supported |
---|---|---|
Automatically admit people | Teams user can bypass the lobby, if Teams meeting organizer set value to include "people in my organization" for single tenant meetings and "people in trusted organizations" for cross-tenant meetings. Otherwise, Teams users have to wait in the lobby until an authenticated user admits them. | ✔️ |
Always let callers bypass the lobby | Participants joining through phone can bypass lobby | Not applicable |
Announce when callers join or leave | Participants hear announcement sounds when phone participants join and leave the meeting | ✔️ |
Choose co-organizers | Teams user can be selected as co-organizer. It affects the availability of actions in Teams meetings. | ✔️ |
Who can present in meetings | Controls who in the Teams meeting can share screen. | ✔️ |
Manage what attendees see | Teams organizer, co-organizer and presenter can spotlight videos for everyone. Azure Communication Services does not receive the spotlight signals. | ❌ |
Allow mic for attendees | If Teams user is attendee, then this option controls whether Teams user can send local audio | ✔️ |
Allow camera for attendees | If Teams user is attendee, then this option controls whether Teams user can send local video | ✔️ |
Record automatically | Records meeting when anyone starts the meeting. The user in the lobby does not start a recording. | ✔️ |
Allow meeting chat | If enabled, Teams users can use the chat associated with the Teams meeting. | ✔️ |
Allow reactions | If enabled, Teams users can use reactions in the Teams meeting. Azure Communication Services doesn't support reactions. | ❌ |
RTMP-IN | If enabled, organizers can stream meetings and webinars to external endpoints by providing a Real-Time Messaging Protocol (RTMP) URL and key to the built-in Custom Streaming app in Teams. | Not applicable |
Provide CART Captions | Communication access real-time translation (CART) is a service in which a trained CART captioner listens to the speech and instantaneously translates all speech to text. As a meeting organizer, you can set up and offer CART captioning to your audience instead of the Microsoft Teams built-in live captions that are automatically generated. | ❌ |
For more information, see the following articles:
- Familiarize yourself with general call flows
- Learn about call types