The Azure Communication Services team is excited to share several new product and feature updates released at the end of 2024 and January 2025. (You can view previous blog articles.)
To kick off the new year, we’re excited to introduce several new features, organized into two key areas for clarity:
- Enhancing User Experience in Voice and Video Calling. New features like Picture-in-Picture (PiP) in the Calling Native iOS SDK, Real Time Text (RTT), managing SMS opt-out preferences, and more feature parity with Teams in the Web calling SDK enhance accessibility and engagement during calls.
- Advanced Management and Analytics for Communication Services. Teams admins can now view Azure Communication Services survey data, while developers can identify web calling participants with custom data tags improving overall communication management.
Enhancing User Experience in Voice and Video Calling
1. SMS Opt-Out Management API
Status: Public Preview
The Opt-Out Management API is now available in Public Preview for Azure Communication Services.
The Opt-Out Management API empowers developers to programmatically manage SMS opt-out preferences, enabling businesses to handle opt-out workflows seamlessly and ensure compliance with global messaging regulations.
Unlike static opt-out management processes, where handling preferences is often manual and disconnected, this API introduces automation and flexibility. With endpoints for adding, removing, and checking opt-out entries, developers can centralize management across multiple channels and create smarter workflows that align with customer preferences and regulatory requirements.
For example, a business can manage custom opt-out workflows where customers opt out via SMS and later update their preferences through a web portal. The Opt-Out Management API ensures these changes are synchronized in real time, providing businesses with complete control over compliance and transparency.
Why is this important?
Effective opt-out management is a cornerstone of responsible and compliant SMS communication. The Opt-Out Management API provides the tools to:
- Ensure Compliance: By automating opt-out workflows, businesses can meet regulatory requirements, reducing the risk of violations.
- Improve Efficiency: Replace manual processes with automation to streamline operations, particularly for large-scale messaging campaigns.
- Enhance Customer Trust: Enable customers to manage their preferences across different platforms, ensuring a transparent and consistent experience.
string connectionString = "<Your_Connection_String>";
SmsClient smsClient = new SmsClient(connectionString);
smsClient.OptOuts.Add("<from-phone-number>", new List<string> { "<to-phone-number1>", "<to-phone-number2>" });
Release Timeline
Now Available: Public Preview release for the Opt-Out Management API.
Future Plans: Enhancements based on feedback will inform the timeline for General Availability (GA), which will be announced later.
Get Started with the Opt-Out Management API
Developers and organizations can begin exploring the API now with the following resources:
- Conceptual Documentation: Short Message Service (SMS) Opt-Out Management API for Azure Communication Services - An Azure Communication Services concept document | Microsoft Learn
- QuickStart Guide: Send OptOut API requests with API (HMAC) | Microsoft Learn
We’re looking forward to seeing how businesses leverage the Opt-Out Management API to build smarter, compliant messaging workflows.
2. Real Time Text (RTT)
Status: Public Preview
Another feature coming to Azure Communication Services is Real Time Text (RTT).
Real-time text (RTT) is a system for transmitting text over the internet that enables the recipient to receive and display the text at the same rate as it is being produced without the user needed to hit send, giving the effect of immediate and continuous communication.
Unlike traditional chat messaging, where the recipient sees the full message only after it is completed and sent, RTT provides an immediate and continuous stream of communication. For example, in a video or voice call, a user typing "Hello, how are you?" sees each character appear on the recipient’s screen as they type: "H," then "He," then "Hel," and so on. This messaging of text creates a dynamic, conversational experience that mirrors spoken communication. We added new APIs to Azure Communication Services Calling SDKs so that developers can easily and seamlessly integrate RTT into voice and video calls. These APIs also work in tandem with other accessibility features such as closed captions.
Why is this important?
RTT is an accessibility feature, and Microsoft is committed to accessibility. This commitment is especially relevant to Azure Communication Services, as the ability to inclusively reach as many humans as possible is an essential value proposition of a developer platform that connects people to people, and people to AI.
Here’s how RTT makes a difference:
- Better Accessibility: RTT empowers individuals with speech or hearing impairments to actively participate in conversations. Its real-time functionality ensures their input is received as fluidly and immediately as spoken words, creating equitable and inclusive communication experiences.
- Enhancing Clarity: In environments where background noise or technical limitations affect audio quality, RTT serves as a reliable text-based alternative to convey important messages accurately.
As communication moves increasingly to internet-based platforms, features like RTT play a critical role in making digital interactions more inclusive and accessible.
RTT is not only a valuable feature—it is also essential for meeting global accessibility standards. Under the European Accessibility Act (Directive (EU) 2019/882), voice and video calling services in the European Union will be required to support RTT by June 2025.
Azure Communication Services is committed to providing solutions that meet these evolving standards, ensuring that all users, regardless of ability, can engage in meaningful, accessible communication.
Release Timeline
- Now Available: Public Preview release for the Native Calling SDK, enabling RTT for all voice and video calls except Azure Communication Services/Teams interop scenarios.
- January 2025: Public Preview release for the Native UI SDK, Web SDK, with the Web UI following later in the month.
- Future Plans: RTT functionality for Azure Communication Services/Teams interop scenarios will be available following its implementation in Teams.
The General Availability (GA) timeline will be announced later this month.
Developers and organizations can begin exploring RTT in Azure Communication Services now with the following resources:
- Conceptual Documentation: https://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/real-time-text
- Native QuickStart Guide: https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/get-started-with-real-time-text?pivots=programming-language-csharp
3. Calling Native iOS SDK enable Picture-in-Picture
Status: GA
Multitasking has become an essential part of how we work and communicate today. With this in mind, Azure Communication Services has introduced Picture-in-Picture (PiP) mode for video calling applications. This powerful feature enhances user experience by allowing a video stream to continue in a floating, movable window while users navigate other applications on their devices.
What Is Picture-in-Picture (PiP) Mode?
PiP mode lets users keep their video calls visible and uninterrupted as they switch between apps or multitask. For example, healthcare professionals can input electronic health records (EHR) in Epic while maintaining video communication with patients. Similarly, users in industries like banking or customer service can seamlessly switch to other tasks without ending the call.
How It Works
The Native Calling SDK and UI makes it simple to implement PiP in your app. It provides built-in functionality for:
- Joining calls: Start and manage calls effortlessly.
- Rendering video streams: Display local and remote video streams within the PiP window.
- Managing permissions: The SDK handles user consent and system requirements, ensuring smooth operation of PiP.
PiP keeps calls active in both the foreground and background. This ensures uninterrupted communication while users:
- Navigate to other apps.
- Switch between video streams.
- Return to the calling experience instantly via the floating PiP window.
Why PiP Matters
A traditional full-screen video UI can limit multitasking, but PiP empowers users to stay productive without sacrificing connectivity. Key benefits include:
- Improved workflow in multitasking scenarios.
- Continued access to video calls while using other apps.
- An intuitive user interface with minimal interruption.
Technical Considerations
PiP functionality depends on the capabilities of the device, such as CPU performance, RAM, and battery state. Supported devices ensure the PiP window is visible, movable, and easy to use, regardless of the app in focus.
This feature further enhances the Azure Communication Services UI Library, enabling customers like Contoso to maintain active calls, even when navigating between custom activities like chat or task management.
For more information, see
4. Explicit consent for Teams meetings recording and transcription
Web calling SDK: General availability
Explicit consent for Teams meetings recording and transcription is now generally available in the Web calling SDK, enhancing user privacy and security. This feature ensures that participants must explicitly consent to being recorded and transcribed, which is crucial in environments with stringent privacy regulations.
When a Teams meeting recording or transcription is initiated, participants' microphones and cameras are disabled until they provide consent using the new Azure Communication Services API. Once consent is given, participants can unmute and enable their cameras. If a user joins a meeting already in progress, they will follow the same procedure. However, this feature is not supported in Android, iOS, or Windows calling SDK, nor in the Web and Mobile UI library. It is only supported in Teams meetings and Teams group calls, with plans to expand within the broader Azure Communication Services ecosystem.
To implement explicit consent for recording and transcription in your Teams meetings, you can use the following sample code to check if consent is required and to grant consent:
const isConsentRequired = callRecordingApi.isTeamsConsentRequired;
callRecordingApi.grantTeamsConsent();
Try out the new explicit consent feature in your Teams meetings today and ensure compliance with privacy regulations. For more information, read the detailed documentation.
5. Breakout rooms in Web calling SDK
Status: Web calling SDK & Web UI library: General availability
Breakout rooms are now available in the Web Calling SDK, enhancing flexibility and collaboration in online meetings. This feature allows participants to join smaller, focused groups within a larger meeting, boosting productivity and engagement. Whether it's dividing students into small groups for focused discussions, ensuring private and confidential discussions with clients, or conducting virtual consultations with private patient discussions, breakout rooms offer versatile and useful applications
Breakout rooms enable participants to join an additional call linked to the main meeting. Users can join and return to the main room as set by the organizers. Participants can view members, engage in chat, and see details of the breakout room. Breakout room managers can access specific room information and join them.
One limitation is that Azure Communication Services does not support the creation or management of breakout rooms, and this feature is not available in Android, iOS, and Windows calling SDK.
Try out the new breakout rooms feature in the Web calling SDK and UI library today! For more information, read the detailed documentation.
6. Together mode in Web calling SDK
Status: Web calling SDK - General availability
Together Mode in the Web Calling SDK, available in Azure Communication Services, enhances virtual meetings by placing participants in a shared background, making it feel like everyone is in the same room. This feature uses AI to segment and arrange participants naturally, reducing distractions and improving focus. By creating a more immersive and engaging meeting experience, Together Mode helps teams feel more connected, even when they are miles apart.
This feature is particularly useful for users with poor connectivity, as it allows them to save bandwidth by receiving a single video stream of all participants. Whether you're collaborating on a complex project, conducting training sessions, or holding virtual consultations, Together Mode ensures clear and focused communication. It enhances the overall meeting experience, making it more effective and engaging for various industries.
Try out Together Mode in your next virtual meeting and experience the difference it makes. For more information and detailed instructions, visit the documentation.
7. Disable attendee's audio and video
Web calling SDK: General availability
The new media access control feature in the Web Calling SDK allows organizers, co-organizers, and presenters to manage attendees' audio and video in Microsoft Teams meetings and group calls. This feature provides enhanced control over participants' ability to enable their microphone or camera during a session, ensuring a more focused and controlled meeting experience. By reducing distractions and maintaining the meeting's flow, media access control helps create a more productive environment.
With this feature, you can manage access for individuals or all attendees in the call, providing the flexibility to tailor the meeting experience as needed. Additionally, you can learn about the current media access of individual users and Teams meeting options, allowing you to provide the optimal user experience.
// Define list of attendees
const acsUser = new CommunicationUserIdentifier('<USER_ID>');
const teamsUser = new MicrosoftTeamsUserIdentifier('<USER_ID>');
const participants = [acsUser, teamsUser];
// Allow selected attendees to unmute
mediaAccessFeature.permitAudio(participants);
// Deny selected attendees to unmute
mediaAccessFeature.forbidAudio(participants);
// Allow selected attendees to turn on video
mediaAccessFeature.permitVideo(participants);
// Deny selected attendees to turn on video
mediaAccessFeature.forbidVideo(participants);
Try out the new Media access control feature today. For more detailed instructions and information, please refer to the documentation.
Advanced Management and Analytics for Communication Services
1. Teams admins can view Azure Communication Services survey data in Teams support tools
Status: GA
When your Azure Communication Services SDKs submit a survey as part of any Teams interop meeting scenarios, the survey data will now be accessible through the Teams meeting organizer's support tools. This is in addition to the Azure Communication Services admins access in the Azure Monitor logs.
This update lets Teams admins analyze subjective quality feedback from their Azure Communication Services meeting participants alongside their Teams participants. The specific Teams survey dimensions are referred to as ‘rating’ and can be located here.
The Azure Communication Services survey data is available in the following Teams support tools:
- Teams Call Quality Dashboard and Teams Call Analytics: Monitor and improve call quality for Microsoft Teams
- Teams Call Quality Connector for Power BI: Use Power BI to analyze CQD data for Microsoft Teams - Microsoft Teams
- Teams Graph API: Microsoft Graph overview and userFeedback resource type – Microsoft Graph v1.0
For more information, see Azure Communication Services End of Call Survey overview
2. Identify web calling participants with custom data tags
Status: GA
Now developers can add up to three custom data attributes to call participants with the WebJS calling client and view them in Azure Monitor. You can use these customizable attributes to enhance your post-call analysis. Since you have control over the data creation, you can use it for A/B testing, labeling (e.g., west coast, release version, etc.). You can use Call Diagnostics to search for these attributes or create custom queries with Log Analytics.
For more information, see: Tutorial on how to attach custom tags to your client telemetry
Updated Feb 11, 2025
Version 4.0seankeegan
Microsoft
Joined August 22, 2024
Azure Communication Services Blog
Follow this blog board to get notified when there's new activity