talk-ios icon indicating copy to clipboard operation
talk-ios copied to clipboard

Active session after call is hung-up with callkit on second call

Open SystemKeeper opened this issue 3 years ago • 3 comments

Steps to reproduce

  1. Start a call with talk-ios (to talk-web)
  2. Minimize talk-ios
  3. Get a second (phone) call on the phone
  4. Select "End & Accept"

Expected behaviour

The talk call is ended and the active session as well

Actual behaviour

The talk call is ended, but the session in the room is still active.

I don't think this explains #595, but stumbled accross this while having a look. Also the active session is terminated after a few minutes, so I don't think this one is too serious, but the callflag is resetted immediatly, so I guess the session should be as well.

Device information

Device: iPhone 11 Pro

iOS version: 15.0

Talk version: 12.2.0

Server information

Nextcloud version: 22.1.1

Talk version: 12.1.2

Custom Signaling server configured: yes

Custom TURN server configured: yes

Custom STUN server configured: yes

SystemKeeper avatar Sep 29 '21 09:09 SystemKeeper

Also the active session is terminated after a few minutes, so I don't think this one is too serious

That is not my experience: as you can see from the screenshot I posted in #602, the session can stay active for many days.

e-caste avatar Sep 29 '21 09:09 e-caste

That is not my experience: as you can see from the screenshot I posted in #602, the session can stay active for many days.

Yes, I do think that these are two different issues. Although it might be interesting to know, why this session is killed after a few minutes, while yours is not.

SystemKeeper avatar Sep 29 '21 10:09 SystemKeeper

Thanks for opening this issue @SystemKeeper :) I will take a look how calls are terminated when selecting "End & Accept"

The problem with the session cleanup is described here: https://github.com/nextcloud/spreed/issues/6304 Sessions are only expired once participants are fetched. While in the web app, participants are fetched regularly, in the iOS app they are only fetched when visiting the conversation info view. That's why if only iOS apps are in use and participants are not fetched, the sessions that were not left correctly (e.g. due to a connection issue) are never cleaned up.

Ivansss avatar Sep 30 '21 15:09 Ivansss