Built motion from commit (unavailable).|2.5.11
[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 _0x7a68=['[%s][agents][queuecallerabandon]','[%s][agents][agentconnect]','[%s][agents][agentconnect]\x20agent:%s\x20destuniqueid:%s\x20lastevent:connect','agentconnectAt','connect','answered_elsewhere','answeredelsewheremembername','[%s][agents][agentcomplete]','agentcompleteAt','transfereruniqueid','[%s][agents][blindtransfer]','[%s][agents][blindtransfer]\x20agent:%s\x20transferuniqueid:%s','transfer','transfertype','extension','transferuniqueid','attendedtransfer','[%s][agents][attendedtransfer]','origtransfereruniqueid','origtransfererlinkedid','secondtransfereruniqueid','[%s][agents][attendedtransfer]\x20agent:%s','ATTENDED','transferexten','origtransfererexten','transfereeuniqueid','agententerreason','clone','calleridname','agentcalledAt','secondtransfererexten','transfertargetuniqueid','hangup','[%s][agents][hangup]','cause','rejected','[%s][agents][hangup]\x20agent:%s\x20reason:%s\x20lastevent:%s','indexOf','splice','diffTime','agent','complete','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','membername','interface','calleridnum','connectedlinenum','getVoiceQueueByName','then','type','agentacw','agentcomplete','acwTimeout','request','CreateVoiceAgentReport','destuniqueid','agentcalled','[%s][agents][agentcalled]','now','lastevent','connectedlinename','[%s][agents][agentcalled]\x20agent:%s\x20destuniqueid:%s\x20lastevent:called','agentringnoanswer','isNil','debug','[%s][agents][agentringnoanswer]','[%s][agents][agentringnoanswer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:timeout','agentringnoanswerAt','timeout','reason','ringtime','talktime','push','error','forIn','[%s][agents][queuecallerabandon]\x20agent:%s\x20destuniqueid:%s\x20lastevent:abandoned','holdtime'];(function(_0x15e133,_0x1d72b3){var _0x2badc4=function(_0x2c1566){while(--_0x2c1566){_0x15e133['push'](_0x15e133['shift']());}};_0x2badc4(++_0x1d72b3);}(_0x7a68,0x129));var _0x87a6=function(_0x5e0e1e,_0x1b67fc){_0x5e0e1e=_0x5e0e1e-0x0;var _0x599059=_0x7a68[_0x5e0e1e];return _0x599059;};'use strict';var _=require(_0x87a6('0x0'));var util=require(_0x87a6('0x1'));var utils=require(_0x87a6('0x2'));var agents={};var transfers={};var unanswered=[];function writeDB(_0x24538a,_0x233d34){utils[_0x87a6('0x3')](util[_0x87a6('0x4')](_0x87a6('0x5'),_0x24538a[_0x87a6('0x6')],_0x24538a[_0x87a6('0x7')],_0x24538a[_0x87a6('0x8')],_0x24538a[_0x87a6('0x9')],_0x24538a[_0x87a6('0xa')],_0x24538a[_0x87a6('0xb')],_0x24538a[_0x87a6('0xc')],_0x24538a['lastevent']));if(_0x24538a[_0x87a6('0x8')]){utils[_0x87a6('0xd')](_0x24538a[_0x87a6('0x8')])[_0x87a6('0xe')](function(_0x177e1c){if(_0x177e1c){_0x24538a[_0x87a6('0xf')]=_0x177e1c['type'];_0x24538a[_0x87a6('0x10')]=_0x24538a[_0x87a6('0x11')]?_0x177e1c['acw']:![];_0x24538a['acwtime']=_0x24538a[_0x87a6('0x10')]?_0x177e1c[_0x87a6('0x12')]:0x0;}utils[_0x87a6('0x13')]('CreateVoiceAgentReport',_0x24538a);});}else{utils[_0x87a6('0x13')](_0x87a6('0x14'),_0x24538a);}if(_0x233d34){delete transfers[_0x24538a[_0x87a6('0x6')]];}else{delete agents[_0x24538a[_0x87a6('0x15')]];}}exports[_0x87a6('0x16')]=function(_0x3aef2f){try{utils['debug'](util['format'](_0x87a6('0x17'),_0x3aef2f[_0x87a6('0x6')]),_0x3aef2f);agents[_0x3aef2f[_0x87a6('0x15')]]=_0x3aef2f;agents[_0x3aef2f[_0x87a6('0x15')]]['agentcalledAt']=utils[_0x87a6('0x18')]();agents[_0x3aef2f[_0x87a6('0x15')]][_0x87a6('0x19')]='called';agents[_0x3aef2f[_0x87a6('0x15')]]['connectedlinenum']=null;agents[_0x3aef2f[_0x87a6('0x15')]][_0x87a6('0x1a')]=null;utils['info'](util['format'](_0x87a6('0x1b'),_0x3aef2f[_0x87a6('0x6')],agents[_0x3aef2f[_0x87a6('0x15')]][_0x87a6('0x9')],_0x3aef2f['destuniqueid']));}catch(_0x4aaf69){utils['error'](util['format']('[%s][agents][agentcalled]',_0x3aef2f[_0x87a6('0x6')]),_0x4aaf69);}};exports[_0x87a6('0x1c')]=function(_0x2058c7){try{if(!_[_0x87a6('0x1d')](agents[_0x2058c7[_0x87a6('0x15')]])){utils[_0x87a6('0x1e')](util[_0x87a6('0x4')](_0x87a6('0x1f'),_0x2058c7[_0x87a6('0x6')]),_0x2058c7);utils[_0x87a6('0x3')](util[_0x87a6('0x4')](_0x87a6('0x20'),_0x2058c7[_0x87a6('0x6')],agents[_0x2058c7[_0x87a6('0x15')]][_0x87a6('0x9')],_0x2058c7[_0x87a6('0x15')]));agents[_0x2058c7[_0x87a6('0x15')]][_0x87a6('0x1c')]=!![];agents[_0x2058c7[_0x87a6('0x15')]][_0x87a6('0x21')]=utils['now']();agents[_0x2058c7['destuniqueid']][_0x87a6('0x19')]=_0x87a6('0x22');agents[_0x2058c7[_0x87a6('0x15')]][_0x87a6('0x23')]='timeout';agents[_0x2058c7[_0x87a6('0x15')]]['holdtime']=_0x2058c7[_0x87a6('0x24')]?parseInt(_0x2058c7['ringtime'])/0x3e8:0x0;agents[_0x2058c7[_0x87a6('0x15')]][_0x87a6('0x25')]=0x0;unanswered[_0x87a6('0x26')](_0x2058c7['destuniqueid']);}}catch(_0x4d7159){utils[_0x87a6('0x27')](util[_0x87a6('0x4')]('[%s][agents][agentringnoanswer]',_0x2058c7['uniqueid']),_0x4d7159);}};exports['queuecallerabandon']=function(_0x52e0f5){try{_[_0x87a6('0x28')](agents,function(_0x27f1ce,_0x1998c3){if(_0x27f1ce[_0x87a6('0x6')]==_0x52e0f5[_0x87a6('0x6')]&&!_['includes'](unanswered,_0x27f1ce['destuniqueid'])){utils[_0x87a6('0x1e')](util[_0x87a6('0x4')]('[%s][agents][queuecallerabandon]',_0x52e0f5[_0x87a6('0x6')]),_0x52e0f5);utils[_0x87a6('0x3')](util[_0x87a6('0x4')](_0x87a6('0x29'),_0x52e0f5[_0x87a6('0x6')],_0x27f1ce[_0x87a6('0x9')],_0x27f1ce[_0x87a6('0x15')]));_0x27f1ce[_0x87a6('0x1c')]=!![];_0x27f1ce['agentringnoanswerAt']=utils[_0x87a6('0x18')]();_0x27f1ce['lastevent']='abandoned';_0x27f1ce[_0x87a6('0x23')]='abandoned';_0x27f1ce[_0x87a6('0x2a')]=_0x52e0f5['holdtime'];_0x27f1ce[_0x87a6('0x25')]=0x0;writeDB(_0x27f1ce);}});}catch(_0x46c67e){utils['error'](util[_0x87a6('0x4')](_0x87a6('0x2b'),_0x52e0f5[_0x87a6('0x6')]),_0x46c67e);}};exports['agentconnect']=function(_0x5997c4){try{if(agents[_0x5997c4[_0x87a6('0x15')]]){utils[_0x87a6('0x1e')](util[_0x87a6('0x4')](_0x87a6('0x2c'),_0x5997c4['uniqueid']),_0x5997c4);utils['info'](util['format'](_0x87a6('0x2d'),_0x5997c4[_0x87a6('0x6')],agents[_0x5997c4[_0x87a6('0x15')]][_0x87a6('0x9')],_0x5997c4[_0x87a6('0x15')]));agents[_0x5997c4[_0x87a6('0x15')]][_0x87a6('0x2e')]=utils[_0x87a6('0x18')]();agents[_0x5997c4[_0x87a6('0x15')]][_0x87a6('0xc')]=_0x5997c4[_0x87a6('0xc')];agents[_0x5997c4[_0x87a6('0x15')]][_0x87a6('0x1a')]=_0x5997c4[_0x87a6('0x1a')];agents[_0x5997c4[_0x87a6('0x15')]][_0x87a6('0x2a')]=_0x5997c4[_0x87a6('0x24')];agents[_0x5997c4['destuniqueid']][_0x87a6('0x19')]=_0x87a6('0x2f');_[_0x87a6('0x28')](agents,function(_0x3ada7f,_0x5aa5e4){if(_0x3ada7f[_0x87a6('0x15')]!=_0x5997c4[_0x87a6('0x15')]&&_0x3ada7f[_0x87a6('0x6')]==_0x5997c4[_0x87a6('0x6')]){_0x3ada7f[_0x87a6('0x25')]=0x0;_0x3ada7f[_0x87a6('0x2a')]=_0x5997c4[_0x87a6('0x24')];_0x3ada7f[_0x87a6('0x1c')]=!![];_0x3ada7f[_0x87a6('0x21')]=utils[_0x87a6('0x18')]();_0x3ada7f['lastevent']='answered_elsewhere';_0x3ada7f[_0x87a6('0x23')]=_0x87a6('0x30');_0x3ada7f['answeredelsewheredestinationuniqueid']=_0x5997c4[_0x87a6('0x15')];_0x3ada7f[_0x87a6('0x31')]=_0x5997c4[_0x87a6('0x9')];writeDB(_0x3ada7f);}});}}catch(_0x22087f){utils[_0x87a6('0x27')](util[_0x87a6('0x4')](_0x87a6('0x2c'),_0x5997c4[_0x87a6('0x6')]),_0x22087f);}};exports[_0x87a6('0x11')]=function(_0x148347){try{if(!_[_0x87a6('0x1d')](agents[_0x148347[_0x87a6('0x15')]])){utils['debug'](util[_0x87a6('0x4')](_0x87a6('0x32'),_0x148347[_0x87a6('0x6')]),_0x148347);utils[_0x87a6('0x3')](util[_0x87a6('0x4')]('[%s][agents][agentcomplete]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete',_0x148347['uniqueid'],agents[_0x148347[_0x87a6('0x15')]][_0x87a6('0x9')],_0x148347['destuniqueid']));agents[_0x148347[_0x87a6('0x15')]][_0x87a6('0x11')]=!![];agents[_0x148347[_0x87a6('0x15')]]['agentcompleteAt']=utils[_0x87a6('0x18')]();agents[_0x148347[_0x87a6('0x15')]][_0x87a6('0x25')]=utils['diffTime'](agents[_0x148347[_0x87a6('0x15')]][_0x87a6('0x33')],agents[_0x148347[_0x87a6('0x15')]]['agentconnectAt']);agents[_0x148347['destuniqueid']]['reason']=_0x148347[_0x87a6('0x23')];agents[_0x148347['destuniqueid']]['lastevent']='complete';writeDB(agents[_0x148347[_0x87a6('0x15')]]);}}catch(_0x387ad7){utils[_0x87a6('0x27')](util[_0x87a6('0x4')](_0x87a6('0x32'),_0x148347[_0x87a6('0x6')]),_0x387ad7);}};exports['blindtransfer']=function(_0x327a3e){try{if(!_[_0x87a6('0x1d')](agents[_0x327a3e[_0x87a6('0x34')]])){utils[_0x87a6('0x1e')](util['format'](_0x87a6('0x35'),_0x327a3e[_0x87a6('0x6')]),_0x327a3e);utils[_0x87a6('0x3')](util['format'](_0x87a6('0x36'),_0x327a3e[_0x87a6('0x6')],agents[_0x327a3e['transfereruniqueid']][_0x87a6('0x9')],agents[_0x327a3e[_0x87a6('0x34')]][_0x87a6('0x6')]));agents[_0x327a3e['transfereruniqueid']][_0x87a6('0x37')]=!![];agents[_0x327a3e['transfereruniqueid']][_0x87a6('0x38')]='blind';agents[_0x327a3e[_0x87a6('0x34')]]['transferexten']=_0x327a3e[_0x87a6('0x39')];agents[_0x327a3e[_0x87a6('0x34')]][_0x87a6('0x3a')]=agents[_0x327a3e[_0x87a6('0x34')]]['uniqueid'];}}catch(_0x106041){utils[_0x87a6('0x27')](util['format'](_0x87a6('0x35'),_0x327a3e['uniqueid']),_0x106041);}};exports[_0x87a6('0x3b')]=function(_0x298f9c){try{utils[_0x87a6('0x1e')](util[_0x87a6('0x4')](_0x87a6('0x3c'),_0x298f9c[_0x87a6('0x3d')]),_0x298f9c);if(_0x298f9c['origtransfereruniqueid']==_0x298f9c[_0x87a6('0x3e')]){if(!_['isNil'](agents[_0x298f9c[_0x87a6('0x3f')]])){utils[_0x87a6('0x3')](util[_0x87a6('0x4')](_0x87a6('0x40'),_0x298f9c[_0x87a6('0x3d')],agents[_0x298f9c[_0x87a6('0x3f')]]['membername']));agents[_0x298f9c[_0x87a6('0x3f')]][_0x87a6('0x37')]=!![];agents[_0x298f9c[_0x87a6('0x3f')]][_0x87a6('0x38')]=_0x87a6('0x41');agents[_0x298f9c['secondtransfereruniqueid']][_0x87a6('0x42')]=_0x298f9c[_0x87a6('0x43')];agents[_0x298f9c['secondtransfereruniqueid']]['transferuniqueid']=_0x298f9c['origtransfereruniqueid'];}if(_0x298f9c[_0x87a6('0x44')]&&agents[_0x298f9c[_0x87a6('0x44')]]){agents[_0x298f9c[_0x87a6('0x44')]][_0x87a6('0x45')]=0x1;transfers[_0x298f9c[_0x87a6('0x44')]]=_[_0x87a6('0x46')](agents[_0x298f9c[_0x87a6('0x44')]]);transfers[_0x298f9c[_0x87a6('0x44')]]['calleridnum']=agents[_0x298f9c[_0x87a6('0x3f')]][_0x87a6('0xb')];transfers[_0x298f9c[_0x87a6('0x44')]][_0x87a6('0x47')]=agents[_0x298f9c[_0x87a6('0x3f')]][_0x87a6('0x47')];transfers[_0x298f9c['transfereeuniqueid']][_0x87a6('0x48')]=utils[_0x87a6('0x18')]();transfers[_0x298f9c[_0x87a6('0x44')]]['agentconnectAt']=utils[_0x87a6('0x18')]();transfers[_0x298f9c[_0x87a6('0x44')]][_0x87a6('0x2a')]=0x0;transfers[_0x298f9c['transfereeuniqueid']]['agententerreason']=0x2;}}else if(_0x298f9c[_0x87a6('0x3f')]==_0x298f9c['secondtransfererlinkedid']){if(!_[_0x87a6('0x1d')](agents[_0x298f9c[_0x87a6('0x3d')]])){utils['info'](util[_0x87a6('0x4')](_0x87a6('0x40'),_0x298f9c[_0x87a6('0x3d')],agents[_0x298f9c[_0x87a6('0x3d')]]['membername']));agents[_0x298f9c[_0x87a6('0x3d')]][_0x87a6('0x37')]=!![];agents[_0x298f9c[_0x87a6('0x3d')]][_0x87a6('0x38')]='ATTENDED';agents[_0x298f9c['origtransfereruniqueid']][_0x87a6('0x42')]=_0x298f9c[_0x87a6('0x49')];agents[_0x298f9c[_0x87a6('0x3d')]][_0x87a6('0x3a')]=_0x298f9c['secondtransfereruniqueid'];}if(_0x298f9c[_0x87a6('0x4a')]&&agents[_0x298f9c[_0x87a6('0x4a')]]){agents[_0x298f9c[_0x87a6('0x4a')]][_0x87a6('0x45')]=0x1;transfers[_0x298f9c[_0x87a6('0x4a')]]=_[_0x87a6('0x46')](agents[_0x298f9c[_0x87a6('0x4a')]]);transfers[_0x298f9c[_0x87a6('0x4a')]]['calleridnum']=agents[_0x298f9c[_0x87a6('0x3d')]][_0x87a6('0xb')];transfers[_0x298f9c[_0x87a6('0x4a')]][_0x87a6('0x47')]=agents[_0x298f9c['origtransfereruniqueid']][_0x87a6('0x47')];transfers[_0x298f9c['transfertargetuniqueid']][_0x87a6('0x48')]=utils[_0x87a6('0x18')]();transfers[_0x298f9c[_0x87a6('0x4a')]][_0x87a6('0x2e')]=utils[_0x87a6('0x18')]();transfers[_0x298f9c[_0x87a6('0x4a')]][_0x87a6('0x2a')]=0x0;transfers[_0x298f9c[_0x87a6('0x4a')]][_0x87a6('0x45')]=0x2;}}}catch(_0x18ecaf){utils['error'](util[_0x87a6('0x4')](_0x87a6('0x3c'),_0x298f9c[_0x87a6('0x3d')]),_0x18ecaf);}};exports[_0x87a6('0x4b')]=function(_0x4c4d4){try{utils[_0x87a6('0x1e')](util[_0x87a6('0x4')](_0x87a6('0x4c'),_0x4c4d4[_0x87a6('0x6')]),_0x4c4d4);if(agents[_0x4c4d4[_0x87a6('0x6')]]&&agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x23')]===_0x87a6('0x22')){if(_0x4c4d4[_0x87a6('0x4d')]==='21'){agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x23')]=_0x87a6('0x4e');agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x19')]=_0x87a6('0x4e');}utils[_0x87a6('0x3')](util[_0x87a6('0x4')](_0x87a6('0x4f'),_0x4c4d4[_0x87a6('0x6')],agents[_0x4c4d4[_0x87a6('0x6')]]['membername'],agents[_0x4c4d4['uniqueid']]['reason'],agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x19')]));writeDB(agents[_0x4c4d4[_0x87a6('0x6')]]);var _0x58ef3f=unanswered[_0x87a6('0x50')](_0x4c4d4['uniqueid']);if(_0x58ef3f>-0x1){unanswered[_0x87a6('0x51')](_0x58ef3f,0x1);}}if(transfers[_0x4c4d4[_0x87a6('0x6')]]){transfers[_0x4c4d4['uniqueid']]['agentcomplete']=!![];transfers[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x33')]=utils[_0x87a6('0x18')]();transfers[_0x4c4d4['uniqueid']][_0x87a6('0x25')]=utils[_0x87a6('0x52')](transfers[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x33')],transfers[_0x4c4d4['uniqueid']][_0x87a6('0x2e')]);transfers[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x23')]=_0x87a6('0x53');transfers[_0x4c4d4[_0x87a6('0x6')]]['lastevent']='complete';utils[_0x87a6('0x3')](util[_0x87a6('0x4')](_0x87a6('0x4f'),_0x4c4d4[_0x87a6('0x6')],transfers[_0x4c4d4['uniqueid']][_0x87a6('0x9')],transfers[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x23')],transfers[_0x4c4d4[_0x87a6('0x6')]]['lastevent']));writeDB(transfers[_0x4c4d4[_0x87a6('0x6')]],!![]);}if(agents[_0x4c4d4[_0x87a6('0x6')]]&&agents[_0x4c4d4['uniqueid']][_0x87a6('0x2e')]){agents[_0x4c4d4['uniqueid']]['agentcomplete']=!![];agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x33')]=utils[_0x87a6('0x18')]();agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x25')]=utils[_0x87a6('0x52')](agents[_0x4c4d4[_0x87a6('0x6')]]['agentcompleteAt'],agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x2e')]);agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x23')]=agents[_0x4c4d4['uniqueid']][_0x87a6('0x37')]?_0x87a6('0x37'):_0x87a6('0x53');agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x19')]=_0x87a6('0x54');utils[_0x87a6('0x3')](util[_0x87a6('0x4')](_0x87a6('0x4f'),_0x4c4d4[_0x87a6('0x6')],agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x9')],agents[_0x4c4d4['uniqueid']][_0x87a6('0x23')],agents[_0x4c4d4[_0x87a6('0x6')]][_0x87a6('0x19')]));writeDB(agents[_0x4c4d4[_0x87a6('0x6')]]);}}catch(_0x13eed7){utils[_0x87a6('0x27')](util['format'](_0x87a6('0x4c'),_0x4c4d4[_0x87a6('0x6')]),_0x13eed7);}};