Azure / communication-ui-library

UI Library for Azure Communication Services helps developers build communication applications with ease. From turn-key composites to UI components that can be composited together.
https://aka.ms/acsstorybook
MIT License
171 stars 72 forks source link

User not able to Unmute when in meeting using callComposite.js after enabling "Require participant agreement for recording and transcription" in teams admin #5068

Closed sarvamangala-yathada closed 5 days ago

sarvamangala-yathada commented 2 months ago

We have a custom chat application built using angular. This application is used to connect user in team users to the member in teams. We have used the Azure communication service's Cross-platform support that is callComposite.js to integrate the calling feature in our application. We have referred the same code which is present in “https://azure.github.io/communication-ui-library/?path=/docs/composites-call-basicexample--basic-example”. One of our application's main features is the support of recording the meeting. After enabling Policy to Control the Need for Explicit Consent for Teams Recordings ("Require participant agreement for recording and transcription" - Present in Teams Admin) , we are getting an error, when the user joins the meeting from the chat application and tries to unmute himself neither the user is prompted with any message asking the User consent nor its allowing to unmute and throws an error saying “Failed to unmute microphone”.

Why are we getting this issue? How can we provide the user consent to the user on the start of call recording using the callComposite.js library?

steps to reproduce the issue ->

Go to the teams admin center and enable "Require participant agreement for recording and transcription".

  1. join a meeting as a user from callComposite.js.
  2. start the recording in teams meeting.
  3. The user will be notified as "Recording and transcription have started. By joining you are giving consent for this meeting to be transcribed".
  4. Now when the user tries to unmute to talk, neither the microphone is unmuted nor the user is prompted with any message asking to provide explicit user consent and gives an error notification saying "Failed to Unmute microphone".

Expected behavior ->

The user must be able to unmute the microphone.

Environment->

  1. Angular
  2. callComposite.js
  3. Browser - chrome, edge

@alkwa-msft, @PorterNan , @palatter

mgamis-msft commented 2 months ago

Hi @sarvamangala-yathada, thanks for filing this issue and providing the details. I will investigate this issue.

mgamis-msft commented 2 months ago

@sarvamangala-yathada, I have tried your scenario with the steps you detailed and I am also unable to unmute. I have a video of me testing the scenario here: https://github.com/user-attachments/assets/01803167-50d4-4b41-a9d8-92169877b98b

As shown below, the call composite is showing the wrong notification compared to Teams when the policy to require explicit consent for teams recordings is enabled.

The notification should mention consent is required before the user can unmute and we should allow the user to consent through a prompt when they try to unmute.

However, we currently cannot detect the policy to require explicit consent for teams recordings is enabled from the @azure/communication-calling package. From their current API, we only know when recording is active, paused, or ended. There is currently no API to know if the policy is enabled and to confirm consent to allow the user to unmute.

I will discuss with the @azure/communication-calling team about when this feature would be available so we are able to work on the notification update and prompt to consent.

mgamis-msft commented 1 month ago

After discussion, there will be new API from @azure/communication-calling in Q4 this year to provide consent when the consent policy is on and after that user would be able to unmute and enable camera. Once that is ready we will be able to implement this feature in the UI library.

dmceachernmsft commented 5 days ago

Closing issue as last response is over 10 days old. Please reopen the issue if there are further questions on the topic.