mirror of
https://github.com/YunoHost-Apps/movim_ynh.git
synced 2024-09-03 19:46:19 +02:00
59 lines
2 KiB
JavaScript
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;
|
|
}
|