Built motion from commit eddce310.|2.6.12
[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 _0xf23b=['unavailable','unknown','pTalking','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','temp','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundOriginateFailureCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalTotalCalls','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','message','statusMessage','Trunk','active','notInUse','loggedin','callers','length','SIP/','online','incall','includes','status','booked','queue','dialer','prototype','compareToInboundQueue','some','compareToOutboundQueue','outboundBlacklistCallsDay','preview','available','loggedIn','loggedInDb','paused','ringing','waiting','answered','originated','outboundAbandonedCallsDay','outboundAnswerCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','talking','sumBillable','sumDuration','total','name','strategy','abandoned','busy','inUse','invalid','onHold','ringInUse','sumHoldTime','type'];(function(_0xeeb6af,_0x1d8e07){var _0x1b6858=function(_0x452807){while(--_0x452807){_0xeeb6af['push'](_0xeeb6af['shift']());}};_0x1b6858(++_0x1d8e07);}(_0xf23b,0x133));var _0xbf23=function(_0x209b05,_0x4f9fe9){_0x209b05=_0x209b05-0x0;var _0x30c7d8=_0xf23b[_0x209b05];return _0x30c7d8;};'use strict';var INBOUND_COUNTERS=[_0xbf23('0x0'),_0xbf23('0x1'),_0xbf23('0x2'),_0xbf23('0x3'),_0xbf23('0x4'),'talking',_0xbf23('0x5')];var OUTBOUND_COUNTERS=[_0xbf23('0x0'),_0xbf23('0x6'),'inUse',_0xbf23('0x1'),_0xbf23('0x2'),_0xbf23('0x7'),_0xbf23('0x8'),_0xbf23('0x9'),'outboundBlacklistCallsDay','outboundBusyCallsDay',_0xbf23('0xa'),'outboundNoAnswerCallsDay',_0xbf23('0xb'),_0xbf23('0xc'),_0xbf23('0xd'),_0xbf23('0xe'),_0xbf23('0x3'),'pTalking',_0xbf23('0xf'),_0xbf23('0x10'),_0xbf23('0x11'),_0xbf23('0x12'),_0xbf23('0x5')];function VoiceQueueSummary(_0x41b016){this['id']=_0x41b016['id'];this['name']=_0x41b016[_0xbf23('0x13')];this['strategy']=_0x41b016[_0xbf23('0x14')];this['abandoned']=_0x41b016[_0xbf23('0x15')]||0x0;this[_0xbf23('0x6')]=_0x41b016['answered']||0x0;this[_0xbf23('0x0')]=_0x41b016['available']||0x0;this['busy']=_0x41b016[_0xbf23('0x16')]||0x0;this[_0xbf23('0x17')]=_0x41b016['inUse']||0x0;this['invalid']=_0x41b016[_0xbf23('0x18')]||0x0;this['loggedIn']=_0x41b016[_0xbf23('0x1')]||0x0;this[_0xbf23('0x2')]=_0x41b016[_0xbf23('0x2')]||0x0;this[_0xbf23('0x19')]=_0x41b016['onHold']||0x0;this['notInUse']=_0x41b016['notInUse']||0x0;this[_0xbf23('0x3')]=_0x41b016[_0xbf23('0x3')]||0x0;this[_0xbf23('0x4')]=_0x41b016[_0xbf23('0x4')]||0x0;this['ringInUse']=_0x41b016[_0xbf23('0x1a')];this[_0xbf23('0x10')]=_0x41b016[_0xbf23('0x10')];this['sumDuration']=_0x41b016[_0xbf23('0x11')];this[_0xbf23('0x1b')]=_0x41b016[_0xbf23('0x1b')]||0x0;this[_0xbf23('0xf')]=_0x41b016['talking']||0x0;this[_0xbf23('0x12')]=_0x41b016['total']||0x0;this[_0xbf23('0x1c')]=_0x41b016['type'];this[_0xbf23('0x1d')]=_0x41b016[_0xbf23('0x1d')]||0x0;this[_0xbf23('0x1e')]=_0x41b016[_0xbf23('0x1e')]||0x0;this['unmanaged']=_0x41b016['unmanaged']||0x0;this['waiting']=_0x41b016[_0xbf23('0x5')]||0x0;if(_0x41b016[_0xbf23('0x1c')]==='outbound'){this['pTalking']=_0x41b016[_0xbf23('0x1f')]||0x0;this[_0xbf23('0x20')]=_0x41b016[_0xbf23('0x20')];this[_0xbf23('0x21')]=_0x41b016[_0xbf23('0x21')];this[_0xbf23('0x22')]=_0x41b016[_0xbf23('0x22')];this[_0xbf23('0x23')]=_0x41b016[_0xbf23('0x23')];this[_0xbf23('0x24')]=_0x41b016[_0xbf23('0x24')];this['dialPrefix']=_0x41b016['dialPrefix'];this[_0xbf23('0x25')]=_0x41b016['temp'];this[_0xbf23('0x26')]=_0x41b016[_0xbf23('0x26')];this['outboundAnswerCallsDay']=_0x41b016[_0xbf23('0x9')];this['outboundBlacklistCallsDay']=_0x41b016['outboundBlacklistCallsDay'];this[_0xbf23('0x27')]=_0x41b016['outboundBusyCallsDay'];this[_0xbf23('0xa')]=_0x41b016[_0xbf23('0xa')];this[_0xbf23('0x28')]=_0x41b016[_0xbf23('0x28')];this[_0xbf23('0x29')]=_0x41b016[_0xbf23('0x29')];this[_0xbf23('0x2a')]=_0x41b016[_0xbf23('0x2a')];this['outboundNoAnswerCallsDay']=_0x41b016[_0xbf23('0x2b')];this[_0xbf23('0xb')]=_0x41b016['outboundNoSuchCallsDay'];this['outboundOriginateFailureCallsDay']=_0x41b016[_0xbf23('0x2c')];this['outboundReCallsDay']=_0x41b016[_0xbf23('0xc')];this[_0xbf23('0xd')]=_0x41b016[_0xbf23('0xd')];this[_0xbf23('0xe')]=_0x41b016[_0xbf23('0xe')];this[_0xbf23('0x2d')]=_0x41b016['predictiveIntervalAnsweredCalls'];this['predictiveIntervalAvgHoldtime']=_0x41b016[_0xbf23('0x2e')];this[_0xbf23('0x2f')]=_0x41b016['predictiveIntervalAvgTalktime'];this[_0xbf23('0x30')]=_0x41b016['predictiveIntervalDroppedCallsCallersExit'];this['predictiveIntervalDroppedCallsTimeout']=_0x41b016[_0xbf23('0x31')];this[_0xbf23('0x32')]=_0x41b016[_0xbf23('0x32')];this[_0xbf23('0x33')]=_0x41b016['predictiveIntervalErlangCallsDroppedCalls'];this[_0xbf23('0x34')]=_0x41b016[_0xbf23('0x34')];this[_0xbf23('0x35')]=_0x41b016[_0xbf23('0x35')];this[_0xbf23('0x36')]=_0x41b016['predictiveIntervalPauses'];this['predictiveIntervalAvailable']=_0x41b016['predictiveIntervalAvailable'];this[_0xbf23('0x37')]=_0x41b016[_0xbf23('0x37')];this['originated']=_0x41b016['originated'];this[_0xbf23('0x38')]=_0x41b016[_0xbf23('0x38')];this['erlangCallToSecond']=_0x41b016[_0xbf23('0x39')];this[_0xbf23('0x3a')]=_0x41b016['erlangAbandonmentRate'];this[_0xbf23('0x3b')]=_0x41b016[_0xbf23('0x3b')];this[_0xbf23('0x3c')]=_0x41b016['startPredictive'];this['startProgressive']=_0x41b016[_0xbf23('0x3d')];this[_0xbf23('0x3e')]=_0x41b016[_0xbf23('0x3e')];this[_0xbf23('0x3f')]=_0x41b016[_0xbf23('0x3f')];}if(_0x41b016[_0xbf23('0x40')]){this['Trunk']={'id':_0x41b016[_0xbf23('0x40')]['id'],'name':_0x41b016['Trunk'][_0xbf23('0x13')],'active':_0x41b016[_0xbf23('0x40')][_0xbf23('0x41')],'callerid':_0x41b016[_0xbf23('0x40')]['callerid']};}}VoiceQueueSummary['prototype']['createReport']=function(_0x5614b3,_0x416c17,_0x59ff19,_0xcb5dc5){this[_0xbf23('0x2')]=0x0;this['talking']=0x0;this[_0xbf23('0x3')]=0x0;this[_0xbf23('0x1e')]=0x0;this[_0xbf23('0x42')]=0x0;this[_0xbf23('0x17')]=0x0;this[_0xbf23('0x16')]=0x0;this[_0xbf23('0x18')]=0x0;this['unavailable']=0x0;this['ringing']=0x0;this[_0xbf23('0x1a')]=0x0;this[_0xbf23('0x19')]=0x0;if(_0x59ff19){if(_0x59ff19[_0xbf23('0x0')]){this[_0xbf23('0x0')]=Number(_0x59ff19['available']);}if(_0x59ff19['loggedin']){this['loggedIn']=Number(_0x59ff19[_0xbf23('0x43')]);}if(_0x59ff19[_0xbf23('0x44')]){this[_0xbf23('0x5')]=Number(_0x59ff19[_0xbf23('0x44')]);}}for(var _0x40e3af=0x0;_0x40e3af<_0x5614b3[_0xbf23('0x45')];_0x40e3af++){var _0x508a39=_0x416c17[_0xbf23('0x46')+_0x5614b3[_0x40e3af]['name']];if(_0x508a39&&_0x508a39[_0xbf23('0x47')]){this[_0xbf23('0x2')]+=0x1;}if(_0x5614b3[_0x40e3af][_0xbf23('0x48')]==='1'){this[_0xbf23('0xf')]+=0x1;}if(_0x5614b3[_0x40e3af][_0xbf23('0x3')]==='1'&&!['2','7','8'][_0xbf23('0x49')](_0x5614b3[_0x40e3af][_0xbf23('0x4a')])){this[_0xbf23('0x3')]+=0x1;}switch(_0x5614b3[_0x40e3af]['status']){case'0':this[_0xbf23('0x1e')]+=0x1;break;case'1':this['notInUse']+=0x1;break;case'2':this[_0xbf23('0x17')]+=0x1;break;case'3':this[_0xbf23('0x16')]+=0x1;break;case'4':this[_0xbf23('0x18')]+=0x1;break;case'5':this['unavailable']+=0x1;break;case'6':this[_0xbf23('0x4')]+=0x1;break;case'7':this[_0xbf23('0x1a')]+=0x1;break;case'8':this[_0xbf23('0x19')]+=0x1;break;}}if(this['dialMethod']===_0xbf23('0x4b')){var _0x425122=Object['keys'](_0xcb5dc5);for(var _0x4c7254=0x0;_0x4c7254<_0x425122[_0xbf23('0x45')];_0x4c7254++){var _0x376272=_0x425122[_0x4c7254];var _0x38f9f1=_0xcb5dc5[_0x376272];if(_0x38f9f1[_0xbf23('0x4c')]===this[_0xbf23('0x13')]&&_0x38f9f1['type']===_0xbf23('0x4d')&&_0x38f9f1['exten']==='xcally-motion-preview'){this[_0xbf23('0xf')]+=0x1;}}if(this[_0xbf23('0xf')]>this[_0xbf23('0x17')]){this[_0xbf23('0xf')]=this[_0xbf23('0x17')];}this[_0xbf23('0x1f')]=0x0;}return this;};VoiceQueueSummary[_0xbf23('0x4e')][_0xbf23('0x4f')]=function(_0x777a67){var _0x18cc14=![];if(_0x777a67){_0x18cc14=INBOUND_COUNTERS[_0xbf23('0x50')](function(_0x49f8be){return this[_0x49f8be]!==_0x777a67[_0x49f8be];},this);}return _0x18cc14;};VoiceQueueSummary[_0xbf23('0x4e')][_0xbf23('0x51')]=function(_0x23775c){var _0x42f9a5=![];var _0x35eff9=![];var _0x4de377=![];if(_0x23775c){_0x42f9a5=this[_0xbf23('0x21')]!==_0x23775c['dialMethod']||this['dialActive']!==_0x23775c[_0xbf23('0x20')]||this[_0xbf23('0x3e')]!==_0x23775c[_0xbf23('0x3e')]||this[_0xbf23('0x3f')]!==_0x23775c['statusMessage'];_0x35eff9=OUTBOUND_COUNTERS[_0xbf23('0x50')](function(_0x103825){return this[_0x103825]!==_0x23775c[_0x103825];},this);if(this['Trunk']&&_0x23775c[_0xbf23('0x40')]){_0x4de377=this[_0xbf23('0x40')][_0xbf23('0x13')]!==_0x23775c[_0xbf23('0x40')][_0xbf23('0x13')]||this[_0xbf23('0x40')][_0xbf23('0x41')]!==_0x23775c['Trunk']['active'];}}return _0x42f9a5||_0x35eff9||_0x4de377;};VoiceQueueSummary['prototype']['updateReportFromOutboundQueue']=function(_0x294679){this[_0xbf23('0x6')]=_0x294679[_0xbf23('0x6')];this['message']=_0x294679['message'];this[_0xbf23('0x3f')]=_0x294679['statusMessage'];this[_0xbf23('0x7')]=_0x294679[_0xbf23('0x7')];this[_0xbf23('0x8')]=_0x294679[_0xbf23('0x8')];this[_0xbf23('0x9')]=_0x294679['outboundAnswerCallsDay'];this['outboundBlacklistCallsDay']=_0x294679[_0xbf23('0x52')];this['outboundBusyCallsDay']=_0x294679[_0xbf23('0x27')];this[_0xbf23('0xa')]=_0x294679['outboundCongestionCallsDay'];this[_0xbf23('0x2b')]=_0x294679[_0xbf23('0x2b')];this[_0xbf23('0xb')]=_0x294679[_0xbf23('0xb')];this[_0xbf23('0xc')]=_0x294679[_0xbf23('0xc')];this[_0xbf23('0xd')]=_0x294679[_0xbf23('0xd')];this[_0xbf23('0xe')]=_0x294679[_0xbf23('0xe')];this[_0xbf23('0x10')]=_0x294679[_0xbf23('0x10')];this[_0xbf23('0x11')]=_0x294679[_0xbf23('0x11')];this[_0xbf23('0x12')]=_0x294679[_0xbf23('0x12')];if(this['dialMethod']===_0xbf23('0x53')){this[_0xbf23('0x1f')]=_0x294679['pTalking'];}};module['exports']=VoiceQueueSummary;