You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This quickstart gets you started with Call Recording for voice and video calls. To start using the Call Recording APIs, you must have a call in place. Make sure you're familiar with [Calling client SDK](get-started-with-video-calling.md) and/or[Call Automation](../call-automation/callflows-for-customer-interactions.md#build-a-customer-interaction-workflow-using-call-automation) to build the end-user calling experience.
17
+
This article describes call recording for voice and video calls. To start using the Call Recording APIs, you must have a call in place. To build the end-user calling experience, make sure you're familiar with [Calling client SDK](get-started-with-video-calling.md) and [Call Automation](../call-automation/callflows-for-customer-interactions.md#build-a-customer-interaction-workflow-using-call-automation).
18
18
19
19
::: zone pivot="programming-language-csharp"
20
20
[!INCLUDE [Test Call Recording with C#](./includes/call-recording-samples/call-recording-csharp.md)]
@@ -32,7 +32,6 @@ This quickstart gets you started with Call Recording for voice and video calls.
32
32
[!INCLUDE [Test Call Recording with JavaScript](./includes/call-recording-samples/call-recording-javascript.md)]
33
33
::: zone-end
34
34
35
-
36
35
## Clean up resources
37
36
38
37
If you want to clean up and remove a Communication Services subscription, you can delete the resource or resource group. Deleting the resource group also deletes any other resources associated with it. Learn more about [cleaning up resources](../create-communication-resource.md#clean-up-resources).
@@ -41,6 +40,6 @@ If you want to clean up and remove a Communication Services subscription, you ca
Copy file name to clipboardExpand all lines: articles/communication-services/quickstarts/voice-video-calling/includes/call-recording-samples/call-recording-csharp.md
+41-32Lines changed: 41 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,24 +21,25 @@ You can download the sample app from [GitHub](https://github.com/Azure-Samples/c
21
21
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:
22
22
23
23
### Call Automation scenarios
24
-
- When using [Call Automation](../../../call-automation/callflows-for-customer-interactions.md), you have two options to get the `serverCallId`:
25
-
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 CallConnected event](../../../call-automation/callflows-for-customer-interactions.md?pivots=programming-language-csharp#update-programcs) from Call Automation SDK.
26
-
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.
27
24
28
-
### Calling SDK scenarios
29
-
- When using [Calling Client SDK](../../get-started-with-video-calling.md), you can retrieve the `serverCallId` by using the `getServerCallId` method on the call.
30
-
Use this example to learn how to [Get serverCallId](../../get-server-call-id.md) from the Calling Client SDK.
25
+
When using [Call Automation](../../../call-automation/callflows-for-customer-interactions.md), you have two options to get the `serverCallId`:
31
26
27
+
1. When you establish a call, it returns a `serverCallId` as a property of the `CallConnected` event after a call is established. Learn how to [Get CallConnected event](../../../call-automation/callflows-for-customer-interactions.md?pivots=programming-language-csharp#update-programcs) from Call Automation SDK.
32
28
29
+
2. When you answer the call or a call is created, it returns the `serverCallId` as a property of the `AnswerCallResult` or `CreateCallResult` API responses respectively.
33
30
34
-
Let's get started with a few simple steps!
31
+
### Calling SDK scenarios
35
32
33
+
When using [Calling Client SDK](../../get-started-with-video-calling.md), you can retrieve the `serverCallId` by using the `getServerCallId` method on the call.
34
+
Use this example to learn how to [Get serverCallId](../../get-server-call-id.md) from the Calling Client SDK.
36
35
36
+
Let's get started with a few simple steps.
37
37
38
38
## 1. Create a Call Automation client
39
39
40
-
Call Recording APIs are part of the Azure Communication Services [Call Automation](../../../../concepts/call-automation/call-automation.md) libraries. Thus, it's necessary to create a Call Automation client.
41
-
To create a call automation client, you use your Communication Services connection string and pass it to `CallAutomationClient` object.
40
+
Call Recording APIs are part of the Azure Communication Services [Call Automation](../../../../concepts/call-automation/call-automation.md) libraries. So you need to create a Call Automation client.
41
+
42
+
To create a call automation client, use your Communication Services connection string and pass it to `CallAutomationClient` object.
### 2.3. Only for Unmixed - Specify a user on channel 0
103
+
97
104
To produce unmixed audio recording files, you can use the `AudioChannelParticipantOrdering` functionality to specify which user you want to record on channel 0. The rest of the participants are assigned to a channel as they speak. If you use `RecordingChannel.Unmixed` but don't use `AudioChannelParticipantOrdering`, Call Recording assigns channel 0 to the first participant speaking.
98
105
99
106
```csharp
@@ -123,37 +130,38 @@ StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCal
## 6.Download recording File using 'DownloadToAsync' API
160
+
## 6.Download recording File using `DownloadToAsync` API
153
161
154
-
Use an [Azure Event Grid](../../../../../event-grid/event-schema-communication-services.md) web hook or other triggered action should be used to notify your services when the recorded media is ready for download.
162
+
Use an [Azure Event Grid](../../../../../event-grid/event-schema-communication-services.md) web hook or other triggered action to notify your services when the recorded media is ready for download.
155
163
156
-
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.
164
+
An Event Grid notification `Microsoft.Communication.RecordingFileStatusUpdated` is published when a recording is ready for retrieval, typically a few minutes after the recording finishes processing (such as when meeting ends or a recording stops). Recording event notifications include `contentLocation` and `metadataLocation`, which you can use to retrieve both recorded media and a recording metadata file.
157
165
158
166
Example of the event schema:
159
167
@@ -186,17 +194,18 @@ Example of the event schema:
186
194
}
187
195
```
188
196
189
-
Use `DownloadToAsync` API for downloading the recorded media.
197
+
Use `DownloadToAsync` API to download the recorded media.
The `downloadLocation` for the recording can be fetched from the `contentLocation` attribute of the `recordingChunk`. `DownloadToAsync` method downloads the content into provided filename.
196
203
197
-
## 7. Delete recording content using 'DeleteAsync' API
204
+
Fetch the `downloadLocation` for the recording from the `contentLocation` attribute of the `recordingChunk`. Use the `DownloadToAsync` method to download the content into a provided filename.
205
+
206
+
## 7. Delete recording content using `DeleteAsync` API
198
207
199
-
Use `DeleteAsync` API for deleting the recording content (for example, recorded media, metadata)
208
+
Use `DeleteAsync` API to delete the recording content (such as recorded media and metadata).
0 commit comments