-
Notifications
You must be signed in to change notification settings - Fork 448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Federated call ends after some time without a local participant #12917
Federated call ends after some time without a local participant #12917
Comments
The problem is that the ping is not updated for participants in the federated conversation* by the signaling server. Moreover, note that it would not be enough to make the signaling server ping the federated conversation for the federated users, as then the remote participants would still not have a ping, and the code would still misbehave (for example, to know if there are other participants in the call). *Note that the ping is set when joining the federated conversation, although not when the participant joins the host conversation. However, it is nevertheless set when the signaling server joins the host conversation, and from that moment on the signaling server will update the host conversation, although not the federated conversation. On a quick test I have not been able to reproduce the notification about the ended call, though; it would be worth finding the right steps to reproduce it. Below are all the usages (unless I missed something 🤷) of the last ping. @nickvergessen Ideas? :-) Uses of
Uses of
Uses of ParticipantService::cleanGuestParticipants
Uses of ParticipantService::getParticipantsForAllSessions (with maxAge)
Uses of ParticipantService::getParticipantsInCall (with maxAge)
Uses of ParticipantService::getParticipantUserIdsForCallNotifications
Uses of ParticipantService::hasActiveSessionsInCall
Uses of ParticipantService::getParticipantWithActiveSession
|
Just for the record, the main difference here is that in case 1 we return the room object on the response. We do not do that on the federated join, so there is no direct need, but we should do it, to avoid the session being purged right away if timing happens to be exact |
As per chat:
|
This is "Fed Server" only atm. Not sure if my initial notes where wrong, or if that is because I use the same HPB for both servers |
I can reproduce that the pings are only sent on the Host Server (i.e. the server where the meeting is taking place) and only by the Host signaling server associated with that NC instance. This is expected as the Host signaling server sends the pings from the room the sessions are connected to - which is the Host server. |
Chatted a bit with Jojo and at least with the latest code base the call is no longer terminating. |
Should be fixed with strukturag/nextcloud-spreed-signaling#808 |
Tested and works |
How to use GitHub
Steps to reproduce
Actual behaviour
Federated call silently ends after some time. Looks like 30sec after the last person joined the call
callStartTime: 0
,hasCall: false
Talk app
Talk app version: 20.0.0-beta.3 on c.nc.c
The text was updated successfully, but these errors were encountered: