Built motion from commit 129fb4d95212661e48f0db455e75d668addbaddf. Version 3.0.0...
[motion-next.git] / server / services / xdr / agents.controller.js
1 const a1385_0x5aae=['rejected','now','isNil','./utils','extension','calleridnum','type','agententerreason','secondtransfereruniqueid','timeout','request','lastevent','diffTime','transfereruniqueid','destuniqueid','queuecallerabandon','stack','agent','acwtime','origtransfereruniqueid','agentconnectAt','answeredelsewheredestinationuniqueid','transferexten','agentcalledAt','agentacw','origtransfererexten','called','acw','queue','calleridname','push','CreateVoiceAgentReport','attendedtransfer','membername','agentcompleteAt','transfer','connectedlinenum','complete','forIn','ATTENDED','acwTimeout','transferuniqueid','agentringnoanswerAt','holdtime','includes','secondtransfererexten','origtransfererlinkedid','clone','uniqueid','reason','connect','AGENT|%s|%s|%s|%s|%s|%s|%s|%s','agentcomplete','transfertargetuniqueid','indexOf','interface','error','transfertype','format','info','transfereeuniqueid','answered_elsewhere','abandoned','secondtransfererlinkedid','connectedlinename','blindtransfer','answeredelsewheremembername','talktime','ringtime','agentringnoanswer'];(function(_0x52fff9,_0x3314b8){const _0x5aaec7=function(_0x2e3e78){while(--_0x2e3e78){_0x52fff9['push'](_0x52fff9['shift']());}};_0x5aaec7(++_0x3314b8);}(a1385_0x5aae,0xf7));const a1385_0x2e3e=function(_0x52fff9,_0x3314b8){_0x52fff9=_0x52fff9-0x155;let _0x5aaec7=a1385_0x5aae[_0x52fff9];return _0x5aaec7;};const a1385_0x134209=a1385_0x2e3e;'use strict';const _=require('lodash'),util=require('util'),utils=require(a1385_0x134209(0x179)),agents={},transfers={},unanswered=[];function writeDB(_0x19e6c2,_0xf76faa){const _0x8ec26d=a1385_0x134209;utils[_0x8ec26d(0x16b)](util[_0x8ec26d(0x16a)](_0x8ec26d(0x163),_0x19e6c2['uniqueid'],_0x19e6c2['channel'],_0x19e6c2['queue'],_0x19e6c2[_0x8ec26d(0x197)],_0x19e6c2[_0x8ec26d(0x167)],_0x19e6c2[_0x8ec26d(0x17b)],_0x19e6c2[_0x8ec26d(0x19a)],_0x19e6c2['lastevent'])),_0x19e6c2[_0x8ec26d(0x192)]?utils['getVoiceQueueByName'](_0x19e6c2['queue'])['then'](function(_0x5c74d3){const _0x2d6fe0=_0x8ec26d;_0x5c74d3&&(_0x19e6c2[_0x2d6fe0(0x17c)]=_0x5c74d3['type'],_0x19e6c2[_0x2d6fe0(0x18e)]=_0x19e6c2[_0x2d6fe0(0x164)]?_0x5c74d3[_0x2d6fe0(0x191)]:![],_0x19e6c2[_0x2d6fe0(0x188)]=_0x19e6c2[_0x2d6fe0(0x18e)]?_0x5c74d3[_0x2d6fe0(0x158)]:0x0),utils[_0x2d6fe0(0x180)]('CreateVoiceAgentReport',_0x19e6c2);}):utils[_0x8ec26d(0x180)](_0x8ec26d(0x195),_0x19e6c2),_0xf76faa?delete transfers[_0x19e6c2[_0x8ec26d(0x160)]]:delete agents[_0x19e6c2[_0x8ec26d(0x184)]];}exports['agentcalled']=function(_0x14a461){const _0x49b50a=a1385_0x134209;try{agents[_0x14a461[_0x49b50a(0x184)]]=_0x14a461,agents[_0x14a461['destuniqueid']][_0x49b50a(0x18d)]=utils[_0x49b50a(0x177)](),agents[_0x14a461['destuniqueid']]['lastevent']=_0x49b50a(0x190),agents[_0x14a461[_0x49b50a(0x184)]]['connectedlinenum']=null,agents[_0x14a461[_0x49b50a(0x184)]]['connectedlinename']=null;}catch(_0x399059){utils[_0x49b50a(0x168)](_0x399059[_0x49b50a(0x186)]);}},exports[a1385_0x134209(0x175)]=function(_0x12b564){const _0x57d1a0=a1385_0x134209;try{!_[_0x57d1a0(0x178)](agents[_0x12b564[_0x57d1a0(0x184)]])&&(agents[_0x12b564[_0x57d1a0(0x184)]]['agentringnoanswer']=!![],agents[_0x12b564[_0x57d1a0(0x184)]]['agentringnoanswerAt']=utils[_0x57d1a0(0x177)](),agents[_0x12b564['destuniqueid']][_0x57d1a0(0x181)]=_0x57d1a0(0x17f),agents[_0x12b564[_0x57d1a0(0x184)]][_0x57d1a0(0x161)]=_0x57d1a0(0x17f),agents[_0x12b564[_0x57d1a0(0x184)]]['holdtime']=_0x12b564[_0x57d1a0(0x174)]?parseInt(_0x12b564[_0x57d1a0(0x174)])/0x3e8:0x0,agents[_0x12b564[_0x57d1a0(0x184)]][_0x57d1a0(0x173)]=0x0,unanswered[_0x57d1a0(0x194)](_0x12b564['destuniqueid']));}catch(_0xb47d31){utils[_0x57d1a0(0x168)](_0xb47d31[_0x57d1a0(0x186)]);}},exports[a1385_0x134209(0x185)]=function(_0x378ffe){try{_['forIn'](agents,function(_0x118330){const _0x152ea3=a1385_0x2e3e;_0x118330[_0x152ea3(0x160)]==_0x378ffe[_0x152ea3(0x160)]&&!_[_0x152ea3(0x15c)](unanswered,_0x118330[_0x152ea3(0x184)])&&(_0x118330[_0x152ea3(0x175)]=!![],_0x118330[_0x152ea3(0x15a)]=utils[_0x152ea3(0x177)](),_0x118330[_0x152ea3(0x181)]=_0x152ea3(0x16e),_0x118330[_0x152ea3(0x161)]=_0x152ea3(0x16e),_0x118330[_0x152ea3(0x15b)]=_0x378ffe[_0x152ea3(0x15b)],_0x118330['talktime']=0x0,writeDB(_0x118330));});}catch(_0xc9a0a4){utils['error'](_0xc9a0a4['stack']);}},exports['agentconnect']=function(_0x759463){const _0x4a5a63=a1385_0x134209;try{agents[_0x759463[_0x4a5a63(0x184)]]&&(agents[_0x759463[_0x4a5a63(0x184)]][_0x4a5a63(0x18a)]=utils['now'](),agents[_0x759463[_0x4a5a63(0x184)]][_0x4a5a63(0x19a)]=_0x759463[_0x4a5a63(0x19a)],agents[_0x759463[_0x4a5a63(0x184)]][_0x4a5a63(0x170)]=_0x759463[_0x4a5a63(0x170)],agents[_0x759463[_0x4a5a63(0x184)]][_0x4a5a63(0x15b)]=_0x759463['ringtime'],agents[_0x759463[_0x4a5a63(0x184)]][_0x4a5a63(0x181)]=_0x4a5a63(0x162),_[_0x4a5a63(0x156)](agents,function(_0x298ddb){const _0x39b3fc=_0x4a5a63;_0x298ddb[_0x39b3fc(0x184)]!=_0x759463[_0x39b3fc(0x184)]&&_0x298ddb[_0x39b3fc(0x160)]==_0x759463[_0x39b3fc(0x160)]&&(_0x298ddb[_0x39b3fc(0x173)]=0x0,_0x298ddb['holdtime']=_0x759463[_0x39b3fc(0x174)],_0x298ddb['agentringnoanswer']=!![],_0x298ddb[_0x39b3fc(0x15a)]=utils[_0x39b3fc(0x177)](),_0x298ddb['lastevent']=_0x39b3fc(0x16d),_0x298ddb['reason']=_0x39b3fc(0x16d),_0x298ddb[_0x39b3fc(0x18b)]=_0x759463[_0x39b3fc(0x184)],_0x298ddb[_0x39b3fc(0x172)]=_0x759463[_0x39b3fc(0x197)],writeDB(_0x298ddb));}));}catch(_0x56db75){utils[_0x4a5a63(0x168)](_0x56db75[_0x4a5a63(0x186)]);}},exports[a1385_0x134209(0x164)]=function(_0x51e461){const _0x1750de=a1385_0x134209;try{!_[_0x1750de(0x178)](agents[_0x51e461[_0x1750de(0x184)]])&&(agents[_0x51e461[_0x1750de(0x184)]][_0x1750de(0x164)]=!![],agents[_0x51e461[_0x1750de(0x184)]]['agentcompleteAt']=utils[_0x1750de(0x177)](),agents[_0x51e461[_0x1750de(0x184)]][_0x1750de(0x173)]=utils[_0x1750de(0x182)](agents[_0x51e461[_0x1750de(0x184)]][_0x1750de(0x198)],agents[_0x51e461['destuniqueid']][_0x1750de(0x18a)]),agents[_0x51e461[_0x1750de(0x184)]][_0x1750de(0x161)]=_0x51e461[_0x1750de(0x161)],agents[_0x51e461[_0x1750de(0x184)]][_0x1750de(0x181)]=_0x1750de(0x155),writeDB(agents[_0x51e461[_0x1750de(0x184)]]));}catch(_0x38d0bd){utils[_0x1750de(0x168)](_0x38d0bd[_0x1750de(0x186)]);}},exports[a1385_0x134209(0x171)]=function(_0x27b014){const _0xfe0776=a1385_0x134209;try{!_[_0xfe0776(0x178)](agents[_0x27b014[_0xfe0776(0x183)]])&&(agents[_0x27b014[_0xfe0776(0x183)]][_0xfe0776(0x199)]=!![],agents[_0x27b014[_0xfe0776(0x183)]]['transfertype']='blind',agents[_0x27b014[_0xfe0776(0x183)]][_0xfe0776(0x18c)]=_0x27b014[_0xfe0776(0x17a)],agents[_0x27b014[_0xfe0776(0x183)]][_0xfe0776(0x159)]=agents[_0x27b014[_0xfe0776(0x183)]][_0xfe0776(0x160)]);}catch(_0x3e2e50){utils['error'](_0x3e2e50[_0xfe0776(0x186)]);}},exports[a1385_0x134209(0x196)]=function(_0x4a725c){const _0x3c7a55=a1385_0x134209;try{if(_0x4a725c['origtransfereruniqueid']==_0x4a725c[_0x3c7a55(0x15e)])!_[_0x3c7a55(0x178)](agents[_0x4a725c['secondtransfereruniqueid']])&&(agents[_0x4a725c[_0x3c7a55(0x17e)]][_0x3c7a55(0x199)]=!![],agents[_0x4a725c['secondtransfereruniqueid']][_0x3c7a55(0x169)]=_0x3c7a55(0x157),agents[_0x4a725c[_0x3c7a55(0x17e)]]['transferexten']=_0x4a725c[_0x3c7a55(0x18f)],agents[_0x4a725c['secondtransfereruniqueid']]['transferuniqueid']=_0x4a725c['origtransfereruniqueid']),_0x4a725c[_0x3c7a55(0x16c)]&&agents[_0x4a725c[_0x3c7a55(0x16c)]]&&(agents[_0x4a725c[_0x3c7a55(0x16c)]][_0x3c7a55(0x17d)]=0x1,transfers[_0x4a725c[_0x3c7a55(0x16c)]]=_[_0x3c7a55(0x15f)](agents[_0x4a725c[_0x3c7a55(0x16c)]]),transfers[_0x4a725c[_0x3c7a55(0x16c)]]['calleridnum']=agents[_0x4a725c['secondtransfereruniqueid']][_0x3c7a55(0x17b)],transfers[_0x4a725c[_0x3c7a55(0x16c)]][_0x3c7a55(0x193)]=agents[_0x4a725c[_0x3c7a55(0x17e)]][_0x3c7a55(0x193)],transfers[_0x4a725c[_0x3c7a55(0x16c)]][_0x3c7a55(0x18d)]=utils[_0x3c7a55(0x177)](),transfers[_0x4a725c[_0x3c7a55(0x16c)]][_0x3c7a55(0x18a)]=utils[_0x3c7a55(0x177)](),transfers[_0x4a725c[_0x3c7a55(0x16c)]][_0x3c7a55(0x15b)]=0x0,transfers[_0x4a725c[_0x3c7a55(0x16c)]][_0x3c7a55(0x17d)]=0x2);else _0x4a725c[_0x3c7a55(0x17e)]==_0x4a725c[_0x3c7a55(0x16f)]&&(!_[_0x3c7a55(0x178)](agents[_0x4a725c['origtransfereruniqueid']])&&(agents[_0x4a725c[_0x3c7a55(0x189)]]['transfer']=!![],agents[_0x4a725c[_0x3c7a55(0x189)]][_0x3c7a55(0x169)]=_0x3c7a55(0x157),agents[_0x4a725c[_0x3c7a55(0x189)]][_0x3c7a55(0x18c)]=_0x4a725c[_0x3c7a55(0x15d)],agents[_0x4a725c[_0x3c7a55(0x189)]][_0x3c7a55(0x159)]=_0x4a725c[_0x3c7a55(0x17e)]),_0x4a725c['transfertargetuniqueid']&&agents[_0x4a725c['transfertargetuniqueid']]&&(agents[_0x4a725c['transfertargetuniqueid']]['agententerreason']=0x1,transfers[_0x4a725c[_0x3c7a55(0x165)]]=_[_0x3c7a55(0x15f)](agents[_0x4a725c[_0x3c7a55(0x165)]]),transfers[_0x4a725c[_0x3c7a55(0x165)]][_0x3c7a55(0x17b)]=agents[_0x4a725c[_0x3c7a55(0x189)]][_0x3c7a55(0x17b)],transfers[_0x4a725c['transfertargetuniqueid']]['calleridname']=agents[_0x4a725c[_0x3c7a55(0x189)]]['calleridname'],transfers[_0x4a725c[_0x3c7a55(0x165)]][_0x3c7a55(0x18d)]=utils[_0x3c7a55(0x177)](),transfers[_0x4a725c[_0x3c7a55(0x165)]][_0x3c7a55(0x18a)]=utils[_0x3c7a55(0x177)](),transfers[_0x4a725c[_0x3c7a55(0x165)]][_0x3c7a55(0x15b)]=0x0,transfers[_0x4a725c[_0x3c7a55(0x165)]][_0x3c7a55(0x17d)]=0x2));}catch(_0x2c6da6){utils[_0x3c7a55(0x168)](_0x2c6da6['stack']);}},exports['hangup']=function(_0x2d53c4){const _0x160099=a1385_0x134209;try{if(agents[_0x2d53c4[_0x160099(0x160)]]&&agents[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x161)]==='timeout'){_0x2d53c4['cause']==='21'&&(agents[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x161)]=_0x160099(0x176),agents[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x181)]='rejected');writeDB(agents[_0x2d53c4[_0x160099(0x160)]]);const _0x5370b5=unanswered[_0x160099(0x166)](_0x2d53c4[_0x160099(0x160)]);if(_0x5370b5>-0x1)unanswered['splice'](_0x5370b5,0x1);}transfers[_0x2d53c4[_0x160099(0x160)]]&&(transfers[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x164)]=!![],transfers[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x198)]=utils[_0x160099(0x177)](),transfers[_0x2d53c4[_0x160099(0x160)]]['talktime']=utils[_0x160099(0x182)](transfers[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x198)],transfers[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x18a)]),transfers[_0x2d53c4['uniqueid']][_0x160099(0x161)]=_0x160099(0x187),transfers[_0x2d53c4['uniqueid']][_0x160099(0x181)]='complete',writeDB(transfers[_0x2d53c4[_0x160099(0x160)]],!![])),agents[_0x2d53c4[_0x160099(0x160)]]&&agents[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x18a)]&&(agents[_0x2d53c4[_0x160099(0x160)]]['agentcomplete']=!![],agents[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x198)]=utils[_0x160099(0x177)](),agents[_0x2d53c4[_0x160099(0x160)]]['talktime']=utils[_0x160099(0x182)](agents[_0x2d53c4['uniqueid']][_0x160099(0x198)],agents[_0x2d53c4['uniqueid']][_0x160099(0x18a)]),agents[_0x2d53c4[_0x160099(0x160)]]['reason']=agents[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x199)]?'transfer':_0x160099(0x187),agents[_0x2d53c4[_0x160099(0x160)]][_0x160099(0x181)]=_0x160099(0x155),writeDB(agents[_0x2d53c4[_0x160099(0x160)]]));}catch(_0x2e8926){utils[_0x160099(0x168)](_0x2e8926['stack']);}};