Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bot never joins Team Meeting: Server Internal Error. DiagCode: 500#1203003.@ #775

Open
aliasmac opened this issue Oct 14, 2024 · 6 comments

Comments

@aliasmac
Copy link

Describe the issue

When inviting the bot to a Teams call we receive a HTTP 500 error and the bot never joins the call.

Code Snippet

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

This runs successfully, but we never receive the established callback.

Expected behavior

We expect to receive a series of callbacks from Microsoft. We expect to receive the established callback that eventually resolves to the Bot joining a Teams call.

Graph SDK (please complete the following information):

Microsoft.Graph.Communications.Calls" Version="1.2.0.850"
Microsoft.Graph.Communications.Client" Version="1.2.0.850"
Microsoft.Graph.Communications.Common" Version="1.2.0.850"
Microsoft.Graph.Communications.Core" Version="1.2.0.850"
Microsoft.Graph.Communications.Calls.Media" Version="1.2.0.850"
Microsoft.Skype.Bots.Media" Version="1.27.0.2-alpha"

Call ID

Time: 2024-10-14 16:13:09.754 | time="2024-10-14T15:13:09.7547304Z
callChainId: ceb776d1-051b-4257-b170-4f53376418e7

Logs

Initial POST api/calling request where state is establishing

{
  "@odata.type": "#microsoft.graph.commsNotifications",
  "value": [
    {
      "@odata.type": "#microsoft.graph.commsNotification",
      "changeType": "updated",
      "resource": "/app/calls/00003680-2f08-421e-8420-b8684632e4c5",
      "resourceUrl": "/communications/calls/00003680-2f08-421e-8420-b8684632e4c5",
      "resourceData": {
        "@odata.type": "#microsoft.graph.call",
        "state": "establishing",
        "chatInfo": {
          "@odata.type": "#microsoft.graph.chatInfo",
          "threadId": "19:meeting_MzdhZDk5YTctMTNlMi00ZGYzLWE3NjAtMmQ4MzlhY2RmZmYy@thread.v2",
          "messageId": "0"
        },
        "meetingInfo": {
          "@odata.type": "#microsoft.graph.organizerMeetingInfo",
          "organizer": {
            "@odata.type": "#microsoft.graph.identitySet",
            "user": {
              "@odata.type": "#microsoft.graph.identity",
              "id": "f353f265-2c71-41c1-9537-9df59b7f2965",
              "tenantId": "<ommitted>"
            }
          },
          "callChainId": "d8bcb98a-6906-4124-baf2-f952d158a8d5"
        }
      }
    }
  ]
}

After a further 4 establishing requests we receive this as the 6th request that updates state to terminated:

{
  "@odata.type": "#microsoft.graph.commsNotifications",
  "value": [
    {
      "@odata.type": "#microsoft.graph.commsNotification",
      "changeType": "deleted",
      "resource": "/app/calls/0a003680-3adb-42a1-ac37-8cd856289569",
      "resourceUrl": "/communications/calls/0a003680-3adb-42a1-ac37-8cd856289569",
      "resourceData": {
        "@odata.type": "#microsoft.graph.call",
        "state": "terminated",
        "resultInfo": {
          "@odata.type": "#microsoft.graph.resultInfo",
          "code": 500,
          "subcode": 1203003,
          "message": "Server Internal Error. DiagCode: 500#1203003.@"
        },
        "chatInfo": {
          "@odata.type": "#microsoft.graph.chatInfo",
          "threadId": "19:meeting_MzdhZDk5YTctMTNlMi00ZGYzLWE3NjAtMmQ4MzlhY2RmZmYy@thread.v2",
          "messageId": "0"
        },
        "meetingInfo": {
          "@odata.type": "#microsoft.graph.organizerMeetingInfo",
          "organizer": {
            "@odata.type": "#microsoft.graph.identitySet",
            "user": {
              "@odata.type": "#microsoft.graph.identity",
              "id": "f353f265-2c71-41c1-9537-9df59b7f2965",
              "tenantId": "<ommitted>"
            }
          },
          "callChainId": "ceb776d1-051b-4257-b170-4f53376418e7"
        }
      }
    }
  ]
}

Additional context

  • We have already setup the bot to run as a single instance, with this we're trying to run multiple instances. The implementation of the k8s infra takes inspiration from this setup.
  • We're running this on AWS, we'll soon be moving to Azure as was recommended to my colleague a little while ago here
  • The Bot has never joined the call with this setup
@aliasmac aliasmac changed the title Bot never join Team Meeting: Server Internal Error. DiagCode: 500#1203003.@ Bot never joins Team Meeting: Server Internal Error. DiagCode: 500#1203003.@ Oct 14, 2024
@csk-bsi
Copy link

csk-bsi commented Oct 15, 2024

I encounter the same issue in a different environment:
#772

@InDieTasten
Copy link

Can you confirm that the media platform part of your bot was able to initialize successfully? I think it would help if you could provide the GraphLogger output of the SDK initialization and logs during the join attempt, ideally in a spoiler

Like this
Long
list
of
GraphLogger
output

@aliasmac
Copy link
Author

Hey @InDieTasten thanks for the tip, adding the logging revealed the root cause which we were able to fix, wasn't aware we could add the logger to the media platform, thanks!

@csk-bsi
Copy link

csk-bsi commented Oct 17, 2024

Hey, could you describe your root cause? I may face the same issue: #772

Thanks!

@aliasmac
Copy link
Author

@csk-bsi it was the most innocuous error, we were passing env variables via the k8s manifest for the different port mappings and since we're using .NET it expects a specific formatting which we got wrong for the public port, so instead of using the port we were exposing on our LB it was using a hardcoded port on our appsetting.json!

@tedlatte
Copy link

Hey @aliasmac, if you're dealing with issues where a bot never joins a Teams meeting due to server errors, you might want to check out the Recall.ai API.

It’s a simple 3rd party API that lets you use meeting bots to join meetings and capture raw audio/video/metadata without needing to build, scale, and maintain these bots yourself.

Here are the API docs: https://docs.recall.ai

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants