[Bug 93974] New: call-stream: send local candidates after gathering completed

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Feb 2 12:50:11 PST 2016


https://bugs.freedesktop.org/show_bug.cgi?id=93974

            Bug ID: 93974
           Summary: call-stream: send local candidates after gathering
                    completed
           Product: Telepathy
           Version: git master
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: tp-farstream
          Assignee: olivier.crete at ocrete.ca
          Reporter: fabrice at bellet.info
        QA Contact: telepathy-bugs at lists.freedesktop.org

Created attachment 121475
  --> https://bugs.freedesktop.org/attachment.cgi?id=121475&action=edit
call-stream: send local candidates after gathering completed

This patch changes the way local candidates are transmitted to the peer via the
xmpp server. Currently candidates are transmitted one after the other, causing
two problems :

  * asymmetric behavior in the connection checking part of the ICE algorithm.
The RFC 5245 (2.2) states that "each agent has a complete list of both its
candidates and its peer's candidate". When remotes candidates arrive one after
the other, the conncheck algorithm begins as soon as the first candidate is
received, probably not the one with the highest priority, and the pairing
algorithm of ICE will produce partial and misordered conncheck list. Remote and
local peer will have a different list of pairs to test, and this also defeats
UDP hole punching technique that takes benefit from the fact that both peer try
the same pair, in the same order, *almost* at the same time.

  * roundtrip time caused by the the xmpp server increases the problem even
more, as some remote candidates may arrive after the ICE algorithm has already
completed. 

with this patch, all local candidates are sent in a single message after
gathering completes.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.


More information about the telepathy-bugs mailing list