diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js
index 0bb3f6f6a0..2985ff4946 100644
--- a/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js
+++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js
@@ -122,7 +122,7 @@
});
$rootScope.$on('members.clear', function(event) {
- $scope.$apply(function() {
+ $scope.$applyAsync(function() {
clearConferenceChat();
$scope.closeChat();
});
diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js
index 61f56954e4..ded1689e24 100644
--- a/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js
+++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js
@@ -302,7 +302,7 @@
console.log('Google+ Login Failure');
});
- $rootScope.callActive = function(data) {
+ $rootScope.callActive = function(data, params) {
verto.data.mutedMic = storage.data.mutedMic;
verto.data.mutedVideo = storage.data.mutedVideo;
@@ -320,10 +320,16 @@
storage.data.calling = false;
storage.data.cur_call = 1;
+
+ $location.path('/incall');
+
+ if(params.useVideo) {
+ $rootScope.$emit('call.video', 'video');
+ }
};
- $rootScope.$on('call.active', function(event, data) {
- $rootScope.callActive(data);
+ $rootScope.$on('call.active', function(event, data, params) {
+ $rootScope.callActive(data, params);
});
$rootScope.$on('call.calling', function(event, data) {
@@ -369,6 +375,7 @@
if (!verto.data.call) {
toastr.warning('There is no call to hangup.');
$location.path('/dialpad');
+ return;
}
//var hangupCallback = function(v, hangup) {
@@ -383,7 +390,10 @@
if (verto.data.shareCall) {
verto.screenshareHangup();
}
+
verto.hangup();
+
+ $location.path('/dialpad');
};
$scope.answerCall = function() {
@@ -392,6 +402,7 @@
verto.data.call.answer({
useStereo: storage.data.useStereo,
useCamera: storage.data.selectedVideo,
+ useVideo: storage.data.useVideo,
useMic: storage.data.useMic,
callee_id_name: verto.data.name,
callee_id_number: verto.data.login
diff --git a/html5/verto/verto_communicator/src/vertoDirectives/directives/videoTag.js b/html5/verto/verto_communicator/src/vertoDirectives/directives/videoTag.js
index 2e85168569..38b50552f7 100644
--- a/html5/verto/verto_communicator/src/vertoDirectives/directives/videoTag.js
+++ b/html5/verto/verto_communicator/src/vertoDirectives/directives/videoTag.js
@@ -18,7 +18,7 @@
console.log('Moving the video to element.');
jQuery('video').removeClass('hide').appendTo(element);
jQuery('video').css('display', 'block');
- scope.callActive();
+ scope.callActive("", {useVideo: true});
element.on('$destroy', function() {
// Move the video back to the body.
diff --git a/html5/verto/verto_communicator/src/vertoService/services/vertoService.js b/html5/verto/verto_communicator/src/vertoService/services/vertoService.js
index 899fb10f97..74e0bf9887 100644
--- a/html5/verto/verto_communicator/src/vertoService/services/vertoService.js
+++ b/html5/verto/verto_communicator/src/vertoService/services/vertoService.js
@@ -143,8 +143,8 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
$rootScope.$emit('page.incall', 'call');
}
- function callActive(last_state) {
- $rootScope.$emit('call.active', last_state);
+ function callActive(last_state, params) {
+ $rootScope.$emit('call.active', last_state, params);
}
function calling() {
@@ -488,6 +488,7 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
});
break;
default:
+ console.warn('Got a not implemented message:', msg, dialog, params);
break;
}
},
@@ -495,9 +496,7 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
onDialogState: function(d) {
if (!data.call) {
data.call = d;
- if (d.state.name !== 'ringing') {
- inCall();
- }
+
}
console.debug('onDialogState:', d);
@@ -517,7 +516,7 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
case "active":
console.debug('Talking to:', d.cidString());
data.callState = 'active';
- callActive(d.lastState.name);
+ callActive(d.lastState.name, d.params);
break;
case "hangup":
console.debug('Call ended with cause: ' + d.cause);
@@ -532,6 +531,9 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
cleanCall();
}
break;
+ default:
+ console.warn('Got a not implemented state:', d);
+ break;
}
},