/Azure-Communication

Azure Communication Services - SDKs and Release Notes

MIT LicenseMIT

Azure Communication Services (ACS)

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.

What can you find here?

  • 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

❤️ Feedback

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.

SDKs

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
Email 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

Languages and publishing locations

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
Email 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

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 the rawId 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] -
Email [link] [link]

Feature Roadmap

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/.