diff --git a/html5/verto/verto_communicator/Gruntfile.js b/html5/verto/verto_communicator/Gruntfile.js
index cef6d68276..13ad96523d 100644
--- a/html5/verto/verto_communicator/Gruntfile.js
+++ b/html5/verto/verto_communicator/Gruntfile.js
@@ -281,6 +281,7 @@ module.exports = function (grunt) {
src: [
'*.{ico,png,txt}',
'*.html',
+ '*.json',
'partials/**/*.html',
'images/{,*/}*.{webp}',
'css/fonts/{,*/}*.*',
diff --git a/html5/verto/verto_communicator/src/config.json b/html5/verto/verto_communicator/src/config.json
new file mode 100644
index 0000000000..e7b09aae95
--- /dev/null
+++ b/html5/verto/verto_communicator/src/config.json
@@ -0,0 +1,4 @@
+{
+ "login": "1008",
+ "password": "1234"
+}
diff --git a/html5/verto/verto_communicator/src/config.json.sample b/html5/verto/verto_communicator/src/config.json.sample
new file mode 100644
index 0000000000..a905c6161d
--- /dev/null
+++ b/html5/verto/verto_communicator/src/config.json.sample
@@ -0,0 +1,13 @@
+{
+ "extension": "3500",
+ "name": "Ken Rice",
+ "email": "krice@freeswitch.org",
+ "cid": "1008",
+ "textTo": "1000",
+ "login": "1008",
+ "password": "1234",
+ "autologin": "true",
+ "autocall": "3500",
+ "googlelogin": "true",
+ "wsURL": "wss://gamma.tollfreegateway.com/wss2"
+}
diff --git a/html5/verto/verto_communicator/src/contributors.txt b/html5/verto/verto_communicator/src/contributors.txt
index cf34cd6bd0..bc309438b2 100644
--- a/html5/verto/verto_communicator/src/contributors.txt
+++ b/html5/verto/verto_communicator/src/contributors.txt
@@ -2,5 +2,6 @@
"Jonatas Oliveira ",
"Ítalo Rossi ",
"Stefan Yohansson ",
- "João Mesquita "
+ "João Mesquita ",
+ "Ken Rice "
]
diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/DialPadController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/DialPadController.js
index dde658af16..8c7589c93d 100644
--- a/html5/verto/verto_communicator/src/vertoControllers/controllers/DialPadController.js
+++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/DialPadController.js
@@ -31,7 +31,18 @@
* fill dialpad via querystring [?autocall=\d+]
*/
if ($location.search().autocall) {
- $rootScope.dialpadNumber = $location.search().autocall;
+ $rootScope.dialpadNumber = $location.search().autocall;
+ delete $location.search().autocall;
+ call($rootScope.dialpadNumber);
+ }
+
+ /**
+ * fill in dialpad via config.json
+ */
+ if ('autocall' in verto.data) {
+ $rootScope.dialpadNumber = verto.data.autocall;
+ delete verto.data.autocall;
+ call($rootScope.dialpadNumber);
}
/**
@@ -49,10 +60,7 @@
verto.data.call.transfer($rootScope.dialpadNumber);
};
- /**
- * Call to the number in the $rootScope.dialpadNumber.
- */
- $rootScope.call = function(extension) {
+ function call(extension) {
storage.data.onHold = false;
storage.data.cur_call = 0;
$rootScope.dialpadNumber = extension;
@@ -79,6 +87,13 @@
CallHistory.add($rootScope.dialpadNumber, 'outbound');
$location.path('/incall');
}
+
+ /**
+ * Call to the number in the $rootScope.dialpadNumber.
+ */
+ $rootScope.call = function(extension) {
+ return call(extension);
+ }
}
]);
diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/LoginController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/LoginController.js
index 6ea36372cf..8cb88aa7f1 100644
--- a/html5/verto/verto_communicator/src/vertoControllers/controllers/LoginController.js
+++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/LoginController.js
@@ -1,25 +1,54 @@
(function() {
- 'use strict';
+ 'use strict';
- angular
- .module('vertoControllers')
- .controller('LoginController', ['$scope', '$http', '$location',
- 'verto',
- function($scope, $http, $location, verto) {
- $scope.checkBrowser();
+ angular
+ .module('vertoControllers')
+ .controller('LoginController', ['$scope', '$http', '$location', 'verto',
+ function($scope, $http, $location, verto) {
+ $scope.checkBrowser();
- /**
- * using stored data (localStorage) for logon
- */
- verto.data.name = $scope.storage.data.name;
- verto.data.email = $scope.storage.data.email;
- if ($scope.storage.data.login != '' && $scope.storage.data.password != '') {
- verto.data.login = $scope.storage.data.login;
- verto.data.password = $scope.storage.data.password;
- }
+ /*
+ * Load the Configs before logging in
+ * with cache buster
+ */
+
+ $http.get(window.location.pathname + '/config.json?cachebuster=' + Math.floor((Math.random()*1000000)+1))
+ .success(function(data) {
+
+ /* save these for later as we're about to possibly over write them */
+ var name = verto.data.name;
+ var email = verto.data.email;
+
+ angular.extend(verto.data, data);
+
+ /**
+ * use stored data (localStorage) for login, allow config.json to take precedence
+ */
+
+ if (name != '' && data.name == '') {
+ verto.data.name = name;
+ }
+ if (email != '' && data.email == '') {
+ verto.data.email = email;
+ }
+ if (verto.data.login == '' && verto.data.password == '' && $scope.storage.data.login != '' && $scope.storage.data.password != '') {
+ verto.data.login = $scope.storage.data.login;
+ verto.data.password = $scope.storage.data.password;
+ }
+
+ if (verto.data.autologin == "true" && !verto.data.autologin_done) {
+ console.debug("auto login per config.json");
+ verto.data.autologin_done = true;
+ $scope.login();
+ }
+ });
+
+ verto.data.name = $scope.storage.data.name;
+ verto.data.email = $scope.storage.data.email;
+
+ console.debug('Executing LoginController.');
+ }
+ ]);
+
+})();
- console.debug('Executing LoginController.');
- }
- ]);
-
-})();
\ No newline at end of file