-
Notifications
You must be signed in to change notification settings - Fork 65
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
Data channel support #27
Comments
Bowser will get DataChannel support as soon as it is supported the OpenWebRTC: |
any update regarding release of support for the WebRTC DataChannel ? |
We're hoping to have data channel support added very soon. And we're hoping that very soon means weeks as opposed to months. 😄 |
DataChannel has now landed in OpenWebRTC and that means Bowser will also get as soon as you rebuild with latest OpenWebRTC master. I will also make a new release of Bowser on the App Store. Thanks for your patience! |
@stefanalund That's awesome! If I want to try to build Bowser with data channel support myself, is it enough to clone OpenWebRTC and Bowser and run the build script or does it require some changes in Bowser code as well? |
@szimek Since I haven't confirmed it myself yet (building right now) I cannot make any promises, BUT it should not require any changes to Bowser. Give it a try and report back if you have problems. Note that you need to rebuild dependencies: https://github.com/EricssonResearch/openwebrtc/wiki/Building-OpenWebRTC#update-openwebrtc |
@stefanalund Have you managed to build it successfully? I've just tried compiling Bowser (after building OpenWebRTC for a loooong time), but I'm getting the following errors: https://gist.github.com/szimek/3ce3acf4d21765938cc3 |
Yeah it takes a while to build. I will resume my work in an hour or so. My guess would be that some addition library needs to be added to the Bowser Xcode project. |
@szimek You need to add the new libraries to the project:
|
As @superdump says these new libs needs to be added. On top of that we found that most apps will feature probe for DataChannel support on the prototype and therefore we had to add this: EricssonResearch/openwebrtc@529ddae Unfortunately there still seems to be a minor bug in Bowser preventing everything from working correctly, we are looking in to it now. It does work on OS X Safari so it should not be far off. You can test this yourself: http://www.openwebrtc.io/blog/2014/10/31/webrtc-in-safari-using-openwebrtc Our demo app has also been updated to support DC: |
@stefanalund After adding these libraries I managed to built Bowser, but as you just pointed out it doesn't really work :) I'm trying it out in Safari, but have another issue: var config = {
iceServers: [{ url: "stun:stun.l.google.com:19302"}],
iceTransports: "all"
};
var pc = new RTCPeerConnection(config, {});
var dc = pc.createDataChannel("label", {});
dc.reliable // Bowser returns undefined, Chrome and FF return true This code comes from peer.js library that I'm using, but I can't find anything about |
@szimek interesting, perhaps could have been removed. We typically try to be pretty close to the latest W3C spec and are therefore not always compatible with older libs and apps. Does this break your app? If so we may consider adding it, or prompt peer.js to make it conditional. @adam-be @DanielLindstrm any thoughts? |
@stefanalund This is actually a part of peer.js library that checks for SCTP support: https://github.com/peers/peerjs/blob/master/dist/peer.js#L1535-L1544, so the library unfortunately reports that Safari with OpenWebRTC extension does not support SCTP (or at least reliable data channels). I can't find anything about this property in previous versions of WebRTC spec as well, so I'm not really sure where it comes from, or how to check otherwise if browser supports reliable channels or not. Maybe it's not an issue anymore and this check could be simply removed from the library. |
The data channels can be set up with options, one of them is if transport On Wed, Mar 4, 2015 at 12:49 PM, Szymon Nowak [email protected]
|
Most likely :) I've disabled this check to make it pass and got another issue, this time with OpenWebRTC itself:
The app (https://github.com/cowbell/sharedrop / https://www.sharedrop.io/) works fine in Chrome and Firefox. |
To be clear, our implementation supports both these modes. Whether we expose an attribute to JavaScript is another question. I think @DanielLindstrm knows best. |
I was completely wrong in this comment - removing all I wrote! On Wed, Mar 4, 2015 at 1:29 PM, stefan hakansson [email protected] wrote:
|
@stefhak I think they are using it only in this check, later on they are doing it like you suggested, e.g. https://github.com/peers/peerjs/blob/master/dist/peer.js#L565-L570. Anyway, I think now all browsers that support WebRTC data channels, support reliable channels as well, so I'll probably just remove this check completely. |
@stefanalund One new small issue: according to the specs in both promise based and legacy versions of BTW. Should I report such things here or in OpenWebRTC repo? |
Please report in the OpenWebRTC repo as this is not unique for Bowser. Thanks. |
@szimek could you report the |
@stefanalund I will, but I need to figure out how to reproduce it more or less consistently - currently it seems completely random. |
ETA on datachannel in Bowser in the App Store? |
@unanimous1 we found a few issues when running DC on iOS and are currently investigating. Will report back when we have more information. Thanks for your patience! |
Just checking in on Datchannel support. Any updates on Bowser support? |
If you compile Bowser yourself it will get DC support. However we are still investigating issues with Bowser on 64-bit, which is now a requirement for the App Store. |
Any update on this topic? It has been a few months since any discussion... the chat function of OpenWebRTC on the demo (http://demo.openwebrtc.io/) is working in other browsers, but I can't get it to enable on Bowser. |
Sorry for not closing this issue earlier, Bowser actually has DataChannel support as of version 0.5: http://www.openwebrtc.org/blog/2015/3/4/now-with-100-more-data-channel-support If you have problems getting it to work that should be treated as a new bug/issue. @pantaoran says he has been using it for a while. |
Well that is true, it "works" but with big reservations. As we found in the other issue, enabling DC actually seems to break audio/video reception on owr/Bowser side, so I have to put "works" in double quotes for now. |
The reason I asked is that the demo at http://demo.openwebrtc.io/ wasn't allowing the "chat" checkbox to be enabled (iPhone 6, current iOS [8]), which from the code was based on checking for datachannel support. There was another datachannel-based chat demo that also wasn't working. I'm in the process of testing a couple of libraries, if I can figure out what's going on I will post something. |
That doesn't happen to me, when I try with Bowser 0.5 on iPad Air 2 with iOS 8 it has support and the chat checkbox can be clicked. |
Just to confirm: I get the same behavior as @pantaoran on iPhone 5s / iOS9 (i.e. the chat checkbox is there, but if selected audio and video reception goes away on Bowser side, and that is independent of whether "call" is pressed on Bowser or the other endpoint which is FF in my case). |
Ok, I figured out the issue - when going to http://demo.openwebrtc.io:38080 WITHOUT a hash for the room id, the chat box was clickable. When entering a room via a url with the hash it was disabled for whatever reason. I can confirm that iPhone6 has datachannel support... thanks guys, you rock! |
@pearcetm - with a hash does autojoin for the session with your previously selected options for convenience. |
Any chances to get data channel support? It would be so awesome if sharedrop.io could work on iOS.
The text was updated successfully, but these errors were encountered: