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
Copy file name to clipboardExpand all lines: articles/communication-services/concepts/voice-video-calling/call-recording.md
+49-28Lines changed: 49 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,42 +20,60 @@ ms.subservice: calling
20
20
> [!NOTE]
21
21
> Call Recording is not enabled for [Teams interoperability](../teams-interop.md).
22
22
23
-
Call Recording provides a set of APIs to start, stop, pause and resume recording. These APIs can be accessed from server-side business logic or via events triggered by user actions. Recorded media output is in MP4 Audio+Video format, which is the same format that Teams uses to record media. Notifications related to media and metadata are emitted via Event Grid. Recordings are stored for 48 hours on built-in temporary storage for retrieval and movement to a long-term storage solution of choice. Call Recording supports all Azure Communication Services data regions.
23
+
Call Recording enables you to record multiple calling scenarios available in Azure Communication Services by providing you with a set of APIs to start, stop, pause and resume recording. Whether it's a PSTN, WebRTC, or SIP call, these APIs can be accessed from server-side business logic or via events triggered by user actions.
Depending on your business needs, you can use Call Recording for different Azure Communication Services calling implementations.
26
+
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).
26
27
27
-
## Media output types
28
-
Call recording currently supports mixed audio+video MP4 and mixed audio MP3/WAV output formats in Public Preview. The mixed audio+video output media matches meeting recordings produced via Microsoft Teams recording.
29
28
30
-
| Content Type | Content Format | Channel Type | Video | Audio |
| audio + video | mp4 | mixed | 1920x1080 eight (8) FPS video of all participants in default tile arrangement | 16 kHz mp4 mixed audio of all participants |
33
-
| audio| mp3/wav | mixed | N/A | 16 kHz mp3/wav mixed audio of all participants |
34
-
| audio| wav | unmixed | N/A | 16 kHz wav, 0-5 channels, 1 for each participant |
29
+

30
+
31
+
32
+
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).
33
+
34
+
35
+

36
+
37
+
38
+
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.
39
+
40
+
## Media output and Channel types supported
41
+
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.
42
+
43
+
### Video
44
+
45
+
| Channel Type | Content Format | Resolution | Sampling Rate | Output | Description |
| mixed | mp4 | 1920x1080, eight (8) FPS (frames per second) | 16 kHz | single file, single channel | mixed audio+video of all participants in a default tile arrangement |
48
+
49
+
### Audio
35
50
36
-
## Channel types
37
51
> [!NOTE]
38
52
> **Unmixed audio** is in **Private Preview**.
39
53
40
-
| Channel type | Content format | Output | Scenario | Release Stage |
| mixed | mp3 & wav | 16 kHz | single file, single channel | mixed audio of all participants |
57
+
| unmixed | wav | 16 kHz | single file, up to 5 wav channels | unmixed audio, one participant per channel, up to five channels |
58
+
59
+
60
+
61
+
## Call Recording APIs
62
+
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).
63
+
A `recordingId` is returned when recording is started, which is then used for follow-on operations like pause and resume.
45
64
46
-
## Run-time Control APIs
47
-
Run-time control 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 the `serverCallId` to initiate recording. Once a call is created, a `serverCallId` is returned via the `Microsoft.Communication.CallLegStateChanged` event after a call has been established. The `serverCallId` can be found in the `data.serverCallId` field. Learn how to [Get `serverCallId`](../../quickstarts/voice-video-calling/get-server-call-id.md) from the Calling Client SDK. A `recordingOperationId` is returned when recording is started, which is then used for follow-on operations like pause and resume.
| Get Recording State |`recordingOperationId`| Returns `recordingState`|
53
-
| Pause Recording |`recordingOperationId`| Pausing and resuming call recording enables you to skip recording a portion of a call or meeting, and resume recording to a single file. |
54
-
| Resume Recording |`recordingOperationId`| Resumes a Paused recording operation. Content is included in the same file as content from prior to pausing. |
55
-
| Stop Recording |`recordingOperationId`| Stops recording, and initiates final media processing for file download. |
| Get Recording State |`recordingId`| Returns `RecordingStateResult`|
70
+
| Pause Recording |`recordingId`| Pausing and resuming call recording enables you to skip recording a portion of a call or meeting, and resume recording to a single file. |
71
+
| Resume Recording |`recordingId`| Resumes a Paused recording operation. Content is included in the same file as content from prior to pausing. |
72
+
| Stop Recording |`recordingId`| Stops recording, and initiates final media processing for file download. |
56
73
57
74
58
75
## Event Grid notifications
76
+
Notifications related to media and metadata are emitted via Event Grid.
59
77
60
78
> [!NOTE]
61
79
> 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.
@@ -94,11 +112,11 @@ An Event Grid notification `Microsoft.Communication.RecordingFileStatusUpdated`
94
112
```typescript
95
113
{
96
114
"resourceId": <string>, // stable resource id of the ACS resource recording
97
-
"callId": <string>, //group id of the call
115
+
"callId": <string>, // id of the call
98
116
"chunkDocumentId": <string>, // object identifier for the chunk this metadata corresponds to
99
117
"chunkIndex": <number>, // index of this chunk with respect to all chunks in the recording
100
118
"chunkStartTime": <string>, // ISO 8601 datetime for the start time of the chunk this metadata corresponds to
101
-
"chunkDuration": <number>, // duration of the chunk this metadata corresponds to in milliseconds
119
+
"chunkDuration": <number>, //[Chunk duration has a maximum of 4 hours] duration of the chunk this metadata corresponds to in milliseconds
102
120
"pauseResumeIntervals": [
103
121
"startTime": <string>, // ISO 8601 datetime for the time at which the recording was paused
104
122
"duration": <number> // duration of the pause in the recording in milliseconds
@@ -129,10 +147,13 @@ Many countries and states have laws and regulations that apply to call recording
129
147
130
148
Regulations around the maintenance of personal data require the ability to export user data. In order to support these requirements, recording metadata files include the participantId for each call participant in the `participants` array. You can cross-reference the MRIs in the `participants` array with your internal user identities to identify participants in a call. An example of a recording metadata file is provided below for reference.
131
149
132
-
## Available Languages
133
-
Currently, Azure Communication Services Call Recording APIs are available in C# and Java.
150
+
## Known Issues
151
+
152
+
It's possible that when a call is created using Call Automation, you won't get a value in the `serverCallId`. If that's the case, get the `serverCallId` from the `CallConnected` event method described in [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).
134
153
135
154
## Next steps
136
-
Check out the [Call Recording Quickstart](../../quickstarts/voice-video-calling/call-recording-sample.md) to learn more.
155
+
For more information, see the following articles:
137
156
138
-
Learn more about [Call Automation APIs](./call-automation-apis.md).
157
+
- Learn more about Call recording, check out the [Call Recording Quickstart](../../quickstarts/voice-video-calling/get-started-call-recording.md).
158
+
- Learn more about [Call Automation](https://learn.microsoft.com/azure/communication-services/quickstarts/voice-video-calling/callflows-for-customer-interactions?pivots=programming-language-csharp).
159
+
- Learn more about [Video Calling](https://learn.microsoft.com/azure/communication-services/quickstarts/voice-video-calling/get-started-with-video-calling?pivots=platform-web).
Copy file name to clipboardExpand all lines: articles/communication-services/quickstarts/voice-video-calling/call-recording-unmixed-audio-private-preview-quickstart.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Azure Communication Services Unmixed Audio Recording API quickstart
3
3
titleSuffix: An Azure Communication Services quickstart document
4
-
description: Private Preview quickstart for Unmixed Audio Call Recording APIs.
4
+
description: quickstart for Unmixed Audio Call Recording APIs
This quickstart gets you started recording voice and video calls. This quickstart assumes you've already used the [Calling client SDK](get-started-with-video-calling.md)to build the end-user calling experience. Using the **Calling Server APIs and SDKs** you can enable and manage recordings.
19
+
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](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) to build the end-user calling experience.
20
20
21
21
::: zone pivot="programming-language-csharp"
22
22
[!INCLUDE [Test Unmixed Audio Recording with C#](./includes/call-recording-samples/private-preview-unmixed-audio-recording-server-csharp.md)]
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](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) to build the end-user calling experience.
20
+
21
+
::: zone pivot="programming-language-csharp"
22
+
[!INCLUDE [Test Call Recording with C#](./includes/call-recording-samples/call-recording-csharp.md)]
23
+
::: zone-end
24
+
25
+
::: zone pivot="programming-language-java"
26
+
[!INCLUDE [Test Call Recording with Java](./includes/call-recording-samples/call-recording-java.md)]
27
+
::: zone-end
28
+
29
+
## Clean up resources
30
+
31
+
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).
32
+
33
+
## Next steps
34
+
35
+
For more information, see the following articles:
36
+
37
+
- Learn more about [Call Recording](../../concepts/voice-video-calling/call-recording.md)
38
+
- Learn more about [Call Automation](https://learn.microsoft.com/azure/communication-services/concepts/voice-video-calling/call-automation)
39
+
- Check out our [calling hero sample](../../samples/calling-hero-sample.md)
40
+
- Learn about [Calling SDK capabilities](./getting-started-with-calling.md)
41
+
- Learn more about [how calling works](../../concepts/voice-video-calling/about-call-types.md)
0 commit comments