Keep websocket connection alive during call

This commit is contained in:
AsamK 2026-04-16 21:04:20 +02:00
parent 33b2b563b3
commit 417d2ce971

View File

@ -105,6 +105,8 @@ public class CallManager implements AutoCloseable {
recipientAddress, recipientAddress,
recipientId); recipientId);
activeCalls.put(callId, state); activeCalls.put(callId, state);
dependencies.getAuthenticatedSignalWebSocket().registerKeepAliveToken("call" + callId);
dependencies.getUnauthenticatedSignalWebSocket().registerKeepAliveToken("call" + callId);
fireCallEvent(state, null); fireCallEvent(state, null);
// Spawn call tunnel binary and connect control channel // Spawn call tunnel binary and connect control channel
@ -696,6 +698,8 @@ public class CallManager implements AutoCloseable {
private void endCall(final long callId, final String reason) { private void endCall(final long callId, final String reason) {
var state = activeCalls.remove(callId); var state = activeCalls.remove(callId);
dependencies.getAuthenticatedSignalWebSocket().removeKeepAliveToken("call" + callId);
dependencies.getUnauthenticatedSignalWebSocket().removeKeepAliveToken("call" + callId);
if (state == null) return; if (state == null) return;
state.state = CallInfo.State.ENDED; state.state = CallInfo.State.ENDED;