Why do i receive a "call terminated" event for calls that are still ongoing?

O.o 20 Reputation points
2025-10-21T08:35:17.9233333+00:00

Hey

I have a bot (C#.Net) which joins Teams calls and monitors some data (video/audio streams).

during the call, when the first user which joins leaves, i receive a call terminated event to 'CallOnUpdated' (e.NewResource.State == CallState.Terminated) following a report via 'ParticipantsOnUpdated' for all participants leaving.Tthe user which left the call just clicked "leave" and not "end meeting". the meeting is still alive i see the other participant.

does anyone have any idea why this is happening?

is it related to some Teams configuration/policy?

is it a known bug on MS side?

Microsoft Teams | Development
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Kudos-Ng 7,850 Reputation points Microsoft External Staff Moderator
    2025-10-21T10:34:23.82+00:00

    Hi O.o,

    Thank you for posting your question in the Microsoft Q&A forum. 

    Based on your description, it appears you are experiencing an unexpected behavior where your bot receives a CallState.Terminated event after the first participant leaves the meeting (without ending it), followed by a ParticipantsOnUpdated event indicating all participants have left even though the meeting is still active and other participants remain.

    I have reviewed available documentation and searched for similar reports but could not find any official confirmation related to this behavior. Unfortunately, as a forum moderator, I have limited resources and no access to an environment to reproduce this scenario, so I cannot conclusively determine whether this is a product issue.

    If this behavior only started recently and your bot implementation worked as expected before, I highly recommend submitting a support ticket via the Azure portal. A support engineer can collect logs and investigate this in depth.

    However, I have tried to find some potential workarounds you might consider while waiting for a support agent to reach out:

    • Check ResultInfo when receiving the CallState.Terminated event: This can help confirm whether the termination was due to a normal disconnect or another issue.
    • Verify meeting state or participant list before disposing the bot: If the meeting is still active, consider implementing logic to rejoin the meeting using the joinWebUrl or meetingId.

    I hope these suggestions are helpful. If you have any further questions, please feel free to share.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".     

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.