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 1abcec154292f528f23c77a569d9a653ca0f142b..95bfe7afef9d3a3df9430d077a11ab03ae52e61a 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java @@ -76,6 +76,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, @@ -2802,6 +2803,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 =