Open a ticket
Chat with us
BLOG Published on 2021/09/19 by Woshada Dassanayake in Tech-Tips

Build video, voice and chat apps that interoperable with Microsoft Teams

Azure Communication Services

Azure Communication Services (ACS) is a new cloud-based communication service that allows you to build real-time multimedia capabilities including audio, video, chat, and SMS into your app. For instance, you could use ACS to add audio and video capabilities to your web or mobile app, whether it performs one-to-one calls or one-to-many calls similar to what Microsoft Teams do. Azure Communication Service is the infrastructure behind Microsoft Teams, and over 115 million active users use the Teams application. ACS could also use to add real-time chat experiences to your app. It consists of all the backend infrastructures that require to do that scaling from one to many. You can even add mobile phone features such as calls and SMSs to your app using ACS. You can further improve these features by automating the processes using bots. With ACS, developers only need to worry about the code, and ACS will deal with all the infrastructures, servers, encoding, etc.

To demonstrate this, you could try hero demo, a demo program developed by the ACS team. Here’s the screenshot of the first page where you can set up your devices, such as your video and microphone.



Video, voice, and chat apps that interoperable with Microsoft Teams

Apart from their core ACS capabilities, Microsoft has recently released new capabilities such as interoperability with Microsoft Teams, integration with the Azure Bot Framework for intelligent voice response, and new UI controls. Many industries respond positively to ACS. For instance, Laerdal Medical, a Norwegian company that provides training and education products for lifesaving and emergency medical care, has developed a TCPR link app that uses ACS to connect their volunteers administering CPR with medical dispatchers via video streaming.

Azure Communication Service’s interoperability with Microsoft Teams and integration with Azure Bot Framework allows connecting chatbots to traditional telephone numbers. Then, the bot can speak responses via natural language processing from Azure Cognitive Services for Interactive Voice Response (IVR) scenarios. For instance, you got trouble in your car, and you try to contact Microsoft Mechanics by dialing their support number. A bot will respond to your call, and after gathering information about your problem, it will redirect you to a technician. You can continue your call with a technician either as a voice or video call. On the technician’s screen, he can see the messages from the bot, and it informs the technician that a client is waiting for him and provides the description of the issue. Then he can connect to the client’s video call to attend to the problem.

This is how it works. A Bot Framework Composer can use to visualize the flow of the interactive voice bot. The decision tree demonstrates each interaction of the bot.

You could test and debug this flow as a text-based chatbot that uses LUIS and Azure Cognitive Services for natural language understanding. You can also publish it to Azure from the composer. When you talk to the agent, it can connect directly via PSTN into a phone number. You could start immediately talking to a live person, or it can follow the path where it used Microsoft Graph and ACS to set up a Microsoft Teams meeting with a technician and send a join link to the customer via SMS message.

To automate this flow, you could write the logic in native code using the Azure Communication Services SDKs for .NET or JavaScript. But, using the Logic App Designer, you could do the job much easier. First, you have to create an HTTP request, and this is the HTTP endpoint that the IVR bot will call to send the SMS message. You can add an example JSON payload that would send, and the designer automatically parse that data and builds a schema with the customer’s name, the meeting join link, and the phone number.


As the next step, you can add an ACS step to send an SMS message. The phone number for ACS is available from the dropdown, and parameters from the HTTP request are known to use as inputs to the send SMS connector. You can add a phone number and create a custom message with the customer’s name and a link to join the Microsoft Teams meeting.

To connect the bot to a PSTN phone number, you can use the Azure Portal. You can select the Telephony channel and add the phone number, the endpoint information, and the access key from the ACSs resources.


Set up the inter-op between Microsoft Teams and the app

The service backend can call Microsoft Graph APIs and set up the meeting. Using Microsoft Graph Explorer, you can test out the query that you want to use. You can post to the online meetings to create or get API with the meeting information. It returns the metadata about the session. For the ACS app to connect to the team call, you will need the tenant ID and the thread ID. You can pass this information into the Communication Services APIs when you join a group meeting. The Microsoft Mechanics mobile web app uses all the same APIs available to all ACS apps to connect and interact with the video call.


You can find more information at aka.ms/GetStartedWithACS. For the public preview of the following features for Azure Communication Services, you can find more information at aka.ms/ACSPreview, including interoperability with Microsoft Teams.

References 

Microsoft Ignite sessions
Microsoft 365 community 


Woshada Dassanayake

Technical Lead in Cloud Infrastructure and Operations

Expert in Cloud platform operations, Cloud hosting and Network operations.

Newsletter

To keep up with the news and updates related to our products, make sure to subscribe to our newsletter!

Copyright © 2025 Terminalworks. All Rights Reserved