Skip to content

Commit 9a7e9dc

Browse files
authored
Merge pull request #291172 from sonalisaxenacse12/sonasa/ExplicitConsent-AzureDocUpdate
[ACS] Adding docs for Explicit consent for Recording and transcription.
2 parents 5ac609d + d5cb480 commit 9a7e9dc

File tree

5 files changed

+82
-4
lines changed

5 files changed

+82
-4
lines changed

articles/communication-services/how-tos/calling-sdk/call-transcription.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ zone_pivot_groups: acs-plat-web-ios-android-windows
1414

1515
# Display call transcription state on the client
1616

17-
You need to collect consent from all participants in the call before you can transcribe them. Microsoft Teams allows users to start transcription in the meetings or calls. You would receive event when transcription has started on you can check the transcription state, if transcription started before you joined the call or meeting.
17+
You need to collect consent from all participants in the call before you can transcribe them. Microsoft Teams allows users to start transcription in the meetings or calls. You would receive event when transcription has started. You can check the transcription state if transcription started before you joined the call or meeting. You can provide explicit consent to transcription if a meeting or call requires it, and you have already collected it.
1818

1919
## Prerequisites
2020

@@ -42,13 +42,19 @@ The following tables show support of individual APIs in calling SDK to individua
4242
|Get event that transcription has started | ✔️ | ✔️ |
4343
|Get transcription state | ✔️ | ✔️ |
4444
|Start or stop transcription | | |
45+
|Learn whether explicit consent is required | ✔️[1] | ✔️[1] |
46+
|Give explicit consent for being transcribed | ✔️[1] | ✔️[1] |
47+
48+
[1] This functionality is available only in Teams meetings and group Teams interoperability calls.
4549

4650
## SDKs
4751
The following tables show support of transcription in individual Azure Communication Services SDKs.
4852

4953
| Platforms | Web | Web UI | iOS | iOS UI | Android | Android UI | Windows |
5054
|-------------|-----|--------|-----|--------|---------|------------|---------|
51-
|Is Supported | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
55+
|Is Supported | ✔️ | ✔️[1] | ✔️[1] | ✔️[1]| ✔️[1]| ✔️[1]| ✔️[1] |
56+
57+
[1] These SDKs don't support explicit consent.
5258

5359
::: zone pivot="platform-web"
5460
[!INCLUDE [Call transcription client-side Web](./includes/call-transcription/call-transcription-web.md)]

articles/communication-services/how-tos/calling-sdk/capabilities.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The following table provides additional information about why action isn't avail
5555
| NotInitialized | The capabilities feature isn't initialized yet. | Subscribe to event `capabilitiesChanged` on `this.call.feature(Features.Capabilities)` to know when capability is initialized. |
5656
| NotCapable | User type blocks the action. | The action is only allowed to specific type of identity. Enable this action by using Microsoft 365 identity. |
5757
| TeamsPremiumLicenseRestricted | Microsoft 365 user needs to have Teams Premium license assigned. | Enable this action by assigning Teams Premium license to the Teams meeting organizer or the Microsoft 365 user using SDK. The target user depends on the type of action. Microsoft 365 admin can assign required license. |
58-
58+
| ExplicitConsentRequired | Consent is required to allow the action. | Provide the consent for recording or transcription by calling method `consentToBeingRecordedAndTranscribed()` under `this.call.feature(Features.Recording)` or `this.call.feature(Features.Transcription)` .|
5959
## Next steps
6060
- [Learn how to manage video](./manage-video.md)
6161
- [Learn how to manage calls](./manage-calls.md)

articles/communication-services/how-tos/calling-sdk/includes/call-transcription/call-transcription-web.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,20 @@ You can unsubscribe from the event with the following code:
3939
```js
4040
callTranscriptionFeature.off('isTranscriptionActiveChanged', isTranscriptionActiveChangedHandler);
4141
```
42+
[!INCLUDE [Public Preview Disclaimer](../../../../includes/public-preview-include-document.md)]
43+
44+
## Explicit Consent
45+
When your Teams meeting or call is configured to require explicit consent for recording or transcription, you are required to gather explicit consent from your users to allow users to be transcribed or recorded. You can provide consent proactively when joining the meeting or reactively when the recording or transcription starts. Until explicit consent is given, participants' audio, video, and screen sharing will be disabled during transcription.
46+
47+
You can check if the meeting transcription requires explicit consent by property `isConsentRequired`. If the value is set to `true`, then explicit consent is required for the `call`.
48+
49+
```js
50+
const isTranscriptionConsentRequired = callTranscriptionFeature.isConsentRequired;
51+
```
52+
53+
If you have already obtained the user's consent for transcription, you can call the `consentToBeingRecordedAndTranscribed()` method to indicate explicit consent to the service. Note that this consent is valid for one `call` session only and users will need to provide consent again if they rejoin the meeting.
54+
55+
```js
56+
callTranscriptionFeature.consentToBeingRecordedAndTranscribed();
57+
```
58+
Attempts to enable audio, video or screen sharing will fail when transcription is active, explicit consent is required but is not yet given. You can recognize this situation by checking property `reason` of class `ParticipantCapabilities` for [capabilities](../../capabilities.md) `turnVideoOn`, `unmuteMic` and `shareScreen`. You can find those [capabilities](../../capabilities.md) in the feature `call.feature(Features.Capabilities)`. Those [capabilities](../../capabilities.md) would return reason `ExplicitConsentRequired` as users need to provide explicit consent.

articles/communication-services/how-tos/calling-sdk/includes/record-calls/record-calls-web.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,20 @@ const cloudRecordingsUpdatedHandler = (args: { added: SDK.RecordingInfo[], remov
6565
};
6666
callRecordingApi.on('recordingsUpdated', cloudRecordingsUpdatedHandler );
6767
```
68+
## Explicit Consent
69+
When your Teams meeting or call is configured to require explicit consent for recording and transcription,
70+
you are required to collect consent from all participants in the call before you can record them. You can provide consent proactively when joining the meeting or reactively when the recording starts. Until explicit consent is given, participants' audio, video, and screen sharing will be disabled during recording.
71+
72+
You can check if the meeting recording requires explicit consent by property `isConsentRequired`. If the value is set to `true`, then explicit consent is required for the `call`.
73+
74+
```js
75+
const isConsentRequired = callRecordingApi.isConsentRequired;
76+
```
77+
78+
If you have already obtained the user's consent for recording, you can call `consentToBeingRecordedAndTranscribed()` method to indicate explicit consent to the service. Note that this consent is valid for one `call` session only and users will need to provide consent again if they rejoin the meeting.
79+
80+
```js
81+
callRecordingApi.consentToBeingRecordedAndTranscribed();
82+
```
83+
84+
Attempts to enable audio, video or screen sharing will fail when recording is active, explicit consent is required but is not yet given. You can recognize this situation by checking property `reason` of class `ParticipantCapabilities` for [capabilities](../../capabilities.md) `turnVideoOn`, `unmuteMic` and `shareScreen`. You can find those [capabilities](../../capabilities.md) in the feature `call.feature(Features.Capabilities)`. Those [capabilities](../../capabilities.md) would return reason `ExplicitConsentRequired` as users need to provide explicit consent.

articles/communication-services/how-tos/calling-sdk/record-calls.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,44 @@ zone_pivot_groups: acs-plat-web-ios-android-windows
2727
- A user access token to enable the calling client. For more information, see [Create and manage access tokens](../../quickstarts/identity/access-tokens.md).
2828
- Optional: Completion of the [quickstart to add voice calling to your application](../../quickstarts/voice-video-calling/getting-started-with-calling.md).
2929

30+
## Support
31+
The following tables define support of recording in Azure Communication Services.
32+
33+
### Identities and call types
34+
The following tables show support of recording for specific call type and identity.
35+
36+
|Identities | Teams meeting | Room | 1:1 call | Group call | 1:1 Teams interop call | Group Teams interop call |
37+
|-----------------------------|---------------|------|----------|------------|------------------------|--------------------------|
38+
|Communication Services user | ✔️[1] |✔️[2]| ✔️[2]|✔️[2]|✔️[1]|✔️[1][2]|
39+
|Microsoft 365 user | ✔️[1] || ✔️[2]||✔️[1]|✔️[1][2]|
40+
41+
[1] These call types support Teams cloud and compliance recording.
42+
[2] These call types support Azure Communication Services recording.
43+
44+
### Operations
45+
The following tables show support of individual APIs in calling SDK to individual identity types.
46+
47+
|Operations | Communication Services user | Microsoft 365 user |
48+
|-----------------------------|------------------------------|-------------------|
49+
|Get notification that recording started or stopped | ✔️ | ✔️ |
50+
|Get state of recording | ✔️ | ✔️ |
51+
|Get notification that recording is available | ✔️[1] | ✔️[1] |
52+
|Learn whether explicit consent is required | ✔️[2] | ✔️[2] |
53+
|Give explicit consent for being recorded | ✔️[2] | ✔️[2] |
54+
55+
[1] The user is not notified that recording is available. You can get Teams cloud recording via Microsoft Graph API. You can subscribe to notification in Azure Communication Services when recording is available.
56+
57+
[2] This functionality is available only in Teams meetings and group Teams interoperability calls.
58+
59+
### SDKs
60+
The following tables show support of recording in individual Azure Communication Services SDKs.
61+
62+
|Platforms | Web | Web UI | iOS | iOS UI | Android | Android UI | Windows |
63+
|-------------|-----|--------|-----|--------|---------|------------|---------|
64+
|Is Supported | ✔️ | ✔️[1]| ✔️[1] | ✔️[1]| ✔️[1]| ✔️[1]| ✔️[1] |
65+
66+
[1] These SDKs don't support explicit consent.
67+
3068
::: zone pivot="platform-web"
3169
[!INCLUDE [Record Calls Client-side JavaScript](./includes/record-calls/record-calls-web.md)]
3270
::: zone-end
@@ -43,7 +81,7 @@ zone_pivot_groups: acs-plat-web-ios-android-windows
4381
[!INCLUDE [Record calls client-side Windows](./includes/record-calls/record-calls-windows.md)]
4482
::: zone-end
4583

46-
### Compliance recording
84+
## Compliance recording
4785

4886
Compliance recording is recording that's based on Microsoft Teams policy. You can enable it by using this tutorial: [Introduction to Teams policy-based recording for callings](/microsoftteams/teams-recording-policy).
4987

0 commit comments

Comments
 (0)