-var moment = require('moment');
-var asteriskManager = null;
-
-
-function ACW(ami) {
- console.log('ACW Initialization...');
- asteriskManager = ami;
-}
-
-ACW.prototype.agentcomplete = function(evt) {
- if (asteriskManager && asteriskManager.isConnected()) {
- if (evt.interface === 'SIP/massimiliano.bungaro') {
- asteriskManager.action({
- action: 'QueuePause',
- interface: evt.interface,
- paused: true,
- reason: 'UNAVAILABLE BY ACW'
- }, function(err, res) {
- if (err) {
- console.error(err);
- return;
- }
- console.log('PAUSE ACW in all queue for the agent ' + evt.interface);
- asteriskManager.action({
- action: 'QueuePause',
- interface: evt.interface,
- queue: evt.queue,
- paused: true,
- reason: 'ACW'
- }, function(err, res) {
- if (err) {
- console.error(err);
- return;
- }
- console.log('SINGLE PAUSE ACW in ' + evt.queue + ' for the agent ' + evt.interface);
- findAndUpdateFlag(evt);
- setTimeout(function() {
- asteriskManager.action({
- action: 'QueuePause',
- interface: evt.interface,
- paused: false,
- }, function(err, res) {
- if (err) {
- console.error(err)
- }
- console.log('UNPAUSE ACW in all queue for the agent ' + evt.interface);
- });
- }, 5000);
- });
- });
- }
- }
-}
-
-ACW.prototype.agentpause = function(evt) {
- if ((evt.reason === 'ACW' || evt.reason === 'UNAVAILABLE BY ACW') && evt.paused === '1') {
- return;
- }
-
- // findAndUpdateTime(evt);
-}
-
-function findAndUpdateTime(evt) {
- var agent = require('../../models').ReportAgent;
- agent
- .findAll({
- where: {
- agentcomplete: true,
- agentacw: true,
- acwtime: null,
- queue: evt.queue,
- interface: evt.interface
- }
- })
- .then(function(agents) {
- if (agents.length > 0) {
- var agent = agents[agents.length - 1]; // get last inserted agent
- var diff = moment().diff(agent.agentcompleteAt, 'seconds'); // diff seconds now - completeAt
- agent
- .updateAttributes({
- acwtime: diff
- })
- .then(function(res) {
- console.log('[acw] agent acw ' + res.membername + ' updated seconds ' + diff + ' ACW in queue ' + res.queue);
- })
- .catch(function(err) {
- console.error('[acw] agent acw ' + err);
- });
- } else {
- console.error(new Error('[acw] agent acw not found!'));
- }
- })
- .catch(function(err) {
- console.error('[acw] agent acw ' + err);
- });
-}
-
-function findAndUpdateFlag(evt) {
-
- var agent = require('../../models').ReportAgent;
- agent
- .update({
- agentacw: true
- }, {
- where: {
- uniqueid: evt.uniqueid,
- destuniqueid: evt.destuniqueid
- }
- })
- .then(function(agent) {
- console.log('[acw] agent acw updated');
- })
- .catch(function(err) {
- console.error('[acw] agent acw update error: ' + err);
- });
-}
-
-module.exports = ACW;
+var _0x8311=["\x6D\x6F\x6D\x65\x6E\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x41\x63\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x41\x43\x57\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x69\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x67\x65\x6E\x74","\x73\x63\x6F\x70\x65","\x75\x6E\x70\x61\x75\x73\x65","\x62\x6F\x64\x79","\x61\x63\x77\x54\x69\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x61\x73\x53\x65\x63\x6F\x6E\x64\x73","\x61\x63\x77\x41\x74","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x71\x75\x65\x75\x65","\x66\x69\x6E\x64","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x50\x41\x55\x53\x45\x44\x20\x42\x59\x20\x41\x43\x57","\x61\x63\x77\x54\x69\x6D\x65\x6F\x75\x74","\x55\x4E\x50\x41\x55\x53\x45\x44\x20\x42\x59\x20\x41\x43\x57","\x41\x43\x57","\x63\x72\x65\x61\x74\x65","\x70\x61\x75\x73\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x8311[0]);var _=require(_0x8311[1]);var VoiceQueue=require(_0x8311[3])[_0x8311[2]];var Agent=require(_0x8311[3])[_0x8311[4]];var Action=require(_0x8311[3])[_0x8311[5]];var ReportAgent=require(_0x8311[3])[_0x8311[6]];var _voiceQueues;var _agents;var activeAcw={};function ACW(_0xaadexb){console[_0x8311[8]](_0x8311[7]);VoiceQueue[_0x8311[14]]()[_0x8311[12]](function(_0xaadex10){_voiceQueues=_0xaadex10;synchCollection(VoiceQueue,_voiceQueues,_0x8311[13]);return Agent[_0x8311[16]](_0x8311[15])[_0x8311[14]]()})[_0x8311[12]](function(_0xaadexd){_agents=_0xaadexd;synchCollection(Agent,_agents,_0x8311[10]);Action[_0x8311[11]](function(_0xaadexe,_0xaadexf){return onSave(_0xaadexe,_0xaadexf)})})[_0x8311[9]](function(_0xaadexc){console[_0x8311[8]](_0xaadexc)})}function onSave(_0xaadexe,_0xaadexf){if(_0xaadexe[_0x8311[13]]===_0x8311[17]&&activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]]){var _0xaadex12;if(activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]][_0x8311[17]]){_0xaadex12=activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]][_0x8311[19]]}else {clearTimeout(activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]][_0x8311[20]]);_0xaadex12=moment[_0x8311[23]](moment()-activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]][_0x8311[22]])[_0x8311[21]]()};return ReportAgent[_0x8311[27]]({agentacw:true,acwtime:_0xaadex12},{where:{uniqueid:activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]][_0x8311[24]],destuniqueid:activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]][_0x8311[25]]},transaction:_0xaadexf[_0x8311[26]],individualHooks:true})[_0x8311[12]](function(){delete activeAcw[_0xaadexf[_0x8311[18]][_0x8311[15]]]})[_0x8311[9]](function(_0xaadexc){console[_0x8311[8]](_0xaadexc)})}}ACW[_0x8311[29]][_0x8311[28]]=function(_0xaadex13){var _0xaadex14=_[_0x8311[31]](_voiceQueues,{name:_0xaadex13[_0x8311[30]],acw:true});if(_0xaadex14){var _0xaadex15=_[_0x8311[31]](_agents,{name:_0xaadex13[_0x8311[32]]});Action[_0x8311[37]]({name:_0x8311[38],data1:_0x8311[36],data2:_0xaadex14[_0x8311[34]],data3:_0xaadex13[_0x8311[24]],data4:_0xaadex13[_0x8311[30]]},{body:{agent:_0xaadex15[_0x8311[10]],type:_0x8311[36]}})[_0x8311[12]](function(){console[_0x8311[8]](_0x8311[33]);activeAcw[_0xaadex15[_0x8311[10]]]={uniqueid:_0xaadex13[_0x8311[24]],destuniqueid:_0xaadex13[_0x8311[25]],acwTime:_0xaadex14[_0x8311[34]],acwAt:moment(),unpause:false};activeAcw[_0xaadex15[_0x8311[10]]][_0x8311[20]]=setTimeout(function(){console[_0x8311[8]](_0x8311[35]);activeAcw[_0xaadex15[_0x8311[10]]][_0x8311[17]]=true;return Action[_0x8311[37]]({name:_0x8311[17],data1:_0x8311[36],data2:_0xaadex14[_0x8311[34]],data3:_0xaadex13[_0x8311[24]],data4:_0xaadex13[_0x8311[30]]},{body:{agent:_0xaadex15[_0x8311[10]],type:_0x8311[36]}})[_0x8311[9]](function(_0xaadexc){console[_0x8311[8]](_0xaadexc)})},_0xaadex14[_0x8311[34]]*1000)})[_0x8311[9]](function(_0xaadexc){console[_0x8311[8]](_0xaadexc)})}};function synchCollection(_0xaadex17,_0xaadex18,_0xaadex19){var _0xaadex1a={};_0xaadex17[_0x8311[11]](function(_0xaadexe){_0xaadex1a[_0xaadex19]=_0xaadexe[_0xaadex19];updateCollection(_0xaadex18,_0xaadexe,_0xaadex1a)});_0xaadex17[_0x8311[39]](function(_0xaadexe){_0xaadex1a[_0xaadex19]=_0xaadexe[_0xaadex19];updateCollection(_0xaadex18,_0xaadexe,_0xaadex1a)});_0xaadex17[_0x8311[41]](function(_0xaadexe){_0xaadex1a[_0xaadex19]=_0xaadexe[_0xaadex19];_[_0x8311[40]](_0xaadex18,_0xaadex1a)})}function updateCollection(_0xaadex1c,_0xaadexe,_0xaadex1a){var _0xaadex1d=_[_0x8311[31]](_0xaadex1c,_0xaadex1a);var _0xaadex1e=_0xaadex1c[_0x8311[42]](_0xaadex1d);if(_0xaadex1d){_[_0x8311[43]](_0xaadex1c[_0xaadex1e],_0xaadexe)}else {_0xaadex1c[_0x8311[44]](_0xaadexe)}}module[_0x8311[45]]=ACW
\ No newline at end of file