Add mapping between Nextcloud session id and signaling server session id #4952
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think that I found a way to do the mapping without having to touch the external signaling server code :-)
When a participant joins a call the Nextcloud server notifies the signaling server, and the signaling server in turn notifies all the clients. The message sent by the Nextcloud server uses the Nextcloud session id, but the signaling server replaces it with the signaling session id. However, it also passes the rest of properties to the clients as provided by the Nextcloud server. Therefore now the Nextcloud server includes a
nextcloudSessionIdproperty, so the message received by the clients contains both the signaling session id and the Nextcloud session id and thus they can perform the mapping between the two.From what I understand any participant joining a call will notify the Nextcloud server, either directly like the WebUI or mobile apps, or indirectly like SIP clients through the signaling server, so this approach should work in all cases. However note that I have NOT tested with SIP clients; if someone could test or at least confirm that it should work like that it would be great :-)
Besides that Nextcloud session id was removed again from the raised hand message as it was a temporary fix until the mapping was ready (and the issue with the raised hand being kept after a participant left and joined again is also fixed).