microsoftgraph / microsoftgraph/microsoft-graph-comms-samples
Participant Invite timeout does not get processed by the CommunicationsClient
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
The “CommunicationsClient” stops processing “InviteParticipantsOperation” on “OnNotificationProcessed” after 30 seconds. This is a problem for us because it can happen that an Invite to a Teams user can take more than 30 seconds to reject if that user desires so. Be it that the user waits longer to reject the invite or that the user does nothing at all and the Invite fails automatically after 60 seconds.
The scenario is a follows:
- PSTN phone calls our Teams Bot
- Call is established
- Graph/Bot notifies our Callback URL about the established call
- Our application invites a Teams user to the call
- Invite operation becomes running
- Wait 30 seconds
- Exception from OperationManager.cs:245
a. System.TimeoutException: Timed out while waiting for the operation with context [OperationId] to complete. - Wait another 30 seconds
- Graph/Bot sends InviteParticipantsOperation failed for the invited participant (It timed-out)
- Warning from OperationManager.cs:305
a. Operation with context [OperationId] is not found. Ignoring request.
Expected behavior
Using JetBrains DotPeek we were able to see that de participants InviteAsync function has a hardcoded timeout of 30 seconds that we cannot configure/influence. The OperationManager also gets a default timeout of 30 seconds that we cannot influence.
It would help us significantly if we where able to configure the timeout as it would enable us to process failed invitations correctly.
Graph SDK (please complete the following information):
We are using the Microsoft.Graph.Communications.Calls (1.2.0.1702) NuGet package.
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
Review OperationManager.cs around lines 245 and 305 and the participant InviteAsync timeout described in the issue. Determine whether the sample can expose or configure the timeout, or whether the limitation is in Microsoft.Graph.Communications.Calls 1.2.0.1702; done means delayed invitation failures are processed rather than ignored.
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
- Mostly clear
- Newbie friendliness
- 20/100