diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java index f682f41607f1a369e02f43570e642c315fb926dc..a8b266ae43fc22500c74857cbaa5f6a74888a5b0 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java @@ -71,6 +71,7 @@ import java.util.concurrent.TimeUnit; public class JingleRtpConnection extends AbstractJingleConnection implements WebRTCWrapper.EventCallback, CallIntegration.Callback, OngoingRtpSession { + // TODO consider adding State.SESSION_INITIALIZED to ongoing call states for direct init mode public static final List STATES_SHOWING_ONGOING_CALL = Arrays.asList( State.PROPOSED, @@ -2790,6 +2791,12 @@ public class JingleRtpConnection extends AbstractJingleConnection private void updateOngoingCallNotification() { final State state = this.state; if (STATES_SHOWING_ONGOING_CALL.contains(state)) { + if (Arrays.asList(State.PROPOSED, State.SESSION_INITIALIZED).contains(state) + && isResponder()) { + Log.d(Config.LOGTAG, "do not set ongoing call during incoming call notification"); + xmppConnectionService.removeOngoingCall(); + return; + } final boolean reconnecting; if (state == State.SESSION_ACCEPTED) { reconnecting =