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 f183f7ee9..797993aa5 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java @@ -958,7 +958,13 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web private void closeWebRTCSessionAfterFailedConnection() { this.webRTCWrapper.close(); - sendSessionTerminate(Reason.CONNECTIVITY_ERROR); + synchronized (this) { + if (TERMINATED.contains(state)) { + Log.d(Config.LOGTAG, id.account.getJid().asBareJid() + ": no need to send session-terminate after failed connection. Other party already did"); + return; + } + sendSessionTerminate(Reason.CONNECTIVITY_ERROR); + } } public AppRTCAudioManager getAudioManager() {