Skip to content

Commit 650a174

Browse files
authored
Merge pull request #301102 from vac0224/vc-tpe-aibot-steps-2025-06-12
Added app registration steps
2 parents 073d1a8 + 49006ed commit 650a174

5 files changed

+42
-21
lines changed
24.7 KB
Loading
45.1 KB
Loading

articles/communication-services/quickstarts/tpe/teams-phone-extensibility-access-teams-phone.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,18 @@ This article describes how to grant consent to a server to receive calls directe
3333
The Azure Communication Services Resource Owner needs to run the following API operations. The resource owner need to provide consent for authorizing calls to the Azure Communication Services Resource from the Teams Resource Account. You can call the API using any REST tool or programmatically. The API supports GET, PUT, PATCH, and DELETE operations.
3434

3535

36-
1. {YOUR-ACS-RESOURCE-ENDPOINT} in the request URI (RURI) path is the Azure Communication Services Resource fully qualified domain name (FQDN) from Azure.
37-
1. {YOUR-RESOURCE-ACCOUNT-GUID} parameter in the RURI, is the oid value returned by the Graph API from the previous step. Alternatively for one off manual provisioning, the [Get-CsOnlineApplicationInstance (MicrosoftTeamsPowerShell)](/powershell/module/teams/get-csonlineapplicationinstance) cmdlet returns the ObjectId and that ID is the YOUR-RESOURCE-ACCOUNT-GUID.
38-
1. The {TENANT-GUID} in the RURI path is the Teams Tenant GUID.
39-
1. The {principalType} in the body is `teamsResourceAccount` because we're consenting to a Teams Resource Account for Teams Phone Extensibility.
36+
1. The `{YOUR-ACS-RESOURCE-ENDPOINT}` in the request URI (RURI) path is the Azure Communication Services Resource fully qualified domain name (FQDN) from Azure.
37+
1. The `{YOUR-RESOURCE-ACCOUNT-GUID}` parameter in the RURI is the oid value returned by the Graph API from the previous step. Alternatively for one off manual provisioning, the [Get-CsOnlineApplicationInstance (MicrosoftTeamsPowerShell)](/powershell/module/teams/get-csonlineapplicationinstance) cmdlet returns the `ObjectId` and that ID is the `YOUR-RESOURCE-ACCOUNT-GUID`.
38+
1. The `{TENANT-GUID}` in the RURI path is the Teams Tenant GUID.
39+
1. The `{principalType}` in the body is `teamsResourceAccount` because we're consenting to a Teams Resource Account for Teams Phone Extensibility.
4040

4141
This API supports Azure Communication Services hash-based message authentication code (HMAC) with a Connection String or Microsoft Entra ID Managed Identity.
4242

4343
Query definition:
4444

45-
> https://{YOUR-ACS-RESOURCE-ENDPOINT}/access/teamsExtension/tenants/{TENANT-GUID}/assignments/{YOUR-RESOURCE-ACCOUNT-GUID}?api-version=2025-03-02-preview
46-
45+
```http
46+
https://{YOUR-ACS-RESOURCE-ENDPOINT}/access/teamsExtension/tenants/{TENANT-GUID}/assignments/{YOUR-RESOURCE-ACCOUNT-GUID}?api-version=2025-03-02-preview
47+
```
4748

4849
Example to set consent:
4950

@@ -104,7 +105,7 @@ You must register your application for `TeamsExtension.ManageCalls` permission f
104105
3. From the **Add Permissions** menu, select **Azure Communication Services**.
105106
4. Select the permission `TeamsExtension.ManageCalls`, then select **Add permissions**.
106107

107-
:::image type="content" source="./media/active-directory-permissions.png" alt-text="Screen capture showing how to add TeamsExtension.ManageCalls permission to the Microsoft Entra application you just created." lightbox="./media/active-directory-permissions.png":::
108+
:::image type="content" source="media/active-directory-permissions.png" alt-text="Screen capture showing how to add TeamsExtension.ManageCalls permission to the Microsoft Entra ID application you just created." lightbox="media/active-directory-permissions.png":::
108109

109110
5. Grant admin consent for `TeamsExtension.ManageCalls` permission.
110111

articles/communication-services/quickstarts/tpe/teams-phone-extensibility-answer-teams-calls.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ PUT {endpoint}/access/teamsExtension/tenants/87d349ed-44d7-43e1-9a83-5f2406dee5b
5454
}
5555
```
5656

57-
The {principalType} needs to be `teamsResourceAccount`.
57+
The `{principalType}` needs to be `teamsResourceAccount`.
5858

5959
### Response
6060

articles/communication-services/quickstarts/tpe/teams-phone-extensibility-quickstart.md

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ This article describes how an independent software vendor (ISV) can provision Te
2424
- ISV’s Customer has access to Microsoft 365 Admin Center.
2525
- ISV has access to change Azure Communication Services Resource settings.
2626
- You grant Teams Tenant access to a CCaaS service for Graph API usage.
27-
- ISV is using the .NET ACS Call Automation SDK version 1.5.0-beta.1
28-
- ISV is using the JavaScript ACS Call Automation SDK version 1.5.0-beta.2
29-
- ISV is using the JavaScript ACS Client SDK version 1.36.1-beta.1
27+
- ISV is using the .NET ACS Call Automation SDK version 1.5.0-beta.1.
28+
- ISV is using the JavaScript ACS Call Automation SDK version 1.5.0-beta.2.
29+
- ISV is using the JavaScript ACS Client SDK version 1.36.1-beta.1.
3030

3131

3232
## Quick start
@@ -35,26 +35,45 @@ The rest of this article describes quick starts for two different personas: CCaa
3535

3636
### CCaaS Developer: Provision the AppID (Application ID)
3737

38-
Before you can create a bot, you need to register an `ApplicationID` using steps 1 through 4 in [Registering a calling bot](https://microsoftgraph.github.io/microsoft-graph-comms-samples/docs/articles/calls/register-calling-bot.html#registering-an-app-registration).
38+
Before you can create a bot, you need to register an Application ID.
39+
40+
1. From the Azure portal, open **App Registrations**.
41+
42+
:::image type="content" source="media/teams-phone-extensibility-app-registration.png" alt-text="Screen capture showing the Azure portal with App registration selected from services." lightbox="media/teams-phone-extensibility-app-registration.png":::
43+
44+
2. Select **New registration**.
45+
3. Complete the required fields and click **Register**.
46+
4. When the portal completes the resource, click **Go to resource**.
47+
5. Record the values for the **Application (client) ID** and **Directory (tenant) ID**.
48+
49+
:::image type="content" source="media/teams-phone-extensibility-app-registration-resources.png" alt-text="Screen capture showing the Azure portal App registrations resource displaying Essentials including Application (client) ID and Directory (tenant) ID." lightbox="media/teams-phone-extensibility-app-registration-resources.png":::
50+
51+
6. Open **Certificates & secrets**. Create new a client secret and record the certificate and secret ID values.
52+
53+
For more information, see [Registering a calling bot](https://microsoftgraph.github.io/microsoft-graph-comms-samples/docs/articles/calls/register-calling-bot.html#registering-an-app-registration).
3954

4055
### CCaaS Developer: Create the Bot
4156

42-
Once you create the `AppID`, Teams Phone system also uses the current process as defined for Graph to create a bot. Complete steps 1 through 4 in [Registering a calling bot](https://microsoftgraph.github.io/microsoft-graph-comms-samples/docs/articles/calls/register-calling-bot.html#registering-an-app-registration).
57+
Once you create the `AppID`, Teams Phone system also uses the current process as defined for Graph to create a bot.
4358

4459
Alternatively, you can complete the following steps to create just the bot after you create an Application ID using the Azure CLI.
4560

46-
1. Download Azure CLI
47-
1. Sign in with your Azure account used for the preceding App Registration:
61+
1. Download Azure CLI.
62+
2. Sign in with your Azure account used for the preceding App Registration:
63+
4864
```azurecli
4965
az login
5066
```
51-
1. If not already, Install `Az.BotService`:
67+
68+
3. If not already installed, install `Az.BotService`:
69+
5270
```azurecli
5371
Install-Module Az.BotService -AllowClobber
5472
```
55-
1. Provision the bot using the following command. For more information, see [Publish a bot with Azure PowerShell - Azure AI Bot Service - Bot Service](/azure/bot-service/powershell/bot-builder-powershell-quickstart):
5673
57-
If your environment is already provisioned, skip these steps.
74+
4. Provision the bot using the following command. For more information, see [Publish a bot with Azure PowerShell - Azure AI Bot Service - Bot Service](/azure/bot-service/powershell/bot-builder-powershell-quickstart):
75+
76+
If your environment is already provisioned, skip the following steps.
5877
5978
```azurecli
6079
Connect-AzAccount
@@ -488,10 +507,11 @@ StartRecordingOptions recordingOptions = new StartRecordingOptions("<callConnect
488507
Response<RecordingStateResult> response = await callAutomationClient.GetCallRecording()
489508
.StartAsync(recordingOptions);
490509
```
491-
> [!NOTE]
492-
> Recording started with connection Id is started async (204 response code) and recording state change is updated via call back event (Microsoft.Communication.RecordingStateChanged) received on RecordingStateCallbackUri.
493-
Additionally any failures to start recording is reported via a new callback event (Microsoft.Communication.StartRecordingFailed) received on RecordingStateCallbackUri.
494510

511+
> [!NOTE]
512+
> Recording started with connection ID is started async (204 response code) and recording state change is updated via callback event `Microsoft.Communication.RecordingStateChanged` received on `RecordingStateCallbackUri`.
513+
>
514+
> In addition, any failure to start recording is reported via a new callback event `Microsoft.Communication.StartRecordingFailed` received on `RecordingStateCallbackUri`.
495515
496516
## Alpha SDKs
497517

0 commit comments

Comments
 (0)