]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11211 - [verto_communicator]: Adding turnServer and socketFallbackUrl options.
authornetoguimaraes <joao.neto.guimaraes@gmail.com>
Thu, 28 Jun 2018 20:40:34 +0000 (17:40 -0300)
committernetoguimaraes <joao.neto.guimaraes@gmail.com>
Fri, 29 Jun 2018 17:12:19 +0000 (14:12 -0300)
html5/verto/js/src/jquery.FSRTC.js
html5/verto/js/src/jquery.jsonrpcclient.js
html5/verto/js/src/jquery.verto.js
html5/verto/verto_communicator/src/config.json.sample
html5/verto/verto_communicator/src/vertoService/services/configService.js
html5/verto/verto_communicator/src/vertoService/services/vertoService.js

index f07188bedb60ab485e61b6ddad6e5fa555494e81..05501193b75d34ec2971aa4236d727688e77bdb3 100644 (file)
                 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;
            }
index 702998cc58d2a08633d84eb13df2dea1f1cd774c..7f5a68753a090b78d624564fc051482d7276e476 100644 (file)
                         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() {
index 20befd92d67187f76a2879fce6f07453aa9b7feb..50fda9149aafdbc812fe53a46108c51e13c4b434 100644 (file)
             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;
index a905c6161dd7c50eaed7367f4caa8dff9487cf94..ae044c8e1cefc0c8fb135f49f69cd5a34bb9d6d7 100644 (file)
@@ -9,5 +9,11 @@
       "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"
+      }
 }
index 9fd789e81fda0d4f98f1102fbd3c3d11dfa4015a..05b0b2cbe87c02c71542ee59ff9f6af797666ab3 100644 (file)
@@ -41,6 +41,14 @@ vertoService.service('config', ['$rootScope', '$http', '$location', 'storage', '
           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);
 
         /**
index 808aba539c8a58ad5dee52c2c3011c4b62e6933d..b885f47154f6b3dcd7387fe40f0d9480814b962d 100644 (file)
@@ -175,6 +175,8 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
       password: $cookieStore.get('verto_demo_passwd') || "1234",
       hostname: window.location.hostname,
       wsURL: ("wss://" + window.location.hostname + ":8082"),
+      socketFallbackUrl: null,
+      turnServer: null,
       resCheckEnded: false
     };
 
@@ -733,6 +735,8 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
             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: {