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

How to add Peer Connection constraints other than iceServers using quickconnect #46

Open
warrenjmcdonald opened this issue Jun 5, 2015 · 3 comments

Comments

@warrenjmcdonald
Copy link

Hi,

to avoid a range of connection difficulties introduced by IPv6 candidates from Chrome 42 onwards, we want to add the constraint which disables IPv6 candidates in WebRTC in the peerconnection constraints. At a low level with a peerconnection configuration object, we would just include
googIPv6: "false"

It is not obvious from the examples or our usage to-date, if any valid constraint other than iceServers can be handed into quickconnect or exactly how.

.

@silviapfeiffer
Copy link
Member

The peerconnection constraints are all handed through to the RTCPeerConnection constructor API of the browser. It's done here: https://github.com/rtc-io/rtc-tools/blob/master/index.js . So, you should just be able to add the googIPv6 parameter as you would to a RTCPeerConnection constraint in the same way that you do iceServers. Might be worth adding an example though.

@DamonOehlman
Copy link
Member

@warrenjmcdonald my understanding is that you managed to get this to work, but it took a slight variation to get it to go. So it sounds like it's probably worth us documenting or potentially making simpler - any suggestions?

@warrenjmcdonald
Copy link
Author

@DamonOehlman sorry for delay. I have been off work for a few weeks

The additional quickconnect config option required was

constraints: {"optional": [ {'googIPv6': 'false'} ] }

I think updating the docs to say that a "constraints:" option is required, and that it must contains a valid RTCConstraints object. That would more specific and less confusing. Indicating what the options preference order is would also be good. This would clarify if the constraints: object values override defaults already within the code, or only add to those etc.

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

3 participants