don't work example in safari
https://github.com/Kurento/kurento-tutorial-node/tree/master/kurento-one2many-call
In chrome, everything is fine.
Safary does not send ice candidates in view mode. Presenter mode is ok
====================
update
In the Front (index.js)
The event onOfferViewer is always executed
onIceCandidate – never executed
Connection from Front to the node
var ws = new WebSocket('wss://' + location.host + '/one2many');
On KMS a Turn doesn’t turn on, but a Stun is configured. I can broadcasting from Safari, but I cannot watching on it
Look at kurento utils deeper
2 Sturm servers are chosen, before WebRtcPeer initialization
iceServers: Array (2) 0 {username: undefined, credential: undefined, url: "stun:stun.l.google.com:19302", urls: ["stun:stun.l.google.com:19302"]}
1 {username: undefined, credential: undefined, url: "stun:stun.voipbuster.com", urls: ["stun:stun.voipbuster.com"]}
After RTCPeerConnection is created
After Process answer is executed
I think the next step has to be in a function addEventListener
pc.addEventListener('icecandidate', function (event) {…}
In Chrome in the function addEventListener a callback is executed but for Safari never.
I can assume that the candidates come before the subscription is taking place, but there is no evidence, and I don’t understand why the presenter works fine.
detail
I started broadcasting in the presenter mode in the Safari
The Safari version - 13604.3.5 (MacOs - 11.0.1)
The Safari options
Old api - Enabled
Ice restrictions - Disabled
The Bower’s dependencies
"dependencies": {
"adapter.js": "v0.2.9",
"bootstrap": "~3.3.0",
"ekko-lightbox": "~3.3.0",
"demo-console": "1.5.1",
"kurento-utils": "master"
}
The package.json structure
{
"name": "kurento-one2many-call",
"version": "6.7.3-dev",
"private": true,
"scripts": {
"postinstall": "cd static && bower install"
},
"dependencies": {
"express": "~4.12.4",
"minimist": "^1.1.1",
"ws": "~1.0.1",
"kurento-client": "Kurento/kurento-client-js"
},
"devDependencies": {
"bower": "^1.4.1"
}
}
Output of Safari logs
Output of Safari logs
[Log] Browser does not appear to be WebRTC-capable (adapter.js, line 34)
[Debug] constraints: {"offerToReceiveAudio":true,"offerToReceiveVideo":true} (kurento-utils.js, line 268)
[Debug] Created SDP offer (kurento-utils.js, line 270)
[Debug] Local description set – "v=0
↵o=- 5811275597248577793 2 IN IP4 127.0.0.1
↵s=-
↵t=0 0
↵a=msid-semantic: WMS
↵" (kurento-utils.js, line 275)
"v=0
o=- 5811275597248577793 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
"
[Log] Senging message: {"id":"viewer","sdpOffer":"v=0\r\no=- 5811275597248577793 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\n"} (index.js, line 70)
[Info] Received message: {"id":"viewerResponse","response":"accepted","sdpAnswer":"v=0\r\no=- 3748169328 3748169328 IN IP4 0.0.0.0\r\ns=Kurento Media Server\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=msid-semantic: WMS\r\n"} (index.js, line 70)
[Debug] SDP answer received, setting remote description (kurento-utils.js, line 320)
[Debug] Remote stream: – undefined (kurento-utils.js, line 294)
How to a node connects to KMS
var argv = minimist(process.argv.slice(2), {
default: {
as_uri: 'https://localhost:8443/',
ws_uri: 'ws://37.228.89.170:8888/kurento'
}
});