Forum Discussion

Itay_Nadir's avatar
Itay_Nadir
Copper Contributor
Dec 11, 2024
Solved

Seeking Guidance on Real-Time Audio and Video Analysis in a Teams Plugin

Hello Team,

I’m currently building a plugin for Microsoft Teams meetings. This plugin analyzes real-time audio and video streams and returns the results to the user through the app. My implementation uses a tab application that communicates with a bot application for processing and interaction.

The bot is intended to record real-time audio and video during meetings; however, I’ve encountered difficulties in implementing this feature. Despite my efforts, I haven’t been able to find a relevant example or project demonstrating how to achieve real-time audio and video recording within a Teams bot.

I would greatly appreciate any guidance, resources, or references to projects/examples that could help me implement this functionality.

Thank you for your time and assistance!

Best regards,
Itay

  • Hello @Itay_Nadir, The error you are encountering, Microsoft.Graph.Communications.Core.Exceptions.ServiceException: 'Code: 9999 Message: Unknown internal server error, typically indicates an issue with the service or configuration rather than the code itself.

      • Verify that the app has the Calls.JoinGroupCall.All and Calls.InitiateGroupCall.All permissions granted and admin consented.
      • Enable detailed logging in your application to capture more information about the error.
      • Ensure that the joinParams being passed to the AddAsync method are correctly formed and contain all required information.
      • Double-check the values for JoinUrl, MeetingId, and other parameters.
      • Ensure that the scenarioId being used is unique for each call. Reusing scenario IDs can sometimes cause issues.
  • Hello @Itay_Nadir, to implement a bot in Microsoft Teams that records real-time audio and video during meetings. Here are some resources and guidance that might help you with implementing real-time audio and video recording in a Microsoft Teams bot.

    1.Real-time Media Call & Meeting for Bots - Teams | Microsoft Learn: This document explains how the Real-time Media Platform enables bots to interact with Microsoft Teams calls and meetings using real-time voice, video, and screen sharing. The platform allows the bot to send and receive voice and video content frame by frame1.

    2.Bots for Teams Calls and Online Meeting - Teams | Microsoft Learn

    Sample Link-microsoft-graph-comms-samples/Samples/V1.0Samples/LocalMediaSamples/PolicyRecordingBot at master · microsoftgraph/microsoft-graph-comms-samples

    • Itay_Nadir's avatar
      Itay_Nadir
      Copper Contributor

      Hi,

      Thanks for your response and guidance! We're using the exact same repository and followed the setup instructions, including this video (https://www.youtube.com/watch?v=jxPltGlZKE4).

      However, when running the example as is, we encountered the following error:

      Microsoft.Graph.Communications.Core.Exceptions.ServiceException: 'Code: 9999
      Message: Unknown internal server error.
      Scenario Id: 3fa0cf1d-5e4c-4735-baea-a97ec3f79aa8
      Inner error:
          '

      This error occurs at the following line in PsiBot\PsiBot.Service\Bot\BotService.cs:165:

      var statefulCall = await this.Client.Calls().AddAsync(joinParams, scenarioId).ConfigureAwait(false);

      Would you happen to know what might be causing this issue? Any insights or steps to troubleshoot this further would be greatly appreciated.

      Thanks again for your help!



      • Sayali-MSFT's avatar
        Sayali-MSFT
        Icon for Microsoft rankMicrosoft

        Hello @Itay_Nadir, The error you are encountering, Microsoft.Graph.Communications.Core.Exceptions.ServiceException: 'Code: 9999 Message: Unknown internal server error, typically indicates an issue with the service or configuration rather than the code itself.

          • Verify that the app has the Calls.JoinGroupCall.All and Calls.InitiateGroupCall.All permissions granted and admin consented.
          • Enable detailed logging in your application to capture more information about the error.
          • Ensure that the joinParams being passed to the AddAsync method are correctly formed and contain all required information.
          • Double-check the values for JoinUrl, MeetingId, and other parameters.
          • Ensure that the scenarioId being used is unique for each call. Reusing scenario IDs can sometimes cause issues.
  • Hello @Itay_Nadir, Thank you for your inquiry about your Teams app development issue!

    We are checking the issue. We will get back to you shortly.

Resources