305d97261f0ca53e9ce88602ad57bf8edfda7a9f
[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 _0xd6d2=['statusMessage','Trunk','callerid','prototype','createReport','loggedin','length','SIP/','online','status','booked','keys','queue','dialer','exten','xcally-motion-preview','compareToInboundQueue','some','compareToOutboundQueue','active','updateReportFromOutboundQueue','preview','exports','available','loggedIn','paused','ringing','waiting','answered','inUse','originated','outboundAbandonedCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','pTalking','talking','sumBillable','sumDuration','total','name','strategy','abandoned','busy','invalid','loggedInDb','notInUse','ringInUse','sumHoldTime','type','unavailable','unknown','unmanaged','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','temp','outboundAnswerAgiCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundOriginateFailureCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','message'];(function(_0x3815c2,_0x1f54e3){var _0x271f88=function(_0x53963c){while(--_0x53963c){_0x3815c2['push'](_0x3815c2['shift']());}};_0x271f88(++_0x1f54e3);}(_0xd6d2,0xcb));var _0x2d6d=function(_0x26415d,_0x2493a2){_0x26415d=_0x26415d-0x0;var _0x1f609a=_0xd6d2[_0x26415d];return _0x1f609a;};'use strict';var INBOUND_COUNTERS=[_0x2d6d('0x0'),_0x2d6d('0x1'),'loggedInDb',_0x2d6d('0x2'),_0x2d6d('0x3'),'talking',_0x2d6d('0x4')];var OUTBOUND_COUNTERS=['available',_0x2d6d('0x5'),_0x2d6d('0x6'),_0x2d6d('0x1'),'loggedInDb',_0x2d6d('0x7'),_0x2d6d('0x8'),_0x2d6d('0x9'),_0x2d6d('0xa'),_0x2d6d('0xb'),_0x2d6d('0xc'),_0x2d6d('0xd'),_0x2d6d('0xe'),_0x2d6d('0xf'),_0x2d6d('0x10'),_0x2d6d('0x11'),'paused',_0x2d6d('0x12'),_0x2d6d('0x13'),_0x2d6d('0x14'),_0x2d6d('0x15'),_0x2d6d('0x16'),'waiting'];function VoiceQueueSummary(_0x131751){this['id']=_0x131751['id'];this[_0x2d6d('0x17')]=_0x131751[_0x2d6d('0x17')];this[_0x2d6d('0x18')]=_0x131751[_0x2d6d('0x18')];this['abandoned']=_0x131751[_0x2d6d('0x19')]||0x0;this[_0x2d6d('0x5')]=_0x131751[_0x2d6d('0x5')]||0x0;this[_0x2d6d('0x0')]=_0x131751['available']||0x0;this[_0x2d6d('0x1a')]=_0x131751[_0x2d6d('0x1a')]||0x0;this['inUse']=_0x131751['inUse']||0x0;this[_0x2d6d('0x1b')]=_0x131751[_0x2d6d('0x1b')]||0x0;this[_0x2d6d('0x1')]=_0x131751['loggedIn']||0x0;this[_0x2d6d('0x1c')]=_0x131751['loggedInDb']||0x0;this['onHold']=_0x131751['onHold']||0x0;this[_0x2d6d('0x1d')]=_0x131751[_0x2d6d('0x1d')]||0x0;this[_0x2d6d('0x2')]=_0x131751[_0x2d6d('0x2')]||0x0;this[_0x2d6d('0x3')]=_0x131751[_0x2d6d('0x3')]||0x0;this[_0x2d6d('0x1e')]=_0x131751[_0x2d6d('0x1e')];this[_0x2d6d('0x14')]=_0x131751['sumBillable'];this[_0x2d6d('0x15')]=_0x131751[_0x2d6d('0x15')];this['sumHoldTime']=_0x131751[_0x2d6d('0x1f')]||0x0;this[_0x2d6d('0x13')]=_0x131751[_0x2d6d('0x13')]||0x0;this[_0x2d6d('0x16')]=_0x131751[_0x2d6d('0x16')]||0x0;this[_0x2d6d('0x20')]=_0x131751['type'];this[_0x2d6d('0x21')]=_0x131751[_0x2d6d('0x21')]||0x0;this[_0x2d6d('0x22')]=_0x131751['unknown']||0x0;this['unmanaged']=_0x131751[_0x2d6d('0x23')]||0x0;this['waiting']=_0x131751['waiting']||0x0;if(_0x131751['type']===_0x2d6d('0x24')){this[_0x2d6d('0x12')]=_0x131751[_0x2d6d('0x12')]||0x0;this[_0x2d6d('0x25')]=_0x131751[_0x2d6d('0x25')];this['dialMethod']=_0x131751[_0x2d6d('0x26')];this[_0x2d6d('0x27')]=_0x131751[_0x2d6d('0x27')];this[_0x2d6d('0x28')]=_0x131751[_0x2d6d('0x28')];this[_0x2d6d('0x29')]=_0x131751[_0x2d6d('0x29')];this[_0x2d6d('0x2a')]=_0x131751[_0x2d6d('0x2a')];this['temp']=_0x131751[_0x2d6d('0x2b')];this[_0x2d6d('0x2c')]=_0x131751[_0x2d6d('0x2c')];this[_0x2d6d('0x9')]=_0x131751['outboundAnswerCallsDay'];this[_0x2d6d('0xa')]=_0x131751['outboundBlacklistCallsDay'];this[_0x2d6d('0xb')]=_0x131751['outboundBusyCallsDay'];this['outboundCongestionCallsDay']=_0x131751[_0x2d6d('0xc')];this['outboundDropCallsDayACS']=_0x131751[_0x2d6d('0x2d')];this[_0x2d6d('0x2e')]=_0x131751['outboundDropCallsDayCallersExit'];this[_0x2d6d('0x2f')]=_0x131751['outboundDropCallsDayTimeout'];this[_0x2d6d('0xd')]=_0x131751[_0x2d6d('0xd')];this[_0x2d6d('0xe')]=_0x131751[_0x2d6d('0xe')];this[_0x2d6d('0x30')]=_0x131751[_0x2d6d('0x30')];this[_0x2d6d('0xf')]=_0x131751[_0x2d6d('0xf')];this['outboundRejectCallsDay']=_0x131751[_0x2d6d('0x10')];this[_0x2d6d('0x11')]=_0x131751['outboundUnknownCallsDay'];this[_0x2d6d('0x31')]=_0x131751[_0x2d6d('0x31')];this[_0x2d6d('0x32')]=_0x131751[_0x2d6d('0x32')];this[_0x2d6d('0x33')]=_0x131751['predictiveIntervalAvgTalktime'];this['predictiveIntervalDroppedCallsCallersExit']=_0x131751['predictiveIntervalDroppedCallsCallersExit'];this[_0x2d6d('0x34')]=_0x131751[_0x2d6d('0x34')];this[_0x2d6d('0x35')]=_0x131751['predictiveIntervalErlangCalls'];this[_0x2d6d('0x36')]=_0x131751[_0x2d6d('0x36')];this[_0x2d6d('0x37')]=_0x131751[_0x2d6d('0x37')];this['predictiveIntervalMultiplicativeFactor']=_0x131751[_0x2d6d('0x38')];this[_0x2d6d('0x39')]=_0x131751[_0x2d6d('0x39')];this[_0x2d6d('0x3a')]=_0x131751[_0x2d6d('0x3a')];this[_0x2d6d('0x3b')]=_0x131751[_0x2d6d('0x3b')];this['originated']=_0x131751[_0x2d6d('0x7')];this[_0x2d6d('0x3c')]=_0x131751[_0x2d6d('0x3c')];this[_0x2d6d('0x3d')]=_0x131751[_0x2d6d('0x3d')];this['erlangAbandonmentRate']=_0x131751[_0x2d6d('0x3e')];this[_0x2d6d('0x3f')]=_0x131751[_0x2d6d('0x3f')];this[_0x2d6d('0x40')]=_0x131751[_0x2d6d('0x40')];this[_0x2d6d('0x41')]=_0x131751[_0x2d6d('0x41')];this[_0x2d6d('0x42')]=_0x131751[_0x2d6d('0x42')];this[_0x2d6d('0x43')]=_0x131751[_0x2d6d('0x43')];}if(_0x131751[_0x2d6d('0x44')]){this[_0x2d6d('0x44')]={'id':_0x131751[_0x2d6d('0x44')]['id'],'name':_0x131751[_0x2d6d('0x44')][_0x2d6d('0x17')],'active':_0x131751[_0x2d6d('0x44')]['active'],'callerid':_0x131751[_0x2d6d('0x44')][_0x2d6d('0x45')]};}}VoiceQueueSummary[_0x2d6d('0x46')][_0x2d6d('0x47')]=function(_0x246d6e,_0x5c15d9,_0x402578,_0x1142a6){this[_0x2d6d('0x1c')]=0x0;this[_0x2d6d('0x13')]=0x0;this['paused']=0x0;this[_0x2d6d('0x22')]=0x0;this[_0x2d6d('0x1d')]=0x0;this[_0x2d6d('0x6')]=0x0;this[_0x2d6d('0x1a')]=0x0;this[_0x2d6d('0x1b')]=0x0;this['unavailable']=0x0;this[_0x2d6d('0x3')]=0x0;this[_0x2d6d('0x1e')]=0x0;this['onHold']=0x0;if(_0x402578){if(_0x402578[_0x2d6d('0x0')]){this[_0x2d6d('0x0')]=Number(_0x402578[_0x2d6d('0x0')]);}if(_0x402578['loggedin']){this[_0x2d6d('0x1')]=Number(_0x402578[_0x2d6d('0x48')]);}if(_0x402578['callers']){this['waiting']=Number(_0x402578['callers']);}}for(var _0x7d85d6=0x0;_0x7d85d6<_0x246d6e[_0x2d6d('0x49')];_0x7d85d6++){var _0x5017c9=_0x5c15d9[_0x2d6d('0x4a')+_0x246d6e[_0x7d85d6][_0x2d6d('0x17')]];if(_0x5017c9&&_0x5017c9[_0x2d6d('0x4b')]){this[_0x2d6d('0x1c')]+=0x1;}if(_0x246d6e[_0x7d85d6]['incall']==='1'){this[_0x2d6d('0x13')]+=0x1;}if(_0x246d6e[_0x7d85d6][_0x2d6d('0x2')]==='1'&&!['2','7','8']['includes'](_0x246d6e[_0x7d85d6][_0x2d6d('0x4c')])){this[_0x2d6d('0x2')]+=0x1;}switch(_0x246d6e[_0x7d85d6][_0x2d6d('0x4c')]){case'0':this[_0x2d6d('0x22')]+=0x1;break;case'1':this[_0x2d6d('0x1d')]+=0x1;break;case'2':this[_0x2d6d('0x6')]+=0x1;break;case'3':this[_0x2d6d('0x1a')]+=0x1;break;case'4':this['invalid']+=0x1;break;case'5':this[_0x2d6d('0x21')]+=0x1;break;case'6':this[_0x2d6d('0x3')]+=0x1;break;case'7':this[_0x2d6d('0x1e')]+=0x1;break;case'8':this['onHold']+=0x1;break;}}if(this['dialMethod']===_0x2d6d('0x4d')){var _0x3f600b=Object[_0x2d6d('0x4e')](_0x1142a6);for(var _0x4e5203=0x0;_0x4e5203<_0x3f600b[_0x2d6d('0x49')];_0x4e5203++){var _0xff0b07=_0x3f600b[_0x4e5203];var _0x57bd26=_0x1142a6[_0xff0b07];if(_0x57bd26[_0x2d6d('0x4f')]===this[_0x2d6d('0x17')]&&_0x57bd26[_0x2d6d('0x20')]===_0x2d6d('0x50')&&_0x57bd26[_0x2d6d('0x51')]===_0x2d6d('0x52')){this[_0x2d6d('0x13')]+=0x1;}}if(this[_0x2d6d('0x13')]>this[_0x2d6d('0x6')]){this[_0x2d6d('0x13')]=this['inUse'];}this[_0x2d6d('0x12')]=0x0;}return this;};VoiceQueueSummary[_0x2d6d('0x46')][_0x2d6d('0x53')]=function(_0x59bacf){var _0x4b843f=![];if(_0x59bacf){_0x4b843f=INBOUND_COUNTERS[_0x2d6d('0x54')](function(_0x3738b3){return this[_0x3738b3]!==_0x59bacf[_0x3738b3];},this);}return _0x4b843f;};VoiceQueueSummary[_0x2d6d('0x46')][_0x2d6d('0x55')]=function(_0x2313e8){var _0x3ad153=![];var _0x4eb1d7=![];var _0x3131c5=![];if(_0x2313e8){_0x3ad153=this[_0x2d6d('0x26')]!==_0x2313e8['dialMethod']||this[_0x2d6d('0x25')]!==_0x2313e8[_0x2d6d('0x25')]||this['message']!==_0x2313e8[_0x2d6d('0x42')]||this[_0x2d6d('0x43')]!==_0x2313e8['statusMessage'];_0x4eb1d7=OUTBOUND_COUNTERS[_0x2d6d('0x54')](function(_0x1af749){return this[_0x1af749]!==_0x2313e8[_0x1af749];},this);if(this[_0x2d6d('0x44')]&&_0x2313e8[_0x2d6d('0x44')]){_0x3131c5=this[_0x2d6d('0x44')][_0x2d6d('0x17')]!==_0x2313e8[_0x2d6d('0x44')]['name']||this['Trunk'][_0x2d6d('0x56')]!==_0x2313e8['Trunk'][_0x2d6d('0x56')];}}return _0x3ad153||_0x4eb1d7||_0x3131c5;};VoiceQueueSummary[_0x2d6d('0x46')][_0x2d6d('0x57')]=function(_0x5409f6){this[_0x2d6d('0x5')]=_0x5409f6['answered'];this[_0x2d6d('0x42')]=_0x5409f6[_0x2d6d('0x42')];this[_0x2d6d('0x43')]=_0x5409f6[_0x2d6d('0x43')];this[_0x2d6d('0x7')]=_0x5409f6[_0x2d6d('0x7')];this[_0x2d6d('0x8')]=_0x5409f6[_0x2d6d('0x8')];this['outboundAnswerCallsDay']=_0x5409f6[_0x2d6d('0x9')];this[_0x2d6d('0xa')]=_0x5409f6[_0x2d6d('0xa')];this['outboundBusyCallsDay']=_0x5409f6['outboundBusyCallsDay'];this['outboundCongestionCallsDay']=_0x5409f6[_0x2d6d('0xc')];this['outboundNoAnswerCallsDay']=_0x5409f6[_0x2d6d('0xd')];this[_0x2d6d('0xe')]=_0x5409f6[_0x2d6d('0xe')];this[_0x2d6d('0xf')]=_0x5409f6[_0x2d6d('0xf')];this[_0x2d6d('0x10')]=_0x5409f6['outboundRejectCallsDay'];this[_0x2d6d('0x11')]=_0x5409f6[_0x2d6d('0x11')];this[_0x2d6d('0x14')]=_0x5409f6[_0x2d6d('0x14')];this[_0x2d6d('0x15')]=_0x5409f6[_0x2d6d('0x15')];this['total']=_0x5409f6[_0x2d6d('0x16')];if(this[_0x2d6d('0x26')]===_0x2d6d('0x58')){this[_0x2d6d('0x12')]=_0x5409f6['pTalking'];}};module[_0x2d6d('0x59')]=VoiceQueueSummary;