It’s been a busy and productive couple of months. We announced a lot of exciting product updates and offerings at Microsoft Ignite earlier this year, and many of these services are now generally available.
Build with Azure Communication Services + Microsoft Teams to enrich your apps or websites and benefit from free VoIP and Chat usage for Teams app users
Earlier this year, we announced that developers can use Azure Communication Services to connect users of a custom app or website with users on Microsoft Teams. As a bonus, VoIP and Chat usage is only billed to your Azure resource when using Azure APIs and SDKs. Meaning usage for Teams app users interacting with Azure Communication Services applications is free*.
Our objective is to help developers easily build customizable communication experiences across multiple platforms. With Azure Communication Services interoperability into Microsoft Teams, developers can do just that with the flexibility, economy, and scalability needed to build their own app experiences that now connect to the Teams platform.
*VoIP and Chat usage from a Teams app user is included under a Microsoft 365 license.
UI Library for Azure Communication Services is available in preview.
The UI Library for Azure Communication Services helps developers with faster time-to-market and ongoing maintenance of the communication capabilities within their applications. Developers can quickly build cross-channel user experiences with just a few lines code, now supported with dedicated UI components for customizing calling and chat.
The UI Library for Azure Communication Services is built with pure UI components for React using Fluent assets under the hood. To power these components, the UI Library exposes stateful versions of calling and chat clients that are framework agnostic, providing developers with better control over the state that is being rendered without worrying about how their UX will interact across back-end logic. Developers can access a variety of open-source, identity agnostic components, choosing between turn-key composites for Teams-like styling, or individual components for more flexible modifications. Below you can see some of the available components for simplifying the integration of modern communication experiences across applications, from a full meeting experience to a single chat thread.
Traversal Using Relays Around NAT (TURN) protocol support is available in preview.
TURN is a popular standard for device-to-device networking that is now available for low latency, high-throughput data transmission with Azure Communication Services. It allows developers to quickly bootstrap to a high-performance, redundant, and globally scaled set of networking services that are often themselves complex and expensive to deploy. These services can power real-time communication between web or mobile applications built with open-source WebRTC clients, even when endpoints are behind NAT or firewalls that may prevent direct peer-to-peer connections.
Developers can use the low-level standards-compliant TURN service for raw high-performance data transmission or layer voice or video communication experiences on top of this data channel. You can author your own custom standards-compliant client or use open-source libraries such as WinRTC. See how this works below when neither a direct nor NAT connection is possible. The Azure Communication Services Calling SDK automatically uses TURN services based on detected network conditions.
Azure Communication Services for Windows UWP is available in preview.
Developers can now add voice and video calling capabilities to their native applications that run on Microsoft Windows, enabling rich communication experiences for desktop PC, Xbox, mixed-reality headset, IoT devices, and more.
(Image: Windows Reunion application using Azure Communication Services for video chat)
Call recording for Azure Communication Services is available in preview next month.
Conversations between a company and its customers are important. Recording those conversations can be beneficial for driving better business outcomes and customer satisfaction. As a built-in platform feature, call recording for Azure Communication Services will help to simplify and improve the recording process by providing secure, server-side runtime control APIs. These run-time control APIs provide mixed audio and video output, start, stop, pause and resume recording functionally, as well as built-in temporary storage for up to 48 hours. Call recording can also be managed through internal business logic triggers, such as an application creating a group call and recording the conversation, or from a user-triggered action that tells the server application to start recording. Output files can even be run through Azure Cognitive Services for post call insights with sentiment analysis. Recorded media output is in MP4 audio+video format, just like in Microsoft Teams, with more formats like audio-only MP3 planned.
(Image: Call recording flow for Azure Communication Services)
Direct routing for Azure Communication Services available in preview next month.
IT Developers and Network Administrators will be able to connect their existing telephony infrastructure with the Public Switched Telephone Network (PSTN) calling capabilities they build with Azure Communication Services. Direct routing is a virtual connection between a developer’s application and the traditional on-premises telephony or carrier provider used to make PSTN calls. For example, if you are a developer that wants to add outgoing telephony calling to an application, but you want to retain your existing telephony infrastructure then direct routing for Azure Communication Services will enable you to seamlessly place calls through your carrier. If a call needs to be transferred, direct routing through a certified session border controller (SBC) can ensure that the connection stays within your network providing cost-efficiency and regulatory benefits. Lastly, with direct routing for Azure Communication Services, developers can bring cloud-only features to an on-premises contact center and enable comprehensive scenarios.