Bug 78192

Summary: Add API to force things to go through the relay
Product: nice Reporter: Olivier Crête <olivier.crete>
Component: GeneralAssignee: Olivier Crête <olivier.crete>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: kakaroto
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Olivier Crête 2014-05-02 14:32:52 UTC
The WebRTC specification has RTCIceTransports=relay, which means that all communications MUST go through a relay.
Comment 1 Youness Alaoui 2014-06-18 01:29:29 UTC
(In reply to comment #0)
> The WebRTC specification has RTCIceTransports=relay, which means that all
> communications MUST go through a relay.

In that case, you can just not send any non-relay candidates to the peer and not set any remote non-relay candidates. I don't see a reason to add an API just for such a special use case.
Comment 2 Olivier Crête 2014-06-18 13:29:43 UTC
The problem is that even if we do that, once libnice receives a packet through a relay, it "discovers" the address of the other side and tries to establish a direct connection.
Comment 3 Youness Alaoui 2014-06-18 20:19:52 UTC
(In reply to comment #2)
> The problem is that even if we do that, once libnice receives a packet
> through a relay, it "discovers" the address of the other side and tries to
> establish a direct connection.

You're right, I forgot about peer-reflexive candidates. I guess those can be easily disabled with a property, but I'd still go with just using the nice_agent_set_selected_pair to force it to use the relay.
Comment 4 Olivier Crête 2014-06-18 20:28:42 UTC
You could have multiple relays, etc.
Comment 5 Philip Withnall 2015-06-26 13:49:46 UTC
Migrated to Phabricator: http://phabricator.freedesktop.org/T101

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.