b53801d88870b7e0fd367aa544d5810929ccfe41
[motion-next.git] / server / services / xdr / agents.controller.js
1 const a1389_0x323a=['channel','[%s][agents][agentcalled]\x20agent:%s\x20destuniqueid:%s\x20lastevent:called','ATTENDED','abandoned','secondtransfereruniqueid','[%s][agents][agentringnoanswer]','connectedlinenum','transfer','[%s][agents][agentconnect]\x20agent:%s\x20destuniqueid:%s\x20lastevent:connect','agent','transferexten','./utils','attendedtransfer','agentcomplete','timeout','[%s][agents][queuecallerabandon]','now','transfertype','getVoiceQueueByName','answered_elsewhere','[%s][agents][agentcalled]','transfertargetuniqueid','format','then','blindtransfer','answeredelsewheremembername','rejected','agentcalledAt','complete','acwtime','push','[%s][agents][blindtransfer]','agententerreason','forIn','[%s][agents][attendedtransfer]\x20agent:%s\x20transferuniqueid:%s','[%s][agents][blindtransfer]\x20agent:%s\x20transferuniqueid:%s','agentringnoanswerAt','[%s][agents][agentcomplete]','clone','lodash','uniqueid','[%s][agents][agentcomplete]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete','transfereeuniqueid','holdtime','ringtime','agentcalled','secondtransfererlinkedid','answeredelsewheredestinationuniqueid','transfereruniqueid','type','calleridname','agentcompleteAt','secondtransfererexten','origtransfererexten','acw','agentringnoanswer','error','debug','transferuniqueid','util','[%s][agents][queuecallerabandon]\x20agent:%s\x20destuniqueid:%s\x20lastevent:abandoned','diffTime','calleridnum','membername','destuniqueid','request','isNil','queue','talktime','called','origtransfererlinkedid','interface','[%s][agents][attendedtransfer]','[%s][agents][agentconnect]','reason','agentacw','origtransfereruniqueid','agentconnectAt','info','lastevent','CreateVoiceAgentReport','connectedlinename'];(function(_0xa91cae,_0x495bce){const _0x323adf=function(_0x3c7132){while(--_0x3c7132){_0xa91cae['push'](_0xa91cae['shift']());}};_0x323adf(++_0x495bce);}(a1389_0x323a,0x149));const a1389_0x3c71=function(_0xa91cae,_0x495bce){_0xa91cae=_0xa91cae-0x112;let _0x323adf=a1389_0x323a[_0xa91cae];return _0x323adf;};const a1389_0x300a55=a1389_0x3c71;'use strict';const _=require(a1389_0x300a55(0x138)),util=require(a1389_0x300a55(0x14c)),utils=require(a1389_0x300a55(0x11c)),agents={},transfers={},unanswered=[];function writeDB(_0x1a296d,_0x1d64e0){const _0x4da6d1=a1389_0x300a55;utils[_0x4da6d1(0x15f)](util['format']('[%s][agents][writeDB]\x20channel:%s\x20queue:%s\x20agent:%s\x20interface:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20lastevent:%s',_0x1a296d[_0x4da6d1(0x139)],_0x1a296d[_0x4da6d1(0x163)],_0x1a296d['queue'],_0x1a296d['membername'],_0x1a296d[_0x4da6d1(0x158)],_0x1a296d[_0x4da6d1(0x14f)],_0x1a296d[_0x4da6d1(0x117)],_0x1a296d['lastevent'])),_0x1a296d[_0x4da6d1(0x154)]?utils[_0x4da6d1(0x123)](_0x1a296d[_0x4da6d1(0x154)])[_0x4da6d1(0x128)](function(_0x14e265){const _0x30a8c9=_0x4da6d1;_0x14e265&&(_0x1a296d[_0x30a8c9(0x142)]=_0x14e265[_0x30a8c9(0x142)],_0x1a296d[_0x30a8c9(0x15c)]=_0x1a296d[_0x30a8c9(0x11e)]?_0x14e265[_0x30a8c9(0x147)]:![],_0x1a296d[_0x30a8c9(0x12e)]=_0x1a296d[_0x30a8c9(0x15c)]?_0x14e265['acwTimeout']:0x0),utils[_0x30a8c9(0x152)](_0x30a8c9(0x161),_0x1a296d);}):utils['request'](_0x4da6d1(0x161),_0x1a296d),_0x1d64e0?delete transfers[_0x1a296d[_0x4da6d1(0x139)]]:delete agents[_0x1a296d[_0x4da6d1(0x151)]];}exports[a1389_0x300a55(0x13e)]=function(_0x1aaf33){const _0x3a9c18=a1389_0x300a55;try{utils['debug'](util[_0x3a9c18(0x127)](_0x3a9c18(0x125),_0x1aaf33[_0x3a9c18(0x139)]),_0x1aaf33),agents[_0x1aaf33[_0x3a9c18(0x151)]]=_0x1aaf33,agents[_0x1aaf33[_0x3a9c18(0x151)]][_0x3a9c18(0x12c)]=utils[_0x3a9c18(0x121)](),agents[_0x1aaf33[_0x3a9c18(0x151)]][_0x3a9c18(0x160)]=_0x3a9c18(0x156),agents[_0x1aaf33[_0x3a9c18(0x151)]][_0x3a9c18(0x117)]=null,agents[_0x1aaf33[_0x3a9c18(0x151)]][_0x3a9c18(0x162)]=null,utils[_0x3a9c18(0x15f)](util[_0x3a9c18(0x127)](_0x3a9c18(0x112),_0x1aaf33['uniqueid'],agents[_0x1aaf33[_0x3a9c18(0x151)]]['membername'],_0x1aaf33[_0x3a9c18(0x151)]));}catch(_0x163daf){utils[_0x3a9c18(0x149)](util[_0x3a9c18(0x127)](_0x3a9c18(0x125),_0x1aaf33[_0x3a9c18(0x139)]),_0x163daf);}},exports[a1389_0x300a55(0x148)]=function(_0x44832b){const _0x18403a=a1389_0x300a55;try{!_[_0x18403a(0x153)](agents[_0x44832b[_0x18403a(0x151)]])&&(utils[_0x18403a(0x14a)](util[_0x18403a(0x127)]('[%s][agents][agentringnoanswer]',_0x44832b[_0x18403a(0x139)]),_0x44832b),utils['info'](util['format']('[%s][agents][agentringnoanswer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:timeout',_0x44832b[_0x18403a(0x139)],agents[_0x44832b[_0x18403a(0x151)]][_0x18403a(0x150)],_0x44832b[_0x18403a(0x151)])),agents[_0x44832b[_0x18403a(0x151)]][_0x18403a(0x148)]=!![],agents[_0x44832b['destuniqueid']][_0x18403a(0x135)]=utils[_0x18403a(0x121)](),agents[_0x44832b[_0x18403a(0x151)]][_0x18403a(0x160)]=_0x18403a(0x11f),agents[_0x44832b[_0x18403a(0x151)]][_0x18403a(0x15b)]=_0x18403a(0x11f),agents[_0x44832b['destuniqueid']][_0x18403a(0x13c)]=_0x44832b[_0x18403a(0x13d)]?parseInt(_0x44832b[_0x18403a(0x13d)])/0x3e8:0x0,agents[_0x44832b[_0x18403a(0x151)]][_0x18403a(0x155)]=0x0,unanswered[_0x18403a(0x12f)](_0x44832b[_0x18403a(0x151)]));}catch(_0x152e45){utils[_0x18403a(0x149)](util[_0x18403a(0x127)](_0x18403a(0x116),_0x44832b[_0x18403a(0x139)]),_0x152e45);}},exports['queuecallerabandon']=function(_0x2a9558){const _0x21e4c3=a1389_0x300a55;try{_[_0x21e4c3(0x132)](agents,function(_0x5d17bd){const _0x1a595a=_0x21e4c3;_0x5d17bd['uniqueid']==_0x2a9558[_0x1a595a(0x139)]&&!_['includes'](unanswered,_0x5d17bd[_0x1a595a(0x151)])&&(utils[_0x1a595a(0x14a)](util['format']('[%s][agents][queuecallerabandon]',_0x2a9558['uniqueid']),_0x2a9558),utils[_0x1a595a(0x15f)](util[_0x1a595a(0x127)](_0x1a595a(0x14d),_0x2a9558['uniqueid'],_0x5d17bd['membername'],_0x5d17bd['destuniqueid'])),_0x5d17bd[_0x1a595a(0x148)]=!![],_0x5d17bd[_0x1a595a(0x135)]=utils[_0x1a595a(0x121)](),_0x5d17bd[_0x1a595a(0x160)]=_0x1a595a(0x114),_0x5d17bd[_0x1a595a(0x15b)]='abandoned',_0x5d17bd['holdtime']=_0x2a9558[_0x1a595a(0x13c)],_0x5d17bd['talktime']=0x0,writeDB(_0x5d17bd));});}catch(_0x2df001){utils['error'](util[_0x21e4c3(0x127)](_0x21e4c3(0x120),_0x2a9558[_0x21e4c3(0x139)]),_0x2df001);}},exports['agentconnect']=function(_0x2cdaf0){const _0xbadac3=a1389_0x300a55;try{agents[_0x2cdaf0[_0xbadac3(0x151)]]&&(utils[_0xbadac3(0x14a)](util[_0xbadac3(0x127)](_0xbadac3(0x15a),_0x2cdaf0[_0xbadac3(0x139)]),_0x2cdaf0),utils[_0xbadac3(0x15f)](util[_0xbadac3(0x127)](_0xbadac3(0x119),_0x2cdaf0['uniqueid'],agents[_0x2cdaf0[_0xbadac3(0x151)]]['membername'],_0x2cdaf0[_0xbadac3(0x151)])),agents[_0x2cdaf0[_0xbadac3(0x151)]][_0xbadac3(0x15e)]=utils[_0xbadac3(0x121)](),agents[_0x2cdaf0[_0xbadac3(0x151)]][_0xbadac3(0x117)]=_0x2cdaf0[_0xbadac3(0x117)],agents[_0x2cdaf0[_0xbadac3(0x151)]][_0xbadac3(0x162)]=_0x2cdaf0[_0xbadac3(0x162)],agents[_0x2cdaf0['destuniqueid']][_0xbadac3(0x13c)]=_0x2cdaf0['ringtime'],agents[_0x2cdaf0[_0xbadac3(0x151)]]['lastevent']='connect',_[_0xbadac3(0x132)](agents,function(_0xc14d61){const _0x145245=_0xbadac3;_0xc14d61[_0x145245(0x151)]!=_0x2cdaf0[_0x145245(0x151)]&&_0xc14d61[_0x145245(0x139)]==_0x2cdaf0[_0x145245(0x139)]&&(_0xc14d61[_0x145245(0x155)]=0x0,_0xc14d61['holdtime']=_0x2cdaf0[_0x145245(0x13d)],_0xc14d61[_0x145245(0x148)]=!![],_0xc14d61[_0x145245(0x135)]=utils[_0x145245(0x121)](),_0xc14d61[_0x145245(0x160)]=_0x145245(0x124),_0xc14d61[_0x145245(0x15b)]=_0x145245(0x124),_0xc14d61[_0x145245(0x140)]=_0x2cdaf0[_0x145245(0x151)],_0xc14d61[_0x145245(0x12a)]=_0x2cdaf0[_0x145245(0x150)],writeDB(_0xc14d61));}));}catch(_0x37ae27){utils[_0xbadac3(0x149)](util['format'](_0xbadac3(0x15a),_0x2cdaf0['uniqueid']),_0x37ae27);}},exports[a1389_0x300a55(0x11e)]=function(_0x43f597){const _0x4a10a7=a1389_0x300a55;try{!_[_0x4a10a7(0x153)](agents[_0x43f597[_0x4a10a7(0x151)]])&&(utils['debug'](util[_0x4a10a7(0x127)]('[%s][agents][agentcomplete]',_0x43f597['uniqueid']),_0x43f597),utils[_0x4a10a7(0x15f)](util[_0x4a10a7(0x127)](_0x4a10a7(0x13a),_0x43f597['uniqueid'],agents[_0x43f597[_0x4a10a7(0x151)]][_0x4a10a7(0x150)],_0x43f597['destuniqueid'])),agents[_0x43f597[_0x4a10a7(0x151)]]['agentcomplete']=!![],agents[_0x43f597['destuniqueid']][_0x4a10a7(0x144)]=utils['now'](),agents[_0x43f597[_0x4a10a7(0x151)]]['talktime']=utils[_0x4a10a7(0x14e)](agents[_0x43f597[_0x4a10a7(0x151)]][_0x4a10a7(0x144)],agents[_0x43f597[_0x4a10a7(0x151)]]['agentconnectAt']),agents[_0x43f597[_0x4a10a7(0x151)]][_0x4a10a7(0x15b)]=_0x43f597['reason'],agents[_0x43f597[_0x4a10a7(0x151)]][_0x4a10a7(0x160)]='complete',writeDB(agents[_0x43f597['destuniqueid']]));}catch(_0x59d4fa){utils[_0x4a10a7(0x149)](util[_0x4a10a7(0x127)](_0x4a10a7(0x136),_0x43f597[_0x4a10a7(0x139)]),_0x59d4fa);}},exports[a1389_0x300a55(0x129)]=function(_0x3e54c2){const _0x121e84=a1389_0x300a55;try{!_[_0x121e84(0x153)](agents[_0x3e54c2[_0x121e84(0x141)]])&&(utils[_0x121e84(0x14a)](util[_0x121e84(0x127)](_0x121e84(0x130),_0x3e54c2[_0x121e84(0x139)]),_0x3e54c2),utils[_0x121e84(0x15f)](util['format'](_0x121e84(0x134),_0x3e54c2[_0x121e84(0x139)],agents[_0x3e54c2[_0x121e84(0x141)]][_0x121e84(0x150)],agents[_0x3e54c2['transfereruniqueid']]['uniqueid'])),agents[_0x3e54c2[_0x121e84(0x141)]][_0x121e84(0x118)]=!![],agents[_0x3e54c2[_0x121e84(0x141)]][_0x121e84(0x122)]='blind',agents[_0x3e54c2[_0x121e84(0x141)]][_0x121e84(0x11b)]=_0x3e54c2['extension'],agents[_0x3e54c2[_0x121e84(0x141)]][_0x121e84(0x14b)]=agents[_0x3e54c2[_0x121e84(0x141)]][_0x121e84(0x139)]);}catch(_0x4666f5){utils[_0x121e84(0x149)](util[_0x121e84(0x127)](_0x121e84(0x130),_0x3e54c2[_0x121e84(0x139)]),_0x4666f5);}},exports[a1389_0x300a55(0x11d)]=function(_0x5d71ee){const _0x51f8c9=a1389_0x300a55;try{utils['debug'](util['format'](_0x51f8c9(0x159),_0x5d71ee[_0x51f8c9(0x139)]),_0x5d71ee);if(_0x5d71ee[_0x51f8c9(0x15d)]==_0x5d71ee[_0x51f8c9(0x157)])!_['isNil'](agents[_0x5d71ee[_0x51f8c9(0x115)]])&&(utils['info'](util['format'](_0x51f8c9(0x133),_0x5d71ee['uniqueid'],agents[_0x5d71ee[_0x51f8c9(0x115)]][_0x51f8c9(0x150)],_0x5d71ee[_0x51f8c9(0x15d)])),agents[_0x5d71ee[_0x51f8c9(0x115)]][_0x51f8c9(0x118)]=!![],agents[_0x5d71ee[_0x51f8c9(0x115)]]['transfertype']=_0x51f8c9(0x113),agents[_0x5d71ee[_0x51f8c9(0x115)]]['transferexten']=_0x5d71ee[_0x51f8c9(0x146)],agents[_0x5d71ee[_0x51f8c9(0x115)]][_0x51f8c9(0x14b)]=_0x5d71ee['origtransfereruniqueid']),_0x5d71ee[_0x51f8c9(0x13b)]&&agents[_0x5d71ee[_0x51f8c9(0x13b)]]&&(agents[_0x5d71ee[_0x51f8c9(0x13b)]][_0x51f8c9(0x131)]=0x1,transfers[_0x5d71ee[_0x51f8c9(0x13b)]]=_[_0x51f8c9(0x137)](agents[_0x5d71ee[_0x51f8c9(0x13b)]]),transfers[_0x5d71ee['transfereeuniqueid']]['calleridnum']=agents[_0x5d71ee[_0x51f8c9(0x115)]][_0x51f8c9(0x14f)],transfers[_0x5d71ee[_0x51f8c9(0x13b)]][_0x51f8c9(0x143)]=agents[_0x5d71ee[_0x51f8c9(0x115)]][_0x51f8c9(0x143)],transfers[_0x5d71ee[_0x51f8c9(0x13b)]][_0x51f8c9(0x12c)]=utils['now'](),transfers[_0x5d71ee[_0x51f8c9(0x13b)]]['agentconnectAt']=utils[_0x51f8c9(0x121)](),transfers[_0x5d71ee[_0x51f8c9(0x13b)]][_0x51f8c9(0x13c)]=0x0,transfers[_0x5d71ee[_0x51f8c9(0x13b)]][_0x51f8c9(0x131)]=0x2);else _0x5d71ee[_0x51f8c9(0x115)]==_0x5d71ee[_0x51f8c9(0x13f)]&&(!_['isNil'](agents[_0x5d71ee[_0x51f8c9(0x15d)]])&&(utils[_0x51f8c9(0x15f)](util[_0x51f8c9(0x127)]('[%s][agents][attendedtransfer]\x20agent:%s\x20transferuniqueid:%s',_0x5d71ee[_0x51f8c9(0x139)],agents[_0x5d71ee['origtransfereruniqueid']][_0x51f8c9(0x150)],_0x5d71ee['secondtransfereruniqueid'])),agents[_0x5d71ee['origtransfereruniqueid']][_0x51f8c9(0x118)]=!![],agents[_0x5d71ee[_0x51f8c9(0x15d)]][_0x51f8c9(0x122)]=_0x51f8c9(0x113),agents[_0x5d71ee[_0x51f8c9(0x15d)]][_0x51f8c9(0x11b)]=_0x5d71ee[_0x51f8c9(0x145)],agents[_0x5d71ee[_0x51f8c9(0x15d)]][_0x51f8c9(0x14b)]=_0x5d71ee[_0x51f8c9(0x115)]),_0x5d71ee['transfertargetuniqueid']&&agents[_0x5d71ee[_0x51f8c9(0x126)]]&&(agents[_0x5d71ee[_0x51f8c9(0x126)]][_0x51f8c9(0x131)]=0x1,transfers[_0x5d71ee[_0x51f8c9(0x126)]]=_[_0x51f8c9(0x137)](agents[_0x5d71ee['transfertargetuniqueid']]),transfers[_0x5d71ee[_0x51f8c9(0x126)]][_0x51f8c9(0x14f)]=agents[_0x5d71ee[_0x51f8c9(0x15d)]][_0x51f8c9(0x14f)],transfers[_0x5d71ee[_0x51f8c9(0x126)]]['calleridname']=agents[_0x5d71ee['origtransfereruniqueid']][_0x51f8c9(0x143)],transfers[_0x5d71ee['transfertargetuniqueid']][_0x51f8c9(0x12c)]=utils['now'](),transfers[_0x5d71ee[_0x51f8c9(0x126)]][_0x51f8c9(0x15e)]=utils[_0x51f8c9(0x121)](),transfers[_0x5d71ee['transfertargetuniqueid']][_0x51f8c9(0x13c)]=0x0,transfers[_0x5d71ee[_0x51f8c9(0x126)]][_0x51f8c9(0x131)]=0x2));}catch(_0x4201c4){utils['error'](util[_0x51f8c9(0x127)]('[%s][agents][attendedtransfer]',_0x5d71ee[_0x51f8c9(0x139)]),_0x4201c4);}},exports['hangup']=function(_0x122d09){const _0x55c7b6=a1389_0x300a55;try{if(agents[_0x122d09[_0x55c7b6(0x139)]]&&agents[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x15b)]==='timeout'){_0x122d09['cause']==='21'&&(agents[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x15b)]=_0x55c7b6(0x12b),agents[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x160)]=_0x55c7b6(0x12b));writeDB(agents[_0x122d09['uniqueid']]);const _0x1b6042=unanswered['indexOf'](_0x122d09[_0x55c7b6(0x139)]);_0x1b6042>-0x1&&unanswered['splice'](_0x1b6042,0x1);}transfers[_0x122d09[_0x55c7b6(0x139)]]&&(transfers[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x11e)]=!![],transfers[_0x122d09[_0x55c7b6(0x139)]]['agentcompleteAt']=utils[_0x55c7b6(0x121)](),transfers[_0x122d09['uniqueid']]['talktime']=utils[_0x55c7b6(0x14e)](transfers[_0x122d09[_0x55c7b6(0x139)]]['agentcompleteAt'],transfers[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x15e)]),transfers[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x15b)]=_0x55c7b6(0x11a),transfers[_0x122d09['uniqueid']][_0x55c7b6(0x160)]=_0x55c7b6(0x12d),writeDB(transfers[_0x122d09['uniqueid']],!![])),agents[_0x122d09[_0x55c7b6(0x139)]]&&agents[_0x122d09[_0x55c7b6(0x139)]]['agentconnectAt']&&(agents[_0x122d09['uniqueid']][_0x55c7b6(0x11e)]=!![],agents[_0x122d09[_0x55c7b6(0x139)]]['agentcompleteAt']=utils[_0x55c7b6(0x121)](),agents[_0x122d09[_0x55c7b6(0x139)]]['talktime']=utils[_0x55c7b6(0x14e)](agents[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x144)],agents[_0x122d09[_0x55c7b6(0x139)]]['agentconnectAt']),agents[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x15b)]=agents[_0x122d09[_0x55c7b6(0x139)]][_0x55c7b6(0x118)]?_0x55c7b6(0x118):_0x55c7b6(0x11a),agents[_0x122d09[_0x55c7b6(0x139)]]['lastevent']=_0x55c7b6(0x12d),writeDB(agents[_0x122d09[_0x55c7b6(0x139)]]));}catch(_0x39bc99){utils[_0x55c7b6(0x149)](_0x39bc99['stack']);}};