when receiving out-of-order session-init in terminal state do not move to terminal again

fixes #4049
This commit is contained in:
Daniel Gultsch 2021-04-08 10:23:37 +02:00
parent 5f020af2cc
commit 9fc04c4b1e

View file

@ -320,7 +320,16 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
private void receiveSessionInitiate(final JinglePacket jinglePacket) { private void receiveSessionInitiate(final JinglePacket jinglePacket) {
if (isInitiator()) { if (isInitiator()) {
Log.d(Config.LOGTAG, String.format("%s: received session-initiate even though we were initiating", id.account.getJid().asBareJid())); Log.d(Config.LOGTAG, String.format("%s: received session-initiate even though we were initiating", id.account.getJid().asBareJid()));
terminateWithOutOfOrder(jinglePacket); if (isTerminated()) {
Log.d(Config.LOGTAG, String.format(
"%s: got a reason to terminate with out-of-order. but already in state %s",
id.account.getJid().asBareJid(),
getState()
));
respondWithOutOfOrder(jinglePacket);
} else {
terminateWithOutOfOrder(jinglePacket);
}
return; return;
} }
final RtpContentMap contentMap; final RtpContentMap contentMap;