Skip to content

Commit e8cc29b

Browse files
Merge pull request #291832 from jamescadd/acs-teams-user-calling-redux
Moving Teams user group calling to adhoc calling capabilities
2 parents 45cf105 + 5c247b8 commit e8cc29b

File tree

7 files changed

+416
-361
lines changed

7 files changed

+416
-361
lines changed

articles/communication-services/.openpublishing.redirection.communication-services.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,16 @@
465465
"source_path_from_root": "/articles/communication-services/concepts/telephony/outbound-calling.md",
466466
"redirect_url": "/azure/communication-services/concepts/telephony/toll-free-calling",
467467
"redirect_document_id": false
468+
},
469+
{
470+
"source_path_from_root": "/articles/communication-services/concepts/interop/guest/capabilities.md",
471+
"redirect_url": "/azure/communication-services/concepts/interop/guest/meeting-capabilities",
472+
"redirect_document_id": false
473+
},
474+
{
475+
"source_path_from_root": "/articles/communication-services/concepts/interop/teams-interop-group-calls.md",
476+
"redirect_url": "/azure/communication-services/concepts/interop/guest/calling-capabilities",
477+
"redirect_document_id": false
468478
}
469479
]
470480
}

articles/communication-services/concepts/call-automation/call-automation-teams-interop.md

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,23 @@ ms.author: visho
1212
ms.custom: public_preview
1313
---
1414

15-
# Deliver expedient customer service by adding Microsoft Teams users in Call Automation workflows
15+
# Add Teams users in Call Automation workflows
1616

1717
Azure Communication Services Call Automation provides developers the ability to build programmable customer interactions using real-time event triggers to perform actions on the call. This programmability enables you to build intelligent calling workflows that can adapt to customer needs in real time and be fully customized for your business logic. You can learn more about the API in the [Call Automation Overview](./call-automation.md). This document describes the interoperability Call Automation supports with Microsoft Teams.
1818

1919
Developers can use Call Automation APIs to add Teams users to their calling workflows and customer interactions, helping you deliver advanced customer service solutions​ with easy-to-use REST APIs and SDKs. This interoperability is offered over VoIP to reduce telephony infrastructure overhead. Developers can add Teams users to Azure Communication Services calls using the user's Microsoft Entra object ID (OID).
2020

2121
## Use-cases
22-
- Streamline customer service operations: Enable customer service agents to manage both internal and external customer facing communications through Teams app, by connecting your CCaaS solution to Microsoft Teams. The simplified integration model reduces setup time for both CCaaS and Teams tenant. Each new tenant will be able to use this setup in a few minutes after Microsoft Teams admin grants necessary permissions to the Azure Communication Services resource.
23-
- Expert Consultation: Businesses can invite subject matter experts into their customer service workflows for expedient issue resolution, and to improve their first call resolution rate.
22+
23+
- **Streamline customer service operations:** Enable customer service agents to manage both internal and external customer facing communications through Teams app, by connecting your CCaaS solution to Microsoft Teams. The simplified integration model reduces setup time for both CCaaS and Teams tenant. Each new tenant will be able to use this setup in a few minutes after Microsoft Teams admin grants necessary permissions to the Azure Communication Services resource.
24+
25+
- **Expert consultation:** Businesses can invite subject matter experts into their customer service workflows for expedient issue resolution, and to improve their first call resolution rate.
2426

2527
## Scenario Showcase – Streamline customer service operations
26-
Lets take the example of Contoso Airlines, who uses Teams as their UCaaS solution. For their customer service operations, they want to use AI powered virtual agents to triage and resolve incoming customer calls and hand-off complex issues to human agents (On Microsoft Teams). The below dataflow diagram depicts how this scenario can be achieved using Azure Communication Services.
2728

28-
[ ![Diagram of calling flow for a customer service with Microsoft Teams and Call Automation.](./media/call-automation-teams-interop.png)](./media/call-automation-teams-interop.png#lightbox)
29+
Lets take the example of Contoso Airlines, who uses Teams as their UCaaS solution. For their customer service operations, they want to use AI powered virtual agents to triage and resolve incoming customer calls and hand-off complex issues to human agents (On Microsoft Teams). The following dataflow diagram depicts how this scenario can be achieved using Azure Communication Services.
30+
31+
:::image type="content" source="./media/call-automation-teams-interop.png" lightbox="./media/call-automation-teams-interop.png" alt-text="Diagram of calling flow for a customer service with Microsoft Teams and Call Automation.":::
2932

3033
As previously mentioned, the Call Automation API enables you to build programmable calling workflows. In this case, Contoso developed a service that uses Call Automation API to handle and orchestrate customer calls.
3134
1. Customer calls Contoso's helpline number.
@@ -36,47 +39,47 @@ As previously mentioned, the Call Automation API enables you to build programmab
3639

3740
Now, lets look at the scenario where Contoso is already using a CCaaS provider for their customer service operations. The following diagram depicts how CCaaS can use Call automation to connect Contoso's Teams tenant to their CCaaS solution.
3841

39-
[ ![Diagram of calling flow for a contact center provider with Microsoft Teams and Call Automation.](./media/call-automation-teams-interop-ccaas.png)](./media/call-automation-teams-interop-ccaas.png#lightbox)
42+
:::image type="content" source="./media/call-automation-teams-interop-ccaas.png" lightbox="./media/call-automation-teams-interop-ccaas.png" alt-text="Diagram of calling flow for a contact center provider with Microsoft Teams and Call Automation.":::
4043

4144
1. Customer is connected to contact center solution in an ongoing call. The customer might be waiting in queue or interacting with a virtual agent/bot. Contact center solution identifies an available agent on Teams (presence via Graph APIs) to connect to this call.
42-
1. Contact Center provider implemented a web service, using Azure Communication Services Call Automation, that requests to add this Teams user to the call.
43-
3. Because the customer call is handled by contact center provider, they need to configure a Session Border Controller (SBC) with Azure Communication Services Direct Routing in order to route/connect calls to Microsoft. With this model, only the contact center provider needs to have an SBC setup. This SBC can handle connections to multiple Teams tenants, making it easy for developers to implement per-region multitenant trunks that maximize value. Contoso doesn't have to set up Teams Direct Routing for each tenant, thus reducing the telephony overhead and Contoso's onboarding time to contact center provider.
44-
1. With Teams interop built into Call Automation, Azure Communication Services then uses the Teams user’s ObjectId to add them to the call. The Teams user receives the incoming call notification. They accept and join the call.
45+
2. Contact Center provider implemented a web service, using Azure Communication Services Call Automation, that requests to add this Teams user to the call.
46+
3. Because the contact center provider handles the customer call, the provider needs to configure a Session Border Controller (SBC) with Azure Communication Services Direct Routing in order to route/connect calls to Microsoft. With this model, only the contact center provider needs to have an SBC setup. This SBC can handle connections to multiple Teams tenants, making it easy for developers to implement per-region multitenant trunks that maximize value. Contoso doesn't have to set up Teams Direct Routing for each tenant, thus reducing the telephony overhead and Contoso's onboarding time to contact center provider.
47+
4. With Teams interop built into Call Automation, Azure Communication Services then uses the Teams user’s ObjectId to add them to the call. The Teams user receives the incoming call notification. They accept and join the call.
4548

4649
[!INCLUDE [Teams Phone license](../../includes/teams-phone-license-include.md)]
4750

4851
## Capabilities
4952

5053
The following list presents the set of features that are currently available in the Azure Communication Services Call Automation SDKs for calls with Microsoft Teams users.
5154

52-
| Feature Area | Capability | Supported |
53-
| ----------------------| ----------------------------------------------- | ------ |
54-
| Pre-call scenarios | Place new outbound call to a Microsoft Teams user | ✔️ |
55-
| | Redirect (forward) a call to a Microsoft Teams user | ✔️ |
56-
| Mid-call scenarios | Add one or more endpoints to an existing call with a Microsoft Teams user | ✔️ |
57-
| | Set custom display name for the callee when making a call offer to a Microsoft Teams user | ✔️ |
58-
| | Play Audio from an audio file or text prompt (text-to-speech) | ✔️ |
59-
| | Recognize user input through DTMF or voice (speech-to-text) | |
60-
| | Remove one or more endpoints from an existing call| ✔️ |
61-
| | Blind Transfer a 1:1 call to another endpoint | ✔️ |
62-
| | Hang up a call (remove the call leg) | ✔️ |
63-
| | Terminate a call (remove all participants and end call)| ✔️ |
64-
| Query scenarios | Get the call state | ✔️ |
65-
| | Get a participant in a call | ✔️ |
66-
| | List all participants in a call | ✔️ |
67-
| Call Recording | Start/pause/resume/stop recording (call recording notifications in Teams clients are supported) | ✔️ |
55+
| Feature Area | Capability | Supported |
56+
| --- | --- | --- |
57+
| Pre-call scenarios | Place new outbound call to a Microsoft Teams user | ✔️ |
58+
| | Redirect (forward) a call to a Microsoft Teams user | ✔️ |
59+
| Mid-call scenarios | Add one or more endpoints to an existing call with a Microsoft Teams user | ✔️ |
60+
| | Set custom display name for the callee when making a call offer to a Microsoft Teams user | ✔️ |
61+
| | Play Audio from an audio file or text prompt (text-to-speech) | ✔️ |
62+
| | Recognize user input through DTMF or voice (speech-to-text) ||
63+
| | Remove one or more endpoints from an existing call| ✔️ |
64+
| | Blind Transfer a 1:1 call to another endpoint | ✔️ |
65+
| | Hang up a call (remove the call leg) | ✔️ |
66+
| | Terminate a call (remove all participants and end call)| ✔️ |
67+
| Query scenarios | Get the call state | ✔️ |
68+
| | Get a participant in a call | ✔️ |
69+
| | List all participants in a call | ✔️ |
70+
| Call Recording | Start/pause/resume/stop recording (call recording notifications in Teams clients are supported) | ✔️ |
6871

6972
## Supported Teams clients
7073

71-
| Clients | Support |
72-
| -----------------| ----------- |
74+
| Clients | Support |
75+
| --- | --- |
7376
| Microsoft Teams Desktop | ✔️ |
7477
| Microsoft Teams Web | ✔️ |
7578
| Microsoft Teams iOS ||
7679
| Microsoft Teams Android ||
77-
| Custom app built using Azure Communications Services, signed in with Microsoft 365 Identity |✔️ |
80+
| Custom app built using Azure Communications Services, signed in with Microsoft 365 Identity | ✔️ |
7881

79-
Learn more about the experience for [Microsoft Teams users joining Azure Communication Services group calls](../interop/teams-interop-group-calls.md).
82+
Learn more about the experience in [Capabilities for Microsoft Teams users in Azure Communication Services calls](../interop/guest/calling-capabilities.md).
8083

8184
## Next steps
8285

@@ -88,4 +91,4 @@ Learn more about the experience for [Microsoft Teams users joining Azure Communi
8891
- Learn more about [Call Automation](../../concepts/call-automation/call-automation.md) and its features.
8992
- Learn about [Play action](../../concepts/call-automation/play-Action.md) to play audio in a call.
9093
- Learn how to build a [call workflow](../../quickstarts/call-automation/callflows-for-customer-interactions.md) for a customer support scenario.
91-
- Understand how your resource is [charged for various calling use cases](../pricing.md) with examples.
94+
- Understand how your resource is [charged for various calling use cases](../pricing.md) with examples.

0 commit comments

Comments
 (0)