Hi,
When connecting jitsi to an XMPP call service behind a nat, I only get
around a 50%
success rate. Looking into it, I noticed that jitsi always accepts the
first candidate
(which defines the local route) but sometimes ignores the second candidate
(which
defines the stun route).
It looks like TransportManagerGTalkImpl.startConnectivityEstablishment()
checks if component.getRemoteCandidateCount() is at least 1, then proceeds
to
allow connectivity establishment. However In my case, if the threshold is
set to 2,
then ICE is successful all of the time and the call proceeds.
The comment above the loop seems to indicate that this is what is expected:
/*
* Once again because the ICE Agent does not support adding
* candidates after the connectivity establishment has been
started
* and because multiple transport-info JingleIQs may be used to
send
* the whole set of transport candidates from the remote peer
to the
* local peer, do not really start the connectivity
establishment
* until we have at least two remote candidates (i.e. local and
* stun) per ICE Component.
*/
However, the threshold is only set to 1 for some reason. Is this a bug or
was it
set this way for some other reason?
thanks,
Keith