Built motion from commit b51cdcb3f2cb46634587ce1d55ea1b8f32dacea6. Version 3.0.0...
[motion-next.git] / server / services / ami / acw / index.js
1 const a1048_0x4cc4=['exports','timers','[ACW][STOP]\x20Interface\x20%s\x20doesn\x27t\x20have\x20timer','../rpc/user','custom:agentConnectPreview','prototype','[%s][BLINDTRANSFER:UNIQUEID]','startAcw','mandatoryDisposition','transfereruniqueid','Action','[%s][INPAUSE][AGENT:%s][QUEUE:%s]','syncHangupRequest','[%s][UPDATE][ERRORS:%s]','hanguprequest','[%s][START][AGENT:%s][QUEUE:%s]','autopause','agents','updateAcw','transfereeuniqueid','[%s][BLINDTRANSFER:LINKEDID]','info','interface','[ACW][syncHangup]\x20%s','attended','syncAgentConnectPreview','attendedtransfer','queue','agentconnect','seconds','[ACW][TIMERS]','../../../config/logger','origtransfereruniqueid','acwTimeout','destlinkedid','isUndefined','message','../rpc/voiceAgentReport','[ACW][STOP]\x20%s','[%s][AUTOPAUSE][AGENT:%s][QUEUE:%]','[%s][UPDATE][ACWTIME:%s]','[ACW][START]\x20%s','voiceQueues','stringify','[TIMER][STOP][AGENT:%s]','syncBlindTransfer','blindtransfer','all','ACW','uniqueid','syncAttendedTransfer','syncHangup','[%s][HANGUP:LINKEDID]','voicePause','lodash','hangup','linkedid','[%s][TIMER:%s][AGENT:%s][QUEUE:%s]','channels','savePause','secondtransfereruniqueid','name','agentringnoanswer','diff','../ami','transfererlinkedid','[ACW][syncHangupRequest]\x20%s','lastPauseAt','syncAgentConnect','update','transfertargetuniqueid','timer','error','stopAcw','[ACW][syncAttendedTransfer]\x20%s','syncAgentRingNoAnswer','getAgent','acw','isNil','then','YYYY-MM-DD\x20HH:mm:ss','mandatoryDispositionPause','milliseconds','Auto-Pause','catch','bind'];(function(_0x509dc3,_0x4cc4c8){const _0x61d1fe=function(_0x1d7e82){while(--_0x1d7e82){_0x509dc3['push'](_0x509dc3['shift']());}};_0x61d1fe(++_0x4cc4c8);}(a1048_0x4cc4,0x1f0));const a1048_0x61d1=function(_0x509dc3,_0x4cc4c8){_0x509dc3=_0x509dc3-0x0;let _0x61d1fe=a1048_0x4cc4[_0x509dc3];return _0x61d1fe;};const _0x25e1ed=a1048_0x61d1;'use strict';const _=require(_0x25e1ed('0x4a')),moment=require('moment'),ami=require(_0x25e1ed('0x54')),logger=require(_0x25e1ed('0x33'))(_0x25e1ed('0xb')),RpcUser=require(_0x25e1ed('0x17')),RpcVoiceAgentReport=require(_0x25e1ed('0x39'));function Acw(_0x1d7e82){const _0x19b185=_0x25e1ed;this[_0x19b185('0x3e')]=_0x1d7e82[_0x19b185('0x3e')],this[_0x19b185('0x25')]=_0x1d7e82[_0x19b185('0x25')],this['timers']=_0x1d7e82['timers'],this['channels']={},ami['on'](_0x19b185('0x30'),this[_0x19b185('0x2')]['bind'](this)),ami['on'](_0x19b185('0x22'),this['syncHangupRequest']['bind'](this)),ami['on'](_0x19b185('0x4b'),this[_0x19b185('0x47')]['bind'](this)),ami['on'](_0x19b185('0x52'),this[_0x19b185('0x9')]['bind'](this)),ami['on'](_0x19b185('0x2e'),this['syncAttendedTransfer'][_0x19b185('0x13')](this)),ami['on'](_0x19b185('0x42'),this[_0x19b185('0x41')][_0x19b185('0x13')](this)),ami['on'](_0x19b185('0x18'),this['syncAgentConnectPreview'][_0x19b185('0x13')](this));}function getDiff(_0x2cbcc0){const _0x3048f3=_0x25e1ed,_0x540ced=moment()[_0x3048f3('0x10')](0x0),_0x41bc77=moment(_0x2cbcc0)[_0x3048f3('0x10')](0x0);return _0x540ced[_0x3048f3('0x53')](_0x41bc77,_0x3048f3('0x31'));}Acw[_0x25e1ed('0x19')][_0x25e1ed('0x1b')]=function(_0x286525){const _0x3499b5=_0x25e1ed;try{const _0x47cd5f=this,_0xe1200f=this[_0x3499b5('0x4e')][_0x286525][_0x3499b5('0x2a')],_0x77c4e=this[_0x3499b5('0x4e')][_0x286525][_0x3499b5('0x2f')],_0x35f395=this[_0x3499b5('0x3e')][_0x77c4e];let _0x2b9d67=![],_0x30d45e=_0x3499b5('0x44');_0x35f395[_0x3499b5('0x1c')]&&(_0x35f395[_0x3499b5('0xf')][_0x3499b5('0x51')]&&(_0x2b9d67=!![],_0x30d45e=_0x35f395[_0x3499b5('0xf')]['name'])),ami[_0x3499b5('0x1e')]({'action':'QueuePause','interface':_0xe1200f,'paused':!![],'reason':_0x30d45e})['then'](function(){const _0x203d55=_0x3499b5;if(_0x47cd5f[_0x203d55('0x25')][_0xe1200f])return RpcUser[_0x203d55('0xa')](_0x47cd5f[_0x203d55('0x25')][_0xe1200f]['id'])[_0x203d55('0xd')](function(_0x3e5ea0){const _0x1d029c=_0x203d55;if(_0x3e5ea0&&!_0x3e5ea0[_0x1d029c('0x49')]){logger[_0x1d029c('0x29')](_0x1d029c('0x23'),_0x286525,_0xe1200f,_0x77c4e);const _0x3b9546=_0x47cd5f[_0x1d029c('0x4e')][_0x286525]['attended']&&_0x47cd5f[_0x1d029c('0x4e')][_0x286525][_0x1d029c('0x36')]?_0x47cd5f[_0x1d029c('0x4e')][_0x286525][_0x1d029c('0x36')]:_0x286525;return RpcUser[_0x1d029c('0x4f')](_0x47cd5f[_0x1d029c('0x25')][_0xe1200f],_0x30d45e,_0x3b9546)[_0x1d029c('0xd')](function(){const _0x57770e=_0x1d029c;!_0x2b9d67&&(_0x47cd5f['timers'][_0xe1200f]={},logger[_0x57770e('0x29')](_0x57770e('0x4d'),_0x286525,_0x47cd5f[_0x57770e('0x3e')][_0x77c4e][_0x57770e('0x35')],_0xe1200f,_0x77c4e),_0x47cd5f[_0x57770e('0x15')][_0xe1200f][_0x57770e('0x5')]=setTimeout(_0x47cd5f['stopAcw'][_0x57770e('0x13')](_0x47cd5f,_0xe1200f),_0x47cd5f['voiceQueues'][_0x77c4e][_0x57770e('0x35')]*0x3e8),_0x47cd5f[_0x57770e('0x15')][_0xe1200f][_0x57770e('0x1')]=moment()['format'](_0x57770e('0xe')),_0x47cd5f[_0x57770e('0x15')][_0xe1200f][_0x57770e('0x45')]=_0x286525,_0x47cd5f[_0x57770e('0x15')][_0xe1200f]['queue']=_0x77c4e,_0x47cd5f['timers'][_0xe1200f][_0x57770e('0x26')]=function(){const _0x32df1f=_0x57770e,_0x5c4d54=getDiff(_0x47cd5f[_0x32df1f('0x15')][_0xe1200f][_0x32df1f('0x1')]);clearTimeout(_0x47cd5f[_0x32df1f('0x15')][_0xe1200f][_0x32df1f('0x5')]),_0x47cd5f[_0x32df1f('0x15')][_0xe1200f][_0x32df1f('0x5')]=![],RpcVoiceAgentReport[_0x32df1f('0x3')]({'acwtime':_0x5c4d54},_0x47cd5f[_0x32df1f('0x15')][_0xe1200f]['uniqueid'],_0xe1200f)[_0x32df1f('0xd')](function(_0x36a49b){const _0x190720=_0x32df1f;logger[_0x190720('0x29')]('[%s][UPDATE][ACWTIME:%s]',_0x286525,_0x5c4d54,_0x36a49b);})[_0x32df1f('0x12')](function(_0xd08306){logger['error']('[%s][UPDATE][ERRORS:%s]',_0x286525,_0xd08306);}),delete _0x47cd5f['timers'][_0xe1200f];});});}else logger[_0x1d029c('0x29')](_0x1d029c('0x1f'),_0x286525,_0xe1200f,_0x77c4e);});})[_0x3499b5('0x12')](function(){const _0x5ea24d=_0x3499b5;logger['error'](_0x5ea24d('0x4d'),_0x286525,_0x47cd5f[_0x5ea24d('0x3e')][_0x77c4e]['acwTimeout'],_0xe1200f,_0x77c4e);})['finally'](function(){const _0x54366f=_0x3499b5;delete _0x47cd5f[_0x54366f('0x4e')][_0x286525];});}catch(_0x4bf6aa){logger['error'](_0x3499b5('0x3d'),_0x4bf6aa[_0x3499b5('0x38')]);}},Acw[_0x25e1ed('0x19')][_0x25e1ed('0x7')]=function(_0x306b94){const _0x58e762=_0x25e1ed;try{const _0x5c7c0d=this;if(_0x5c7c0d[_0x58e762('0x15')][_0x306b94]){_0x5c7c0d[_0x58e762('0x15')][_0x306b94][_0x58e762('0x5')]=![];const _0x9d39ed=_0x5c7c0d[_0x58e762('0x15')][_0x306b94][_0x58e762('0x45')],_0x31bb57=_0x5c7c0d[_0x58e762('0x15')][_0x306b94][_0x58e762('0x2f')],_0x532e69=_0x5c7c0d[_0x58e762('0x3e')][_0x31bb57][_0x58e762('0x35')];logger[_0x58e762('0x29')](_0x58e762('0x40'),_0x306b94),RpcUser['saveUnpause'](this['agents'][_0x306b94]),RpcVoiceAgentReport[_0x58e762('0x3')]({'acwtime':_0x532e69,'agentacw':!![]},_0x9d39ed,_0x306b94)['then'](function(_0x2b6e9d){const _0x5ac80a=_0x58e762;logger['info'](_0x5ac80a('0x3c'),_0x9d39ed,_0x532e69,_0x2b6e9d);})[_0x58e762('0x12')](function(_0x2278bd){const _0xadbf85=_0x58e762;logger[_0xadbf85('0x6')](_0xadbf85('0x21'),_0x9d39ed,_0x2278bd);});}else logger['error'](_0x58e762('0x16'),_0x306b94),_0x5c7c0d['timers']&&logger[_0x58e762('0x29')](_0x58e762('0x32'),JSON[_0x58e762('0x3f')](_0x5c7c0d[_0x58e762('0x15')]));}catch(_0x5d631c){logger[_0x58e762('0x6')](_0x58e762('0x3a'),_0x5d631c[_0x58e762('0x38')]);}},Acw[_0x25e1ed('0x19')][_0x25e1ed('0x2')]=function(_0x14683b){const _0x553b06=_0x25e1ed;try{this[_0x553b06('0x3e')][_0x14683b[_0x553b06('0x2f')]]&&(this[_0x553b06('0x3e')][_0x14683b['queue']][_0x553b06('0xb')]||this[_0x553b06('0x3e')][_0x14683b[_0x553b06('0x2f')]][_0x553b06('0x1c')])&&(this[_0x553b06('0x25')][_0x14683b[_0x553b06('0x2a')]]&&(this[_0x553b06('0x4e')][_0x14683b[_0x553b06('0x45')]]={'queue':_0x14683b[_0x553b06('0x2f')],'interface':_0x14683b['interface'],'destlinkedid':_0x14683b[_0x553b06('0x36')]}));}catch(_0x1d4c28){logger[_0x553b06('0x6')]('[ACW][syncAgentConnect]\x20%s',_0x1d4c28[_0x553b06('0x38')]);}},Acw[_0x25e1ed('0x19')][_0x25e1ed('0x2d')]=function(_0x141848){const _0xda6be9=_0x25e1ed;try{this[_0xda6be9('0x3e')][_0x141848['queue']]&&(this[_0xda6be9('0x3e')][_0x141848['queue']][_0xda6be9('0xb')]||this['voiceQueues'][_0x141848[_0xda6be9('0x2f')]]['mandatoryDisposition'])&&(this[_0xda6be9('0x25')][_0x141848['interface']]&&(this[_0xda6be9('0x4e')][_0x141848[_0xda6be9('0x45')]]={'queue':_0x141848['queue'],'interface':_0x141848[_0xda6be9('0x2a')]}));}catch(_0x27ef24){logger[_0xda6be9('0x6')]('[ACW][syncAgentConnectPreview]\x20%s',_0x27ef24[_0xda6be9('0x38')]);}},Acw[_0x25e1ed('0x19')][_0x25e1ed('0x20')]=function(_0x214188){const _0x1834ef=_0x25e1ed;try{if(this['channels'][_0x214188[_0x1834ef('0x45')]]&&_[_0x1834ef('0x37')](this[_0x1834ef('0x4e')][_0x214188[_0x1834ef('0x45')]][_0x1834ef('0x2c')]))logger[_0x1834ef('0x29')]('[%s][HANGUP:UNIQUEID]',_0x214188[_0x1834ef('0x45')]),this[_0x1834ef('0x1b')](_0x214188[_0x1834ef('0x45')]);else this[_0x1834ef('0x4e')][_0x214188[_0x1834ef('0x4c')]]&&_['isUndefined'](this['channels'][_0x214188[_0x1834ef('0x4c')]]['attended'])&&(logger['info'](_0x1834ef('0x48'),_0x214188[_0x1834ef('0x4c')]),this[_0x1834ef('0x1b')](_0x214188[_0x1834ef('0x4c')]));}catch(_0x2a6631){logger['error'](_0x1834ef('0x0'),_0x2a6631[_0x1834ef('0x38')]);}},Acw[_0x25e1ed('0x19')][_0x25e1ed('0x47')]=function(_0x4261b7){const _0x3b9eab=_0x25e1ed;try{if(this[_0x3b9eab('0x4e')][_0x4261b7['uniqueid']]&&this[_0x3b9eab('0x4e')][_0x4261b7[_0x3b9eab('0x45')]]['attended'])logger[_0x3b9eab('0x29')]('[%s][HANGUPATTENDEDTRANSFER:UNIQUEID]',_0x4261b7[_0x3b9eab('0x45')]),this['startAcw'](_0x4261b7[_0x3b9eab('0x45')]);else this[_0x3b9eab('0x4e')][_0x4261b7[_0x3b9eab('0x4c')]]&&this['channels'][_0x4261b7[_0x3b9eab('0x4c')]][_0x3b9eab('0x2c')]&&(logger[_0x3b9eab('0x29')]('[%s][HANGUPATTENDEDTRANSFER:LINKEDID]',_0x4261b7['linkedid']),this[_0x3b9eab('0x1b')](_0x4261b7[_0x3b9eab('0x4c')]));}catch(_0x241f33){logger[_0x3b9eab('0x6')](_0x3b9eab('0x2b'),_0x241f33['message']);}},Acw[_0x25e1ed('0x19')][_0x25e1ed('0x46')]=function(_0x5c3a91){const _0x304907=_0x25e1ed;try{if(!_[_0x304907('0xc')](this['channels'][_0x5c3a91['transfereeuniqueid']]))this[_0x304907('0x1b')](_0x5c3a91['transfereeuniqueid']),this['channels'][_0x5c3a91[_0x304907('0x50')]]&&(this[_0x304907('0x4e')][_0x5c3a91['secondtransfereruniqueid']]['attended']=!![],this[_0x304907('0x4e')][_0x5c3a91[_0x304907('0x4')]]=this[_0x304907('0x4e')][_0x5c3a91[_0x304907('0x50')]],delete this[_0x304907('0x4e')][_0x5c3a91[_0x304907('0x50')]]);else!_['isNil'](this[_0x304907('0x4e')][_0x5c3a91[_0x304907('0x4')]])&&(this[_0x304907('0x1b')](_0x5c3a91[_0x304907('0x4')]),this[_0x304907('0x4e')][_0x5c3a91[_0x304907('0x34')]]&&(this[_0x304907('0x4e')][_0x5c3a91['origtransfereruniqueid']][_0x304907('0x2c')]=!![],this['channels'][_0x5c3a91[_0x304907('0x27')]]=this[_0x304907('0x4e')][_0x5c3a91[_0x304907('0x34')]],delete this['channels'][_0x5c3a91[_0x304907('0x34')]]));}catch(_0xca5b87){logger[_0x304907('0x6')](_0x304907('0x8'),_0xca5b87['message']);}},Acw[_0x25e1ed('0x19')][_0x25e1ed('0x41')]=function(_0x43c5a8){const _0x587299=_0x25e1ed;try{if(this['channels'][_0x43c5a8['transfereruniqueid']])logger[_0x587299('0x29')](_0x587299('0x1a'),JSON[_0x587299('0x3f')](_0x43c5a8[_0x587299('0x1d')])),this[_0x587299('0x1b')](_0x43c5a8[_0x587299('0x1d')]);else this[_0x587299('0x4e')][_0x43c5a8[_0x587299('0x55')]]&&(logger[_0x587299('0x29')](_0x587299('0x28'),JSON[_0x587299('0x3f')](_0x43c5a8[_0x587299('0x55')])),this[_0x587299('0x1b')](_0x43c5a8[_0x587299('0x55')]));}catch(_0x4d4728){logger[_0x587299('0x6')]('[ACW][syncBlindTransfer]\x20%s',_0x4d4728['message']);}},Acw['prototype']['syncAgentRingNoAnswer']=function(_0x3aa59d){const _0x42b582=_0x25e1ed;try{if(this[_0x42b582('0x3e')][_0x3aa59d[_0x42b582('0x2f')]]&&this['voiceQueues'][_0x3aa59d['queue']][_0x42b582('0x24')]===_0x42b582('0x43')){if(this[_0x42b582('0x25')][_0x3aa59d['interface']])return logger[_0x42b582('0x29')](_0x42b582('0x3b'),_0x3aa59d[_0x42b582('0x45')],_0x3aa59d[_0x42b582('0x2a')],_0x3aa59d[_0x42b582('0x2f')]),RpcUser['savePause'](this['agents'][_0x3aa59d['interface']],_0x42b582('0x11'),_0x3aa59d[_0x42b582('0x45')]);}}catch(_0x3c7a41){logger[_0x42b582('0x6')]('[ACW][syncAgentRingNoAnswer]\x20%s',_0x3c7a41[_0x42b582('0x38')]);}},module[_0x25e1ed('0x14')]=Acw;