The Azure Communication Services team is excited to share several new product and feature updates released in September through December 2024. (You can view previous blog articles.)
As the year ends, we have many features that are being released, and for readability have organized these features into three areas:
- Front-end APIs for voice and video calling. Noise suppression, new components in the open-source iOS and Android UI libraries, and new Teams interop features help virtual meeting and contact center applications deliver a high-quality end-user communication experience.
- Back-end APIs for voice and video calling. The Rooms and Call Automation APIs enable your services to route, manage, and structure both scheduled and unscheduled VOIP and video calling. We’ve added new capabilities for contact center applications and PSTN-enabled virtual meetings.
- APIs for SMS and Email. New 10DLC phone numbers supported and enhanced email APIs improve the effectiveness and scale of your SMS and email conversations and campaigns.
Client (front-end) APIs for Voice & Video Calling
Improve audio quality by enabling advanced Noise Suppression on Web Desktop browsers
Status: GA
Azure Communications Services now includes background audio noise suppression in its WebJS Calling SDK. This feature improves call quality by reducing background noise and ensuring that the speaker's voice remains clear and understandable. This technology is useful in environments with high levels of ambient noise, such as open offices or public spaces, where extraneous sounds can interfere with communication. By filtering out ambient noise, noise suppression helps participants concentrate on the conversation without interruptions. Advanced noise suppression models used by Azure Communication Services can manage various distracting noises, such as a dog barking and background conversations.
For more information, see Tutorial: Add audio filters to improve the quality in your audio calling experience - An Azure Communication Services tutorial on how to enable advanced audio filters | Microsoft Learn
Teams user interop calling
Status: GA
Azure Communication Services Calling applications can now directly call individual Microsoft Teams users. Those Teams users can be using Microsoft Teams or be an authenticated ACS Calling SDK endpoint. This feature makes Teams interoperability more complete; you can build custom ACS apps connecting people to:
- Individual Teams users
- Teams call queues and auto-attendants
- Teams meetings
Business-2-consumer contact center and meeting applications can use these features to keep external customers in highly tailored websites and app experiences. Using this feature also keeps all employee and agent communication activity in a single hub: Teams. For more information, see Capabilities for Microsoft Teams users in Azure Communication Services calls.
Native UI Library customization & accessibility
Status: GA
We have a suite of new features for the open source Calling Native UI Library that provide enhanced customization options and improved accessibility for developers building communication experiences on Android and iOS. Developers can use these APIs to make video calling better fit their brand identity, provide better user experiences, and ensure their services are accessible to a wider audience.
Empowering Brands
- Change interface colors to match brand themes.
- Customize call title and subtitle for personalized interactions.
- Configure the button bar by adding, removing, or modifying action buttons to suit specific business workflows.
Healthcare Providers: A telemedicine platform can now align its in-call interface with its brand colors, giving patients a familiar and trustworthy experience. Customizing the call title to display “Telemedicine Session” and adding subtitles like “Dr. Jane Doe” help ensure that patients know exactly whom they’re speaking with. Developers can further tailor the call interface by adding or removing buttons, such as a custom “End Consultation” button.
Custom Workflows for Customer Support: Enterprises providing customer support through calling can now use customized buttons to streamline the user experience. For example, instead of a generic button layout, they can configure buttons like “Hold,” “Transfer to Supervisor,” or “Open Ticket” to match their specific operational workflows. This not only improves agent efficiency but also enhances customer satisfaction.
Captions components
Accessibility is a key consideration for businesses aiming to reach diverse audiences. Closed captions for Azure Communication Services and Teams interop calls can significantly enhance the communication experience for users with hearing impairments, or for situations where audio clarity may be compromised such as noisy environments.
You are welcome to explore our tutorials to adjust colors, bar button layout, title and subtitle, and enable closed captions on your calls using the Calling Native UI Library.
Native UI Library – Combined Call and Chat
Status: GA
The Call and Chat UI Library components are now available in GA for both Android and iOS. The Call and Chat UI Library samples provide ready-to-use code for using both Azure Communication Services call and chat functions.
Customer Support Applications: Integrate real-time voice/video calls and chat to provide a seamless support experience for your customers. Using these samples, customer support teams can easily manage multiple conversations, record interactions, and provide live assistance; all while keeping a user-friendly experience.
Telemedicine Platforms: Healthcare providers can leverage these samples to offer virtual consultations with real-time communication between doctors and patients. The call recording and chat history features ensure compliance and provide a clear record for follow-up care.
Education Platforms: Create virtual classrooms with integrated video call and chat functions, enabling educators to engage with students in real time. Teachers can host live sessions while managing questions and discussions via chat for an enhanced learning experience.
|
|
The Call and Chat UI Library Samples are available now:
Remote Mute VoIP participants
Status: GA
Conducting disruption free group meetings, virtual –appointments, and B2C engagements often require controls to manage noise from inattentive participants. A participant might be driving and speaking to their friends without realizing that their noise and conversation is being relayed to participants in the meeting. The ability to remotely mute a VoIP participant comes handy in such situations. It enables another participant to remotely mute one or more VoIP participants in the call. Participants who are muted can unmute themselves when they need to speak.
The ability to remotely mute a participant is now generally available for Azure Communication Services calls with the following specific functions:
- A VoIP user remotely mutes all other VoIP participants in an Azure Communications Services Rooms and group calls using the following API:
await call.muteAllRemoteParticipants();
- A VoIP user remotely mutes one or several VoIP participants in an Azure communications services Rooms and group calls using the following API:
await call.remoteParticipants[0].mute();
- In Azure Communication Services Rooms calls, only VoIP users with “Presenter” role can mute other participants to avoid undesired remote mutes.
- When a local call participant is muted by another participant, it raises the mutedByOthers event. This event causes the client to notify the VoIP participant that they have been muted.
For more information, please see:
Extended caller information
Status: GA
Incoming call notifications now include the caller line id (CLID) and calling party name (CNAM). This information can be used to identify the phone number of an incoming call. For more information, see CallerInfo interface and Manage Calls.
const incomingCallHandler = async (args: { incomingCall: IncomingCall }) => { const incomingCall = args.incomingCall; // Get information about caller console.log(callerInfo.displayName); console.log(callerInfo.identifier); };
Service (back-end) APIs for Voice & Video Calling
Call Automation and Rooms APIs for telephony enabled meetings
Status: GA
Developers use Azure Communication Services Rooms and Azure Communication Services Calling for a wide variety of scenarios: medical appointments, telebanking, virtual classrooms, and coaching.
- The Azure Communication Services Rooms API helps developers structure virtual meetings.
- The Azure Communication Services Call Automation APIs enables service applications to use REST APIs and server SDKs to answer phone calls, add VOIP users, or otherwise control the Azure Communication Services Calling system.
These two systems now work together to support advanced meeting scenarios. One new feature we’re introducing is PSTN dial out from Rooms. Developers can use Call Automation to ring external interpreters, social services representatives, and other professionals to join the meeting. You can use phone numbers leased directly from Azure or numbers you bring via Azure Direct Connect.
Many other Call Automation features, such as bidirectional audio streaming, are also available in Rooms managed calls.
For more information, see:
Improved bot-to-user voice interactions with APIs for barge-in, hold, transfer & more
Status: GA
In addition to server programmability of Rooms and troubleshooting improvements, we’ve also made an array of other improvements to Call Automation that allow for more powerful bots and interactive voice response (IVR).
- Hold/Unhold: Provide developers with the capability to play music while putting participants on hold through supported file formats of WAV and MP3.
- Play multiple audio files: We've enhanced our existing Play and Recognize APIs to support the ability for developers to provide multiple audio files, Text, and SSML inputs when requesting a Play or Recognize action.
- Play barge-in: Developers can now provide barge-in capability to the Play action, enabling you to interrupt a current prompt, such as hold music, with a new message such as wait time announcement.
- Play started event: We're also enabling a playStarted event to let developers know that a play prompt has started.
- VoIP to PSTN transfer: Developers can now transfer VoIP users to PSTN/SIP endpoints. For inbound PSTN calls, the call connection object now contains the PSTN number the user dialed to.
To get started with Call Automation, see:
Troubleshooting improvements for Call Automation
Status: GA
We've made improvements to help developers troubleshoot Call Automation. Now, you receive notifications if the CreateCall or Answer APIs fail asynchronously through the new CreateCallFailed and AnswerFailed events. Along with these events, we provide error codes for various participant leave and call end scenarios, helping you make informed decisions about what to do next.
We've also revamped the error code documentation to offer better guidance for handling issues independently. In addition, you can now view Call Automation callback events in Azure metrics.
For more information, see:
- Our updated troubleshooting guide for troubleshooting response codes.
- Our docs on how to view Azure Communication Services Callback events via Azure Metrics.
Call Recording Enhancements for Reliability
Status: GA
We have introduced new functionality within the Bring Your Own Storage(BYOS) for call recording. This enhancement now provides customers with the option to download their recordings and receive notifications if recording uploads to their storage fail due to misconfigurations.
When the first attempt to upload to a customer’s blob storage fails, status and error codes are provided. These codes address common issues such as:
- Managed Identity not enabled
- Permissions not set up correctly
- Container does not exist
- Invalid container name or storage path
These error messages aim to reduce the loss of recordings by providing timely notifications for manual action (such as direct download) and guiding customers to resolve configuration issues for BYOS.
APIs for SMS & Email
10 Digit Long Code SMS
Status: Public Preview
We’re excited to announce the public preview launch of 10-digit long code (10DLC) SMS in Azure Communication Services, providing enterprises with a trusted and scalable messaging solution to connect with their customers efficiently and compliantly.
What is 10DLC SMS?
10DLC SMS is a dedicated messaging channel designed for businesses to send messages using local phone numbers. 10DLC offers a unique, registered phone number for your business, enhancing trust and ensuring compliance with carrier regulations. Perfect for transactional alerts, promotional messages, and customer service, 10DLC ensures higher message deliverability while adhering to industry standards.
Benefits of Using 10DLC SMS:
- Improved Deliverability: 10DLC ensures higher message deliverability compared to traditional long codes, making it an effective way to ensure your messages reach your customers.
- Local Presence: Using a local 10-digit number provides a more personal and trusted connection with your customers, increasing engagement and response rates.
- Cost-effective: 10DLC offers a more affordable option compared to short codes, providing businesses with an efficient and cost-effective way to send high-volume messages.
- Versatility: Perfect for various use cases, including transactional messages, customer support, promotions, and marketing campaigns.
Documentation Links:
Enhance email communication with inline attachments
Status: Public Preview
The Azure Communication Service email service now supports inline image attachments.
Email communication is more than just text. It's about creating engaging and visually appealing messages that capture the recipient's attention. One way to engage email recipients is by using inline attachments, which enable you to embed images directly within the email body.
Inline attachments are images or other media files that are embedded directly within the email content, rather than being sent as separate attachments. Inline attachments let the recipient view the images as part of the email body, enhancing the overall visual appeal and engagement.
Using inline attachments
Inline attachments are typically used for:
- Improved Engagement: Inline images can make your emails more visually appealing and engaging.
- Better Branding: Embedding your logo or other brand elements directly in the email can reinforce your brand identity.
- Enhanced User Experience: Inline images can help illustrate your message more effectively, making it easier for recipients to understand and act on your content.
Benefits of using CID for inline attachments
We use the HTML attribute content-ID (CID) to embed images directly into the email body. Using CID for inline attachments is considered the best approach for the following reasons:
- Reliability: CID embedding references the image data using a unique identifier, rather than embedding the data directly in the email body. CID embedding ensures that the images are reliably displayed across different email clients and platforms.
- Efficiency: CID enables you to attach the image to the email and reference it within the HTML content using the unique content-ID. This method is more efficient than base64 encoding, which can significantly increase the size of the email and affect deliverability.
- Compatibility: CID is supported by most email clients, ensuring that your inline images are displayed correctly for most recipients.
- Security: Using CID avoids the need to host images on external servers, which can pose security risks. Instead, the images are included as part of the email, reducing the risk of external content being blocked or flagged as suspicious.
For more information, see:
- Using inline attachments
- Quickstart - Send email with attachments using Azure Communication Services
- Quickstart - Send email with inline attachments using Azure Communication Services
Multiple custom domains per Azure Communication Services email resource
Status: Public Preview
Developers can now connect multiple custom domains with the same Azure Communication Services resource. This feature enables Developers to manage their Azure Communication Services resources more effectively to support various business applications or customers using different custom domains. Some scenarios where this feature is useful include:
- Messaging organizations that need to support multiple custom domains across several applications can use one Azure Communication Services resource to manage and support these applications, reducing resource management efforts.
- SaaS service providers can manage many customers with fewer Azure Communication Services resources.
Note: We enable customers to link up to 100 custom domains to a single communication service resource. All Mail-From addresses configured under these custom domains are accessible for the communication service resource. You can only link verified custom domains.
For more information on connecting verified domains, see:
Support for customer provided Message-Id in email headers
Status: Public Preview
Azure Communication Services recently released an update that respects the customer provided unique message-ids in email headers. Many customers use their custom message-ids to monitor the entire lifecycle of the messages.
Prior to this release, the Azure Communication Services platform generated a unique message-id for every request before delivery, requiring customers to map these message-ids within their applications. With the new release, if the custom message-ids provided by customers are unique, the Azure Communication Services platform doesn’t override them. This enhancement enables customers to directly correlate delivery analytics from the Azure Communication Services platform with their internal application analytics. Examples of customer use cases for custom message-ids include marketing campaigns and maintaining conversational context.