Built motion from commit 9d0783e6.|2.6.13
[motion2.git] / server / services / xdr / agents.controller.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 _0xb62e=['[%s][agents][agentconnect]\x20agent:%s\x20destuniqueid:%s\x20lastevent:connect','agentconnectAt','connect','answered_elsewhere','agentcompleteAt','complete','[%s][agents][agentcomplete]','blindtransfer','transfereruniqueid','[%s][agents][blindtransfer]','transfer','blind','transferexten','extension','transferuniqueid','attendedtransfer','[%s][agents][attendedtransfer]','origtransfereruniqueid','[%s][agents][attendedtransfer]\x20agent:%s','secondtransfereruniqueid','transfertype','origtransfererexten','transfereeuniqueid','agententerreason','clone','calleridname','secondtransfererlinkedid','secondtransfererexten','transfertargetuniqueid','hangup','[%s][agents][hangup]','cause','rejected','[%s][agents][hangup]\x20agent:%s\x20reason:%s\x20lastevent:%s','indexOf','splice','diffTime','agent','lodash','util','./utils','info','format','[%s][agents][writeDB]\x20channel:%s\x20queue:%s\x20agent:%s\x20interface:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20lastevent:%s','uniqueid','channel','queue','interface','calleridnum','connectedlinenum','getVoiceQueueByName','then','type','agentacw','agentcomplete','acw','acwtime','acwTimeout','request','CreateVoiceAgentReport','destuniqueid','agentcalled','[%s][agents][agentcalled]','agentcalledAt','now','lastevent','called','connectedlinename','[%s][agents][agentcalled]\x20agent:%s\x20destuniqueid:%s\x20lastevent:called','membername','error','agentringnoanswer','isNil','[%s][agents][agentringnoanswer]','agentringnoanswerAt','timeout','reason','ringtime','talktime','push','queuecallerabandon','forIn','includes','debug','[%s][agents][queuecallerabandon]','abandoned','holdtime','agentconnect'];(function(_0x43b42d,_0x55422a){var _0x1aa978=function(_0x247f8f){while(--_0x247f8f){_0x43b42d['push'](_0x43b42d['shift']());}};_0x1aa978(++_0x55422a);}(_0xb62e,0x1de));var _0xeb62=function(_0x618414,_0x1a7a60){_0x618414=_0x618414-0x0;var _0x21c19a=_0xb62e[_0x618414];return _0x21c19a;};'use strict';var _=require(_0xeb62('0x0'));var util=require(_0xeb62('0x1'));var utils=require(_0xeb62('0x2'));var agents={};var transfers={};var unanswered=[];function writeDB(_0x386f22,_0x57a5ba){utils[_0xeb62('0x3')](util[_0xeb62('0x4')](_0xeb62('0x5'),_0x386f22[_0xeb62('0x6')],_0x386f22[_0xeb62('0x7')],_0x386f22[_0xeb62('0x8')],_0x386f22['membername'],_0x386f22[_0xeb62('0x9')],_0x386f22[_0xeb62('0xa')],_0x386f22[_0xeb62('0xb')],_0x386f22['lastevent']));if(_0x386f22[_0xeb62('0x8')]){utils[_0xeb62('0xc')](_0x386f22[_0xeb62('0x8')])[_0xeb62('0xd')](function(_0x4967c0){if(_0x4967c0){_0x386f22['type']=_0x4967c0[_0xeb62('0xe')];_0x386f22[_0xeb62('0xf')]=_0x386f22[_0xeb62('0x10')]?_0x4967c0[_0xeb62('0x11')]:![];_0x386f22[_0xeb62('0x12')]=_0x386f22[_0xeb62('0xf')]?_0x4967c0[_0xeb62('0x13')]:0x0;}utils[_0xeb62('0x14')](_0xeb62('0x15'),_0x386f22);});}else{utils[_0xeb62('0x14')]('CreateVoiceAgentReport',_0x386f22);}if(_0x57a5ba){delete transfers[_0x386f22[_0xeb62('0x6')]];}else{delete agents[_0x386f22[_0xeb62('0x16')]];}}exports[_0xeb62('0x17')]=function(_0x6822bc){try{utils['debug'](util[_0xeb62('0x4')](_0xeb62('0x18'),_0x6822bc[_0xeb62('0x6')]),_0x6822bc);agents[_0x6822bc['destuniqueid']]=_0x6822bc;agents[_0x6822bc[_0xeb62('0x16')]][_0xeb62('0x19')]=utils[_0xeb62('0x1a')]();agents[_0x6822bc['destuniqueid']][_0xeb62('0x1b')]=_0xeb62('0x1c');agents[_0x6822bc[_0xeb62('0x16')]][_0xeb62('0xb')]=null;agents[_0x6822bc[_0xeb62('0x16')]][_0xeb62('0x1d')]=null;utils[_0xeb62('0x3')](util[_0xeb62('0x4')](_0xeb62('0x1e'),_0x6822bc[_0xeb62('0x6')],agents[_0x6822bc[_0xeb62('0x16')]][_0xeb62('0x1f')],_0x6822bc[_0xeb62('0x16')]));}catch(_0x5a07bb){utils[_0xeb62('0x20')](util[_0xeb62('0x4')](_0xeb62('0x18'),_0x6822bc[_0xeb62('0x6')]),_0x5a07bb);}};exports[_0xeb62('0x21')]=function(_0x24cbf3){try{if(!_[_0xeb62('0x22')](agents[_0x24cbf3['destuniqueid']])){utils['debug'](util[_0xeb62('0x4')](_0xeb62('0x23'),_0x24cbf3[_0xeb62('0x6')]),_0x24cbf3);utils[_0xeb62('0x3')](util[_0xeb62('0x4')]('[%s][agents][agentringnoanswer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:timeout',_0x24cbf3['uniqueid'],agents[_0x24cbf3[_0xeb62('0x16')]][_0xeb62('0x1f')],_0x24cbf3[_0xeb62('0x16')]));agents[_0x24cbf3[_0xeb62('0x16')]]['agentringnoanswer']=!![];agents[_0x24cbf3['destuniqueid']][_0xeb62('0x24')]=utils['now']();agents[_0x24cbf3[_0xeb62('0x16')]]['lastevent']=_0xeb62('0x25');agents[_0x24cbf3['destuniqueid']][_0xeb62('0x26')]=_0xeb62('0x25');agents[_0x24cbf3[_0xeb62('0x16')]]['holdtime']=_0x24cbf3[_0xeb62('0x27')]?parseInt(_0x24cbf3[_0xeb62('0x27')])/0x3e8:0x0;agents[_0x24cbf3[_0xeb62('0x16')]][_0xeb62('0x28')]=0x0;unanswered[_0xeb62('0x29')](_0x24cbf3[_0xeb62('0x16')]);}}catch(_0x511202){utils[_0xeb62('0x20')](util[_0xeb62('0x4')]('[%s][agents][agentringnoanswer]',_0x24cbf3[_0xeb62('0x6')]),_0x511202);}};exports[_0xeb62('0x2a')]=function(_0x2c967c){try{_[_0xeb62('0x2b')](agents,function(_0x235448,_0x5195bf){if(_0x235448['uniqueid']==_0x2c967c[_0xeb62('0x6')]&&!_[_0xeb62('0x2c')](unanswered,_0x235448[_0xeb62('0x16')])){utils[_0xeb62('0x2d')](util[_0xeb62('0x4')](_0xeb62('0x2e'),_0x2c967c[_0xeb62('0x6')]),_0x2c967c);utils['info'](util[_0xeb62('0x4')]('[%s][agents][queuecallerabandon]\x20agent:%s\x20destuniqueid:%s\x20lastevent:abandoned',_0x2c967c['uniqueid'],_0x235448[_0xeb62('0x1f')],_0x235448[_0xeb62('0x16')]));_0x235448['agentringnoanswer']=!![];_0x235448[_0xeb62('0x24')]=utils['now']();_0x235448[_0xeb62('0x1b')]=_0xeb62('0x2f');_0x235448['reason']=_0xeb62('0x2f');_0x235448[_0xeb62('0x30')]=_0x2c967c['holdtime'];_0x235448[_0xeb62('0x28')]=0x0;writeDB(_0x235448);}});}catch(_0x2a8087){utils[_0xeb62('0x20')](util[_0xeb62('0x4')]('[%s][agents][queuecallerabandon]',_0x2c967c[_0xeb62('0x6')]),_0x2a8087);}};exports[_0xeb62('0x31')]=function(_0x4cf6b0){try{if(agents[_0x4cf6b0['destuniqueid']]){utils[_0xeb62('0x2d')](util[_0xeb62('0x4')]('[%s][agents][agentconnect]',_0x4cf6b0[_0xeb62('0x6')]),_0x4cf6b0);utils[_0xeb62('0x3')](util[_0xeb62('0x4')](_0xeb62('0x32'),_0x4cf6b0[_0xeb62('0x6')],agents[_0x4cf6b0[_0xeb62('0x16')]][_0xeb62('0x1f')],_0x4cf6b0['destuniqueid']));agents[_0x4cf6b0['destuniqueid']][_0xeb62('0x33')]=utils[_0xeb62('0x1a')]();agents[_0x4cf6b0[_0xeb62('0x16')]][_0xeb62('0xb')]=_0x4cf6b0['connectedlinenum'];agents[_0x4cf6b0[_0xeb62('0x16')]]['connectedlinename']=_0x4cf6b0[_0xeb62('0x1d')];agents[_0x4cf6b0[_0xeb62('0x16')]][_0xeb62('0x30')]=_0x4cf6b0[_0xeb62('0x27')];agents[_0x4cf6b0[_0xeb62('0x16')]][_0xeb62('0x1b')]=_0xeb62('0x34');_[_0xeb62('0x2b')](agents,function(_0x5e8ef8,_0x38f91b){if(_0x5e8ef8[_0xeb62('0x16')]!=_0x4cf6b0[_0xeb62('0x16')]&&_0x5e8ef8[_0xeb62('0x6')]==_0x4cf6b0['uniqueid']){_0x5e8ef8['talktime']=0x0;_0x5e8ef8[_0xeb62('0x30')]=_0x4cf6b0[_0xeb62('0x27')];_0x5e8ef8['agentringnoanswer']=!![];_0x5e8ef8[_0xeb62('0x24')]=utils[_0xeb62('0x1a')]();_0x5e8ef8['lastevent']=_0xeb62('0x35');_0x5e8ef8['reason']=_0xeb62('0x35');_0x5e8ef8['answeredelsewheredestinationuniqueid']=_0x4cf6b0[_0xeb62('0x16')];_0x5e8ef8['answeredelsewheremembername']=_0x4cf6b0[_0xeb62('0x1f')];writeDB(_0x5e8ef8);}});}}catch(_0x609b2d){utils[_0xeb62('0x20')](util['format']('[%s][agents][agentconnect]',_0x4cf6b0[_0xeb62('0x6')]),_0x609b2d);}};exports[_0xeb62('0x10')]=function(_0xb1c958){try{if(!_[_0xeb62('0x22')](agents[_0xb1c958[_0xeb62('0x16')]])){utils['debug'](util[_0xeb62('0x4')]('[%s][agents][agentcomplete]',_0xb1c958[_0xeb62('0x6')]),_0xb1c958);utils['info'](util[_0xeb62('0x4')]('[%s][agents][agentcomplete]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete',_0xb1c958[_0xeb62('0x6')],agents[_0xb1c958['destuniqueid']][_0xeb62('0x1f')],_0xb1c958[_0xeb62('0x16')]));agents[_0xb1c958[_0xeb62('0x16')]][_0xeb62('0x10')]=!![];agents[_0xb1c958[_0xeb62('0x16')]][_0xeb62('0x36')]=utils['now']();agents[_0xb1c958[_0xeb62('0x16')]][_0xeb62('0x28')]=utils['diffTime'](agents[_0xb1c958['destuniqueid']]['agentcompleteAt'],agents[_0xb1c958['destuniqueid']][_0xeb62('0x33')]);agents[_0xb1c958[_0xeb62('0x16')]]['reason']=_0xb1c958[_0xeb62('0x26')];agents[_0xb1c958[_0xeb62('0x16')]][_0xeb62('0x1b')]=_0xeb62('0x37');writeDB(agents[_0xb1c958[_0xeb62('0x16')]]);}}catch(_0x555812){utils[_0xeb62('0x20')](util['format'](_0xeb62('0x38'),_0xb1c958[_0xeb62('0x6')]),_0x555812);}};exports[_0xeb62('0x39')]=function(_0x18c40d){try{if(!_[_0xeb62('0x22')](agents[_0x18c40d[_0xeb62('0x3a')]])){utils[_0xeb62('0x2d')](util[_0xeb62('0x4')](_0xeb62('0x3b'),_0x18c40d[_0xeb62('0x6')]),_0x18c40d);utils[_0xeb62('0x3')](util[_0xeb62('0x4')]('[%s][agents][blindtransfer]\x20agent:%s\x20transferuniqueid:%s',_0x18c40d[_0xeb62('0x6')],agents[_0x18c40d['transfereruniqueid']]['membername'],agents[_0x18c40d[_0xeb62('0x3a')]][_0xeb62('0x6')]));agents[_0x18c40d['transfereruniqueid']][_0xeb62('0x3c')]=!![];agents[_0x18c40d[_0xeb62('0x3a')]]['transfertype']=_0xeb62('0x3d');agents[_0x18c40d[_0xeb62('0x3a')]][_0xeb62('0x3e')]=_0x18c40d[_0xeb62('0x3f')];agents[_0x18c40d[_0xeb62('0x3a')]][_0xeb62('0x40')]=agents[_0x18c40d[_0xeb62('0x3a')]][_0xeb62('0x6')];}}catch(_0x497714){utils[_0xeb62('0x20')](util['format'](_0xeb62('0x3b'),_0x18c40d[_0xeb62('0x6')]),_0x497714);}};exports[_0xeb62('0x41')]=function(_0x289af0){try{utils[_0xeb62('0x2d')](util[_0xeb62('0x4')](_0xeb62('0x42'),_0x289af0[_0xeb62('0x43')]),_0x289af0);if(_0x289af0['origtransfereruniqueid']==_0x289af0['origtransfererlinkedid']){if(!_['isNil'](agents[_0x289af0['secondtransfereruniqueid']])){utils[_0xeb62('0x3')](util['format'](_0xeb62('0x44'),_0x289af0['origtransfereruniqueid'],agents[_0x289af0[_0xeb62('0x45')]][_0xeb62('0x1f')]));agents[_0x289af0[_0xeb62('0x45')]]['transfer']=!![];agents[_0x289af0[_0xeb62('0x45')]][_0xeb62('0x46')]='ATTENDED';agents[_0x289af0[_0xeb62('0x45')]][_0xeb62('0x3e')]=_0x289af0[_0xeb62('0x47')];agents[_0x289af0[_0xeb62('0x45')]]['transferuniqueid']=_0x289af0[_0xeb62('0x43')];}if(_0x289af0[_0xeb62('0x48')]&&agents[_0x289af0['transfereeuniqueid']]){agents[_0x289af0[_0xeb62('0x48')]][_0xeb62('0x49')]=0x1;transfers[_0x289af0[_0xeb62('0x48')]]=_[_0xeb62('0x4a')](agents[_0x289af0[_0xeb62('0x48')]]);transfers[_0x289af0[_0xeb62('0x48')]][_0xeb62('0xa')]=agents[_0x289af0[_0xeb62('0x45')]][_0xeb62('0xa')];transfers[_0x289af0[_0xeb62('0x48')]][_0xeb62('0x4b')]=agents[_0x289af0[_0xeb62('0x45')]][_0xeb62('0x4b')];transfers[_0x289af0[_0xeb62('0x48')]][_0xeb62('0x19')]=utils[_0xeb62('0x1a')]();transfers[_0x289af0['transfereeuniqueid']]['agentconnectAt']=utils['now']();transfers[_0x289af0['transfereeuniqueid']][_0xeb62('0x30')]=0x0;transfers[_0x289af0['transfereeuniqueid']][_0xeb62('0x49')]=0x2;}}else if(_0x289af0[_0xeb62('0x45')]==_0x289af0[_0xeb62('0x4c')]){if(!_[_0xeb62('0x22')](agents[_0x289af0[_0xeb62('0x43')]])){utils[_0xeb62('0x3')](util[_0xeb62('0x4')](_0xeb62('0x44'),_0x289af0[_0xeb62('0x43')],agents[_0x289af0[_0xeb62('0x43')]]['membername']));agents[_0x289af0[_0xeb62('0x43')]][_0xeb62('0x3c')]=!![];agents[_0x289af0[_0xeb62('0x43')]][_0xeb62('0x46')]='ATTENDED';agents[_0x289af0[_0xeb62('0x43')]][_0xeb62('0x3e')]=_0x289af0[_0xeb62('0x4d')];agents[_0x289af0[_0xeb62('0x43')]][_0xeb62('0x40')]=_0x289af0[_0xeb62('0x45')];}if(_0x289af0[_0xeb62('0x4e')]&&agents[_0x289af0[_0xeb62('0x4e')]]){agents[_0x289af0[_0xeb62('0x4e')]][_0xeb62('0x49')]=0x1;transfers[_0x289af0[_0xeb62('0x4e')]]=_['clone'](agents[_0x289af0[_0xeb62('0x4e')]]);transfers[_0x289af0[_0xeb62('0x4e')]][_0xeb62('0xa')]=agents[_0x289af0[_0xeb62('0x43')]][_0xeb62('0xa')];transfers[_0x289af0[_0xeb62('0x4e')]][_0xeb62('0x4b')]=agents[_0x289af0[_0xeb62('0x43')]][_0xeb62('0x4b')];transfers[_0x289af0[_0xeb62('0x4e')]]['agentcalledAt']=utils[_0xeb62('0x1a')]();transfers[_0x289af0[_0xeb62('0x4e')]][_0xeb62('0x33')]=utils[_0xeb62('0x1a')]();transfers[_0x289af0['transfertargetuniqueid']][_0xeb62('0x30')]=0x0;transfers[_0x289af0[_0xeb62('0x4e')]][_0xeb62('0x49')]=0x2;}}}catch(_0xdde337){utils[_0xeb62('0x20')](util[_0xeb62('0x4')]('[%s][agents][attendedtransfer]',_0x289af0[_0xeb62('0x43')]),_0xdde337);}};exports[_0xeb62('0x4f')]=function(_0x347c55){try{utils[_0xeb62('0x2d')](util[_0xeb62('0x4')](_0xeb62('0x50'),_0x347c55[_0xeb62('0x6')]),_0x347c55);if(agents[_0x347c55[_0xeb62('0x6')]]&&agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x26')]===_0xeb62('0x25')){if(_0x347c55[_0xeb62('0x51')]==='21'){agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x26')]=_0xeb62('0x52');agents[_0x347c55[_0xeb62('0x6')]]['lastevent']=_0xeb62('0x52');}utils['info'](util[_0xeb62('0x4')](_0xeb62('0x53'),_0x347c55['uniqueid'],agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x1f')],agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x26')],agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x1b')]));writeDB(agents[_0x347c55[_0xeb62('0x6')]]);var _0x449582=unanswered[_0xeb62('0x54')](_0x347c55[_0xeb62('0x6')]);if(_0x449582>-0x1){unanswered[_0xeb62('0x55')](_0x449582,0x1);}}if(transfers[_0x347c55[_0xeb62('0x6')]]){transfers[_0x347c55[_0xeb62('0x6')]]['agentcomplete']=!![];transfers[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x36')]=utils['now']();transfers[_0x347c55[_0xeb62('0x6')]]['talktime']=utils[_0xeb62('0x56')](transfers[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x36')],transfers[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x33')]);transfers[_0x347c55[_0xeb62('0x6')]]['reason']=_0xeb62('0x57');transfers[_0x347c55['uniqueid']][_0xeb62('0x1b')]=_0xeb62('0x37');utils[_0xeb62('0x3')](util[_0xeb62('0x4')](_0xeb62('0x53'),_0x347c55['uniqueid'],transfers[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x1f')],transfers[_0x347c55[_0xeb62('0x6')]]['reason'],transfers[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x1b')]));writeDB(transfers[_0x347c55[_0xeb62('0x6')]],!![]);}if(agents[_0x347c55[_0xeb62('0x6')]]&&agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x33')]){agents[_0x347c55['uniqueid']]['agentcomplete']=!![];agents[_0x347c55['uniqueid']]['agentcompleteAt']=utils['now']();agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x28')]=utils[_0xeb62('0x56')](agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x36')],agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x33')]);agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x26')]=agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x3c')]?_0xeb62('0x3c'):'agent';agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x1b')]=_0xeb62('0x37');utils[_0xeb62('0x3')](util[_0xeb62('0x4')](_0xeb62('0x53'),_0x347c55[_0xeb62('0x6')],agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x1f')],agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x26')],agents[_0x347c55[_0xeb62('0x6')]][_0xeb62('0x1b')]));writeDB(agents[_0x347c55[_0xeb62('0x6')]]);}}catch(_0xfff29b){utils[_0xeb62('0x20')](util[_0xeb62('0x4')](_0xeb62('0x50'),_0x347c55['uniqueid']),_0xfff29b);}};