Azure Communication Services are cloud-based services with REST APIs and client library SDKs to help you integrate communication into your applications. You can add communication features to your applications without being an expert in communication technologies such as media encoding and real-time networking.
- SDKs - Links to client libraries
- Release Notes - Collated release notes for the service and SDKs
- Roadmap - Priorities for current and future service development
- Awesome List - External GitHub projects interesting to Azure Communication Services developers
This repo is not open to contributions, though many of the linked SDKs are open-source and allow contributions. Documentation and other resources for developers are indexed below.
Topic | Channel |
---|---|
Concepts & Quickstarts | Docs |
Samples | Azure Sample Index or GitHub |
Feature Requests | Ideas |
Questions & Bugs | Q&A or Azure Support |
We appreciate your feedback and energy helping us improve our services. If you've tried the service, please give us feedback through this survey.
If you'd like to submit feature requests please submit them to our board on Azure Feedback.
Azure Communication Services is conceptually organized into nine areas. Most areas have fully open-sourced SDKs programmed against published REST APIs that you can use directly over the Internet. Development of Web Calling and Chat client applications can be accelerated by Azure Communication Services UI libraries. The UI library provides production-ready UI components that you can drop into your applications.
Communication Services APIs are documented alongside other Azure REST APIs in docs.microsoft.com. This documentation will tell you how to structure your HTTP messages and offers guidance for using Postman. REST interface documentation is also offered in Swagger format on GitHub.
Assembly | Capabilities |
---|---|
Azure Resource Manager | Provision and manage Communication Services resources |
Calling | Voice, video, screen-sharing, and other real-time communication |
Calling Server | Make and manage calls, play audio, and configure recording |
Chat | Add real-time text based chat to your applications |
Common | Provides base types for other SDKs |
Facilitates high volume transactional, and enable Application-to-Person (A2P) use cases | |
Identity | Manage users, access tokens |
Phone numbers | Acquire and manage phone numbers |
SMS | Send and receive SMS messages |
Network Traversal | Access TURN servers for low-level data transport |
UI Library | Production-ready UI components for chat and calling apps |
Publishing locations for individual SDK packages are detailed below.
Area | JavaScript | .NET | Python | Java SE | iOS | Android | Other |
---|---|---|---|---|---|---|---|
Azure Resource Manager | npm | NuGet | PyPi | Maven | - | - | Go via GitHub |
Common | npm | NuGet | N/A | Maven | GitHub | Maven | - |
Identity | npm | NuGet | PyPi | Maven | - | - | - |
Phone Numbers | npm | NuGet | PyPi | Maven | - | - | - |
Chat | npm | NuGet | PyPi | Maven | GitHub | Maven | - |
SMS | npm | NuGet | PyPi | Maven | - | - | - |
Calling | npm | NuGet | - | - | GitHub | Maven | - |
Call Automation | nuget | Maven | |||||
npm | NuGet | - | - | - | - | - | |
Network Traversal | npm | nuget | PyPi | Maven | - | - | |
UI Library | npm | - | - | - | GitHub | GitHub | GitHub, Storybook |
Reference Documentation | docs | docs | - | docs | docs | docs | - |
Release notes are available directly in the publishing location (e.g. nuget) for SDKs. However every two weeks we aggregate release notes including services changes (e.g. new Azure Portal pages) in this repo.
- 08/23/2022 - 09/05/2022 - The UI Library released Cross Platform samples to show how to integrate Xamarin and React Native with the UI Library to use the calling composite capabilities. The Calling hero sample now uses the UI Library for the mobile platform to showcase the best practices and UI experience using Azure Communication Services. The Identity team exposes
rawId
; the developers can now use therawId
as an encoded format for identifiers to store in their databases or as stable keys in general; this feature is available in .NET & Python libraries. - 07/25/2022 - 08/22/2022 - The Chat SDK for iOS brings Push Notifications (preview release) capability on iOS devices. The Email team released the initial preview for Java and Python SDK's. Azure Communication Services are excited to introduce the concept of Rooms for developers building structured conversations such as virtual appointments or virtual events; this is a public preview release and is available for .Net, Java, JS & Python languages. Identity release the new Feature adding support to integrate communication as Teams user with Azure Communication Services.
- 06/28/2022 - 07/11/2022 - The Calling team releases a new JS beta package with audio media access to enable developers to access the incoming call audio stream and send custom outgoing audio stream during the call. Phone numbers team release a new JS beta package major changes on the API objects.
- 06/14/2022 - 06/27/2022 - ACS Mobile UI Library GA Azure Communication Services proudly announce the General Availability of the Mobile UI Library for iOS & Android. The UI Library introduces the calling composite, that can be used to build visual communication experiences out of the box. The composite is a turn-key experience for common communication scenarios that have been built using base components as building blocks and packaged to be easily integrated into native mobile applications.
- 05/31/2022 - 06/13/2022 - The Calling team releases a new Android Beta version using Raw media access. Also, JS, Android & iOS GA version, now supports Azure Communication Services for Government and a hold feature when the user is on an ACS call, and there is an interruption, audio and video shall auto recover on most of the cases. In some edge cases, to unmute, an API to 'unmute' must be called by the application (can be as a result of user action) to recover the outgoing audio. The UI Library releases a final release candidate version of the Mobile libraries for iOS and Android, with the Call On Hold feature that allows the users to put the current ACS call and answer incoming calls and tablet & iPad layouts.
In many cases we maintain a perpetual changelog at a library level which is linked below.
Area | JavaScript | .NET | Python | Java SE | iOS | Android | Other |
---|---|---|---|---|---|---|---|
Azure Resource Manager | [link] | [link] | |||||
Common | [link] | [link] | [link] | [link] | [link] | ||
Identity | [link] | [link] | [link] | [link] | |||
Phone Numbers | [link] | [link] | [link] | ||||
Chat | [link] | [link] | [link] | [link] | [link] | [link] | |
SMS | [link] | [link] | [link] | [link] | |||
Calling | [link] | [link] | [link] | [link] | |||
TURN (Network Traversal) | [link] | [link] | [link] | [link] | |||
UI Library | -- | --- | --- | --- | [link] | [link] | - |
[link] | [link] |
Our roadmap communicates features currently in development (private preview) and on-going priorities for extending the scope of Azure Communication Services. It will continue to evolve based on market changes and customer feedback, so please note that the plans outlined here are not exhaustive or guaranteed. We welcome your feedback on the roadmap.
Major updates to Azure Communication Services and other Azure services are available at https://azure.microsoft.com/updates/.