From d1106299fe53b2e929482666891be2816cc22a5e Mon Sep 17 00:00:00 2001 From: AsamK Date: Wed, 1 Apr 2026 21:56:12 +0200 Subject: [PATCH] Pass sender device id to ice handler --- .../main/java/org/asamk/signal/manager/helper/CallManager.java | 3 ++- .../asamk/signal/manager/helper/IncomingMessageHandler.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java b/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java index d4fd6bc7..cc2d7064 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java @@ -286,7 +286,7 @@ public class CallManager implements AutoCloseable { logger.debug("Received answer for call {}", callIdUnsigned(callId)); } - public void handleIncomingIceCandidate(final long callId, final byte[] opaque) { + public void handleIncomingIceCandidate(final long callId, final byte[] opaque, final int deviceId) { var state = activeCalls.get(callId); if (state == null) { logger.debug("Received ICE candidate for unknown call {}", callIdUnsigned(callId)); @@ -296,6 +296,7 @@ public class CallManager implements AutoCloseable { // Forward to subprocess as receivedIce var iceMsg = mapper.createObjectNode(); iceMsg.put("type", "receivedIce"); + iceMsg.put("senderDeviceId", deviceId); var candidates = iceMsg.putArray("candidates"); candidates.add(java.util.Base64.getEncoder().encodeToString(opaque)); sendControlMessage(state, writeJson(iceMsg)); diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java b/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java index 9750f96b..2240ca76 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java @@ -433,7 +433,7 @@ public final class IncomingMessageHandler { callMessage.getIceUpdateMessages().ifPresent(iceUpdates -> { for (var ice : iceUpdates) { - callManager.handleIncomingIceCandidate(ice.getId(), ice.getOpaque()); + callManager.handleIncomingIceCandidate(ice.getId(), ice.getOpaque(), deviceId); } });