1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/movim_ynh.git synced 2024-09-03 19:46:19 +02:00
movim_ynh/sources/app/widgets/Visio/turn.js
2015-08-19 11:28:28 +02:00

59 lines
2 KiB
JavaScript

var turnUrl = 'https://computeengineondemand.appspot.com/turn?username=93773443&key=4080218913';
var turnDone = false;
function maybeRequestTurn() {
if (turnUrl == '') {
turnDone = true;
}
for (var i = 0, len = configuration.iceServers.length; i < len; i++) {
if (configuration.iceServers[i].url.substr(0, 5) === 'turn:') {
turnDone = true;
}
}
var currentDomain = document.domain;
if (currentDomain.search('localhost') === -1 &&
currentDomain.search('apprtc') === -1) {
// Not authorized domain. Try with default STUN instead.
turnDone = true;
}
// No TURN server. Get one from computeengineondemand.appspot.com.
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = onTurnResult;
xmlhttp.open('GET', turnUrl, true);
xmlhttp.send();
/*for (i = 0; i < VISIO_TURN_LIST.uris.length; i++) {
var iceServer = createIceServer(VISIO_TURN_LIST.uris[i],
VISIO_TURN_LIST.username,
VISIO_TURN_LIST.password);
if (iceServer !== null) {
configuration.iceServers.push(iceServer);
}
}*/
}
function onTurnResult() {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var turnServer = JSON.parse(xmlhttp.responseText);
for (i = 0; i < turnServer.uris.length; i++) {
// Create a turnUri using the polyfill (adapter.js).
var iceServer = createIceServer(turnServer.uris[i],
turnServer.username,
turnServer.password);
if (iceServer !== null) {
configuration.iceServers.push(iceServer);
}
}
} /*else {
console.log(
'Error: Status '
+ xmlhttp.status
+ ', State '
+ xmlhttp.readyState);
}*/
// If TURN request failed, continue the call with default STUN.
turnDone = true;
}