Built motion from commit efa66e19.|2.6.22
[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 _0x8375=['dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','temp','outboundAnswerAgiCallsDay','outboundBlacklistCallsDay','outboundDropCallsDayACS','outboundDropCallsDayTimeout','outboundOriginateFailureCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','message','statusMessage','Trunk','active','prototype','createReport','loggedin','callers','length','SIP/','incall','includes','status','booked','keys','queue','dialer','exten','compareToInboundQueue','some','compareToOutboundQueue','preview','exports','loggedIn','loggedInDb','paused','ringing','talking','waiting','answered','inUse','originated','outboundAbandonedCallsDay','outboundAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','pTalking','sumBillable','sumDuration','name','strategy','abandoned','available','busy','invalid','onHold','notInUse','ringInUse','total','type','unavailable','unknown','unmanaged','dialActive','dialMethod','dialOriginateCallerIdName'];(function(_0x1e267d,_0x42a1cf){var _0x416bb4=function(_0x8326a0){while(--_0x8326a0){_0x1e267d['push'](_0x1e267d['shift']());}};_0x416bb4(++_0x42a1cf);}(_0x8375,0x132));var _0x5837=function(_0x54fdd2,_0x491940){_0x54fdd2=_0x54fdd2-0x0;var _0x5e26ba=_0x8375[_0x54fdd2];return _0x5e26ba;};'use strict';var INBOUND_COUNTERS=['available',_0x5837('0x0'),_0x5837('0x1'),_0x5837('0x2'),_0x5837('0x3'),_0x5837('0x4'),_0x5837('0x5')];var OUTBOUND_COUNTERS=['available',_0x5837('0x6'),_0x5837('0x7'),'loggedIn',_0x5837('0x1'),_0x5837('0x8'),_0x5837('0x9'),_0x5837('0xa'),'outboundBlacklistCallsDay',_0x5837('0xb'),_0x5837('0xc'),_0x5837('0xd'),_0x5837('0xe'),_0x5837('0xf'),_0x5837('0x10'),_0x5837('0x11'),_0x5837('0x2'),_0x5837('0x12'),'talking',_0x5837('0x13'),_0x5837('0x14'),'total',_0x5837('0x5')];function VoiceQueueSummary(_0x3967d7){this['id']=_0x3967d7['id'];this['name']=_0x3967d7[_0x5837('0x15')];this['strategy']=_0x3967d7[_0x5837('0x16')];this[_0x5837('0x17')]=_0x3967d7[_0x5837('0x17')]||0x0;this[_0x5837('0x6')]=_0x3967d7['answered']||0x0;this[_0x5837('0x18')]=_0x3967d7[_0x5837('0x18')]||0x0;this[_0x5837('0x19')]=_0x3967d7['busy']||0x0;this[_0x5837('0x7')]=_0x3967d7[_0x5837('0x7')]||0x0;this[_0x5837('0x1a')]=_0x3967d7[_0x5837('0x1a')]||0x0;this[_0x5837('0x0')]=_0x3967d7[_0x5837('0x0')]||0x0;this['loggedInDb']=_0x3967d7['loggedInDb']||0x0;this['onHold']=_0x3967d7[_0x5837('0x1b')]||0x0;this[_0x5837('0x1c')]=_0x3967d7[_0x5837('0x1c')]||0x0;this[_0x5837('0x2')]=_0x3967d7[_0x5837('0x2')]||0x0;this[_0x5837('0x3')]=_0x3967d7[_0x5837('0x3')]||0x0;this['ringInUse']=_0x3967d7[_0x5837('0x1d')];this[_0x5837('0x13')]=_0x3967d7[_0x5837('0x13')];this[_0x5837('0x14')]=_0x3967d7[_0x5837('0x14')];this['sumHoldTime']=_0x3967d7['sumHoldTime']||0x0;this[_0x5837('0x4')]=_0x3967d7[_0x5837('0x4')]||0x0;this[_0x5837('0x1e')]=_0x3967d7['total']||0x0;this[_0x5837('0x1f')]=_0x3967d7[_0x5837('0x1f')];this['unavailable']=_0x3967d7[_0x5837('0x20')]||0x0;this[_0x5837('0x21')]=_0x3967d7['unknown']||0x0;this[_0x5837('0x22')]=_0x3967d7[_0x5837('0x22')]||0x0;this[_0x5837('0x5')]=_0x3967d7['waiting']||0x0;if(_0x3967d7[_0x5837('0x1f')]==='outbound'){this[_0x5837('0x12')]=_0x3967d7[_0x5837('0x12')]||0x0;this[_0x5837('0x23')]=_0x3967d7[_0x5837('0x23')];this[_0x5837('0x24')]=_0x3967d7[_0x5837('0x24')];this[_0x5837('0x25')]=_0x3967d7[_0x5837('0x25')];this[_0x5837('0x26')]=_0x3967d7[_0x5837('0x26')];this[_0x5837('0x27')]=_0x3967d7[_0x5837('0x27')];this[_0x5837('0x28')]=_0x3967d7[_0x5837('0x28')];this[_0x5837('0x29')]=_0x3967d7['temp'];this[_0x5837('0x2a')]=_0x3967d7[_0x5837('0x2a')];this[_0x5837('0xa')]=_0x3967d7[_0x5837('0xa')];this[_0x5837('0x2b')]=_0x3967d7[_0x5837('0x2b')];this[_0x5837('0xb')]=_0x3967d7['outboundBusyCallsDay'];this[_0x5837('0xc')]=_0x3967d7[_0x5837('0xc')];this[_0x5837('0x2c')]=_0x3967d7[_0x5837('0x2c')];this['outboundDropCallsDayCallersExit']=_0x3967d7['outboundDropCallsDayCallersExit'];this[_0x5837('0x2d')]=_0x3967d7[_0x5837('0x2d')];this[_0x5837('0xd')]=_0x3967d7['outboundNoAnswerCallsDay'];this[_0x5837('0xe')]=_0x3967d7[_0x5837('0xe')];this[_0x5837('0x2e')]=_0x3967d7[_0x5837('0x2e')];this[_0x5837('0xf')]=_0x3967d7[_0x5837('0xf')];this['outboundRejectCallsDay']=_0x3967d7[_0x5837('0x10')];this[_0x5837('0x11')]=_0x3967d7['outboundUnknownCallsDay'];this[_0x5837('0x2f')]=_0x3967d7[_0x5837('0x2f')];this[_0x5837('0x30')]=_0x3967d7['predictiveIntervalAvgHoldtime'];this['predictiveIntervalAvgTalktime']=_0x3967d7['predictiveIntervalAvgTalktime'];this['predictiveIntervalDroppedCallsCallersExit']=_0x3967d7[_0x5837('0x31')];this['predictiveIntervalDroppedCallsTimeout']=_0x3967d7['predictiveIntervalDroppedCallsTimeout'];this[_0x5837('0x32')]=_0x3967d7[_0x5837('0x32')];this['predictiveIntervalErlangCallsDroppedCalls']=_0x3967d7[_0x5837('0x33')];this['predictiveIntervalHitRate']=_0x3967d7[_0x5837('0x34')];this[_0x5837('0x35')]=_0x3967d7['predictiveIntervalMultiplicativeFactor'];this[_0x5837('0x36')]=_0x3967d7[_0x5837('0x36')];this['predictiveIntervalAvailable']=_0x3967d7[_0x5837('0x37')];this['predictiveIntervalTotalCalls']=_0x3967d7[_0x5837('0x38')];this['originated']=_0x3967d7['originated'];this[_0x5837('0x39')]=_0x3967d7[_0x5837('0x39')];this[_0x5837('0x3a')]=_0x3967d7[_0x5837('0x3a')];this[_0x5837('0x3b')]=_0x3967d7['erlangAbandonmentRate'];this[_0x5837('0x3c')]=_0x3967d7['erlangBusyFactor'];this['startPredictive']=_0x3967d7[_0x5837('0x3d')];this[_0x5837('0x3e')]=_0x3967d7['startProgressive'];this[_0x5837('0x3f')]=_0x3967d7[_0x5837('0x3f')];this[_0x5837('0x40')]=_0x3967d7[_0x5837('0x40')];}if(_0x3967d7[_0x5837('0x41')]){this[_0x5837('0x41')]={'id':_0x3967d7[_0x5837('0x41')]['id'],'name':_0x3967d7[_0x5837('0x41')][_0x5837('0x15')],'active':_0x3967d7['Trunk'][_0x5837('0x42')],'callerid':_0x3967d7['Trunk']['callerid']};}}VoiceQueueSummary[_0x5837('0x43')][_0x5837('0x44')]=function(_0x5e6916,_0x151bb1,_0x1a5784,_0x28701f){this[_0x5837('0x1')]=0x0;this['talking']=0x0;this[_0x5837('0x2')]=0x0;this[_0x5837('0x21')]=0x0;this[_0x5837('0x1c')]=0x0;this[_0x5837('0x7')]=0x0;this[_0x5837('0x19')]=0x0;this['invalid']=0x0;this[_0x5837('0x20')]=0x0;this[_0x5837('0x3')]=0x0;this[_0x5837('0x1d')]=0x0;this['onHold']=0x0;if(_0x1a5784){if(_0x1a5784[_0x5837('0x18')]){this[_0x5837('0x18')]=Number(_0x1a5784[_0x5837('0x18')]);}if(_0x1a5784[_0x5837('0x45')]){this[_0x5837('0x0')]=Number(_0x1a5784[_0x5837('0x45')]);}if(_0x1a5784[_0x5837('0x46')]){this[_0x5837('0x5')]=Number(_0x1a5784[_0x5837('0x46')]);}}for(var _0x2be601=0x0;_0x2be601<_0x5e6916[_0x5837('0x47')];_0x2be601++){var _0x4b5351=_0x151bb1[_0x5837('0x48')+_0x5e6916[_0x2be601][_0x5837('0x15')]];if(_0x4b5351&&_0x4b5351['online']){this['loggedInDb']+=0x1;}if(_0x5e6916[_0x2be601][_0x5837('0x49')]==='1'){this['talking']+=0x1;}if(_0x5e6916[_0x2be601][_0x5837('0x2')]==='1'&&!['2','7','8'][_0x5837('0x4a')](_0x5e6916[_0x2be601][_0x5837('0x4b')])){this[_0x5837('0x2')]+=0x1;}switch(_0x5e6916[_0x2be601]['status']){case'0':this[_0x5837('0x21')]+=0x1;break;case'1':this[_0x5837('0x1c')]+=0x1;break;case'2':this[_0x5837('0x7')]+=0x1;break;case'3':this[_0x5837('0x19')]+=0x1;break;case'4':this[_0x5837('0x1a')]+=0x1;break;case'5':this[_0x5837('0x20')]+=0x1;break;case'6':this[_0x5837('0x3')]+=0x1;break;case'7':this[_0x5837('0x1d')]+=0x1;break;case'8':this[_0x5837('0x1b')]+=0x1;break;}}if(this['dialMethod']===_0x5837('0x4c')){var _0x453f4b=Object[_0x5837('0x4d')](_0x28701f);for(var _0x16f12f=0x0;_0x16f12f<_0x453f4b[_0x5837('0x47')];_0x16f12f++){var _0x30a9fc=_0x453f4b[_0x16f12f];var _0x5cbf61=_0x28701f[_0x30a9fc];if(_0x5cbf61[_0x5837('0x4e')]===this[_0x5837('0x15')]&&_0x5cbf61[_0x5837('0x1f')]===_0x5837('0x4f')&&_0x5cbf61[_0x5837('0x50')]==='xcally-motion-preview'){this[_0x5837('0x4')]+=0x1;}}if(this['talking']>this[_0x5837('0x7')]){this[_0x5837('0x4')]=this[_0x5837('0x7')];}this['pTalking']=0x0;}return this;};VoiceQueueSummary[_0x5837('0x43')][_0x5837('0x51')]=function(_0x3f29a8){var _0x34028e=![];if(_0x3f29a8){_0x34028e=INBOUND_COUNTERS[_0x5837('0x52')](function(_0x424d59){return this[_0x424d59]!==_0x3f29a8[_0x424d59];},this);}return _0x34028e;};VoiceQueueSummary[_0x5837('0x43')][_0x5837('0x53')]=function(_0x3fa101){var _0x4fb67d=![];var _0x5bed24=![];var _0x3a26c1=![];if(_0x3fa101){_0x4fb67d=this[_0x5837('0x24')]!==_0x3fa101['dialMethod']||this['dialActive']!==_0x3fa101[_0x5837('0x23')]||this[_0x5837('0x3f')]!==_0x3fa101[_0x5837('0x3f')]||this[_0x5837('0x40')]!==_0x3fa101[_0x5837('0x40')];_0x5bed24=OUTBOUND_COUNTERS['some'](function(_0x3d443d){return this[_0x3d443d]!==_0x3fa101[_0x3d443d];},this);if(this[_0x5837('0x41')]&&_0x3fa101[_0x5837('0x41')]){_0x3a26c1=this['Trunk']['name']!==_0x3fa101[_0x5837('0x41')][_0x5837('0x15')]||this[_0x5837('0x41')][_0x5837('0x42')]!==_0x3fa101['Trunk'][_0x5837('0x42')];}}return _0x4fb67d||_0x5bed24||_0x3a26c1;};VoiceQueueSummary['prototype']['updateReportFromOutboundQueue']=function(_0x45e84b){this[_0x5837('0x6')]=_0x45e84b['answered'];this[_0x5837('0x3f')]=_0x45e84b[_0x5837('0x3f')];this[_0x5837('0x40')]=_0x45e84b['statusMessage'];this[_0x5837('0x8')]=_0x45e84b[_0x5837('0x8')];this[_0x5837('0x9')]=_0x45e84b[_0x5837('0x9')];this[_0x5837('0xa')]=_0x45e84b['outboundAnswerCallsDay'];this[_0x5837('0x2b')]=_0x45e84b[_0x5837('0x2b')];this['outboundBusyCallsDay']=_0x45e84b[_0x5837('0xb')];this[_0x5837('0xc')]=_0x45e84b['outboundCongestionCallsDay'];this[_0x5837('0xd')]=_0x45e84b['outboundNoAnswerCallsDay'];this[_0x5837('0xe')]=_0x45e84b[_0x5837('0xe')];this['outboundReCallsDay']=_0x45e84b['outboundReCallsDay'];this[_0x5837('0x10')]=_0x45e84b[_0x5837('0x10')];this['outboundUnknownCallsDay']=_0x45e84b['outboundUnknownCallsDay'];this['sumBillable']=_0x45e84b[_0x5837('0x13')];this[_0x5837('0x14')]=_0x45e84b[_0x5837('0x14')];this[_0x5837('0x1e')]=_0x45e84b[_0x5837('0x1e')];if(this['dialMethod']===_0x5837('0x54')){this[_0x5837('0x12')]=_0x45e84b[_0x5837('0x12')];}};module[_0x5837('0x55')]=VoiceQueueSummary;