5 changed files with 79 additions and 7 deletions
-
1app/widgets/Visio/Visio.php
-
2app/widgets/Visio/adapter.js
-
53app/widgets/Visio/turn.js
-
2app/widgets/Visio/visio.js
-
28app/widgets/Visio/webrtc.js
@ -0,0 +1,53 @@ |
|||||
|
var turnUrl = 'https://computeengineondemand.appspot.com/turn?username=93773443&key=4080218913'; |
||||
|
var turnDone = false; |
||||
|
|
||||
|
var caller = false; |
||||
|
|
||||
|
function maybeRequestTurn(isCaller) { |
||||
|
caller = isCaller; |
||||
|
|
||||
|
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(); |
||||
|
} |
||||
|
|
||||
|
function onTurnResult() { |
||||
|
if (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 { |
||||
|
messageError('No TURN server; unlikely that media will traverse networks. ' |
||||
|
+ 'If this persists please report it to ' |
||||
|
+ 'discuss-webrtc@googlegroups.com.'); |
||||
|
} |
||||
|
// If TURN request failed, continue the call with default STUN.
|
||||
|
turnDone = true; |
||||
|
init(caller); |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue