Connection glitch and not rendering video

We are running Jitsi sessions for delivering online classrooms. We have hosted Jitsi on 1 Ubuntu server on Azure with 8 vCPU 32 GB RAM system. We are expecting 1GBps port speed.Every classroom contains 4 Audio/Video streams and almost 30 audio streams. Based on this scenario, I have following questions:
  1. System runs fine with 6 classrooms beyond which we see a glitch before starting with 7th one. We were on different networks so it less looks like network issue. Is there any known issue for the same.

  2. We show list of all participants and show one that are online using green dot. We manage this using “JitsiMeetJS.events.conference.USER_JOINED”. We capture Jitsi participant id for this and map it to online user. We see that my jitsi participant id changes every refresh and we update the latest jitsi id with this event. We map displayName to username when user joins session and thus mapping works.
    If someone is allowed to add video stream we add his local track and we get “JitsiMeetJS.events.conference.TRACK_ADDED” on other users where we have video element tag. We check the participant id on the track and map their corresponding video element rendered in HTML using Jitsi id mapped earlier.
    These seems to work till and until we refresh screen multiple times and then video stops rendering. I belive my logic of mapping Jitsi id is failing. Will there be a case when these events are triggered out of sync for individual user.

    Is logic mentioned above valid or we need to make some changes?

What is the question actually? And what is the problem you see? How many users are in these 6 rooms? Are all sending and receiving video? What is the server bandwidth capabilities?

Yes, this is correct, when using anonymous authentication jids are auto generated on the server.

This is the case where some participants are only receivers and are not senders?

I don’t understand this? Why is that needed?

Local track added and joined muc events can be out of sync.

Are you using jitsi-meet or lib-jitsi-meet? Are you embedding jitsi experience in another application which supports authentication? If the answer is yes then to be able to track users correctly the proper way would be to use jwt. The system that does authentication generates jwt based on the user that had been authenticated, which is passed to your application which then uses to pass it to jitsi-meet or lib-jitsi-meet. Then on the prosody side you need a module which tracks user joins/leaves events and report to your service which will den be used as a source of truth to show green dots, as prosody modules have access to tokens, it will have access to your real user id which you had added in the token, so no need of mapping or anything. The display name and avatars should automatically be handled and used from the jwt values. You can even control room access in jwt, to disallow anybody joining other rooms …