microsoftgraph / microsoftgraph/microsoft-graph-comms-samples
Adding a participant using replacesCallId, who was in another call to the current, show flaky behaviour.
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
There is an incoming call handled by bot, accepted. Then bot calls a user of the same tenant, if the user picks up the call (Lets call it Agent), bot Invites agent to the incoming call, using replacesCallId. Most of the time, caller and agent can only hear each other with a delay, also in this case I see that in Teams client, the agent is not show as third participant, however in cases that Agent is show as third participant, there is no delay.
Code Snippet
var teamsCall = new Call {
TenantId = _endpoint.TenantId.ToString(),
MediaConfig = new ServiceHostedMediaConfig(),
RequestedModalities = [Microsoft.Graph.Models.Modality.Audio],
Targets = [
new InvitationParticipantInfo {
Identity = agentId,
},
]
};
CallToAgent = await teams.Calls().AddAsync(teamsCall, cancellationToken: cancellationToken);
var x = await incomingCalll.Participants.InviteAsync(new List < InvitationParticipantInfo > () {
new InvitationParticipantInfo() {
ReplacesCallId = CallToAgent.Id,
Identity = agentId,
}
});
Expected behavior
Caller and Agent should hear each other and all parties should appear in Teams.
Graph SDK (please complete the following information):
Azure.Identity:1.12.0
Microsoft.Graph:5.38.0
Microsoft.Graph.Communications.Calls:1.2.0.10563
Microsoft.Graph.Communications.Client:1.2.0.10563
Microsoft.Graph.Communications.Common:1.2.0.10563
Microsoft.Graph.Communications.Core:1.2.0.10563
Microsoft.Graph.Core:3.1.3
Microsoft.IdentityModel.Clients.ActiveDirectory:3.19.8
Microsoft.IdentityModel.Protocols.OpenIdConnect:6.7.1
Call ID
UTC Time: 15:00
2c003680-b133-4686-89ff-64e58213a02f
00003b80-aafe-45ed-8f88-16649c5938e3
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 IncomingCall Participants.InviteAsync call using ReplacesCallId and the preceding Calls().AddAsync call in the issue snippet. Reproduce the flow with the supplied call IDs and the listed Microsoft Graph Communications SDK versions, then compare the participant state and audio timing when the agent appears in Teams versus when they do not. Done means the caller and agent hear each other without delay and all parties appear in Teams.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- audio-video-rtc, csharp
- Domain
- api, audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100