offerSDP: {
type: "offer",
sdp: self.remoteSDP
- }
+ },
+ turnServer: self.options.turnServer
});
onStreamSuccess(self, stream);
},
constraints: self.constraints,
iceServers: self.options.iceServers,
+ turnServer: self.options.turnServer
});
onStreamSuccess(self, stream);
function FSRTCPeerConnection(options) {
var gathering = false, done = false;
var config = {};
- var default_ice = {
- urls: ['stun:stun.l.google.com:19302']
- };
+ var default_ice = [{ urls: ['stun:stun.l.google.com:19302'] }];
+
+ if (self.options.turnServer) {
+ default_ice.push(self.options.turnServer)
+ }
if (options.iceServers) {
if (typeof(options.iceServers) === "boolean") {
- config.iceServers = [default_ice];
+ config.iceServers = default_ice;
} else {
config.iceServers = options.iceServers;
}
self.options.onWSClose(self);
}
+ if (self.ws_cnt > 10) {
+ self.options.socketUrl = self.options.socketFallbackUrl;
+ }
+
console.error("Websocket Lost " + self.ws_cnt + " sleep: " + self.ws_sleep + "msec");
self.to = setTimeout(function() {
login: verto.options.login,
passwd: verto.options.passwd,
socketUrl: verto.options.socketUrl,
+ socketFallbackUrl: verto.options.socketFallbackUrl,
+ turnServer: verto.options.turnServer,
loginParams: verto.options.loginParams,
userVariables: verto.options.userVariables,
sessid: verto.sessid,
videoParams: dialog.params.videoParams,
audioParams: verto.options.audioParams,
iceServers: verto.options.iceServers,
- screenShare: dialog.screenShare,
- useCamera: dialog.useCamera,
- useMic: dialog.useMic,
- useSpeak: dialog.useSpeak
+ screenShare: dialog.screenShare,
+ useCamera: dialog.useCamera,
+ useMic: dialog.useMic,
+ useSpeak: dialog.useSpeak,
+ turnServer: verto.options.turnServer
});
dialog.rtc.verto = dialog.verto;
"autologin": "true",
"autocall": "3500",
"googlelogin": "true",
- "wsURL": "wss://gamma.tollfreegateway.com/wss2"
+ "wsURL": "wss://gamma.tollfreegateway.com/wss2",
+ "socketFallbackUrl": "wss://gamma.tollfreegateway.com/wss2",
+ "turnServer": {
+ "urls": "turn:someturnserver.com:443?transport=tcp",
+ "credential": "1234",
+ "username": "username"
+ }
}
verto.data.googleclientid = data.googleclientid;
}
+ if (data.wsFallbackURL) {
+ verto.data.wsFallbackURL = data.wsFallbackURL;
+ }
+
+ if (data.turnServer) {
+ verto.data.turnServer = data.turnServer;
+ }
+
angular.extend(verto.data, data);
/**
password: $cookieStore.get('verto_demo_passwd') || "1234",
hostname: window.location.hostname,
wsURL: ("wss://" + window.location.hostname + ":8082"),
+ socketFallbackUrl: null,
+ turnServer: null,
resCheckEnded: false
};
login: data.login + '@' + data.hostname,
passwd: data.password,
socketUrl: data.wsURL,
+ socketFallbackUrl: data.socketFallbackUrl,
+ turnServer: data.turnServer,
tag: "webcam",
ringFile: "sounds/bell_ring2.wav",
audioParams: {