e3111c762724421d836eb731e0917f46b9e477ec
[motion2.git] / server / services / ami / model / voiceQueueSummary.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xcb66=['strategy','abandoned','busy','onHold','notInUse','sumDuration','sumHoldTime','total','type','unavailable','unknown','waiting','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateTimeout','dialPrefix','temp','outboundAnswerAgiCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundOriginateFailureCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','message','statusMessage','Trunk','active','callerid','prototype','createReport','invalid','ringInUse','loggedin','callers','SIP/','incall','includes','status','booked','length','dialer','xcally-motion-preview','compareToInboundQueue','some','updateReportFromOutboundQueue','outboundAbandonedCallsDay','preview','exports','loggedIn','loggedInDb','paused','ringing','talking','available','answered','inUse','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','pTalking','sumBillable','name'];(function(_0x311c35,_0x534915){var _0x5cc50c=function(_0x3ad680){while(--_0x3ad680){_0x311c35['push'](_0x311c35['shift']());}};_0x5cc50c(++_0x534915);}(_0xcb66,0x19f));var _0x6cb6=function(_0x30182f,_0x30ce41){_0x30182f=_0x30182f-0x0;var _0x5207db=_0xcb66[_0x30182f];return _0x5207db;};'use strict';var INBOUND_COUNTERS=['available',_0x6cb6('0x0'),_0x6cb6('0x1'),_0x6cb6('0x2'),_0x6cb6('0x3'),_0x6cb6('0x4'),'waiting'];var OUTBOUND_COUNTERS=[_0x6cb6('0x5'),_0x6cb6('0x6'),_0x6cb6('0x7'),_0x6cb6('0x0'),_0x6cb6('0x1'),'originated','outboundAbandonedCallsDay',_0x6cb6('0x8'),_0x6cb6('0x9'),_0x6cb6('0xa'),_0x6cb6('0xb'),_0x6cb6('0xc'),_0x6cb6('0xd'),_0x6cb6('0xe'),_0x6cb6('0xf'),_0x6cb6('0x10'),_0x6cb6('0x2'),_0x6cb6('0x11'),_0x6cb6('0x4'),_0x6cb6('0x12'),'sumDuration','total','waiting'];function VoiceQueueSummary(_0x54b466){this['id']=_0x54b466['id'];this[_0x6cb6('0x13')]=_0x54b466[_0x6cb6('0x13')];this[_0x6cb6('0x14')]=_0x54b466[_0x6cb6('0x14')];this['abandoned']=_0x54b466[_0x6cb6('0x15')]||0x0;this[_0x6cb6('0x6')]=_0x54b466['answered']||0x0;this[_0x6cb6('0x5')]=_0x54b466[_0x6cb6('0x5')]||0x0;this['busy']=_0x54b466[_0x6cb6('0x16')]||0x0;this[_0x6cb6('0x7')]=_0x54b466['inUse']||0x0;this['invalid']=_0x54b466['invalid']||0x0;this['loggedIn']=_0x54b466[_0x6cb6('0x0')]||0x0;this[_0x6cb6('0x1')]=_0x54b466[_0x6cb6('0x1')]||0x0;this[_0x6cb6('0x17')]=_0x54b466[_0x6cb6('0x17')]||0x0;this[_0x6cb6('0x18')]=_0x54b466['notInUse']||0x0;this[_0x6cb6('0x2')]=_0x54b466[_0x6cb6('0x2')]||0x0;this['ringing']=_0x54b466['ringing']||0x0;this['ringInUse']=_0x54b466['ringInUse'];this['sumBillable']=_0x54b466['sumBillable'];this[_0x6cb6('0x19')]=_0x54b466[_0x6cb6('0x19')];this[_0x6cb6('0x1a')]=_0x54b466[_0x6cb6('0x1a')]||0x0;this[_0x6cb6('0x4')]=_0x54b466['talking']||0x0;this['total']=_0x54b466[_0x6cb6('0x1b')]||0x0;this[_0x6cb6('0x1c')]=_0x54b466[_0x6cb6('0x1c')];this[_0x6cb6('0x1d')]=_0x54b466['unavailable']||0x0;this[_0x6cb6('0x1e')]=_0x54b466[_0x6cb6('0x1e')]||0x0;this['unmanaged']=_0x54b466['unmanaged']||0x0;this[_0x6cb6('0x1f')]=_0x54b466['waiting']||0x0;if(_0x54b466[_0x6cb6('0x1c')]===_0x6cb6('0x20')){this[_0x6cb6('0x11')]=_0x54b466[_0x6cb6('0x11')]||0x0;this[_0x6cb6('0x21')]=_0x54b466[_0x6cb6('0x21')];this[_0x6cb6('0x22')]=_0x54b466[_0x6cb6('0x22')];this[_0x6cb6('0x23')]=_0x54b466[_0x6cb6('0x23')];this['dialOriginateCallerIdNumber']=_0x54b466['dialOriginateCallerIdNumber'];this['dialOriginateTimeout']=_0x54b466[_0x6cb6('0x24')];this[_0x6cb6('0x25')]=_0x54b466[_0x6cb6('0x25')];this[_0x6cb6('0x26')]=_0x54b466[_0x6cb6('0x26')];this[_0x6cb6('0x27')]=_0x54b466['outboundAnswerAgiCallsDay'];this[_0x6cb6('0x8')]=_0x54b466['outboundAnswerCallsDay'];this[_0x6cb6('0x9')]=_0x54b466['outboundBlacklistCallsDay'];this[_0x6cb6('0xa')]=_0x54b466[_0x6cb6('0xa')];this[_0x6cb6('0xb')]=_0x54b466['outboundCongestionCallsDay'];this[_0x6cb6('0x28')]=_0x54b466[_0x6cb6('0x28')];this[_0x6cb6('0x29')]=_0x54b466['outboundDropCallsDayCallersExit'];this[_0x6cb6('0x2a')]=_0x54b466[_0x6cb6('0x2a')];this[_0x6cb6('0xc')]=_0x54b466['outboundNoAnswerCallsDay'];this[_0x6cb6('0xd')]=_0x54b466[_0x6cb6('0xd')];this['outboundOriginateFailureCallsDay']=_0x54b466[_0x6cb6('0x2b')];this[_0x6cb6('0xe')]=_0x54b466[_0x6cb6('0xe')];this[_0x6cb6('0xf')]=_0x54b466[_0x6cb6('0xf')];this[_0x6cb6('0x10')]=_0x54b466[_0x6cb6('0x10')];this[_0x6cb6('0x2c')]=_0x54b466[_0x6cb6('0x2c')];this[_0x6cb6('0x2d')]=_0x54b466['predictiveIntervalAvgHoldtime'];this[_0x6cb6('0x2e')]=_0x54b466[_0x6cb6('0x2e')];this[_0x6cb6('0x2f')]=_0x54b466[_0x6cb6('0x2f')];this['predictiveIntervalDroppedCallsTimeout']=_0x54b466['predictiveIntervalDroppedCallsTimeout'];this['predictiveIntervalErlangCalls']=_0x54b466[_0x6cb6('0x30')];this[_0x6cb6('0x31')]=_0x54b466[_0x6cb6('0x31')];this[_0x6cb6('0x32')]=_0x54b466[_0x6cb6('0x32')];this[_0x6cb6('0x33')]=_0x54b466[_0x6cb6('0x33')];this[_0x6cb6('0x34')]=_0x54b466['predictiveIntervalPauses'];this[_0x6cb6('0x35')]=_0x54b466['predictiveIntervalAvailable'];this[_0x6cb6('0x36')]=_0x54b466[_0x6cb6('0x36')];this[_0x6cb6('0x37')]=_0x54b466[_0x6cb6('0x37')];this[_0x6cb6('0x38')]=_0x54b466[_0x6cb6('0x38')];this[_0x6cb6('0x39')]=_0x54b466['erlangCallToSecond'];this[_0x6cb6('0x3a')]=_0x54b466['erlangAbandonmentRate'];this[_0x6cb6('0x3b')]=_0x54b466[_0x6cb6('0x3b')];this[_0x6cb6('0x3c')]=_0x54b466['startPredictive'];this['startProgressive']=_0x54b466[_0x6cb6('0x3d')];this['message']=_0x54b466[_0x6cb6('0x3e')];this[_0x6cb6('0x3f')]=_0x54b466[_0x6cb6('0x3f')];}if(_0x54b466[_0x6cb6('0x40')]){this[_0x6cb6('0x40')]={'id':_0x54b466[_0x6cb6('0x40')]['id'],'name':_0x54b466[_0x6cb6('0x40')]['name'],'active':_0x54b466[_0x6cb6('0x40')][_0x6cb6('0x41')],'callerid':_0x54b466['Trunk'][_0x6cb6('0x42')]};}}VoiceQueueSummary[_0x6cb6('0x43')][_0x6cb6('0x44')]=function(_0x31a391,_0x15a0a8,_0x3b435e,_0x571cba){this['loggedInDb']=0x0;this[_0x6cb6('0x4')]=0x0;this['paused']=0x0;this['unknown']=0x0;this[_0x6cb6('0x18')]=0x0;this['inUse']=0x0;this[_0x6cb6('0x16')]=0x0;this[_0x6cb6('0x45')]=0x0;this['unavailable']=0x0;this['ringing']=0x0;this[_0x6cb6('0x46')]=0x0;this['onHold']=0x0;if(_0x3b435e){if(_0x3b435e[_0x6cb6('0x5')]){this[_0x6cb6('0x5')]=Number(_0x3b435e['available']);}if(_0x3b435e[_0x6cb6('0x47')]){this[_0x6cb6('0x0')]=Number(_0x3b435e['loggedin']);}if(_0x3b435e[_0x6cb6('0x48')]){this['waiting']=Number(_0x3b435e[_0x6cb6('0x48')]);}}for(var _0x12adad=0x0;_0x12adad<_0x31a391['length'];_0x12adad++){var _0x33a337=_0x15a0a8[_0x6cb6('0x49')+_0x31a391[_0x12adad]['name']];if(_0x33a337&&_0x33a337['online']){this[_0x6cb6('0x1')]+=0x1;}if(_0x31a391[_0x12adad][_0x6cb6('0x4a')]==='1'){this[_0x6cb6('0x4')]+=0x1;}if(_0x31a391[_0x12adad]['paused']==='1'&&!['2','7','8'][_0x6cb6('0x4b')](_0x31a391[_0x12adad][_0x6cb6('0x4c')])){this['paused']+=0x1;}switch(_0x31a391[_0x12adad][_0x6cb6('0x4c')]){case'0':this[_0x6cb6('0x1e')]+=0x1;break;case'1':this[_0x6cb6('0x18')]+=0x1;break;case'2':this['inUse']+=0x1;break;case'3':this[_0x6cb6('0x16')]+=0x1;break;case'4':this[_0x6cb6('0x45')]+=0x1;break;case'5':this[_0x6cb6('0x1d')]+=0x1;break;case'6':this[_0x6cb6('0x3')]+=0x1;break;case'7':this[_0x6cb6('0x46')]+=0x1;break;case'8':this[_0x6cb6('0x17')]+=0x1;break;}}if(this['dialMethod']===_0x6cb6('0x4d')){var _0x5c20d1=Object['keys'](_0x571cba);for(var _0x29cb39=0x0;_0x29cb39<_0x5c20d1[_0x6cb6('0x4e')];_0x29cb39++){var _0x4b4137=_0x5c20d1[_0x29cb39];var _0x46aa10=_0x571cba[_0x4b4137];if(_0x46aa10['queue']===this[_0x6cb6('0x13')]&&_0x46aa10[_0x6cb6('0x1c')]===_0x6cb6('0x4f')&&_0x46aa10['exten']===_0x6cb6('0x50')){this[_0x6cb6('0x4')]+=0x1;}}if(this[_0x6cb6('0x4')]>this['inUse']){this[_0x6cb6('0x4')]=this['inUse'];}this[_0x6cb6('0x11')]=0x0;}return this;};VoiceQueueSummary[_0x6cb6('0x43')][_0x6cb6('0x51')]=function(_0x5da497){var _0x5e795c=![];if(_0x5da497){_0x5e795c=INBOUND_COUNTERS[_0x6cb6('0x52')](function(_0x3dca6c){return this[_0x3dca6c]!==_0x5da497[_0x3dca6c];},this);}return _0x5e795c;};VoiceQueueSummary[_0x6cb6('0x43')]['compareToOutboundQueue']=function(_0x1888f9){var _0x67013b=![];var _0x4567ae=![];var _0x486b3e=![];if(_0x1888f9){_0x67013b=this[_0x6cb6('0x22')]!==_0x1888f9[_0x6cb6('0x22')]||this[_0x6cb6('0x21')]!==_0x1888f9['dialActive']||this[_0x6cb6('0x3e')]!==_0x1888f9[_0x6cb6('0x3e')]||this[_0x6cb6('0x3f')]!==_0x1888f9[_0x6cb6('0x3f')];_0x4567ae=OUTBOUND_COUNTERS[_0x6cb6('0x52')](function(_0x2a157e){return this[_0x2a157e]!==_0x1888f9[_0x2a157e];},this);if(this[_0x6cb6('0x40')]&&_0x1888f9[_0x6cb6('0x40')]){_0x486b3e=this[_0x6cb6('0x40')][_0x6cb6('0x13')]!==_0x1888f9[_0x6cb6('0x40')][_0x6cb6('0x13')]||this['Trunk'][_0x6cb6('0x41')]!==_0x1888f9[_0x6cb6('0x40')]['active'];}}return _0x67013b||_0x4567ae||_0x486b3e;};VoiceQueueSummary[_0x6cb6('0x43')][_0x6cb6('0x53')]=function(_0x5929e7){this[_0x6cb6('0x6')]=_0x5929e7[_0x6cb6('0x6')];this[_0x6cb6('0x3e')]=_0x5929e7['message'];this[_0x6cb6('0x3f')]=_0x5929e7[_0x6cb6('0x3f')];this[_0x6cb6('0x37')]=_0x5929e7[_0x6cb6('0x37')];this[_0x6cb6('0x54')]=_0x5929e7[_0x6cb6('0x54')];this[_0x6cb6('0x8')]=_0x5929e7[_0x6cb6('0x8')];this[_0x6cb6('0x9')]=_0x5929e7[_0x6cb6('0x9')];this['outboundBusyCallsDay']=_0x5929e7[_0x6cb6('0xa')];this[_0x6cb6('0xb')]=_0x5929e7['outboundCongestionCallsDay'];this[_0x6cb6('0xc')]=_0x5929e7['outboundNoAnswerCallsDay'];this['outboundNoSuchCallsDay']=_0x5929e7[_0x6cb6('0xd')];this[_0x6cb6('0xe')]=_0x5929e7[_0x6cb6('0xe')];this[_0x6cb6('0xf')]=_0x5929e7[_0x6cb6('0xf')];this['outboundUnknownCallsDay']=_0x5929e7[_0x6cb6('0x10')];this[_0x6cb6('0x12')]=_0x5929e7['sumBillable'];this[_0x6cb6('0x19')]=_0x5929e7[_0x6cb6('0x19')];this[_0x6cb6('0x1b')]=_0x5929e7['total'];if(this[_0x6cb6('0x22')]===_0x6cb6('0x55')){this[_0x6cb6('0x11')]=_0x5929e7[_0x6cb6('0x11')];}};module[_0x6cb6('0x56')]=VoiceQueueSummary;