Also,
If the room does not already exist when the user seeks to enter it, the service SHOULD create it;
This is a useful feature for Janus if we integrate it with already existent application.
Let's say we integrate Janus with existing Chat application, where people can have chats between each other - private and group chats. Chat is a persistent record in DB.
Let's say sometimes they want to have a call in particular chat. With current Janus implementation they have to create a Janus room beforehand, but this is not optimal because of the following things:
Just think about 2 above things with case of 100K active Chats.
What I propose is to have a feature which is called Temporary Rooms.
Such room will be create on Janus on 1st user join and will be removed on last user exit.
For room id we can use a Chat id from original app.
It could be a global VideoRoom plugin config, e.g. treat all rooms as Temporary if room does not exist on 1st user join or something similar.
I believe it can be a very useful thing when integrate Janus on top of existing application.
Please consider this feature.
Thanks Lorenzo,
unfortunately I'm not happy with this solution because it requires additional API calls and also we can got into a de-sync issue.
XEP-0045 Temporary Rooms implementation looks very good here
I have my own fork with implementation of this approach, but I'm not happy with it quality, will try to make it better and then share