/Communication

Azure Communication Services - Samples and Tools

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

SDKs

Azure Communication Services is conceptually organized nines eight 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
Common Provides base types for other SDKs
Identity Manage users, access tokens
Phone numbers Acquire and manage phone numbers
SMS Send and receive SMS messages
Chat Add real-time text based chat to your applications
Calling Voice, video, screen-sharing, and other real-time communication
Calling Server Make and manage calls, play audio, and configure recording
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
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.

  • 10/5/2021 - 10/18/2021 - Calling Server release beta packages for .NET & Java languages, adding mixed audio-only MP3/WAV output format for Call Recording!. Also, Azure Communication Services now supports Azure Advisor alerting customers when there is a new SDK available!!.
  • 10/19/2021 - 11/1/2021 - .NET, Java & JS added support to build custom Teams endpoint using M365 Teams identities!.
  • 11/2/2021 - 11/15/2021 - Short codes release the initial version of the Python SDK. Chat (Java) and Identity (Python) releases minor fixes.
  • 11/16/2021 - 11/29/2021 - Traversal network release a new beta version of the SDK for the main languaes (.Net, Java, JS & Python) with small changes over the Relay Configuration. Java libraries update their dependencies azure-communication-common to 1.0.6 & azure-core` to 1.22.0. Android Chat SDK added support for FCM push notifications.
  • 11/30/2021 - 12/14/2021 - Calling release a new version of the JS SDK with Teams meeting, emergency calls, and diagnostic information that will help the customers to track the calling events; also release improvements on a new version of Android SDK general available with new capabilites recording and transcription features added to allow call recording and transcription. ACS team is excited to introduce to our customers the UI Libraries for Web general available and Mobile public available for iOS and Android; these libraries will help our customers to create real-time communications easily; simplifying the process to add call, chat (current only for web) capabilities, more information review our concept site.

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

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.

A project view of the roadmap is also available here. Major updates to Azure Communication Services and other Azure services are available at https://azure.microsoft.com/updates/.

❤️ 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.