-
Notifications
You must be signed in to change notification settings - Fork 39
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
Compatibility with recent browsers #9
Comments
Any chance you've had time to turn these hacks into a pull request? |
Not yet, but I still have plans to do so. Feel free to take a stab at it though. |
I have, but I still can't connect to chrome - here's a copy-paste of my diff so far: https://gist.github.com/chadnickbok/2bab102d28ae2576d270 I'm having some small success connecting to the browser, but my datachannel gets closed immediately. It seems like the usrsctp_connect function is failing, but I can't figure out why. |
Here's an initial attempt at a pull request: #11 Haven't gone through and updated the python yet - wanted to get comments on the changes first. |
(I'm about to go on vacation for a few weeks so I thought I'd brain-dump here before I forget!)
The README mentions compatibility with Firefox and Chrome, but I couldn't replicate this, I got failures with both. Upon further inspection I see that you implemented the latest draft-ietf-mmusic-sctp-sdp spec (kudos!) or at least version 08. Chrome and Firefox don't seem to do so, and even if Chrome has some code to work with draft version 12, it's broken: https://code.google.com/p/webrtc/issues/detail?id=5039
I did get librtcdc working with Chrome and Firefox by hacking it to use the old syntax: DTLS/SCTP in the media line and a=sctpmap. I wonder if it would be desirable to support this mode as well, by using some flag. For incoming offers it would be auto-detected. I know this sucks, but maybe applying Postel's principle here is A Good Thing?
There seems to be a bug with DTLS roles handling. Quoting RFC 5763:
Right now the library uses setup "active" for the client role and "passive" for the server role. Looks like it should use "actpass" for the client role, "active" otherwise and not allow anything other than "actpass" in an offer. ( had to hack this together in order to get it to work with Chrome, because it would refuse an offer with "active").
Thanks a ton for this library, I hope to make more contributions once I'm back :-) Keep up the great work!
The text was updated successfully, but these errors were encountered: