We host our own jitsi-meet server with http authentication and reservation API. It all works fine, mostly. But of late we have been getting weird behaviour when the same room is recreated at a later time. So let’s say we create a room A and once the meeting is done recreate the same room A at a later time. The first time Room A is created, all events are fired - room create, participant joined and participant left. And when the meeting is done, room destroy event is called. But the second time we try to create room A, once the authentication takes place there is no real room being created (no call to reservation system or no room create event is fired). Each participant trying to access the room A is in their own room and can not see each other.
The last few lines in the console log in the browser -
check prosody version. in prosody 0.11.x they’ve introduced the Tombstone feature -
Starting with Prosody 0.11.x, when a room is destroyed, it leaves behind a tombstone which prevents the room being entered or recreated. It also allows anyone who was not in the room at the time it was destroyed to learn about it, and to update their bookmarks. Tombstones prevents the case where someone could recreate a previously semi-anonymous room in order to learn the real JIDs of those who often join there.
disabling it or making the expiration time shorter helped me with this.
check this link - prosody tombstone
check prosody version. in prosody 0.11.x they’ve introduced the Tombstone feature -
Starting with Prosody 0.11.x, when a room is destroyed, it leaves behind a tombstone which prevents the room being entered or recreated. It also allows anyone who was not in the room at the time it was destroyed to learn about it, and to update their bookmarks. Tombstones prevents the case where someone could recreate a previously semi-anonymous room in order to learn the real JIDs of those who often join there.
disabling it or making the expiration time shorter helped me with this.
check this link - prosody tombstone
I notice that sometimes, the muc room destroy event (that i notice is called a couple times) is called only once, and when this happens we can not recreate the room. Of course, when i restart jicofo, it all works again. Is there a way to clear the focus user session for a particular room?
I have a plan in the following weeks to test the reservation system and the PR for the reservation system implemented in prosody and will take a note to check this issue.
It seems like room recreation is a problem only when the conference is destroyed while in progress because the duration (set using the reservation API) expires. When the room is destroyed because all the participants have left, there seems to be no issue. So the problem seems to be tied to the reservation system as you alluded.
Is there anything I can do within prosody (hooking to any of the muc events ) to circumvent this problem?
So you have switched to using that reservation module instead of jicofo and it works for you?
Trying to collect datapoints, as I need to test it and merge it in the repo …
Yes I did. I did notice one issue…but that had something to do with how I was hooking to room create/destroy and calling async http calls within it. Once I fixed my code (I was using async.waiter in a function that makes the http call, but was not calling the function using a runner) it works. I am still testing it and will report any issues.
There is the one issue (that was commented upon as a todo item in the code), that when the duration exipres, the user is not made aware of it - the participant is just kicked out of the meeting.
Nope, I still have the PR request tab open in my browser so I don’t forget, just haven’t found time to do it … I hope soon to be able to allocate one or two days in looking into it.