Adding a participant using replacesCallId, who was in another call to the current, show flaky behaviour.
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