microsoftgraph / microsoftgraph/microsoft-graph-comms-samples
Bot sometimes does not join meeting: Server Internal Error. DiagCode: 500#7117
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 253
- Forks
- 275
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 1
Description
Describe the issue
Sometimes when inviting the bot to a meeting, the call stays stuck in "Establishing", before eventually getting "terminated" with an HTTP 500 server error.
Scenario
We have the sample setup and it works pretty most of the time. But there seem to be random moments/hours where we can not get the bot to join the call and it's the one thing stopping us from implementing this successfully.
Because it's highly unpredictable when our integration does and does not work. The same software, without any new changes in the infrastructure or code. Sometimes works 100% of the time and on certain days it drops down to 20%.
By not working I mean - the bot not joining the call. This is the only issue. Once the bot actually joins and the call is established, all audio media is received just as expected.
We can usually get it to work by re-inviting the bot many times, but this is not practical for our users.
Scenario:
- Create a meeting
- Invite the bot to the call through the JoinCallController, which runs all the way up to the
.AddAsync()of the BotService class as shown in the sample. This also executes successfully and the request is sent to microsoft.
We then receive an "Establishing" message back. However we then sometimes never receive the "Established" callback. After a period of about a minute, we end up receiving a "Terminated" status update with the error code:
Server Internal Error. DiagCode: 500#7117
Code Snippet
var statefulCall = await this.Client.Calls().AddAsync(joinParams).ConfigureAwait(false);
This runs successfully, but we never receive the Established callback.
Expected behavior
I expect microsoft to (eventually) send us the "Established" callback to our platform signaling endpoint. Which it sometimes does not.
Graph SDK:
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 Chain ID
adb8687d-12fc-4878-a1c9-66a28a168403
Logs
Establishing received:
{
"@odata.type":"#microsoft.graph.commsNotifications",
"value":[
{
"@odata.type":"#microsoft.graph.commsNotification",
"changeType":"updated",
"resource":"/app/calls/39003780-ad9d-42d2-a09c-bee3a0721389",
"resourceUrl":"/communications/calls/39003780-ad9d-42d2-a09c-bee3a0721389",
"resourceData":{
"@odata.type":"#microsoft.graph.call",
"state":"establishing",
"chatInfo":{
"@odata.type":"#microsoft.graph.chatInfo",
"threadId":"19:meeting_N2Y0YmIyZGEtNjNjZS00ZDQ4LTgxMTktMzYxYmI2ZTExNDk5@thread.v2",
"messageId":"0"
},
"meetingInfo":{
"@odata.type":"#microsoft.graph.organizerMeetingInfo",
"organizer":{
"@odata.type":"#microsoft.graph.identitySet",
"user":{
"@odata.type":"#microsoft.graph.identity",
"id":"6200feed-a0e8-49c0-95a9-e5bbb4d3d1c5",
"tenantId":"<ommitted>"
}
},
"callChainId":"adb8687d-12fc-4878-a1c9-66a28a168403"
}
]
}
Terminated 500 7117 received
{
"@odata.type":"#microsoft.graph.commsNotifications",
"value":[
{
"@odata.type":"#microsoft.graph.commsNotification",
"changeType":"deleted",
"resource":"/app/calls/39003780-ad9d-42d2-a09c-bee3a0721389",
"resourceUrl":"/communications/calls/39003780-ad9d-42d2-a09c-bee3a0721389",
"resourceData":{
"@odata.type":"#microsoft.graph.call",
"state":"terminated",
"resultInfo":{
"@odata.type":"#microsoft.graph.resultInfo",
"code":500,
"subcode":7117,
"message":"Server Internal Error. DiagCode: 500#7117.@"
},
"chatInfo":{
"@odata.type":"#microsoft.graph.chatInfo",
"threadId":"19:meeting_N2Y0YmIyZGEtNjNjZS00ZDQ4LTgxMTktMzYxYmI2ZTExNDk5@thread.v2",
"messageId":"0"
},
"meetingInfo":{
"@odata.type":"#microsoft.graph.organizerMeetingInfo",
"organizer":{
"@odata.type":"#microsoft.graph.identitySet",
"user":{
"@odata.type":"#microsoft.graph.identity",
"id":"6200feed-a0e8-49c0-95a9-e5bbb4d3d1c5",
"tenantId":"<ommitted>"
}
},
"callChainId":"adb8687d-12fc-4878-a1c9-66a28a168403"
}
]
}
Additional context
- We only run a single instance (one on our Dev environment, one on our prod environment). During these 'broken' moments, it happens in either environment.
- This happens regardless whether this is a new or old meeting
- This happens regardless of the participant state in the meeting in question
- This only happens SOMETIMES. Sometimes the bot joins 100% of the time for a whole day, then on some days, the bot joins 20% of the time, under the exact same conditions.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the JoinCallController flow through BotService and the Client.Calls().AddAsync(joinParams) entry point, then inspect the Establishing and Terminated callbacks at the platform signaling endpoint. Use the supplied call chain ID, HTTP 500/subcode 7117 response, and logs to investigate the intermittent failure; done means identifying a reproducible cause or confirmed service-side resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100