stephenlb / webrtc-sdk

WebRTC Simple Calling API + Mobile SDK - A simplified approach to RTCPeerConnection for mobile and web video calling apps.

Home Page:https://stephenlb.github.io/webrtc-sdk/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Safari 12 issue. The browser doesn't receive the call

crookedbard opened this issue · comments

Camera turns on, but session.connected doesn't get called.

TypeError: Member RTCIceServer.urls is required and must be an instance of (DOMString or sequence) (anonymous function) — webrtc-v2.js:400 initializeRTCPeerConnection (anonymous function) (anonymous function) — webrtc-v2.js:400 get_conversation — webrtc-v2.js:465 dial — webrtc-v2.js:556 (anonymous function) — videocall:463 dispatch — jquery:1:50834 2success — videocall:580

Okay, so I removed the Safari errors. However the video stream does not play.

I see some progress :)

Tested on:
Caller A: iOS Safari
Caller B: Windows Chrome

Caller A and B now gets the messages sent between them.
Caller A doesn't see any video, nor local nor B, but hears the sound.
Caller B sees local video, A video is always frozen at first frame .

Will continue working on this.

getting closer...

Getting a lot closer! Safari 12 can send/receive calls to any other browser! However Safari is still unable to call Safari successfully.

The following are successful and have been tested successfully:

Shows the Caller -> Callee direction of success.

  • Chrome -> Chrome

  • Chrome -> Firefox

  • Chrome -> Safari

  • Chrome -> Opera

  • Firefox -> Firefox

  • Firefox -> Chrome

  • Firefox -> Safari

  • Firefox -> Opera

  • Opera -> Opera

  • Opera -> Chrome

  • Opera -> Safari

  • Opera -> Firefox

  • Safari -> Opera

  • Safari -> Chrome

  • Safari -> Firefox

The following always will fail:

  • Safari -> Safari

At this point there is no indication of what is failing for Safari calling Safari.

Apple’s WebRTC implementation only allows one getUserMedia capture at a time. So this is why I've never been able to get Safari to work. However when testing across computers we do see it works successfully.

Just submitted the next release with a much needed race condition fix on signaling exchanges. This may have improved the conditions you mentioned.

Safari to Chrome works now 👍