Bug 78192 - Add API to force things to go through the relay
Summary: Add API to force things to go through the relay
Status: RESOLVED MOVED
Alias: None
Product: nice
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Olivier Crête
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-02 14:32 UTC by Olivier Crête
Modified: 2015-06-26 13:49 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

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.