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 12 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 learn.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 |
Rooms | Control who can join a call, when they meet and how they collaborate |
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 | - | - | - | - | - | |
Rooms | npm | NuGet | PyPi | Maven | GitHub | Maven | - |
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.
- 11/01/2022 - 11/30/2022 - The Call Automation released a new set of APIs that enable developers to build custom calling workflows abstracting the complexity of telephony and web-based calling systems. Call Automation enables server applications to orchestrate calls using pre-call and mid-call actions. The Chat team is excited to announce the public preview release of bot integration that allows clients to use bots and connect with Azure Communications Services Chat Channel. Introduces bot integration that allows clients to use bots and connect with other chat channels in addition to Azure Communications Chat channel.
- 10/18/2022 - 11/01/2022 - The Email team added new events that can be triggered through the Azure Event Grid:
EmailDeliveryReportReceived
&EmailEngagementTrackingReportReceived
. - 10/05/2022 - 10/17/2022 - The Chat team released a new JS beta package, which improves real-time notification of messages when the network is offline, interrupted, or unstable. Common team, released a new Java release, to upgrade dependencies and solve bugs related to the
PhoneNumberIdentifier
.The Identity team released GA packages for the main languages (.NET, Java, JS, & Python), which added support to customize the Communication Identity access token’s validity period. - 09/19/2022 - 10/05/2022 - The Email team released Java & Python beta versions of the SDKs, allowing the users to send emails to multiple recipients with attachments. The Chat team released a new iOS version with Push Notification capabilities. UI Library released a new beta version for the mobile platforms (iOS & Android).
- 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.
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] | |||
Rooms | [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/.