Remove Renomination from WebRTC Options

This is a feature of WebRTC that's [not standardized][1] and only
supported by libwebrtc. Since there's no support in jingle for passing
this capability from one peer to another, we're currently hard-coding
this option into both the local candidate and also the remote candidate
so they can use it.

But I'm trying to call a user that isn't using WebRTC, and renomination
is causing the call to stay in "connecting..." state for 10 or 20
seconds, sometimes longer, while both sides wait for the other to
nominate something based on their individual beliefs about the standards
they're using.

Removing this seems to make connecting relatively instantaneous.

If we want to reintroduce this feature, we should probably make a XEP so
the peers can negotiate honestly about it, and only use it if both sides
truely support the feature.

[1]: https://datatracker.ietf.org/doc/html/draft-thatcher-ice-renomination-01
This commit is contained in:
Christopher Vollick 2021-02-26 11:06:03 -05:00 committed by Daniel Gultsch
parent 4a175f915d
commit ef24d2050b
1 changed files with 1 additions and 1 deletions

View File

@ -24,7 +24,7 @@ public class SessionDescription {
public final static String LINE_DIVIDER = "\r\n"; public final static String LINE_DIVIDER = "\r\n";
private final static String HARDCODED_MEDIA_PROTOCOL = "UDP/TLS/RTP/SAVPF"; //probably only true for DTLS-SRTP aka when we have a fingerprint private final static String HARDCODED_MEDIA_PROTOCOL = "UDP/TLS/RTP/SAVPF"; //probably only true for DTLS-SRTP aka when we have a fingerprint
private final static int HARDCODED_MEDIA_PORT = 9; private final static int HARDCODED_MEDIA_PORT = 9;
private final static String HARDCODED_ICE_OPTIONS = "trickle renomination"; private final static String HARDCODED_ICE_OPTIONS = "trickle";
private final static String HARDCODED_CONNECTION = "IN IP4 0.0.0.0"; private final static String HARDCODED_CONNECTION = "IN IP4 0.0.0.0";
public final int version; public final int version;