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

Implement TURN #47

Closed
4 of 5 tasks
Sean-Der opened this issue May 23, 2019 · 5 comments · Fixed by #66
Closed
4 of 5 tasks

Implement TURN #47

Sean-Der opened this issue May 23, 2019 · 5 comments · Fixed by #66

Comments

@Sean-Der
Copy link
Member

Sean-Der commented May 23, 2019

This is a covering ticket for all the things we need to do.

pion/webrtc

  • Pass TURN configuration from pion/webrtc to pion/ice
  • Add support for ICETransportPolicy so we can force TURN

pion/ice

  • TURN MVP. Add basic TURN support via pion/turnc
  • Update checklist/nomination logic so TURN is last (currently we just take first success)
  • Add TURN server to travis-ci, implement a version and confirm it can't regress
@hugoArregui
Copy link
Member

#42 may already solve the 3rd point

Sean-Der added a commit that referenced this issue May 24, 2019
This change will allow us to have custom logic and members
per interface type. Relay candidates will have a completely different
read loop, and candidate specific state.

Relates to #47
Sean-Der added a commit that referenced this issue May 24, 2019
This change will allow us to have custom logic and members
per interface type. Relay candidates will have a completely different
read loop, and candidate specific state.

Relates to #47
Sean-Der added a commit that referenced this issue May 28, 2019
This implementation is not fully tested, and we don't
handle all error case yet. We will continue to work on it though.

Tests for send/recv and shutdown are in the works.

Relates to #47
@Sean-Der
Copy link
Member Author

@hugoArregui I am going to work on getting TURN/STUN tested in travis-ci. This is probably going to take me 2-3 days.

Would you be up for getting your checklist stuff re-merged? Sorry for all the breakage, I would love to work together closely and get both your changes in.

@Sean-Der
Copy link
Member Author

@enobufs Any other next steps you can think of? I feel pretty good about where we are at TURN wise!

@enobufs
Copy link
Member

enobufs commented May 28, 2019

@Sean-Der @ernado @hugoArregui MANY Thanks to all of you for making this happen in such a short time!! I am sure many pion users will be very happy about the TURN support! I will be updating my app and test the new feature. My time this week is very limited because I have to move into my new apartment this weekend tho, I should be able to get some feedback in the week of June 2)

I guess the next step is to further improve ICE including @hugoArregui was planning to do (checklist stuff). Now we have relay candidate, a proper priority control in candidate nomination (and quality assurance) would be desired. Now we have another expert @ernado - awesome! I'm very hopeful that pion would yield very competitive connectivity over other webrtc libraries!

@hugoArregui
Copy link
Member

@Sean-Der sure! Let's ensure we are on the same page regarding the implementation though, the thing about the heuristic I wrote in the PR is now we have trickle.. so I'm not sure if it holds.. maybe I can add a "mininumCheckWait" (sorry, awful name) to wait a bit for candidates?

Sean-Der added a commit that referenced this issue Jun 7, 2019
Using pion/turn add tests for both candidates types

Resolves #47
Sean-Der added a commit that referenced this issue Jun 7, 2019
Using pion/turn add tests for both candidates types

Resolves #47
Sean-Der added a commit that referenced this issue Jun 8, 2019
Using pion/turn add tests for both candidates types

Resolves #47
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

Successfully merging a pull request may close this issue.

3 participants