Built motion from commit 00bf23f6.|2.6.16
[motion2.git] / server / services / xdr / agents.controller.js
index d065976..12358c0 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbfc0=['complete','blindtransfer','transfereruniqueid','[%s][agents][blindtransfer]','transfer','transfertype','transferexten','attendedtransfer','[%s][agents][attendedtransfer]','origtransfereruniqueid','origtransfererlinkedid','secondtransfereruniqueid','[%s][agents][attendedtransfer]\x20agent:%s','origtransfererexten','transferuniqueid','transfereeuniqueid','clone','calleridname','agententerreason','secondtransfererlinkedid','transfertargetuniqueid','hangup','cause','rejected','[%s][agents][hangup]\x20agent:%s\x20reason:%s\x20lastevent:%s','indexOf','splice','diffTime','agent','lodash','./utils','info','format','[%s][agents][writeDB]\x20channel:%s\x20queue:%s\x20agent:%s\x20interface:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20lastevent:%s','uniqueid','channel','queue','membername','interface','calleridnum','lastevent','type','agentacw','acwTimeout','request','CreateVoiceAgentReport','agentcalled','debug','[%s][agents][agentcalled]','destuniqueid','agentcalledAt','now','called','connectedlinenum','connectedlinename','[%s][agents][agentcalled]\x20agent:%s\x20destuniqueid:%s\x20lastevent:called','error','isNil','[%s][agents][agentringnoanswer]','[%s][agents][agentringnoanswer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:timeout','agentringnoanswer','reason','timeout','holdtime','ringtime','push','queuecallerabandon','forIn','includes','[%s][agents][queuecallerabandon]','[%s][agents][queuecallerabandon]\x20agent:%s\x20destuniqueid:%s\x20lastevent:abandoned','agentringnoanswerAt','abandoned','talktime','[%s][agents][agentconnect]','agentconnectAt','connect','answered_elsewhere','answeredelsewheredestinationuniqueid','answeredelsewheremembername','agentcomplete','[%s][agents][agentcomplete]','[%s][agents][agentcomplete]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete','agentcompleteAt'];(function(_0x1f0fd8,_0x18b7c6){var _0x34ffa0=function(_0x45a44e){while(--_0x45a44e){_0x1f0fd8['push'](_0x1f0fd8['shift']());}};_0x34ffa0(++_0x18b7c6);}(_0xbfc0,0x119));var _0x0bfc=function(_0x559a80,_0x3d193d){_0x559a80=_0x559a80-0x0;var _0x42f555=_0xbfc0[_0x559a80];return _0x42f555;};'use strict';var _=require(_0x0bfc('0x0'));var util=require('util');var utils=require(_0x0bfc('0x1'));var agents={};var transfers={};var unanswered=[];function writeDB(_0x51c7fd,_0x4ea4cb){utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')](_0x0bfc('0x4'),_0x51c7fd[_0x0bfc('0x5')],_0x51c7fd[_0x0bfc('0x6')],_0x51c7fd[_0x0bfc('0x7')],_0x51c7fd[_0x0bfc('0x8')],_0x51c7fd[_0x0bfc('0x9')],_0x51c7fd[_0x0bfc('0xa')],_0x51c7fd['connectedlinenum'],_0x51c7fd[_0x0bfc('0xb')]));if(_0x51c7fd[_0x0bfc('0x7')]){utils['getVoiceQueueByName'](_0x51c7fd['queue'])['then'](function(_0x1cd1a1){if(_0x1cd1a1){_0x51c7fd['type']=_0x1cd1a1[_0x0bfc('0xc')];_0x51c7fd['agentacw']=_0x51c7fd['agentcomplete']?_0x1cd1a1['acw']:![];_0x51c7fd['acwtime']=_0x51c7fd[_0x0bfc('0xd')]?_0x1cd1a1[_0x0bfc('0xe')]:0x0;}utils[_0x0bfc('0xf')](_0x0bfc('0x10'),_0x51c7fd);});}else{utils[_0x0bfc('0xf')](_0x0bfc('0x10'),_0x51c7fd);}if(_0x4ea4cb){delete transfers[_0x51c7fd[_0x0bfc('0x5')]];}else{delete agents[_0x51c7fd['destuniqueid']];}}exports[_0x0bfc('0x11')]=function(_0x56d1e9){try{utils[_0x0bfc('0x12')](util[_0x0bfc('0x3')](_0x0bfc('0x13'),_0x56d1e9[_0x0bfc('0x5')]),_0x56d1e9);agents[_0x56d1e9[_0x0bfc('0x14')]]=_0x56d1e9;agents[_0x56d1e9[_0x0bfc('0x14')]][_0x0bfc('0x15')]=utils[_0x0bfc('0x16')]();agents[_0x56d1e9[_0x0bfc('0x14')]][_0x0bfc('0xb')]=_0x0bfc('0x17');agents[_0x56d1e9['destuniqueid']][_0x0bfc('0x18')]=null;agents[_0x56d1e9[_0x0bfc('0x14')]][_0x0bfc('0x19')]=null;utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')](_0x0bfc('0x1a'),_0x56d1e9['uniqueid'],agents[_0x56d1e9[_0x0bfc('0x14')]]['membername'],_0x56d1e9[_0x0bfc('0x14')]));}catch(_0x172996){utils[_0x0bfc('0x1b')](util[_0x0bfc('0x3')]('[%s][agents][agentcalled]',_0x56d1e9[_0x0bfc('0x5')]),_0x172996);}};exports['agentringnoanswer']=function(_0x46e0fa){try{if(!_[_0x0bfc('0x1c')](agents[_0x46e0fa['destuniqueid']])){utils[_0x0bfc('0x12')](util[_0x0bfc('0x3')](_0x0bfc('0x1d'),_0x46e0fa['uniqueid']),_0x46e0fa);utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')](_0x0bfc('0x1e'),_0x46e0fa[_0x0bfc('0x5')],agents[_0x46e0fa[_0x0bfc('0x14')]][_0x0bfc('0x8')],_0x46e0fa[_0x0bfc('0x14')]));agents[_0x46e0fa[_0x0bfc('0x14')]][_0x0bfc('0x1f')]=!![];agents[_0x46e0fa[_0x0bfc('0x14')]]['agentringnoanswerAt']=utils[_0x0bfc('0x16')]();agents[_0x46e0fa[_0x0bfc('0x14')]][_0x0bfc('0xb')]='timeout';agents[_0x46e0fa[_0x0bfc('0x14')]][_0x0bfc('0x20')]=_0x0bfc('0x21');agents[_0x46e0fa[_0x0bfc('0x14')]][_0x0bfc('0x22')]=_0x46e0fa['ringtime']?parseInt(_0x46e0fa[_0x0bfc('0x23')])/0x3e8:0x0;agents[_0x46e0fa[_0x0bfc('0x14')]]['talktime']=0x0;unanswered[_0x0bfc('0x24')](_0x46e0fa['destuniqueid']);}}catch(_0x30d8c6){utils[_0x0bfc('0x1b')](util[_0x0bfc('0x3')](_0x0bfc('0x1d'),_0x46e0fa[_0x0bfc('0x5')]),_0x30d8c6);}};exports[_0x0bfc('0x25')]=function(_0x568530){try{_[_0x0bfc('0x26')](agents,function(_0x3580de,_0xe7d050){if(_0x3580de[_0x0bfc('0x5')]==_0x568530[_0x0bfc('0x5')]&&!_[_0x0bfc('0x27')](unanswered,_0x3580de[_0x0bfc('0x14')])){utils[_0x0bfc('0x12')](util[_0x0bfc('0x3')](_0x0bfc('0x28'),_0x568530['uniqueid']),_0x568530);utils['info'](util[_0x0bfc('0x3')](_0x0bfc('0x29'),_0x568530['uniqueid'],_0x3580de[_0x0bfc('0x8')],_0x3580de[_0x0bfc('0x14')]));_0x3580de['agentringnoanswer']=!![];_0x3580de[_0x0bfc('0x2a')]=utils[_0x0bfc('0x16')]();_0x3580de['lastevent']=_0x0bfc('0x2b');_0x3580de[_0x0bfc('0x20')]=_0x0bfc('0x2b');_0x3580de[_0x0bfc('0x22')]=_0x568530[_0x0bfc('0x22')];_0x3580de[_0x0bfc('0x2c')]=0x0;writeDB(_0x3580de);}});}catch(_0x4f69eb){utils['error'](util['format'](_0x0bfc('0x28'),_0x568530['uniqueid']),_0x4f69eb);}};exports['agentconnect']=function(_0x500d9f){try{if(agents[_0x500d9f[_0x0bfc('0x14')]]){utils['debug'](util[_0x0bfc('0x3')](_0x0bfc('0x2d'),_0x500d9f[_0x0bfc('0x5')]),_0x500d9f);utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')]('[%s][agents][agentconnect]\x20agent:%s\x20destuniqueid:%s\x20lastevent:connect',_0x500d9f[_0x0bfc('0x5')],agents[_0x500d9f['destuniqueid']][_0x0bfc('0x8')],_0x500d9f[_0x0bfc('0x14')]));agents[_0x500d9f[_0x0bfc('0x14')]][_0x0bfc('0x2e')]=utils['now']();agents[_0x500d9f[_0x0bfc('0x14')]][_0x0bfc('0x18')]=_0x500d9f[_0x0bfc('0x18')];agents[_0x500d9f[_0x0bfc('0x14')]][_0x0bfc('0x19')]=_0x500d9f['connectedlinename'];agents[_0x500d9f[_0x0bfc('0x14')]][_0x0bfc('0x22')]=_0x500d9f['ringtime'];agents[_0x500d9f[_0x0bfc('0x14')]][_0x0bfc('0xb')]=_0x0bfc('0x2f');_[_0x0bfc('0x26')](agents,function(_0xb98bd,_0x323a41){if(_0xb98bd['destuniqueid']!=_0x500d9f['destuniqueid']&&_0xb98bd[_0x0bfc('0x5')]==_0x500d9f['uniqueid']){_0xb98bd['talktime']=0x0;_0xb98bd[_0x0bfc('0x22')]=_0x500d9f[_0x0bfc('0x23')];_0xb98bd['agentringnoanswer']=!![];_0xb98bd[_0x0bfc('0x2a')]=utils[_0x0bfc('0x16')]();_0xb98bd[_0x0bfc('0xb')]=_0x0bfc('0x30');_0xb98bd['reason']=_0x0bfc('0x30');_0xb98bd[_0x0bfc('0x31')]=_0x500d9f['destuniqueid'];_0xb98bd[_0x0bfc('0x32')]=_0x500d9f['membername'];writeDB(_0xb98bd);}});}}catch(_0x144293){utils['error'](util[_0x0bfc('0x3')](_0x0bfc('0x2d'),_0x500d9f[_0x0bfc('0x5')]),_0x144293);}};exports[_0x0bfc('0x33')]=function(_0x1b356a){try{if(!_[_0x0bfc('0x1c')](agents[_0x1b356a[_0x0bfc('0x14')]])){utils[_0x0bfc('0x12')](util[_0x0bfc('0x3')](_0x0bfc('0x34'),_0x1b356a[_0x0bfc('0x5')]),_0x1b356a);utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')](_0x0bfc('0x35'),_0x1b356a[_0x0bfc('0x5')],agents[_0x1b356a['destuniqueid']][_0x0bfc('0x8')],_0x1b356a['destuniqueid']));agents[_0x1b356a[_0x0bfc('0x14')]]['agentcomplete']=!![];agents[_0x1b356a[_0x0bfc('0x14')]][_0x0bfc('0x36')]=utils[_0x0bfc('0x16')]();agents[_0x1b356a[_0x0bfc('0x14')]][_0x0bfc('0x2c')]=utils['diffTime'](agents[_0x1b356a[_0x0bfc('0x14')]][_0x0bfc('0x36')],agents[_0x1b356a[_0x0bfc('0x14')]][_0x0bfc('0x2e')]);agents[_0x1b356a['destuniqueid']][_0x0bfc('0x20')]=_0x1b356a[_0x0bfc('0x20')];agents[_0x1b356a[_0x0bfc('0x14')]][_0x0bfc('0xb')]=_0x0bfc('0x37');writeDB(agents[_0x1b356a[_0x0bfc('0x14')]]);}}catch(_0x395e7b){utils[_0x0bfc('0x1b')](util[_0x0bfc('0x3')](_0x0bfc('0x34'),_0x1b356a[_0x0bfc('0x5')]),_0x395e7b);}};exports[_0x0bfc('0x38')]=function(_0x1541e3){try{if(!_[_0x0bfc('0x1c')](agents[_0x1541e3[_0x0bfc('0x39')]])){utils[_0x0bfc('0x12')](util[_0x0bfc('0x3')](_0x0bfc('0x3a'),_0x1541e3[_0x0bfc('0x5')]),_0x1541e3);utils['info'](util['format']('[%s][agents][blindtransfer]\x20agent:%s\x20transferuniqueid:%s',_0x1541e3[_0x0bfc('0x5')],agents[_0x1541e3[_0x0bfc('0x39')]]['membername'],agents[_0x1541e3['transfereruniqueid']]['uniqueid']));agents[_0x1541e3[_0x0bfc('0x39')]][_0x0bfc('0x3b')]=!![];agents[_0x1541e3[_0x0bfc('0x39')]][_0x0bfc('0x3c')]='blind';agents[_0x1541e3['transfereruniqueid']][_0x0bfc('0x3d')]=_0x1541e3['extension'];agents[_0x1541e3[_0x0bfc('0x39')]]['transferuniqueid']=agents[_0x1541e3[_0x0bfc('0x39')]][_0x0bfc('0x5')];}}catch(_0x5ce136){utils[_0x0bfc('0x1b')](util[_0x0bfc('0x3')]('[%s][agents][blindtransfer]',_0x1541e3[_0x0bfc('0x5')]),_0x5ce136);}};exports[_0x0bfc('0x3e')]=function(_0x21d1c6){try{utils[_0x0bfc('0x12')](util[_0x0bfc('0x3')](_0x0bfc('0x3f'),_0x21d1c6[_0x0bfc('0x40')]),_0x21d1c6);if(_0x21d1c6[_0x0bfc('0x40')]==_0x21d1c6[_0x0bfc('0x41')]){if(!_[_0x0bfc('0x1c')](agents[_0x21d1c6[_0x0bfc('0x42')]])){utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')](_0x0bfc('0x43'),_0x21d1c6['origtransfereruniqueid'],agents[_0x21d1c6['secondtransfereruniqueid']][_0x0bfc('0x8')]));agents[_0x21d1c6[_0x0bfc('0x42')]]['transfer']=!![];agents[_0x21d1c6['secondtransfereruniqueid']]['transfertype']='ATTENDED';agents[_0x21d1c6[_0x0bfc('0x42')]]['transferexten']=_0x21d1c6[_0x0bfc('0x44')];agents[_0x21d1c6[_0x0bfc('0x42')]][_0x0bfc('0x45')]=_0x21d1c6['origtransfereruniqueid'];}if(_0x21d1c6[_0x0bfc('0x46')]&&agents[_0x21d1c6[_0x0bfc('0x46')]]){agents[_0x21d1c6['transfereeuniqueid']]['agententerreason']=0x1;transfers[_0x21d1c6[_0x0bfc('0x46')]]=_[_0x0bfc('0x47')](agents[_0x21d1c6[_0x0bfc('0x46')]]);transfers[_0x21d1c6['transfereeuniqueid']][_0x0bfc('0xa')]=agents[_0x21d1c6[_0x0bfc('0x42')]][_0x0bfc('0xa')];transfers[_0x21d1c6[_0x0bfc('0x46')]][_0x0bfc('0x48')]=agents[_0x21d1c6[_0x0bfc('0x42')]]['calleridname'];transfers[_0x21d1c6[_0x0bfc('0x46')]]['agentcalledAt']=utils['now']();transfers[_0x21d1c6[_0x0bfc('0x46')]][_0x0bfc('0x2e')]=utils[_0x0bfc('0x16')]();transfers[_0x21d1c6[_0x0bfc('0x46')]][_0x0bfc('0x22')]=0x0;transfers[_0x21d1c6[_0x0bfc('0x46')]][_0x0bfc('0x49')]=0x2;}}else if(_0x21d1c6[_0x0bfc('0x42')]==_0x21d1c6[_0x0bfc('0x4a')]){if(!_[_0x0bfc('0x1c')](agents[_0x21d1c6[_0x0bfc('0x40')]])){utils[_0x0bfc('0x2')](util['format'](_0x0bfc('0x43'),_0x21d1c6[_0x0bfc('0x40')],agents[_0x21d1c6['origtransfereruniqueid']][_0x0bfc('0x8')]));agents[_0x21d1c6['origtransfereruniqueid']][_0x0bfc('0x3b')]=!![];agents[_0x21d1c6['origtransfereruniqueid']]['transfertype']='ATTENDED';agents[_0x21d1c6[_0x0bfc('0x40')]][_0x0bfc('0x3d')]=_0x21d1c6['secondtransfererexten'];agents[_0x21d1c6['origtransfereruniqueid']][_0x0bfc('0x45')]=_0x21d1c6[_0x0bfc('0x42')];}if(_0x21d1c6[_0x0bfc('0x4b')]&&agents[_0x21d1c6[_0x0bfc('0x4b')]]){agents[_0x21d1c6['transfertargetuniqueid']][_0x0bfc('0x49')]=0x1;transfers[_0x21d1c6[_0x0bfc('0x4b')]]=_[_0x0bfc('0x47')](agents[_0x21d1c6[_0x0bfc('0x4b')]]);transfers[_0x21d1c6[_0x0bfc('0x4b')]][_0x0bfc('0xa')]=agents[_0x21d1c6[_0x0bfc('0x40')]][_0x0bfc('0xa')];transfers[_0x21d1c6[_0x0bfc('0x4b')]][_0x0bfc('0x48')]=agents[_0x21d1c6[_0x0bfc('0x40')]]['calleridname'];transfers[_0x21d1c6['transfertargetuniqueid']][_0x0bfc('0x15')]=utils['now']();transfers[_0x21d1c6[_0x0bfc('0x4b')]][_0x0bfc('0x2e')]=utils[_0x0bfc('0x16')]();transfers[_0x21d1c6[_0x0bfc('0x4b')]][_0x0bfc('0x22')]=0x0;transfers[_0x21d1c6['transfertargetuniqueid']]['agententerreason']=0x2;}}}catch(_0x2ca6a5){utils[_0x0bfc('0x1b')](util['format'](_0x0bfc('0x3f'),_0x21d1c6[_0x0bfc('0x40')]),_0x2ca6a5);}};exports[_0x0bfc('0x4c')]=function(_0x1ac82d){try{utils[_0x0bfc('0x12')](util[_0x0bfc('0x3')]('[%s][agents][hangup]',_0x1ac82d['uniqueid']),_0x1ac82d);if(agents[_0x1ac82d[_0x0bfc('0x5')]]&&agents[_0x1ac82d['uniqueid']][_0x0bfc('0x20')]===_0x0bfc('0x21')){if(_0x1ac82d[_0x0bfc('0x4d')]==='21'){agents[_0x1ac82d['uniqueid']]['reason']=_0x0bfc('0x4e');agents[_0x1ac82d['uniqueid']][_0x0bfc('0xb')]='rejected';}utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')](_0x0bfc('0x4f'),_0x1ac82d[_0x0bfc('0x5')],agents[_0x1ac82d[_0x0bfc('0x5')]]['membername'],agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x20')],agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0xb')]));writeDB(agents[_0x1ac82d[_0x0bfc('0x5')]]);var _0x223c00=unanswered[_0x0bfc('0x50')](_0x1ac82d[_0x0bfc('0x5')]);if(_0x223c00>-0x1){unanswered[_0x0bfc('0x51')](_0x223c00,0x1);}}if(transfers[_0x1ac82d[_0x0bfc('0x5')]]){transfers[_0x1ac82d[_0x0bfc('0x5')]]['agentcomplete']=!![];transfers[_0x1ac82d[_0x0bfc('0x5')]]['agentcompleteAt']=utils[_0x0bfc('0x16')]();transfers[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x2c')]=utils[_0x0bfc('0x52')](transfers[_0x1ac82d['uniqueid']]['agentcompleteAt'],transfers[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x2e')]);transfers[_0x1ac82d['uniqueid']]['reason']=_0x0bfc('0x53');transfers[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0xb')]=_0x0bfc('0x37');utils[_0x0bfc('0x2')](util[_0x0bfc('0x3')](_0x0bfc('0x4f'),_0x1ac82d[_0x0bfc('0x5')],transfers[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x8')],transfers[_0x1ac82d['uniqueid']]['reason'],transfers[_0x1ac82d['uniqueid']][_0x0bfc('0xb')]));writeDB(transfers[_0x1ac82d[_0x0bfc('0x5')]],!![]);}if(agents[_0x1ac82d['uniqueid']]&&agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x2e')]){agents[_0x1ac82d['uniqueid']][_0x0bfc('0x33')]=!![];agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x36')]=utils[_0x0bfc('0x16')]();agents[_0x1ac82d[_0x0bfc('0x5')]]['talktime']=utils[_0x0bfc('0x52')](agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x36')],agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x2e')]);agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x20')]=agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x3b')]?'transfer':_0x0bfc('0x53');agents[_0x1ac82d['uniqueid']][_0x0bfc('0xb')]='complete';utils[_0x0bfc('0x2')](util['format'](_0x0bfc('0x4f'),_0x1ac82d[_0x0bfc('0x5')],agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0x8')],agents[_0x1ac82d['uniqueid']]['reason'],agents[_0x1ac82d[_0x0bfc('0x5')]][_0x0bfc('0xb')]));writeDB(agents[_0x1ac82d[_0x0bfc('0x5')]]);}}catch(_0x529489){utils[_0x0bfc('0x1b')](util[_0x0bfc('0x3')]('[%s][agents][hangup]',_0x1ac82d[_0x0bfc('0x5')]),_0x529489);}};
\ No newline at end of file
+var _0xf4eb=['request','debug','format','[%s][agents][agentcalled]','destuniqueid','now','lastevent','connectedlinename','error','agentringnoanswer','isNil','[%s][agents][agentringnoanswer]','agentringnoanswerAt','timeout','reason','holdtime','ringtime','talktime','push','forIn','includes','[%s][agents][queuecallerabandon]\x20agent:%s\x20destuniqueid:%s\x20lastevent:abandoned','abandoned','agentconnect','[%s][agents][agentconnect]\x20agent:%s\x20destuniqueid:%s\x20lastevent:connect','agentconnectAt','connect','answered_elsewhere','answeredelsewheremembername','[%s][agents][agentconnect]','agentcompleteAt','diffTime','complete','[%s][agents][agentcomplete]','blindtransfer','transfereruniqueid','[%s][agents][blindtransfer]','[%s][agents][blindtransfer]\x20agent:%s\x20transferuniqueid:%s','transfer','transfertype','blind','transferexten','extension','transferuniqueid','attendedtransfer','[%s][agents][attendedtransfer]','origtransfererlinkedid','[%s][agents][attendedtransfer]\x20agent:%s','origtransfereruniqueid','secondtransfereruniqueid','ATTENDED','origtransfererexten','transfereeuniqueid','clone','calleridname','agentcalledAt','agententerreason','secondtransfererlinkedid','secondtransfererexten','transfertargetuniqueid','hangup','[%s][agents][hangup]','cause','rejected','[%s][agents][hangup]\x20agent:%s\x20reason:%s\x20lastevent:%s','indexOf','splice','agent','lodash','info','uniqueid','channel','queue','membername','interface','calleridnum','connectedlinenum','then','type','agentacw','agentcomplete','acw','acwTimeout','CreateVoiceAgentReport'];(function(_0x4a3553,_0x12e68f){var _0x569d42=function(_0x28860d){while(--_0x28860d){_0x4a3553['push'](_0x4a3553['shift']());}};_0x569d42(++_0x12e68f);}(_0xf4eb,0xec));var _0xbf4e=function(_0x11e855,_0x5857b5){_0x11e855=_0x11e855-0x0;var _0x21a222=_0xf4eb[_0x11e855];return _0x21a222;};'use strict';var _=require(_0xbf4e('0x0'));var util=require('util');var utils=require('./utils');var agents={};var transfers={};var unanswered=[];function writeDB(_0x479210,_0x5ed5b9){utils[_0xbf4e('0x1')](util['format']('[%s][agents][writeDB]\x20channel:%s\x20queue:%s\x20agent:%s\x20interface:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20lastevent:%s',_0x479210[_0xbf4e('0x2')],_0x479210[_0xbf4e('0x3')],_0x479210[_0xbf4e('0x4')],_0x479210[_0xbf4e('0x5')],_0x479210[_0xbf4e('0x6')],_0x479210[_0xbf4e('0x7')],_0x479210[_0xbf4e('0x8')],_0x479210['lastevent']));if(_0x479210[_0xbf4e('0x4')]){utils['getVoiceQueueByName'](_0x479210['queue'])[_0xbf4e('0x9')](function(_0x3761c1){if(_0x3761c1){_0x479210[_0xbf4e('0xa')]=_0x3761c1[_0xbf4e('0xa')];_0x479210[_0xbf4e('0xb')]=_0x479210[_0xbf4e('0xc')]?_0x3761c1[_0xbf4e('0xd')]:![];_0x479210['acwtime']=_0x479210['agentacw']?_0x3761c1[_0xbf4e('0xe')]:0x0;}utils['request'](_0xbf4e('0xf'),_0x479210);});}else{utils[_0xbf4e('0x10')]('CreateVoiceAgentReport',_0x479210);}if(_0x5ed5b9){delete transfers[_0x479210[_0xbf4e('0x2')]];}else{delete agents[_0x479210['destuniqueid']];}}exports['agentcalled']=function(_0x209b25){try{utils[_0xbf4e('0x11')](util[_0xbf4e('0x12')](_0xbf4e('0x13'),_0x209b25[_0xbf4e('0x2')]),_0x209b25);agents[_0x209b25[_0xbf4e('0x14')]]=_0x209b25;agents[_0x209b25['destuniqueid']]['agentcalledAt']=utils[_0xbf4e('0x15')]();agents[_0x209b25[_0xbf4e('0x14')]][_0xbf4e('0x16')]='called';agents[_0x209b25[_0xbf4e('0x14')]][_0xbf4e('0x8')]=null;agents[_0x209b25[_0xbf4e('0x14')]][_0xbf4e('0x17')]=null;utils['info'](util[_0xbf4e('0x12')]('[%s][agents][agentcalled]\x20agent:%s\x20destuniqueid:%s\x20lastevent:called',_0x209b25['uniqueid'],agents[_0x209b25['destuniqueid']]['membername'],_0x209b25[_0xbf4e('0x14')]));}catch(_0x1ca73c){utils[_0xbf4e('0x18')](util['format']('[%s][agents][agentcalled]',_0x209b25[_0xbf4e('0x2')]),_0x1ca73c);}};exports[_0xbf4e('0x19')]=function(_0x3be138){try{if(!_[_0xbf4e('0x1a')](agents[_0x3be138[_0xbf4e('0x14')]])){utils[_0xbf4e('0x11')](util[_0xbf4e('0x12')](_0xbf4e('0x1b'),_0x3be138[_0xbf4e('0x2')]),_0x3be138);utils[_0xbf4e('0x1')](util[_0xbf4e('0x12')]('[%s][agents][agentringnoanswer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:timeout',_0x3be138[_0xbf4e('0x2')],agents[_0x3be138[_0xbf4e('0x14')]]['membername'],_0x3be138[_0xbf4e('0x14')]));agents[_0x3be138[_0xbf4e('0x14')]][_0xbf4e('0x19')]=!![];agents[_0x3be138[_0xbf4e('0x14')]][_0xbf4e('0x1c')]=utils['now']();agents[_0x3be138[_0xbf4e('0x14')]][_0xbf4e('0x16')]=_0xbf4e('0x1d');agents[_0x3be138['destuniqueid']][_0xbf4e('0x1e')]='timeout';agents[_0x3be138['destuniqueid']][_0xbf4e('0x1f')]=_0x3be138['ringtime']?parseInt(_0x3be138[_0xbf4e('0x20')])/0x3e8:0x0;agents[_0x3be138[_0xbf4e('0x14')]][_0xbf4e('0x21')]=0x0;unanswered[_0xbf4e('0x22')](_0x3be138['destuniqueid']);}}catch(_0x2d4686){utils[_0xbf4e('0x18')](util[_0xbf4e('0x12')]('[%s][agents][agentringnoanswer]',_0x3be138[_0xbf4e('0x2')]),_0x2d4686);}};exports['queuecallerabandon']=function(_0x1dfa81){try{_[_0xbf4e('0x23')](agents,function(_0xb8b58e,_0x498dbd){if(_0xb8b58e[_0xbf4e('0x2')]==_0x1dfa81[_0xbf4e('0x2')]&&!_[_0xbf4e('0x24')](unanswered,_0xb8b58e[_0xbf4e('0x14')])){utils[_0xbf4e('0x11')](util[_0xbf4e('0x12')]('[%s][agents][queuecallerabandon]',_0x1dfa81[_0xbf4e('0x2')]),_0x1dfa81);utils[_0xbf4e('0x1')](util['format'](_0xbf4e('0x25'),_0x1dfa81[_0xbf4e('0x2')],_0xb8b58e['membername'],_0xb8b58e[_0xbf4e('0x14')]));_0xb8b58e['agentringnoanswer']=!![];_0xb8b58e[_0xbf4e('0x1c')]=utils['now']();_0xb8b58e[_0xbf4e('0x16')]=_0xbf4e('0x26');_0xb8b58e[_0xbf4e('0x1e')]='abandoned';_0xb8b58e[_0xbf4e('0x1f')]=_0x1dfa81[_0xbf4e('0x1f')];_0xb8b58e[_0xbf4e('0x21')]=0x0;writeDB(_0xb8b58e);}});}catch(_0x29d6aa){utils[_0xbf4e('0x18')](util[_0xbf4e('0x12')]('[%s][agents][queuecallerabandon]',_0x1dfa81[_0xbf4e('0x2')]),_0x29d6aa);}};exports[_0xbf4e('0x27')]=function(_0x25b837){try{if(agents[_0x25b837[_0xbf4e('0x14')]]){utils[_0xbf4e('0x11')](util['format']('[%s][agents][agentconnect]',_0x25b837['uniqueid']),_0x25b837);utils['info'](util[_0xbf4e('0x12')](_0xbf4e('0x28'),_0x25b837[_0xbf4e('0x2')],agents[_0x25b837[_0xbf4e('0x14')]][_0xbf4e('0x5')],_0x25b837[_0xbf4e('0x14')]));agents[_0x25b837[_0xbf4e('0x14')]][_0xbf4e('0x29')]=utils[_0xbf4e('0x15')]();agents[_0x25b837['destuniqueid']]['connectedlinenum']=_0x25b837[_0xbf4e('0x8')];agents[_0x25b837[_0xbf4e('0x14')]][_0xbf4e('0x17')]=_0x25b837['connectedlinename'];agents[_0x25b837[_0xbf4e('0x14')]]['holdtime']=_0x25b837[_0xbf4e('0x20')];agents[_0x25b837[_0xbf4e('0x14')]][_0xbf4e('0x16')]=_0xbf4e('0x2a');_['forIn'](agents,function(_0x31d8dc,_0x78ab2d){if(_0x31d8dc[_0xbf4e('0x14')]!=_0x25b837[_0xbf4e('0x14')]&&_0x31d8dc['uniqueid']==_0x25b837[_0xbf4e('0x2')]){_0x31d8dc[_0xbf4e('0x21')]=0x0;_0x31d8dc[_0xbf4e('0x1f')]=_0x25b837[_0xbf4e('0x20')];_0x31d8dc[_0xbf4e('0x19')]=!![];_0x31d8dc[_0xbf4e('0x1c')]=utils[_0xbf4e('0x15')]();_0x31d8dc['lastevent']=_0xbf4e('0x2b');_0x31d8dc[_0xbf4e('0x1e')]='answered_elsewhere';_0x31d8dc['answeredelsewheredestinationuniqueid']=_0x25b837[_0xbf4e('0x14')];_0x31d8dc[_0xbf4e('0x2c')]=_0x25b837['membername'];writeDB(_0x31d8dc);}});}}catch(_0x5bfc4d){utils[_0xbf4e('0x18')](util[_0xbf4e('0x12')](_0xbf4e('0x2d'),_0x25b837[_0xbf4e('0x2')]),_0x5bfc4d);}};exports[_0xbf4e('0xc')]=function(_0x3ad0a4){try{if(!_['isNil'](agents[_0x3ad0a4[_0xbf4e('0x14')]])){utils[_0xbf4e('0x11')](util['format']('[%s][agents][agentcomplete]',_0x3ad0a4['uniqueid']),_0x3ad0a4);utils['info'](util[_0xbf4e('0x12')]('[%s][agents][agentcomplete]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete',_0x3ad0a4[_0xbf4e('0x2')],agents[_0x3ad0a4[_0xbf4e('0x14')]]['membername'],_0x3ad0a4['destuniqueid']));agents[_0x3ad0a4[_0xbf4e('0x14')]][_0xbf4e('0xc')]=!![];agents[_0x3ad0a4[_0xbf4e('0x14')]][_0xbf4e('0x2e')]=utils[_0xbf4e('0x15')]();agents[_0x3ad0a4['destuniqueid']][_0xbf4e('0x21')]=utils[_0xbf4e('0x2f')](agents[_0x3ad0a4[_0xbf4e('0x14')]][_0xbf4e('0x2e')],agents[_0x3ad0a4[_0xbf4e('0x14')]][_0xbf4e('0x29')]);agents[_0x3ad0a4[_0xbf4e('0x14')]][_0xbf4e('0x1e')]=_0x3ad0a4['reason'];agents[_0x3ad0a4[_0xbf4e('0x14')]][_0xbf4e('0x16')]=_0xbf4e('0x30');writeDB(agents[_0x3ad0a4[_0xbf4e('0x14')]]);}}catch(_0x9bc1fe){utils[_0xbf4e('0x18')](util[_0xbf4e('0x12')](_0xbf4e('0x31'),_0x3ad0a4[_0xbf4e('0x2')]),_0x9bc1fe);}};exports[_0xbf4e('0x32')]=function(_0x2fdba9){try{if(!_[_0xbf4e('0x1a')](agents[_0x2fdba9[_0xbf4e('0x33')]])){utils[_0xbf4e('0x11')](util[_0xbf4e('0x12')](_0xbf4e('0x34'),_0x2fdba9[_0xbf4e('0x2')]),_0x2fdba9);utils['info'](util[_0xbf4e('0x12')](_0xbf4e('0x35'),_0x2fdba9[_0xbf4e('0x2')],agents[_0x2fdba9['transfereruniqueid']][_0xbf4e('0x5')],agents[_0x2fdba9['transfereruniqueid']]['uniqueid']));agents[_0x2fdba9[_0xbf4e('0x33')]][_0xbf4e('0x36')]=!![];agents[_0x2fdba9['transfereruniqueid']][_0xbf4e('0x37')]=_0xbf4e('0x38');agents[_0x2fdba9[_0xbf4e('0x33')]][_0xbf4e('0x39')]=_0x2fdba9[_0xbf4e('0x3a')];agents[_0x2fdba9[_0xbf4e('0x33')]][_0xbf4e('0x3b')]=agents[_0x2fdba9[_0xbf4e('0x33')]][_0xbf4e('0x2')];}}catch(_0xc058e1){utils[_0xbf4e('0x18')](util['format']('[%s][agents][blindtransfer]',_0x2fdba9[_0xbf4e('0x2')]),_0xc058e1);}};exports[_0xbf4e('0x3c')]=function(_0x3d0b4a){try{utils['debug'](util[_0xbf4e('0x12')](_0xbf4e('0x3d'),_0x3d0b4a['origtransfereruniqueid']),_0x3d0b4a);if(_0x3d0b4a['origtransfereruniqueid']==_0x3d0b4a[_0xbf4e('0x3e')]){if(!_['isNil'](agents[_0x3d0b4a['secondtransfereruniqueid']])){utils[_0xbf4e('0x1')](util[_0xbf4e('0x12')](_0xbf4e('0x3f'),_0x3d0b4a[_0xbf4e('0x40')],agents[_0x3d0b4a[_0xbf4e('0x41')]]['membername']));agents[_0x3d0b4a[_0xbf4e('0x41')]]['transfer']=!![];agents[_0x3d0b4a[_0xbf4e('0x41')]]['transfertype']=_0xbf4e('0x42');agents[_0x3d0b4a['secondtransfereruniqueid']][_0xbf4e('0x39')]=_0x3d0b4a[_0xbf4e('0x43')];agents[_0x3d0b4a[_0xbf4e('0x41')]][_0xbf4e('0x3b')]=_0x3d0b4a[_0xbf4e('0x40')];}if(_0x3d0b4a['transfereeuniqueid']&&agents[_0x3d0b4a['transfereeuniqueid']]){agents[_0x3d0b4a['transfereeuniqueid']]['agententerreason']=0x1;transfers[_0x3d0b4a[_0xbf4e('0x44')]]=_[_0xbf4e('0x45')](agents[_0x3d0b4a['transfereeuniqueid']]);transfers[_0x3d0b4a[_0xbf4e('0x44')]][_0xbf4e('0x7')]=agents[_0x3d0b4a[_0xbf4e('0x41')]][_0xbf4e('0x7')];transfers[_0x3d0b4a[_0xbf4e('0x44')]][_0xbf4e('0x46')]=agents[_0x3d0b4a[_0xbf4e('0x41')]]['calleridname'];transfers[_0x3d0b4a[_0xbf4e('0x44')]][_0xbf4e('0x47')]=utils[_0xbf4e('0x15')]();transfers[_0x3d0b4a['transfereeuniqueid']]['agentconnectAt']=utils[_0xbf4e('0x15')]();transfers[_0x3d0b4a[_0xbf4e('0x44')]][_0xbf4e('0x1f')]=0x0;transfers[_0x3d0b4a['transfereeuniqueid']][_0xbf4e('0x48')]=0x2;}}else if(_0x3d0b4a[_0xbf4e('0x41')]==_0x3d0b4a[_0xbf4e('0x49')]){if(!_[_0xbf4e('0x1a')](agents[_0x3d0b4a[_0xbf4e('0x40')]])){utils[_0xbf4e('0x1')](util[_0xbf4e('0x12')](_0xbf4e('0x3f'),_0x3d0b4a[_0xbf4e('0x40')],agents[_0x3d0b4a[_0xbf4e('0x40')]][_0xbf4e('0x5')]));agents[_0x3d0b4a[_0xbf4e('0x40')]]['transfer']=!![];agents[_0x3d0b4a[_0xbf4e('0x40')]]['transfertype']=_0xbf4e('0x42');agents[_0x3d0b4a[_0xbf4e('0x40')]][_0xbf4e('0x39')]=_0x3d0b4a[_0xbf4e('0x4a')];agents[_0x3d0b4a[_0xbf4e('0x40')]][_0xbf4e('0x3b')]=_0x3d0b4a[_0xbf4e('0x41')];}if(_0x3d0b4a[_0xbf4e('0x4b')]&&agents[_0x3d0b4a['transfertargetuniqueid']]){agents[_0x3d0b4a[_0xbf4e('0x4b')]][_0xbf4e('0x48')]=0x1;transfers[_0x3d0b4a[_0xbf4e('0x4b')]]=_[_0xbf4e('0x45')](agents[_0x3d0b4a[_0xbf4e('0x4b')]]);transfers[_0x3d0b4a['transfertargetuniqueid']][_0xbf4e('0x7')]=agents[_0x3d0b4a[_0xbf4e('0x40')]][_0xbf4e('0x7')];transfers[_0x3d0b4a[_0xbf4e('0x4b')]][_0xbf4e('0x46')]=agents[_0x3d0b4a[_0xbf4e('0x40')]]['calleridname'];transfers[_0x3d0b4a[_0xbf4e('0x4b')]]['agentcalledAt']=utils[_0xbf4e('0x15')]();transfers[_0x3d0b4a[_0xbf4e('0x4b')]][_0xbf4e('0x29')]=utils[_0xbf4e('0x15')]();transfers[_0x3d0b4a['transfertargetuniqueid']][_0xbf4e('0x1f')]=0x0;transfers[_0x3d0b4a['transfertargetuniqueid']]['agententerreason']=0x2;}}}catch(_0x2c0dbd){utils[_0xbf4e('0x18')](util[_0xbf4e('0x12')]('[%s][agents][attendedtransfer]',_0x3d0b4a[_0xbf4e('0x40')]),_0x2c0dbd);}};exports[_0xbf4e('0x4c')]=function(_0x4d7241){try{utils[_0xbf4e('0x11')](util[_0xbf4e('0x12')](_0xbf4e('0x4d'),_0x4d7241[_0xbf4e('0x2')]),_0x4d7241);if(agents[_0x4d7241[_0xbf4e('0x2')]]&&agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x1e')]===_0xbf4e('0x1d')){if(_0x4d7241[_0xbf4e('0x4e')]==='21'){agents[_0x4d7241['uniqueid']][_0xbf4e('0x1e')]=_0xbf4e('0x4f');agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x16')]='rejected';}utils[_0xbf4e('0x1')](util[_0xbf4e('0x12')](_0xbf4e('0x50'),_0x4d7241[_0xbf4e('0x2')],agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x5')],agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x1e')],agents[_0x4d7241[_0xbf4e('0x2')]]['lastevent']));writeDB(agents[_0x4d7241[_0xbf4e('0x2')]]);var _0x47ef56=unanswered[_0xbf4e('0x51')](_0x4d7241[_0xbf4e('0x2')]);if(_0x47ef56>-0x1){unanswered[_0xbf4e('0x52')](_0x47ef56,0x1);}}if(transfers[_0x4d7241[_0xbf4e('0x2')]]){transfers[_0x4d7241[_0xbf4e('0x2')]]['agentcomplete']=!![];transfers[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x2e')]=utils[_0xbf4e('0x15')]();transfers[_0x4d7241['uniqueid']][_0xbf4e('0x21')]=utils[_0xbf4e('0x2f')](transfers[_0x4d7241[_0xbf4e('0x2')]]['agentcompleteAt'],transfers[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x29')]);transfers[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x1e')]=_0xbf4e('0x53');transfers[_0x4d7241['uniqueid']][_0xbf4e('0x16')]='complete';utils[_0xbf4e('0x1')](util['format'](_0xbf4e('0x50'),_0x4d7241['uniqueid'],transfers[_0x4d7241[_0xbf4e('0x2')]]['membername'],transfers[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x1e')],transfers[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x16')]));writeDB(transfers[_0x4d7241[_0xbf4e('0x2')]],!![]);}if(agents[_0x4d7241[_0xbf4e('0x2')]]&&agents[_0x4d7241[_0xbf4e('0x2')]]['agentconnectAt']){agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0xc')]=!![];agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x2e')]=utils[_0xbf4e('0x15')]();agents[_0x4d7241[_0xbf4e('0x2')]]['talktime']=utils[_0xbf4e('0x2f')](agents[_0x4d7241[_0xbf4e('0x2')]]['agentcompleteAt'],agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x29')]);agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x1e')]=agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x36')]?_0xbf4e('0x36'):_0xbf4e('0x53');agents[_0x4d7241[_0xbf4e('0x2')]]['lastevent']=_0xbf4e('0x30');utils[_0xbf4e('0x1')](util[_0xbf4e('0x12')]('[%s][agents][hangup]\x20agent:%s\x20reason:%s\x20lastevent:%s',_0x4d7241[_0xbf4e('0x2')],agents[_0x4d7241[_0xbf4e('0x2')]]['membername'],agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x1e')],agents[_0x4d7241[_0xbf4e('0x2')]][_0xbf4e('0x16')]));writeDB(agents[_0x4d7241[_0xbf4e('0x2')]]);}}catch(_0x1cc939){utils[_0xbf4e('0x18')](util[_0xbf4e('0x12')](_0xbf4e('0x4d'),_0x4d7241[_0xbf4e('0x2')]),_0x1cc939);}};
\ No newline at end of file