Automatically close call when a user is the last on a call.

This commit is contained in:
Pierre HUBERT 2019-01-26 08:14:17 +01:00
parent ece7a97d42
commit 590e1d6794
2 changed files with 26 additions and 6 deletions

View File

@ -319,19 +319,19 @@ ComunicWeb.components.calls.callWindow = {
return;
//Check if all other members rejected call
var allRejected = true;
var allDisconnected = true;
call.info.members.forEach(function(member){
if(member.status != "rejected" && member.userID != userID())
allRejected = false;
if(member.status != "rejected" && member.status != "hang_up" && member.userID != userID())
allDisconnected = false;
});
//Check if all call peer rejected the call
if(allRejected){
call.setLoadingMessage("All other peers rejected the call !");
if(allDisconnected){
call.setLoadingMessage("Conversation terminated.");
setTimeout(function(){
call.close();
}, 20000);
}, 5000);
return;
}
@ -542,5 +542,8 @@ ComunicWeb.components.calls.callWindow = {
element.removePeerConnection();
}
}
//Notify server
ComunicWeb.components.calls.interface.hangUp(call.info.id, function(){});
}
}

View File

@ -82,5 +82,22 @@ ComunicWeb.components.calls.interface = {
true,
callback
);
},
/**
* Hang up a call
*
* @param {Number} call_id The ID of the target call
* @param {function} callback Function to call on call callback
*/
hangUp: function(call_id, callback){
ComunicWeb.common.api.makeAPIrequest(
"calls/hangUp",
{
call_id: call_id,
},
true,
callback
);
}
}