send retract when unable to setup webrtc as initiator. fixes #3717

This commit is contained in:
Daniel Gultsch 2020-05-11 12:20:32 +02:00
parent b845c601d0
commit 2c4788b7c7

View file

@ -654,8 +654,7 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
} catch (final WebRTCWrapper.InitializationException e) { } catch (final WebRTCWrapper.InitializationException e) {
Log.d(Config.LOGTAG, id.account.getJid().asBareJid() + ": unable to initialize WebRTC"); Log.d(Config.LOGTAG, id.account.getJid().asBareJid() + ": unable to initialize WebRTC");
webRTCWrapper.close(); webRTCWrapper.close();
//todo we havent actually initiated the session yet; so sending sessionTerminate makes no sense sendJingleMessage("retract", id.with.asBareJid());
//todo either we dont ring ever at all or maybe we should send a retract or something
transitionOrThrow(State.TERMINATED_APPLICATION_FAILURE); transitionOrThrow(State.TERMINATED_APPLICATION_FAILURE);
this.finish(); this.finish();
return; return;
@ -672,6 +671,7 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
if (isInState(targetState)) { if (isInState(targetState)) {
sendSessionTerminate(Reason.FAILED_APPLICATION); sendSessionTerminate(Reason.FAILED_APPLICATION);
} else { } else {
sendJingleMessage("retract", id.with.asBareJid());
transitionOrThrow(State.TERMINATED_APPLICATION_FAILURE); transitionOrThrow(State.TERMINATED_APPLICATION_FAILURE);
this.finish(); this.finish();
} }
@ -1150,7 +1150,7 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
} }
} }
} }
List<PeerConnection.IceServer> iceServers = listBuilder.build(); final List<PeerConnection.IceServer> iceServers = listBuilder.build();
if (iceServers.size() == 0) { if (iceServers.size() == 0) {
Log.w(Config.LOGTAG, id.account.getJid().asBareJid() + ": no ICE server found " + response); Log.w(Config.LOGTAG, id.account.getJid().asBareJid() + ": no ICE server found " + response);
} }