perchco / perchrtc

An iOS WebRTC demo using XirSys servers
MIT License
135 stars 34 forks source link

Connect the iOS app to a Xirsys Web version of webRTC #32

Open LukeStephen opened 8 years ago

LukeStephen commented 8 years ago

Can you recommend any web versions of WebRTC like EasyRTC or if you have your own offering that would work through Xirsys as well?

Looking to connect iOS to WebRTC in Chrome

dannyrobinson commented 8 years ago

Hi Luke, @ceaglest might have some thoughts on how to get PerchRTC connecting to the web.

LukeStephen commented 8 years ago

Thanks Danny, look forward to hearing from @ceaglest

ceaglest commented 8 years ago

@LukeStephen a similar question was raised in: https://github.com/perchco/perchrtc/issues/30

The short answer is that your JS client whatever it may be needs to:

  1. Be able to communicate with the XirSys signaling servers.
  2. Speak in terms of the same message types and payloads to other peers.

XirSys has several sample apps which use their signaling servers. However their samples assume different types and payloads than PerchRTC. You can find them at: https://github.com/xirdev/xsdk

Signaling is really an application specific concern (which is why it is not part of the WebRTC standard). In order to separate the responsibilities of signaling and media I have started to refactor PerchRTC as a standalone SDK with the goal of a "pluggable" signaling layer driving the media stack. However, I haven't been able to devote enough time to this issue, so it is still in progress here: https://github.com/perchco/perchrtc/issues/7

LukeStephen commented 8 years ago

Hi @ceaglest,

I have got the signalling working between the iOS and web app (https://github.com/xirdev/xsdk/blob/master/examples/simplewebrtc.html) because they see each other's username, that they are trying to connect to each other. No error messages in chrome developer tools, but as you said I don't think the message payloads are the same so no webrtc video communication occurs.

I will look at the message payload you referenced in #30.

Let me know if you can think of a better solution.

Thanks, Luke