Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for ICE Forking #34

Open
aboba opened this issue Jun 29, 2020 · 3 comments
Open

Support for ICE Forking #34

aboba opened this issue Jun 29, 2020 · 3 comments

Comments

@aboba
Copy link
Contributor

aboba commented Jun 29, 2020

ICE forking is supported in the ORTC API, but is not yet in the WebRTC-ICE specification. We talked about potential ICE forking designs at TPAC 2019, and now ICE forking has been implemented. Should we add this to the specification?

@aboba aboba changed the title Support for Forking Support for ICE Forking Jun 29, 2020
@vmx
Copy link

vmx commented Feb 26, 2023

Are there any news? I've found several discussions on that topic that seem to have stopped around 2020.

I'm interested in the use case of being able to connect several peers in a pure in browser environment, where all peers are within the same network. They would share their connection information (fingerprint, ICE candidates) via e.g. a QR code. As I understand it, the ICE forking would help as the one creating the offer, cannot know which peer would connect to it. So it would create an offer, with the same ICE candidates, for each peer that might want to connect.

@aboba
Copy link
Contributor Author

aboba commented Feb 27, 2023

@vmx At the February 21, 2023 virtual interim, we had a presentation on a proposed ICE Controller API:

The GitHub repo for the proposal is here.

@vmx
Copy link

vmx commented Mar 5, 2023

Thanks a lot for the link! After reading the ICE Constroller API proposal, do I understand it correctly that in order to get a forking like behaviour you would do:

  1. Create a connection with its local ICE candidates.
  2. Extract the local candidate pairs via the getSelectedCandidatePair() call.
  3. Create a second connection and call switchToCandidatePair() with the extracted candidates from the first connection.
  4. Now the second connection has the same local candidates as the first one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants