Skip to content

Commit 32beeff

Browse files
authored
Merge branch 'MicrosoftDocs:main' into main
2 parents e94dbba + 44d0ceb commit 32beeff

13 files changed

+47
-115
lines changed

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,16 @@
5454
"source_path_from_root": "/articles/communication-services/quickstarts/voice-video-calling/download-recording-file-sample.md",
5555
"redirect_url": "/azure/communication-services/quickstarts/voice-video-calling/get-started-call-recording",
5656
"redirect_document_id": false
57-
}
57+
},
58+
{
59+
"source_path_from_root": "/articles/communication-services/quickstarts/voice-video-calling/call-recording-sample.md",
60+
"redirect_url": "/azure/communication-services/quickstarts/voice-video-calling/get-started-call-recording",
61+
"redirect_document_id": false
62+
},
63+
{
64+
"source_path_from_root": "/articles/communication-services/quickstarts/voice-video-calling/call-recording-unmixed-audio-private-preview-quickstart.md",
65+
"redirect_url": "/azure/communication-services/quickstarts/voice-video-calling/get-started-call-recording",
66+
"redirect_document_id": false
67+
}
5868
]
5969
}
4.52 MB
Loading
Binary file not shown.
-4.14 KB
Loading

articles/communication-services/concepts/voice-video-calling/call-recording.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
title: Azure Communication Services Call Recording overview
33
titleSuffix: An Azure Communication Services concept document
44
description: Provides an overview of the Call Recording feature and APIs.
5-
author: tophpalmer
6-
manager: anvalent
5+
author: dbasantes
6+
manager: seaen
77
services: azure-communication-services
8-
98
ms.author: chpalm
109
ms.date: 06/30/2021
1110
ms.topic: conceptual
@@ -25,14 +24,14 @@ Call Recording enables you to record multiple calling scenarios available in Azu
2524
Depending on your business needs, you can use Call Recording for different Azure Communication Services calling implementations.
2625
For example, you can record 1:1 or 1:N scenarios for audio and video calls enabled by [Calling Client SDK](https://learn.microsoft.com/azure/communication-services/concepts/voice-video-calling/calling-sdk-features).
2726

28-
29-
![Diagram showing call recording architecture using calling client sdk.](../media/call-recording-with-calling-client.png)
30-
27+
![Diagram showing a call that it's being recorded.](../media/call-recording-client.png)
3128

3229
But also, you can use Call Recording to record complex PSTN or VoIP inbound and outbound calling workflows managed by [Call Automation](https://learn.microsoft.com/azure/communication-services/concepts/voice-video-calling/call-automation).
3330
Regardless of how you established the call, Call Recording allows you to produce mixed or unmixed media files that are stored for 48 hours on a built-in temporary storage. You can retrieve the files and take them to the long-term storage solution of your choice. Call Recording supports all Azure Communication Services data regions.
3431

35-
## Media output and Channel types supported
32+
![Diagram showing call recording architecture using calling client sdk.](../media/call-recording-with-call-automation.png)
33+
34+
## Call Recording that supports your business needs
3635
Call Recording supports multiple media outputs and content types to address your business needs and use cases. You might use mixed formats for scenarios such as keeping records, meeting notes, coaching and training, or even compliance and adherence. Or, you can use unmixed formats to address quality assurance use cases or even more complex scenarios like advanced analytics or AI-based (Artificial Intelligence) sophisticated post-call processes.
3736

3837
### Video
@@ -53,7 +52,7 @@ Call Recording supports multiple media outputs and content types to address your
5352

5453

5554

56-
## Call Recording APIs
55+
## Get full control over your recordings with our Call Recording APIs
5756
Call Recording APIs can be used to manage recording via internal business logic triggers, such as an application creating a group call and recording the conversation. Also, recordings can be triggered by a user action that tells the server application to start recording. Call Recording APIs use exclusively the `serverCallId` to initiate recording. To learn how to get the `serverCallId`, check our [Call Recording Quickstart](../../quickstarts/voice-video-calling/get-started-call-recording.md).
5857
A `recordingId` is returned when recording is started, which is then used for follow-on operations like pause and resume.
5958

@@ -68,7 +67,7 @@ A `recordingId` is returned when recording is started, which is then used for fo
6867

6968

7069
## Event Grid notifications
71-
Notifications related to media and metadata are emitted via Event Grid.
70+
Call Recording use [Azure Event Grid](https://learn.microsoft.com/azure/event-grid/event-schema-communication-services) to provide you with notifications related to media and metadata.
7271

7372
> [!NOTE]
7473
> Azure Communication Services provides short term media storage for recordings. **Recordings will be available to download for 48 hours.** After 48 hours, recordings will no longer be available.

articles/communication-services/quickstarts/voice-video-calling/call-recording-sample.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

articles/communication-services/quickstarts/voice-video-calling/call-recording-unmixed-audio-private-preview-quickstart.md

Lines changed: 0 additions & 40 deletions
This file was deleted.

articles/communication-services/quickstarts/voice-video-calling/includes/call-recording-samples/call-recording-csharp.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,33 @@ ms.custom: public_preview
88

99
## Prerequisites
1010

11-
Before you start testing Call Recording, make sure to comply with the following prerequisites:
12-
13-
1411
- You need an Azure account with an active subscription.
1512
- Deploy a Communication Service resource. Record your resource **connection string**.
1613
- Subscribe to events via [Azure Event Grid](https://learn.microsoft.com/azure/event-grid/event-schema-communication-services).
1714
- Download the [.NET SDK](https://dev.azure.com/azure-sdk/public/_artifacts/feed/azure-sdk-for-net/NuGet/Azure.Communication.CallAutomation/overview/1.0.0-alpha.20221013.2)
1815

19-
**IMPORTANT**:
16+
## Before you start
17+
2018
Call Recording APIs use exclusively the `serverCallId`to initiate recording. There are a couple of methods you can use to fetch the `serverCallId` depending on your scenario:
21-
- When using Call Automation, you have two options to get the `serverCallId`:
19+
20+
### Call Automation scenarios
21+
- When using [Call Automation](../../callflows-for-customer-interactions.md), you have two options to get the `serverCallId`:
2222
1) Once a call is created, a `serverCallId` is returned as a property of the `CallConnected` event after a call has been established. Learn how to [Get serverCallId](https://learn.microsoft.com/azure/communication-services/quickstarts/voice-video-calling/callflows-for-customer-interactions?pivots=programming-language-csharp#configure-programcs-to-answer-the-call) from Call Automation SDK.
2323
2) Once you answer the call or a call is created the `serverCallId` is returned as a property of the `AnswerCallResult` or `CreateCallResult` API responses respectively.
2424

25-
- When using Calling Client SDK, you can retrieve the `serverCallId` by using the `getServerCallId` method on the call.
25+
### Calling SDK scenarios
26+
- When using [Calling Client SDK](../../get-started-with-video-calling.md), you can retrieve the `serverCallId` by using the `getServerCallId` method on the call.
2627
Use this example to learn how to [Get serverCallId](../../get-server-call-id.md) from the Calling Client SDK.
2728

2829

29-
> [!NOTE]
30-
> Unmixed audio is in Private Preview and is available in the US only. Make sure to provide the Call Recording team with your [immutable Azure resource ID](../../get-resource-id.md) to be allowlisted during the Unmixed audio **private preview** tests. Changes are expected based on feedback we receive during this stage.
31-
32-
3330

3431
Let's get started with a few simple steps!
3532

3633

3734

3835
## 1. Create a Call Automation client
3936

37+
Call Recording APIs are part of the Azure Communication Services [Call Automation](../../../../concepts/voice-video-calling/call-automation.md) libraries. Thus, it's necessary to create a Call Automation client.
4038
To create a call automation client, you'll use your Communication Services connection string and pass it to `CallAutomationClient` object.
4139

4240
```csharp
@@ -63,6 +61,7 @@ Response<RecordingStateResult> response = await callAutomationClient.getCallReco
6361
```
6462

6563
### 2.1. Only for Unmixed - Specify a user on a channel 0
64+
To produce unmixed audio recording files, you can use the `ChannelAffinity` functionality to specify which user you want to record on each channel. Channel 0 typically records the agent attending or making the call. If you use the affinity channel but don't specify any user to any channel, Call Recording will assign channel 0 to the first person on the call speaking.
6665

6766
```csharp
6867
StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator("<ServerCallId>"))
@@ -112,6 +111,8 @@ var resumeRecording = await callAutomationClient.GetCallRecording().ResumeRecord
112111

113112
Use an [Azure Event Grid](https://learn.microsoft.com/azure/event-grid/event-schema-communication-services) web hook or other triggered action should be used to notify your services when the recorded media is ready for download.
114113

114+
An Event Grid notification `Microsoft.Communication.RecordingFileStatusUpdated` is published when a recording is ready for retrieval, typically a few minutes after the recording process has completed (for example, meeting ended, recording stopped). Recording event notifications include `contentLocation` and `metadataLocation`, which are used to retrieve both recorded media and a recording metadata file.
115+
115116
Below is an example of the event schema.
116117

117118
```

articles/communication-services/quickstarts/voice-video-calling/includes/call-recording-samples/call-recording-java.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,24 @@ ms.custom: public_preview
88

99
## Prerequisites
1010

11-
Before you start testing Call Recording, make sure to comply with the following prerequisites:
12-
1311
- You need an Azure account with an active subscription.
1412
- Deploy a Communication Service resource. Record your resource **connection string**.
1513
- Subscribe to events via [Azure Event Grid](https://learn.microsoft.com/azure/event-grid/event-schema-communication-services).
1614
- Download the [Java SDK](https://dev.azure.com/azure-sdk/public/_artifacts/feed/azure-sdk-for-java/maven/com.azure%2Fazure-communication-callautomation/overview/1.0.0-alpha.20221013.1)
1715

18-
**IMPORTANT**:
16+
## Before you start
17+
1918
Call Recording APIs use exclusively the `serverCallId`to initiate recording. There are a couple of methods you can use to fetch the `serverCallId` depending on your scenario:
20-
- When using Call Automation, you have two options to get the `serverCallId`:
19+
20+
### Call Automation scenarios
21+
- When using [Call Automation](../../callflows-for-customer-interactions.md), you have two options to get the `serverCallId`:
2122
1) Once a call is created, a `serverCallId` is returned as a property of the `CallConnected` event after a call has been established. Learn how to [Get serverCallId](https://learn.microsoft.com/azure/communication-services/quickstarts/voice-video-calling/callflows-for-customer-interactions?pivots=programming-language-csharp#configure-programcs-to-answer-the-call) from Call Automation SDK.
2223
2) Once you answer the call or a call is created the `serverCallId` is returned as a property of the `AnswerCallResult` or `CreateCallResult` API responses respectively.
2324

24-
- When using Calling Client SDK, you can retrieve the `serverCallId` by using the `getServerCallId` method on the call.
25+
### Calling SDK scenarios
26+
- When using [Calling Client SDK](../../get-started-with-video-calling.md), you can retrieve the `serverCallId` by using the `getServerCallId` method on the call.
2527
Use this example to learn how to [Get serverCallId](../../get-server-call-id.md) from the Calling Client SDK.
2628

27-
> [!NOTE]
28-
> Unmixed audio is in Private Preview and is available in the US only. Make sure to provide the Call Recording team with your [immutable Azure resource ID](../../get-resource-id.md) to be allowlisted during the Unmixed audio **private preview** tests. Changes are expected based on feedback we receive during this stage.
29-
3029

3130

3231
Let's get started with a few simple steps!
@@ -35,6 +34,7 @@ Let's get started with a few simple steps!
3534

3635
## 1. Create a Call Automation client
3736

37+
Call Recording APIs are part of the Azure Communication Services [Call Automation](../../../../concepts/voice-video-calling/call-automation.md) libraries. Thus, it's necessary to create a Call Automation client.
3838
To create a call automation client, you'll use your Communication Services connection string and pass it to `CallAutomationClient` object.
3939

4040
```java
@@ -62,7 +62,8 @@ Response<StartCallRecordingResult> response = callAutomationClient.getCallRecord
6262

6363
```
6464

65-
### 2.1. For Unmixed only - Specify a user on a channel 0
65+
### 2.1. Only for Unmixed - Specify a user on a channel 0
66+
To produce unmixed audio recording files, you can use the `ChannelAffinity` functionality to specify which user you want to record on each channel. Channel 0 typically records the agent attending or making the call. If you use the affinity channel but don't specify any user to any channel, Call Recording will assign channel 0 to the first person on the call speaking.
6667

6768
```java
6869
StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator("<serverCallId>"))
@@ -109,6 +110,8 @@ Response<Void> response = callAutomationClient.getCallRecording()
109110

110111
Use an [Azure Event Grid](https://learn.microsoft.com/azure/event-grid/event-schema-communication-services) web hook or other triggered action should be used to notify your services when the recorded media is ready for download.
111112

113+
An Event Grid notification `Microsoft.Communication.RecordingFileStatusUpdated` is published when a recording is ready for retrieval, typically a few minutes after the recording process has completed (for example, meeting ended, recording stopped). Recording event notifications include `contentLocation` and `metadataLocation`, which are used to retrieve both recorded media and a recording metadata file.
114+
112115
Below is an example of the event schema.
113116

114117
```

0 commit comments

Comments
 (0)