Blog Post

Azure Communication Services Blog
4 MIN READ

Azure Communication Services libraries now GA

jorhiro7's avatar
jorhiro7
Icon for Microsoft rankMicrosoft
Mar 30, 2021

Azure Communication Services libraries now GA

 

We’re excited to announce that Azure Communication Services is now generally available. Developers can easily add chat, voice calling, video calling, traditional telephone calling, SMS messaging, and other forms of real-time communication to their applications using the same services and technologies that power Microsoft Teams. Interoperability into Microsoft Teams is also supported (in preview).

We recently showcased Azure Communication Services at Microsoft Ignite. To see how these services work together, watch the sessions below:

 

Overview

In this article, we want share high-level scenarios that can be built using Azure Communication Services and how these scenarios are reflected in the design of our SDKs for a variety of platforms.

 

Azure Communication Services provides libraries for mobile apps, desktop, and web, so you can reach a broad audience.

 

  1. Bring your own identity. Azure Communication Services provides a lightweight identity framework so you can connect any kind of user or bot.
  2. Manage resources effectively.  Azure Communication Services takes advantage of common Azure systems, like Azure Resource Manager, so you can programmatically manage and scale resources.
  3. Put the pieces together. Azure Communication Services has integration points with EventGrid, PowerApps, Teams and more.

 

SDKs for a variety of platforms

 

 

As a fully managed communication platform that enables developers and organizations to securely build communications features and connected user experiences across applications running on any device, Azure Communication Services offers the following core services:

 

  • Voice and Video Calling - Make and receive voice and video calls over IP
  • Chat - Enable One-to-One or Group Chat functionality
  • SMS – Add SMS to applications and connect with users that prefer mobile communication. US only. 
  • Voice Calling (PSTN) - Allow for users to interact with a traditional telephone number, facilitated by PSTN (Public Switched Telephone Network) for voice calling. US only. 
  • Phone Numbers – Provision numbers for calling or SMS workflows to enable end-to-end communication scenarios.


Our SDK’s supported platforms reflects the type of applications you can build. For SMS you can only build service apps, while Chat allows you to build both service and client apps. Calling is currently supported only for clients. SMS and Chat also have published REST interfaces that you can access directly over the Internet.

 

LANGUAGES AND PUBLISHING LOCATIONS

Area

JavaScript

.NET

Python

Java SE

iOS

Android

Chat

npm

NuGet

PyPi

Maven

GitHub

Maven

SMS

npm

NuGet

PyPi

Maven

-

-

Calling

npm

-

-

-

GitHub

Maven

Identity

npm

NuGet

PyPi

Maven

 

 

Reference Documentation

docs

docs

-

docs

docs

 

 

Bring your own identity

 

Communication can occur between people but also between people and computers (bots). You may be building apps for enterprises where Azure Active Directory/M365 identity is pervasive or building apps for consumers using Facebook or another authentication provider; for these reasons we want to help you build sophisticated apps that reach the broadest possible audience and provide an easy way to handle that process.

 

To support this flexibility we built a simple, lightweight identity framework that is published through the Identity namespace and SDK:

 

  1. Azure Communication Services identities are generic, allowing you to map them to your application concepts freely. You can use identities to represent devices, bots, people, or any other application concept.
  2. To securely access the communications data plane, your services mints user access tokens (UAT) on behalf of an identity and distribute those tokens to clients.

You can get more details about the identity and token management and other architecture information in our conceptual documentation.

 

Manage resources effectively

 

Azure Communication Services creates and manages two key Azure resources:

 

  1. Service Resources. In Azure, all services are managed as resources through Azure Resource Manager. Through the Azure Portal, REST APIs, and SDKs, you can create and manage Azure Communication Services resources. You put resources with a common lifecycle into a resource group that can be deployed or deleted in a single action. You can see which resources are linked by a dependency. You can apply tags to resources to categorize them for management tasks, such as separating different organization or user communication cohorts.
  2. Phone Numbers. Azure Communication Services allows you acquire phone numbers for SMS and voice calling interactions. This is currently permitted only the Azure portal, but REST APIs and SDKs are in development.

The combination of these capabilities is especially suited to ISV scenarios. For example, if you are building a contact center platform for external organizations, you can create Azure Communication Services resources and acquire phone numbers programmatically as part of customer on-boarding.

 

Putting the pieces together

 

Adding communication capabilities to apps and low-code workflows is a continuing project for our team. Right now, these are some popular ways to extend Azure Communication Services:

 

  1. Build your own clients against the REST interfaces for SMS, Chat, Identity, and ARM.
  2. Send SMS messages in Azure Logic Apps and Power Apps. Use Azure EventGrid to trigger Logic Apps and other automation for receiving SMS messages.
  3. Interoperability with Microsoft Teams allows you to create custom applications that connect users to meetings created with Teams. Users of your custom applications do not need to have Azure Active Directory identities or Teams licenses to experience this capability. This is ideal for bringing users (who may be familiar with Teams) and external users (using a custom application experience) together into a seamless meeting experience.

 

These tools can be combined with a variety of Azure and Microsoft Graph capabilities to create sophisticated workflows, for example:

 

  1. Consumer texts a hospital’s appointment desk asking for a telehealth visit.
  2. This SMS message fires into EventGrid, which triggers your service to use Graph APIs to create a Teams meeting for the applicable healthcare provider.
  3. The day before the appointment, the consumer is sent an SMS reminder.
  4. Healthcare provider joins the appointment via Teams.
  5. The consumer joins the Teams meeting using either a website or app you build.

 

Conclusion and Next Steps

 

We hope this was a valuable technical introduction to Azure Communication Services and what you can use today to build and ship rich communication experiences.

If you want to learn more and get started, here are some quick links to our official documentation:

 

Updated Apr 01, 2021
Version 3.0
No CommentsBe the first to comment