Meeting participant identification
Hi,
I have a question — wondering if anyone has encountered a similar issue:
When a participant’s state changes (e.g., camera on/off, mic on/off), Teams sends an event to the Bot service. This event includes the participant ID and MSI information, allowing us to map media streams to the corresponding participant.
However, if participants join the meeting before the bot joins, there’s a chance the bot won’t receive their participant update events. As a result, for those participants, the bot may not be able to determine which participant an audio stream belongs to.
How would this work?
Thanks!
I'd like an answer to this too.
It's actually quite difficult to fix this in application space.
Example:
- participant 1 joins
- bot joins
- participant 2 joins
- participant 1 leaves
- participant 2 leaves
The bot will only receive notifictions that Participant 2 (Participant 1 is like a ghost). I need participant 1s display name, which i could look up (matching audio source id to a GET on the onlineMeeting) to find display (not ideal, but i can live with it) but I'll miss out on participant events unless i resort to polling meeting state (ugly).
I suspect we are missing something
@yfengcs - I've been playing with a few of the join settings and have worked out how to get participant events working if bot joins late:
var joinParams = new JoinMeetingParameters(chatInfo, meetingInfo, mediaSession)
{
TenantId = _tenantId,
OptIntoDeltaRoster = false, // <- this needs to be false
IsInteractiveRosterEnabled = true,
IsParticipantInfoUpdatesEnabled = true,
};
it is possible that setting OptIntoDeltaRoster = false is less efficient or means that code might need to cope with duplicates (the docs are unclear) but it gives me what i need.
Perhaps there is a bug in OptIntoDeltaRoster = true?
i'm using latest
<PackageReference Include="Microsoft.Graph.Communications.Calls.Media" Version="1.2.0.15690" />
<PackageReference Include="Microsoft.Skype.Bots.Media" Version="1.32.0.70-preview" />
@owennewo thanks for sharing!