Built motion from commit 00bf23f6.|2.6.16
[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 _0x8efc=['unavailable','unknown','unmanaged','outbound','pTalking','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','temp','outboundAnswerAgiCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundOriginateFailureCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startProgressive','message','statusMessage','Trunk','active','callerid','loggedin','callers','length','SIP/','online','includes','status','keys','queue','dialer','xcally-motion-preview','prototype','compareToInboundQueue','compareToOutboundQueue','dialActive','outboundNoSuchCallsDay','preview','exports','loggedInDb','ringing','waiting','available','loggedIn','originated','outboundAbandonedCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundNoAnswerCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','paused','sumDuration','total','name','strategy','abandoned','answered','busy','inUse','invalid','onHold','notInUse','ringInUse','sumBillable','sumHoldTime','talking','type'];(function(_0x279d37,_0x14de3f){var _0x530173=function(_0x37fc79){while(--_0x37fc79){_0x279d37['push'](_0x279d37['shift']());}};_0x530173(++_0x14de3f);}(_0x8efc,0x8f));var _0xc8ef=function(_0x55abd9,_0x1148af){_0x55abd9=_0x55abd9-0x0;var _0x3e5669=_0x8efc[_0x55abd9];return _0x3e5669;};'use strict';var INBOUND_COUNTERS=['available','loggedIn',_0xc8ef('0x0'),'paused',_0xc8ef('0x1'),'talking',_0xc8ef('0x2')];var OUTBOUND_COUNTERS=[_0xc8ef('0x3'),'answered','inUse',_0xc8ef('0x4'),'loggedInDb',_0xc8ef('0x5'),_0xc8ef('0x6'),_0xc8ef('0x7'),_0xc8ef('0x8'),_0xc8ef('0x9'),'outboundCongestionCallsDay',_0xc8ef('0xa'),'outboundNoSuchCallsDay',_0xc8ef('0xb'),_0xc8ef('0xc'),_0xc8ef('0xd'),_0xc8ef('0xe'),'pTalking','talking','sumBillable',_0xc8ef('0xf'),_0xc8ef('0x10'),_0xc8ef('0x2')];function VoiceQueueSummary(_0x3518cd){this['id']=_0x3518cd['id'];this['name']=_0x3518cd[_0xc8ef('0x11')];this[_0xc8ef('0x12')]=_0x3518cd[_0xc8ef('0x12')];this[_0xc8ef('0x13')]=_0x3518cd[_0xc8ef('0x13')]||0x0;this[_0xc8ef('0x14')]=_0x3518cd[_0xc8ef('0x14')]||0x0;this[_0xc8ef('0x3')]=_0x3518cd['available']||0x0;this['busy']=_0x3518cd[_0xc8ef('0x15')]||0x0;this[_0xc8ef('0x16')]=_0x3518cd[_0xc8ef('0x16')]||0x0;this[_0xc8ef('0x17')]=_0x3518cd[_0xc8ef('0x17')]||0x0;this[_0xc8ef('0x4')]=_0x3518cd[_0xc8ef('0x4')]||0x0;this[_0xc8ef('0x0')]=_0x3518cd['loggedInDb']||0x0;this['onHold']=_0x3518cd[_0xc8ef('0x18')]||0x0;this[_0xc8ef('0x19')]=_0x3518cd[_0xc8ef('0x19')]||0x0;this[_0xc8ef('0xe')]=_0x3518cd['paused']||0x0;this['ringing']=_0x3518cd['ringing']||0x0;this['ringInUse']=_0x3518cd[_0xc8ef('0x1a')];this['sumBillable']=_0x3518cd[_0xc8ef('0x1b')];this[_0xc8ef('0xf')]=_0x3518cd[_0xc8ef('0xf')];this['sumHoldTime']=_0x3518cd[_0xc8ef('0x1c')]||0x0;this[_0xc8ef('0x1d')]=_0x3518cd[_0xc8ef('0x1d')]||0x0;this[_0xc8ef('0x10')]=_0x3518cd[_0xc8ef('0x10')]||0x0;this[_0xc8ef('0x1e')]=_0x3518cd[_0xc8ef('0x1e')];this[_0xc8ef('0x1f')]=_0x3518cd[_0xc8ef('0x1f')]||0x0;this[_0xc8ef('0x20')]=_0x3518cd[_0xc8ef('0x20')]||0x0;this[_0xc8ef('0x21')]=_0x3518cd['unmanaged']||0x0;this['waiting']=_0x3518cd[_0xc8ef('0x2')]||0x0;if(_0x3518cd[_0xc8ef('0x1e')]===_0xc8ef('0x22')){this[_0xc8ef('0x23')]=_0x3518cd[_0xc8ef('0x23')]||0x0;this['dialActive']=_0x3518cd['dialActive'];this[_0xc8ef('0x24')]=_0x3518cd[_0xc8ef('0x24')];this[_0xc8ef('0x25')]=_0x3518cd['dialOriginateCallerIdName'];this[_0xc8ef('0x26')]=_0x3518cd[_0xc8ef('0x26')];this[_0xc8ef('0x27')]=_0x3518cd[_0xc8ef('0x27')];this['dialPrefix']=_0x3518cd['dialPrefix'];this[_0xc8ef('0x28')]=_0x3518cd[_0xc8ef('0x28')];this[_0xc8ef('0x29')]=_0x3518cd['outboundAnswerAgiCallsDay'];this[_0xc8ef('0x7')]=_0x3518cd[_0xc8ef('0x7')];this[_0xc8ef('0x8')]=_0x3518cd['outboundBlacklistCallsDay'];this[_0xc8ef('0x9')]=_0x3518cd[_0xc8ef('0x9')];this[_0xc8ef('0x2a')]=_0x3518cd[_0xc8ef('0x2a')];this[_0xc8ef('0x2b')]=_0x3518cd['outboundDropCallsDayACS'];this[_0xc8ef('0x2c')]=_0x3518cd['outboundDropCallsDayCallersExit'];this['outboundDropCallsDayTimeout']=_0x3518cd[_0xc8ef('0x2d')];this['outboundNoAnswerCallsDay']=_0x3518cd[_0xc8ef('0xa')];this['outboundNoSuchCallsDay']=_0x3518cd['outboundNoSuchCallsDay'];this[_0xc8ef('0x2e')]=_0x3518cd[_0xc8ef('0x2e')];this[_0xc8ef('0xb')]=_0x3518cd[_0xc8ef('0xb')];this[_0xc8ef('0xc')]=_0x3518cd[_0xc8ef('0xc')];this['outboundUnknownCallsDay']=_0x3518cd[_0xc8ef('0xd')];this[_0xc8ef('0x2f')]=_0x3518cd['predictiveIntervalAnsweredCalls'];this[_0xc8ef('0x30')]=_0x3518cd['predictiveIntervalAvgHoldtime'];this['predictiveIntervalAvgTalktime']=_0x3518cd[_0xc8ef('0x31')];this[_0xc8ef('0x32')]=_0x3518cd[_0xc8ef('0x32')];this[_0xc8ef('0x33')]=_0x3518cd['predictiveIntervalDroppedCallsTimeout'];this[_0xc8ef('0x34')]=_0x3518cd[_0xc8ef('0x34')];this[_0xc8ef('0x35')]=_0x3518cd[_0xc8ef('0x35')];this[_0xc8ef('0x36')]=_0x3518cd[_0xc8ef('0x36')];this[_0xc8ef('0x37')]=_0x3518cd['predictiveIntervalMultiplicativeFactor'];this[_0xc8ef('0x38')]=_0x3518cd['predictiveIntervalPauses'];this['predictiveIntervalAvailable']=_0x3518cd[_0xc8ef('0x39')];this[_0xc8ef('0x3a')]=_0x3518cd[_0xc8ef('0x3a')];this[_0xc8ef('0x5')]=_0x3518cd[_0xc8ef('0x5')];this[_0xc8ef('0x3b')]=_0x3518cd[_0xc8ef('0x3b')];this[_0xc8ef('0x3c')]=_0x3518cd[_0xc8ef('0x3c')];this[_0xc8ef('0x3d')]=_0x3518cd[_0xc8ef('0x3d')];this[_0xc8ef('0x3e')]=_0x3518cd[_0xc8ef('0x3e')];this['startPredictive']=_0x3518cd['startPredictive'];this[_0xc8ef('0x3f')]=_0x3518cd[_0xc8ef('0x3f')];this[_0xc8ef('0x40')]=_0x3518cd[_0xc8ef('0x40')];this[_0xc8ef('0x41')]=_0x3518cd['statusMessage'];}if(_0x3518cd[_0xc8ef('0x42')]){this[_0xc8ef('0x42')]={'id':_0x3518cd['Trunk']['id'],'name':_0x3518cd[_0xc8ef('0x42')][_0xc8ef('0x11')],'active':_0x3518cd[_0xc8ef('0x42')][_0xc8ef('0x43')],'callerid':_0x3518cd[_0xc8ef('0x42')][_0xc8ef('0x44')]};}}VoiceQueueSummary['prototype']['createReport']=function(_0x23d924,_0x4698f6,_0x14fdc8,_0x1d59b1){this['loggedInDb']=0x0;this[_0xc8ef('0x1d')]=0x0;this[_0xc8ef('0xe')]=0x0;this['unknown']=0x0;this[_0xc8ef('0x19')]=0x0;this[_0xc8ef('0x16')]=0x0;this[_0xc8ef('0x15')]=0x0;this[_0xc8ef('0x17')]=0x0;this['unavailable']=0x0;this[_0xc8ef('0x1')]=0x0;this[_0xc8ef('0x1a')]=0x0;this[_0xc8ef('0x18')]=0x0;if(_0x14fdc8){if(_0x14fdc8[_0xc8ef('0x3')]){this[_0xc8ef('0x3')]=Number(_0x14fdc8[_0xc8ef('0x3')]);}if(_0x14fdc8[_0xc8ef('0x45')]){this[_0xc8ef('0x4')]=Number(_0x14fdc8[_0xc8ef('0x45')]);}if(_0x14fdc8[_0xc8ef('0x46')]){this[_0xc8ef('0x2')]=Number(_0x14fdc8[_0xc8ef('0x46')]);}}for(var _0x2667a4=0x0;_0x2667a4<_0x23d924[_0xc8ef('0x47')];_0x2667a4++){var _0x10aa0d=_0x4698f6[_0xc8ef('0x48')+_0x23d924[_0x2667a4]['name']];if(_0x10aa0d&&_0x10aa0d[_0xc8ef('0x49')]){this[_0xc8ef('0x0')]+=0x1;}if(_0x23d924[_0x2667a4]['incall']==='1'){this[_0xc8ef('0x1d')]+=0x1;}if(_0x23d924[_0x2667a4]['paused']==='1'&&!['2','7','8'][_0xc8ef('0x4a')](_0x23d924[_0x2667a4]['status'])){this[_0xc8ef('0xe')]+=0x1;}switch(_0x23d924[_0x2667a4][_0xc8ef('0x4b')]){case'0':this['unknown']+=0x1;break;case'1':this['notInUse']+=0x1;break;case'2':this['inUse']+=0x1;break;case'3':this['busy']+=0x1;break;case'4':this[_0xc8ef('0x17')]+=0x1;break;case'5':this[_0xc8ef('0x1f')]+=0x1;break;case'6':this[_0xc8ef('0x1')]+=0x1;break;case'7':this[_0xc8ef('0x1a')]+=0x1;break;case'8':this[_0xc8ef('0x18')]+=0x1;break;}}if(this['dialMethod']==='booked'){var _0x55063d=Object[_0xc8ef('0x4c')](_0x1d59b1);for(var _0x3517a8=0x0;_0x3517a8<_0x55063d[_0xc8ef('0x47')];_0x3517a8++){var _0x427e72=_0x55063d[_0x3517a8];var _0x331f3b=_0x1d59b1[_0x427e72];if(_0x331f3b[_0xc8ef('0x4d')]===this['name']&&_0x331f3b[_0xc8ef('0x1e')]===_0xc8ef('0x4e')&&_0x331f3b['exten']===_0xc8ef('0x4f')){this['talking']+=0x1;}}if(this[_0xc8ef('0x1d')]>this['inUse']){this['talking']=this[_0xc8ef('0x16')];}this['pTalking']=0x0;}return this;};VoiceQueueSummary[_0xc8ef('0x50')][_0xc8ef('0x51')]=function(_0x71fa5){var _0x226713=![];if(_0x71fa5){_0x226713=INBOUND_COUNTERS['some'](function(_0x2a15fb){return this[_0x2a15fb]!==_0x71fa5[_0x2a15fb];},this);}return _0x226713;};VoiceQueueSummary[_0xc8ef('0x50')][_0xc8ef('0x52')]=function(_0x5ae3ae){var _0x987dc7=![];var _0x5bdef1=![];var _0x472f65=![];if(_0x5ae3ae){_0x987dc7=this[_0xc8ef('0x24')]!==_0x5ae3ae[_0xc8ef('0x24')]||this[_0xc8ef('0x53')]!==_0x5ae3ae[_0xc8ef('0x53')]||this[_0xc8ef('0x40')]!==_0x5ae3ae[_0xc8ef('0x40')]||this[_0xc8ef('0x41')]!==_0x5ae3ae[_0xc8ef('0x41')];_0x5bdef1=OUTBOUND_COUNTERS['some'](function(_0x599cf1){return this[_0x599cf1]!==_0x5ae3ae[_0x599cf1];},this);if(this[_0xc8ef('0x42')]&&_0x5ae3ae['Trunk']){_0x472f65=this[_0xc8ef('0x42')]['name']!==_0x5ae3ae['Trunk'][_0xc8ef('0x11')]||this['Trunk']['active']!==_0x5ae3ae[_0xc8ef('0x42')]['active'];}}return _0x987dc7||_0x5bdef1||_0x472f65;};VoiceQueueSummary['prototype']['updateReportFromOutboundQueue']=function(_0x201b4c){this['answered']=_0x201b4c['answered'];this[_0xc8ef('0x40')]=_0x201b4c['message'];this['statusMessage']=_0x201b4c[_0xc8ef('0x41')];this[_0xc8ef('0x5')]=_0x201b4c[_0xc8ef('0x5')];this[_0xc8ef('0x6')]=_0x201b4c[_0xc8ef('0x6')];this['outboundAnswerCallsDay']=_0x201b4c['outboundAnswerCallsDay'];this[_0xc8ef('0x8')]=_0x201b4c[_0xc8ef('0x8')];this['outboundBusyCallsDay']=_0x201b4c[_0xc8ef('0x9')];this[_0xc8ef('0x2a')]=_0x201b4c['outboundCongestionCallsDay'];this['outboundNoAnswerCallsDay']=_0x201b4c['outboundNoAnswerCallsDay'];this[_0xc8ef('0x54')]=_0x201b4c['outboundNoSuchCallsDay'];this[_0xc8ef('0xb')]=_0x201b4c[_0xc8ef('0xb')];this[_0xc8ef('0xc')]=_0x201b4c[_0xc8ef('0xc')];this['outboundUnknownCallsDay']=_0x201b4c[_0xc8ef('0xd')];this[_0xc8ef('0x1b')]=_0x201b4c['sumBillable'];this[_0xc8ef('0xf')]=_0x201b4c[_0xc8ef('0xf')];this[_0xc8ef('0x10')]=_0x201b4c[_0xc8ef('0x10')];if(this[_0xc8ef('0x24')]===_0xc8ef('0x55')){this['pTalking']=_0x201b4c['pTalking'];}};module[_0xc8ef('0x56')]=VoiceQueueSummary;