Safari 12 issue. The browser doesn't receive the call
crookedbard opened this issue · 10 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 👍