80d5591cb14f4411518d8ce66441183624fa53bd
[motion2.git] / server / services / ami / report / voiceQueueReport.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 _0xc346=['membercalls','memberdynamic','memberinterface','memberlastcall','memberrealtime','includes','syncHangup','length','sumHoldTime','diff','milliseconds','custom:queuecallerunmanaged','lastevent','transfereeuniqueid','secondtransfererexten','secondtransfereruniqueid','ATTENDEDTRANSFER','transfertype','transfertargetuniqueid','origtransfererexten','origtransfereruniqueid','ATTENDED','[syncAttendedTransfer][VoiceQueueReport]','BLINDTRANSFER','BLIND','extension','BlindTransfer','context','transfererchannel','[syncBlindTransfer][VoiceQueueReport]','mohstarttime','[syncMusicOnHoldStart][VoiceQueueReport]','syncMusicOnHoldStop','mohtime','lodash','moment','bluebird','util','ioredis','../../../config/logger','ami','../model/queueReport','redis','localhost','prototype','enqueue','tail','finally','sequence','queueReports','agents','channels','queueChannels','voiceQueues','campaigns','variables','queuesummary','syncQueueSummary','queuesummarycomplete','syncQueueSummaryComplete','syncQueueCallerJoin','bind','syncQueueCallerAbandon','queuecallerleave','syncQueueCallerLeave','agentcomplete','agentconnect','syncAgentConnect','hangup','syncFullyBooted','musiconholdstart','syncMusicOnHoldStart','musiconholdstop','attendedtransfer','syncAttendedTransfer','blindtransfer','syncBlindTransfer','loopQueueSummary','loopQueueShow','isUndefined','isEmpty','hasOwnProperty','originated','pTalking','waiting','queueStatusComplete','unlockRR','clearZombieChannels','switch','isNil','Action','channel','catch','message','No\x20such\x20channel','error','[voiceQueueReport][checkChannel]','[voiceQueueReport][checkVariables]','[FullyBooted]\x20clear\x20realtime','clearQueueReport','emitVoiceQueueChannelRemove','inspect','emit','format','voice:queue:%s','name','voice_queue_channel:save','emitVoiceQueueSummary','inbound','strategy','answered','sumBillable','sumDuration','talking','total','unmanaged','abandoned','Trunk','active','callerid','Interval','md5','isNotNull','queues','[queuesummary]','queue','toNumber','callers','loggedIn','loggedin','available','custom:queuesummary','[syncQueueSummary][VoiceQueueReport]','flagQueueSummary','syncNewExten','uniqueid','type','YYYY-MM-DD\x20HH:mm:ss','position','count','merge','[syncQueueCallerJoin][VoiceQueueReport]','last','queuecallercompleteAt','holdtime','originalposition','ABANDONED','[syncQueueCallerAbandon][VoiceQueueReport]','queuecallerleaveAt','connectedlinenum','connectedlinename','emitVoiceQueueChannelSave','[syncQueueCallerLeave][VoiceQueueReport]','queuecallercomplete','[syncAgentConnect][VoiceQueueReport]','queuecallerabandonAt','lastAssignedTo','membername','queuecallerexitAt','reason','transfer','COMPLETED','startsWith','local/','linkedid','queuecallerexit','queuecallerjoinAt','add','seconds','queuecallerexitreason','FORWARDTRANSFER','FORWARD','transferexten','destexten','transferuniqueid','COMPLETEDBY','toUpperCase','[syncAgentComplete][VoiceQueueReport]','syncVarSet','addVariable','keys','variable','value','queuecallerabandon','queueposition','EXITWITHKEY','[syncVarSet][VoiceQueueReport]','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','sipcallid','bridgepeer','bridgepvtcallid'];(function(_0x53f04f,_0x419aa8){var _0x16a824=function(_0x5712c9){while(--_0x5712c9){_0x53f04f['push'](_0x53f04f['shift']());}};_0x16a824(++_0x419aa8);}(_0xc346,0xe7));var _0x6c34=function(_0x3f4d65,_0x4c2b45){_0x3f4d65=_0x3f4d65-0x0;var _0x1b00ac=_0xc346[_0x3f4d65];return _0x1b00ac;};'use strict';var _=require(_0x6c34('0x0'));var moment=require(_0x6c34('0x1'));var BPromise=require(_0x6c34('0x2'));var util=require(_0x6c34('0x3'));var md5=require('md5');var Redis=require(_0x6c34('0x4'));var config=require('../../../config/environment');var logger=require(_0x6c34('0x5'))(_0x6c34('0x6'));var ami=require('../ami');var QueueReport=require(_0x6c34('0x7'));config['redis']=_['defaults'](config[_0x6c34('0x8')],{'host':_0x6c34('0x9'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));var Sequence=function(){};Sequence[_0x6c34('0xa')][_0x6c34('0xb')]=function(_0x5c9ca7){this[_0x6c34('0xc')]=this[_0x6c34('0xc')]?this[_0x6c34('0xc')][_0x6c34('0xd')](_0x5c9ca7):_0x5c9ca7();};function VoiceQueueReport(_0x5cc8f1){this[_0x6c34('0xe')]=new Sequence();this[_0x6c34('0xf')]={};this[_0x6c34('0x10')]=_0x5cc8f1[_0x6c34('0x10')];this[_0x6c34('0x11')]=_0x5cc8f1[_0x6c34('0x12')];this[_0x6c34('0x13')]=_0x5cc8f1[_0x6c34('0x13')];this['flagQueueSummary']=!![];this['campaigns']=_0x5cc8f1[_0x6c34('0x14')];this[_0x6c34('0x15')]={};ami['on'](_0x6c34('0x16'),this[_0x6c34('0x17')]['bind'](this));ami['on'](_0x6c34('0x18'),this[_0x6c34('0x19')]['bind'](this));ami['on']('queuecallerjoin',this[_0x6c34('0x1a')][_0x6c34('0x1b')](this));ami['on']('queuecallerabandon',this[_0x6c34('0x1c')][_0x6c34('0x1b')](this));ami['on'](_0x6c34('0x1d'),this[_0x6c34('0x1e')][_0x6c34('0x1b')](this));ami['on'](_0x6c34('0x1f'),this['syncAgentComplete'][_0x6c34('0x1b')](this));ami['on'](_0x6c34('0x20'),this[_0x6c34('0x21')]['bind'](this));ami['on']('varset',this['syncVarSet']['bind'](this));ami['on'](_0x6c34('0x22'),this['syncHangup']['bind'](this));ami['on']('fullybooted',this[_0x6c34('0x23')][_0x6c34('0x1b')](this));ami['on'](_0x6c34('0x24'),this[_0x6c34('0x25')][_0x6c34('0x1b')](this));ami['on'](_0x6c34('0x26'),this['syncMusicOnHoldStop'][_0x6c34('0x1b')](this));ami['on'](_0x6c34('0x27'),this[_0x6c34('0x28')][_0x6c34('0x1b')](this));ami['on'](_0x6c34('0x29'),this[_0x6c34('0x2a')][_0x6c34('0x1b')](this));this[_0x6c34('0x2b')]();this[_0x6c34('0x2c')]();}function isNotNull(_0x33328a){return _0x33328a!==null&&!_[_0x6c34('0x2d')](_0x33328a);}function clearChannels(_0x322207){if(!_[_0x6c34('0x2e')](_0x322207)){for(var _0x1ff725 in _0x322207){if(_0x322207[_0x6c34('0x2f')](_0x1ff725)){delete _0x322207[_0x1ff725];}}}}function clearCampaigns(_0x5c9bca){if(!_[_0x6c34('0x2e')](_0x5c9bca)){for(var _0x476988 in _0x5c9bca){if(_0x5c9bca[_0x6c34('0x2f')](_0x476988)){_0x5c9bca[_0x476988][_0x6c34('0x30')]=0x0;}}}}function clearVoiceQueues(_0x565149){if(!_[_0x6c34('0x2e')](_0x565149)){for(var _0x2cea3f in _0x565149){if(_0x565149[_0x6c34('0x2f')](_0x2cea3f)){_0x565149[_0x2cea3f][_0x6c34('0x30')]=0x0;_0x565149[_0x2cea3f]['talking']=0x0;_0x565149[_0x2cea3f][_0x6c34('0x31')]=0x0;_0x565149[_0x2cea3f][_0x6c34('0x32')]=0x0;_0x565149[_0x2cea3f][_0x6c34('0x33')]=!![];}}}}function clearAgentBooked(_0x1f34cf){if(!_['isEmpty'](_0x1f34cf)){for(var _0x4749de in _0x1f34cf){if(_0x1f34cf[_0x6c34('0x2f')](_0x4749de)){_0x1f34cf[_0x4749de][_0x6c34('0x34')]=!![];}}}}VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x35')]=function(){var _0x684a3c=this;for(var _0x57b1c5 in this[_0x6c34('0x11')]){if(this[_0x6c34('0x11')][_0x6c34('0x2f')](_0x57b1c5)&&!this[_0x6c34('0x11')][_0x57b1c5][_0x6c34('0x36')]){this[_0x6c34('0xe')]['enqueue'](function(){if(!_[_0x6c34('0x37')](_0x684a3c[_0x6c34('0x11')][_0x57b1c5])){return ami[_0x6c34('0x38')]({'action':'status','channel':_0x684a3c[_0x6c34('0x11')][_0x57b1c5][_0x6c34('0x39')]})[_0x6c34('0x3a')](function(_0x3d9d5d){if(_0x3d9d5d[_0x6c34('0x3b')]===_0x6c34('0x3c')){setTimeout(function(){if(_0x684a3c[_0x6c34('0x11')][_0x57b1c5]){delete _0x684a3c[_0x6c34('0x11')][_0x57b1c5];logger[_0x6c34('0x3d')](_0x6c34('0x3e'),_0x57b1c5);}if(_0x684a3c[_0x6c34('0xf')][_0x57b1c5]){delete _0x684a3c['queueReports'][_0x57b1c5];logger[_0x6c34('0x3d')]('[voiceQueueReport][checkQueueReport]',_0x57b1c5);}if(_0x684a3c[_0x6c34('0x15')][_0x57b1c5]){delete _0x684a3c[_0x6c34('0x15')][_0x57b1c5];logger[_0x6c34('0x3d')](_0x6c34('0x3f'),_0x57b1c5);}},0x1f40);}});}});}}};VoiceQueueReport['prototype'][_0x6c34('0x23')]=function(){logger[_0x6c34('0x3d')](_0x6c34('0x40'));clearChannels(this['channels']);this[_0x6c34('0x41')](this[_0x6c34('0xf')]);clearAgentBooked(this[_0x6c34('0x10')]);clearVoiceQueues(this['voiceQueues']);clearCampaigns(this['campaigns']);};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x41')]=function(_0x36821e){var _0x225c38=this;if(!_['isEmpty'](_0x36821e)){for(var _0x3972df in _0x36821e){if(_0x36821e['hasOwnProperty'](_0x3972df)){_0x225c38[_0x6c34('0x42')](_0x36821e[_0x3972df]);delete _0x36821e[_0x3972df];}}}};function loggerCatch(_0x1f2c29){return function(_0x34b507){logger[_0x6c34('0x3d')](_0x1f2c29,util[_0x6c34('0x43')](_0x34b507,{'showHidden':![],'depth':null}));};}VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x44')]=function(_0xba08ee,_0x5ce4c7,_0x515047){io['to'](_0xba08ee)[_0x6c34('0x44')](_0x5ce4c7,_0x515047);};VoiceQueueReport[_0x6c34('0xa')]['emitVoiceQueueChannelSave']=function(_0x4a75f7){this['emit'](util[_0x6c34('0x45')](_0x6c34('0x46'),_0x4a75f7[_0x6c34('0x47')]),_0x6c34('0x48'),_0x4a75f7);};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x42')]=function(_0x46cc0f){this['emit'](util[_0x6c34('0x45')]('voice:queue:%s',_0x46cc0f[_0x6c34('0x47')]),'voice_queue_channel:remove',_0x46cc0f);};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x49')]=function(_0x1c07db){if(_0x1c07db['type']===_0x6c34('0x4a')){var _0x1991ae={'id':_0x1c07db['id'],'name':_0x1c07db[_0x6c34('0x47')],'strategy':_0x1c07db[_0x6c34('0x4b')],'answered':_0x1c07db[_0x6c34('0x4c')],'available':_0x1c07db['available'],'loggedIn':_0x1c07db['loggedIn'],'pTalking':_0x1c07db[_0x6c34('0x31')],'sumBillable':_0x1c07db[_0x6c34('0x4d')],'sumDuration':_0x1c07db[_0x6c34('0x4e')],'sumHoldTime':_0x1c07db['sumHoldTime']||0x0,'talking':_0x1c07db[_0x6c34('0x4f')],'total':_0x1c07db[_0x6c34('0x50')],'type':_0x1c07db['type'],'unmanaged':_0x1c07db[_0x6c34('0x51')],'abandoned':_0x1c07db[_0x6c34('0x52')],'waiting':_0x1c07db['waiting']};if(_0x1c07db[_0x6c34('0x53')]){_0x1991ae[_0x6c34('0x53')]={'id':_0x1c07db[_0x6c34('0x53')]['id'],'name':_0x1c07db[_0x6c34('0x53')][_0x6c34('0x47')],'active':_0x1c07db['Trunk'][_0x6c34('0x54')],'callerid':_0x1c07db[_0x6c34('0x53')][_0x6c34('0x55')]};}if(_0x1c07db['Interval']){_0x1991ae[_0x6c34('0x56')]={'id':_0x1c07db[_0x6c34('0x56')]['id'],'name':_0x1c07db[_0x6c34('0x56')][_0x6c34('0x47')]};}var _0x53ee7c=md5(JSON['stringify'](_0x1991ae));if(_0x1c07db['md5']!==_0x53ee7c){_0x1c07db[_0x6c34('0x57')]=_0x53ee7c;this['emit'](util[_0x6c34('0x45')](_0x6c34('0x46'),_0x1991ae['name']),'voice_queue:save',_0x1991ae);}}};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x58')]=function(_0x1da6e8){return _0x1da6e8!==null&&!_[_0x6c34('0x2d')](_0x1da6e8);};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x2c')]=function(){var _0x5a770e=this;setInterval(function(){_0x5a770e[_0x6c34('0x35')]();ami['Action']({'action':_0x6c34('0x59')})[_0x6c34('0x3a')](loggerCatch('[queues]'));},0x2710);};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x2b')]=function(){var _0x5ee607=this;setInterval(function(){if(_0x5ee607['flagQueueSummary']){return ami[_0x6c34('0x38')]({'action':'queuesummary'})['then'](function(_0x5a1f5c){_0x5ee607['flagQueueSummary']=![];})[_0x6c34('0x3a')](loggerCatch(_0x6c34('0x5a')));}},0x3e8);};VoiceQueueReport[_0x6c34('0xa')]['syncQueueSummary']=function(_0xc19c99){try{if(this[_0x6c34('0x58')](_0xc19c99)&&this['isNotNull'](_0xc19c99[_0x6c34('0x5b')])){if(this[_0x6c34('0x13')][_0xc19c99['queue']]){var _0x54844a=_['countBy'](this['channels'],'queue')[_0xc19c99['queue']]||0x0;var _0x155eeb=_0x54844a-_0xc19c99['callers'];if(this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x32')]!==_[_0x6c34('0x5c')](_0xc19c99[_0x6c34('0x5d')])||this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x5e')]!==_['toNumber'](_0xc19c99[_0x6c34('0x5f')])||this[_0x6c34('0x13')][_0xc19c99['queue']][_0x6c34('0x60')]!==_[_0x6c34('0x5c')](_0xc19c99[_0x6c34('0x60')])||this['voiceQueues'][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x4f')]!==_0x155eeb){this['voiceQueues'][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x32')]=_['toNumber'](_0xc19c99['callers']);this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]]['loggedIn']=_[_0x6c34('0x5c')](_0xc19c99[_0x6c34('0x5f')]);this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x60')]=_[_0x6c34('0x5c')](_0xc19c99['available']);this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x4f')]=_0x155eeb>0x0?_0x155eeb:0x0;this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x4f')]=this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x4f')]>_[_0x6c34('0x5c')](_0xc19c99['loggedin'])?_[_0x6c34('0x5c')](_0xc19c99[_0x6c34('0x5f')]):this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]][_0x6c34('0x4f')];this[_0x6c34('0x49')](this[_0x6c34('0x13')][_0xc19c99[_0x6c34('0x5b')]]);}ami[_0x6c34('0x44')](_0x6c34('0x61'),this['voiceQueues'][_0xc19c99[_0x6c34('0x5b')]]);}}}catch(_0x4ffb24){logger[_0x6c34('0x3d')](_0x6c34('0x62'),util['inspect'](_0x4ffb24,{'showHidden':![],'depth':null}));}};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x19')]=function(_0xf4f17a){this[_0x6c34('0x63')]=!![];};VoiceQueueReport['prototype'][_0x6c34('0x64')]=function(_0xa0bcd2){};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x1a')]=function(_0x3fed44){try{if(this[_0x6c34('0x58')](_0x3fed44)){if(_[_0x6c34('0x2d')](this[_0x6c34('0xf')][_0x3fed44[_0x6c34('0x65')]])){this[_0x6c34('0xf')][_0x3fed44[_0x6c34('0x65')]]=[];this['channels'][_0x3fed44['uniqueid']]={};}var _0x3dad56=new QueueReport();_0x3dad56[_0x6c34('0x47')]=_0x3fed44[_0x6c34('0x5b')];_0x3dad56[_0x6c34('0x66')]=this['voiceQueues'][_0x3dad56[_0x6c34('0x47')]]&&this[_0x6c34('0x13')][_0x3dad56['name']][_0x6c34('0x66')]?this[_0x6c34('0x13')][_0x3dad56[_0x6c34('0x47')]][_0x6c34('0x66')]||_0x6c34('0x4a'):_0x6c34('0x4a');_0x3dad56['queue']=_0x3fed44[_0x6c34('0x5b')];_0x3dad56['queuecallerjoinAt']=moment()[_0x6c34('0x45')](_0x6c34('0x67'));_0x3dad56[_0x6c34('0x68')]=_0x3fed44[_0x6c34('0x68')];_0x3dad56[_0x6c34('0x69')]=_0x3fed44['count'];_[_0x6c34('0x6a')](_0x3dad56,_['pick'](_0x3fed44,_['keys'](_0x3dad56)));this[_0x6c34('0xf')][_0x3fed44['uniqueid']]['push'](_0x3dad56);this[_0x6c34('0x11')][_0x3fed44[_0x6c34('0x65')]]=_0x3dad56;this['emitVoiceQueueChannelSave'](_0x3dad56);}}catch(_0x312aef){logger[_0x6c34('0x3d')](_0x6c34('0x6b'),util[_0x6c34('0x43')](_0x312aef,{'showHidden':![],'depth':null}));}};VoiceQueueReport['prototype']['syncQueueCallerAbandon']=function(_0x4f52de){try{if(this[_0x6c34('0x58')](_0x4f52de)){if(this[_0x6c34('0xf')][_0x4f52de['uniqueid']]){var _0x76a511=_[_0x6c34('0x6c')](this[_0x6c34('0xf')][_0x4f52de['uniqueid']]);_0x76a511['queuecallercomplete']=![];_0x76a511[_0x6c34('0x6d')]=null;_0x76a511[_0x6c34('0x6e')]=_0x4f52de['holdtime'];_0x76a511[_0x6c34('0x6f')]=_0x4f52de[_0x6c34('0x6f')];_0x76a511['queuecallerabandon']=!![];_0x76a511['queuecallerabandonAt']=moment()[_0x6c34('0x45')]('YYYY-MM-DD\x20HH:mm:ss');_0x76a511['queuecallerexitreason']=_0x6c34('0x70');_0x76a511['lastAssignedTo']=null;this[_0x6c34('0x11')][_0x4f52de['uniqueid']]=_0x76a511;this[_0x6c34('0x42')](_0x76a511);}}}catch(_0x40eea3){logger[_0x6c34('0x3d')](_0x6c34('0x71'),util['inspect'](_0x40eea3,{'showHidden':![],'depth':null}));}};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x1e')]=function(_0x5d7049){try{if(this[_0x6c34('0x58')](_0x5d7049)){if(this[_0x6c34('0xf')][_0x5d7049[_0x6c34('0x65')]]){var _0x5d9621=_['last'](this[_0x6c34('0xf')][_0x5d7049['uniqueid']]);_0x5d9621[_0x6c34('0x72')]=moment()[_0x6c34('0x45')](_0x6c34('0x67'));_0x5d9621['connectedlinenum']=_0x5d7049[_0x6c34('0x73')];_0x5d9621[_0x6c34('0x74')]=_0x5d7049[_0x6c34('0x74')];this[_0x6c34('0x11')][_0x5d7049[_0x6c34('0x65')]]=_0x5d9621;this[_0x6c34('0x75')](_0x5d9621);}}}catch(_0x523dce){logger[_0x6c34('0x3d')](_0x6c34('0x76'),util['inspect'](_0x523dce,{'showHidden':![],'depth':null}));}};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x21')]=function(_0x2710a2){try{if(this[_0x6c34('0x58')](_0x2710a2)){if(this[_0x6c34('0xf')][_0x2710a2['uniqueid']]){var _0x168bfc=_['last'](this['queueReports'][_0x2710a2['uniqueid']]);_0x168bfc[_0x6c34('0x77')]=!![];_0x168bfc['queuecallerexitreason']='COMPLETEDBYAGENT';}}}catch(_0x2872a3){logger[_0x6c34('0x3d')](_0x6c34('0x78'),util[_0x6c34('0x43')](_0x2872a3,{'showHidden':![],'depth':null}));}};VoiceQueueReport[_0x6c34('0xa')]['syncAgentComplete']=function(_0x5d6640){try{if(this['isNotNull'](_0x5d6640)){if(this[_0x6c34('0xf')][_0x5d6640['uniqueid']]){var _0x140a2f=_[_0x6c34('0x6c')](this['queueReports'][_0x5d6640[_0x6c34('0x65')]]);_0x140a2f['queuecallerabandon']=![];_0x140a2f[_0x6c34('0x79')]=null;_0x140a2f['assigned']=!![];_0x140a2f[_0x6c34('0x7a')]=_0x5d6640[_0x6c34('0x7b')];_0x140a2f[_0x6c34('0x6e')]=_0x5d6640['holdtime'];_0x140a2f[_0x6c34('0x77')]=!![];_0x140a2f['queuecallerexit']=![];_0x140a2f[_0x6c34('0x7c')]=null;if(!_0x140a2f['transfer']){if(_0x5d6640[_0x6c34('0x7d')]==_0x6c34('0x7e')){_0x140a2f['queuecallerexitreason']=_0x6c34('0x7f');}else{if(_[_0x6c34('0x80')](_0x5d6640[_0x6c34('0x39')]['toLowerCase'](),_0x6c34('0x81'))){if(this['queueReports'][_0x5d6640[_0x6c34('0x82')]]){var _0x2cf049=_['last'](this[_0x6c34('0xf')][_0x5d6640[_0x6c34('0x82')]]);_0x2cf049[_0x6c34('0x77')]=![];_0x2cf049[_0x6c34('0x83')]=!![];_0x2cf049['queuecallerexitAt']=moment(_0x140a2f[_0x6c34('0x84')])[_0x6c34('0x85')](_0x5d6640[_0x6c34('0x6e')],_0x6c34('0x86'))[_0x6c34('0x45')](_0x6c34('0x67'));_0x2cf049[_0x6c34('0x87')]=_0x6c34('0x88');_0x2cf049[_0x6c34('0x7e')]=!![];_0x2cf049['transfertype']=_0x6c34('0x89');_0x2cf049[_0x6c34('0x8a')]=_0x5d6640[_0x6c34('0x8b')];_0x2cf049[_0x6c34('0x8c')]=_0x5d6640[_0x6c34('0x65')];var _0x5e4575=this[_0x6c34('0xf')][_0x5d6640[_0x6c34('0x82')]];this[_0x6c34('0xf')][_0x5d6640[_0x6c34('0x82')]]=this[_0x6c34('0xf')][_0x5d6640['uniqueid']];this[_0x6c34('0xf')][_0x5d6640['uniqueid']]=_0x5e4575;}}else{_0x140a2f[_0x6c34('0x87')]=_0x6c34('0x8d')+_0x5d6640[_0x6c34('0x7d')][_0x6c34('0x8e')]();}}}this[_0x6c34('0x11')][_0x5d6640[_0x6c34('0x65')]]=_0x140a2f;this[_0x6c34('0x42')](_0x140a2f);}}}catch(_0x217354){logger[_0x6c34('0x3d')](_0x6c34('0x8f'),util[_0x6c34('0x43')](_0x217354,{'showHidden':![],'depth':null}));}};VoiceQueueReport['prototype'][_0x6c34('0x90')]=function(_0x3731c6){try{if(this['isNotNull'](_0x3731c6)){this[_0x6c34('0x91')](_0x3731c6[_0x6c34('0x65')],_[_0x6c34('0x92')](_0x3731c6[_0x6c34('0x93')])[0x0],_0x3731c6[_0x6c34('0x94')]);if(this[_0x6c34('0xf')][_0x3731c6[_0x6c34('0x65')]]){var _0x57c3f2=_[_0x6c34('0x6c')](this[_0x6c34('0xf')][_0x3731c6['uniqueid']]);if(_0x57c3f2){if(this[_0x6c34('0x58')](_0x3731c6['variable'])&&this[_0x6c34('0x58')](_0x3731c6[_0x6c34('0x93')]['queuestatus'])){switch(_0x3731c6[_0x6c34('0x94')]){case'CONTINUE':_0x57c3f2[_0x6c34('0x83')]=![];_0x57c3f2['queuecallerexitAt']=null;break;default:_0x57c3f2[_0x6c34('0x83')]=!![];_0x57c3f2['queuecallerexitAt']=moment()[_0x6c34('0x45')](_0x6c34('0x67'));_0x57c3f2[_0x6c34('0x72')]=moment()[_0x6c34('0x45')]('YYYY-MM-DD\x20HH:mm:ss');}_0x57c3f2[_0x6c34('0x95')]=![];_0x57c3f2[_0x6c34('0x79')]=null;_0x57c3f2[_0x6c34('0x87')]=_0x3731c6[_0x6c34('0x94')];this[_0x6c34('0x11')][_0x3731c6[_0x6c34('0x65')]]=_0x57c3f2;this['emitVoiceQueueChannelRemove'](_0x57c3f2);}else if(this[_0x6c34('0x58')](_0x3731c6[_0x6c34('0x93')])&&this[_0x6c34('0x58')](_0x3731c6[_0x6c34('0x93')][_0x6c34('0x96')])){if(!_0x57c3f2[_0x6c34('0x95')]){_0x57c3f2[_0x6c34('0x83')]=!![];_0x57c3f2[_0x6c34('0x7c')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x57c3f2[_0x6c34('0x87')]=_0x6c34('0x97');_0x57c3f2['queuecallerleaveAt']=moment()[_0x6c34('0x45')]('YYYY-MM-DD\x20HH:mm:ss');this[_0x6c34('0x11')][_0x3731c6[_0x6c34('0x65')]]=_0x57c3f2;}}_0x57c3f2[_0x6c34('0x15')]=this[_0x6c34('0x15')][_0x3731c6[_0x6c34('0x65')]];}}}}catch(_0x41c60e){logger[_0x6c34('0x3d')](_0x6c34('0x98'),util[_0x6c34('0x43')](_0x41c60e,{'showHidden':![],'depth':null}));}};VoiceQueueReport[_0x6c34('0xa')]['addVariable']=function(_0x35dc2b,_0xf85f87,_0x4d3b8d){var _0x5c2fdc=[_0x6c34('0x99'),_0x6c34('0x9a'),_0x6c34('0x9b'),_0x6c34('0x9c'),_0x6c34('0x9d'),_0x6c34('0x9e'),_0x6c34('0x9f'),'rtpaudioqosrttbridged',_0x6c34('0xa0'),'sipuri',_0x6c34('0xa1'),_0x6c34('0xa2'),_0x6c34('0xa3'),_0x6c34('0xa4'),_0x6c34('0xa5'),_0x6c34('0xa6'),_0x6c34('0x7b'),'memberpenalty',_0x6c34('0xa7')];if(!_['isNil'](_0xf85f87)&&!_[_0x6c34('0xa8')](_0x5c2fdc,_0xf85f87)){if(_[_0x6c34('0x2d')](this[_0x6c34('0x15')][_0x35dc2b])){this['variables'][_0x35dc2b]={};}this[_0x6c34('0x15')][_0x35dc2b][_0xf85f87]=_0x4d3b8d;}};VoiceQueueReport['prototype'][_0x6c34('0xa9')]=function(_0x1f1e6b){try{if(this[_0x6c34('0x58')](_0x1f1e6b)){if(this['queueReports'][_0x1f1e6b['uniqueid']]){for(var _0x4594a6=0x0,_0x2af8c1={};_0x4594a6<this[_0x6c34('0xf')][_0x1f1e6b[_0x6c34('0x65')]][_0x6c34('0xaa')];_0x4594a6+=0x1){_0x2af8c1=this[_0x6c34('0xf')][_0x1f1e6b[_0x6c34('0x65')]][_0x4594a6];if(this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]]){if(_0x2af8c1[_0x6c34('0x83')]){this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]][_0x6c34('0x51')]+=0x1;}if(_0x2af8c1[_0x6c34('0x95')]){this[_0x6c34('0x13')][_0x2af8c1['queue']]['abandoned']+=0x1;}this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]][_0x6c34('0xab')]+=moment(_0x2af8c1[_0x6c34('0x72')])[_0x6c34('0xac')](_0x2af8c1[_0x6c34('0x84')],_0x6c34('0x86'))||0x0;if(_0x4594a6===this[_0x6c34('0xf')][_0x1f1e6b['uniqueid']][_0x6c34('0xaa')]-0x1){this['voiceQueues'][_0x2af8c1[_0x6c34('0x5b')]]['sumDuration']+=moment()[_0x6c34('0xad')](0x0)[_0x6c34('0xac')](_0x2af8c1['queuecallerjoinAt'],_0x6c34('0x86'));this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]][_0x6c34('0x50')]+=0x1;if(_0x2af8c1[_0x6c34('0x77')]){this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]][_0x6c34('0x4c')]+=0x1;this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]][_0x6c34('0x4d')]+=moment()[_0x6c34('0xad')](0x0)[_0x6c34('0xac')](_0x2af8c1[_0x6c34('0x72')],'seconds');_0x2af8c1[_0x6c34('0x6d')]=moment()[_0x6c34('0x45')]('YYYY-MM-DD\x20HH:mm:ss');_0x2af8c1[_0x6c34('0x83')]=![];_0x2af8c1[_0x6c34('0x7c')]=null;}if(_0x2af8c1[_0x6c34('0x83')]){_0x2af8c1['lastevent']=_0x6c34('0x51');ami[_0x6c34('0x44')](_0x6c34('0xae'),_0x2af8c1);}if(_0x2af8c1['queuecallerabandon']){_0x2af8c1[_0x6c34('0xaf')]=_0x6c34('0x52');ami[_0x6c34('0x44')]('custom:queuecallerabandon',_0x2af8c1);}}else{this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]][_0x6c34('0x4e')]+=this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]]['sumHoldTime'];}this[_0x6c34('0x11')][_0x1f1e6b[_0x6c34('0x65')]]=_0x2af8c1;this[_0x6c34('0x42')](_0x2af8c1);this['emitVoiceQueueSummary'](this[_0x6c34('0x13')][_0x2af8c1[_0x6c34('0x5b')]]);}}ami['emit']('custom:voiceQueueReport',this[_0x6c34('0xf')][_0x1f1e6b[_0x6c34('0x65')]]);delete this[_0x6c34('0xf')][_0x1f1e6b[_0x6c34('0x65')]];delete this[_0x6c34('0x11')][_0x1f1e6b[_0x6c34('0x65')]];}if(this[_0x6c34('0x15')][_0x1f1e6b[_0x6c34('0x65')]]){delete this[_0x6c34('0x15')][_0x1f1e6b['uniqueid']];}}}catch(_0x5517b3){logger[_0x6c34('0x3d')]('[syncHangup][VoiceQueueReport]',util[_0x6c34('0x43')](_0x5517b3,{'showHidden':![],'depth':null}));}};VoiceQueueReport['prototype'][_0x6c34('0x28')]=function(_0x2cb442){try{if(this[_0x6c34('0x58')](_0x2cb442)){var _0x42d4e2;if(this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb0')]]){_0x42d4e2=_[_0x6c34('0x6c')](this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb0')]]);_0x42d4e2[_0x6c34('0x8a')]=_0x2cb442[_0x6c34('0xb1')];_0x42d4e2[_0x6c34('0x8c')]=_0x2cb442[_0x6c34('0xb2')];_0x42d4e2[_0x6c34('0x87')]=_0x6c34('0xb3');_0x42d4e2[_0x6c34('0x7e')]=!![];_0x42d4e2[_0x6c34('0xb4')]='ATTENDED';if(this[_0x6c34('0xf')][_0x2cb442['secondtransfereruniqueid']]){var _0x5e879b=this[_0x6c34('0xf')][_0x2cb442['secondtransfereruniqueid']];this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb2')]]=this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb0')]];this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb0')]]=_0x5e879b;var _0x5ab82a=_[_0x6c34('0x6c')](this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb0')]]);_0x5ab82a['switch']=!![];}}else if(this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb5')]]){_0x42d4e2=_[_0x6c34('0x6c')](this['queueReports'][_0x2cb442['transfertargetuniqueid']]);_0x42d4e2[_0x6c34('0x8a')]=_0x2cb442[_0x6c34('0xb6')];_0x42d4e2['transferuniqueid']=_0x2cb442[_0x6c34('0xb7')];_0x42d4e2[_0x6c34('0x87')]=_0x6c34('0xb3');_0x42d4e2[_0x6c34('0x7e')]=!![];_0x42d4e2[_0x6c34('0xb4')]=_0x6c34('0xb8');if(this[_0x6c34('0xf')][_0x2cb442['origtransfereruniqueid']]){var _0x5e879b=this['queueReports'][_0x2cb442[_0x6c34('0xb7')]];this[_0x6c34('0xf')][_0x2cb442['origtransfereruniqueid']]=this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb5')]];this['queueReports'][_0x2cb442[_0x6c34('0xb5')]]=_0x5e879b;var _0x5ab82a=_[_0x6c34('0x6c')](this[_0x6c34('0xf')][_0x2cb442[_0x6c34('0xb5')]]);_0x5ab82a[_0x6c34('0x36')]=!![];}}}}catch(_0x5831aa){logger[_0x6c34('0x3d')](_0x6c34('0xb9'),util[_0x6c34('0x43')](_0x5831aa,{'showHidden':![],'depth':null}));}};VoiceQueueReport['prototype'][_0x6c34('0x2a')]=function(_0x2efaeb){try{if(this[_0x6c34('0x58')](_0x2efaeb)){if(this['queueReports'][_0x2efaeb[_0x6c34('0xb0')]]){var _0x232305=_[_0x6c34('0x6c')](this[_0x6c34('0xf')][_0x2efaeb[_0x6c34('0xb0')]]);_0x232305['queuecallerexitreason']=_0x6c34('0xba');_0x232305[_0x6c34('0x7e')]=!![];_0x232305[_0x6c34('0xb4')]=_0x6c34('0xbb');_0x232305[_0x6c34('0x8a')]=_0x2efaeb[_0x6c34('0xbc')];_0x232305[_0x6c34('0x8c')]=_0x2efaeb[_0x6c34('0xb0')];this['syncHangup']({'event':_0x6c34('0xbd'),'uniqueid':_0x2efaeb[_0x6c34('0xb0')],'context':_0x2efaeb[_0x6c34('0xbe')],'channel':_0x2efaeb[_0x6c34('0xbf')]});}}}catch(_0x1ec62e){logger[_0x6c34('0x3d')](_0x6c34('0xc0'),util[_0x6c34('0x43')](_0x1ec62e,{'showHidden':![],'depth':null}));}};VoiceQueueReport[_0x6c34('0xa')][_0x6c34('0x25')]=function(_0x785972){try{if(this[_0x6c34('0x58')](_0x785972)){if(this[_0x6c34('0xf')][_0x785972[_0x6c34('0x65')]]){var _0x12edf2=_['last'](this['queueReports'][_0x785972[_0x6c34('0x65')]]);if(!_[_0x6c34('0x37')](_0x12edf2['queuecallerleaveAt'])){_0x12edf2[_0x6c34('0xc1')]=moment()[_0x6c34('0x45')]('YYYY-MM-DD\x20HH:mm:ss');}}}}catch(_0x9e8b6a){logger[_0x6c34('0x3d')](_0x6c34('0xc2'),util[_0x6c34('0x43')](_0x9e8b6a,{'showHidden':![],'depth':null}));}};VoiceQueueReport['prototype'][_0x6c34('0xc3')]=function(_0x1f64e8){try{if(this[_0x6c34('0x58')](_0x1f64e8)){if(this[_0x6c34('0xf')][_0x1f64e8[_0x6c34('0x65')]]){var _0x2d48e0=_[_0x6c34('0x6c')](this['queueReports'][_0x1f64e8[_0x6c34('0x65')]]);if(!_['isNil'](_0x2d48e0[_0x6c34('0xc1')])){_0x2d48e0[_0x6c34('0xc4')]+=moment()[_0x6c34('0xad')](0x0)[_0x6c34('0xac')](_0x2d48e0['mohstarttime'],'seconds');delete _0x2d48e0['mohstarttime'];}}}}catch(_0x35f2c3){logger[_0x6c34('0x3d')]('[syncMusicOnHoldStop][VoiceQueueReport]',util['inspect'](_0x35f2c3,{'showHidden':![],'depth':null}));}};module['exports']=VoiceQueueReport;