Skip to content

Azure Communication Services - Samples and Tools

License

Notifications You must be signed in to change notification settings

jsaurezlee-msft/Communication

 
 

Repository files navigation

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

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

About

Azure Communication Services - Samples and Tools

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published