Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / services / ami / report / voiceAgentReport.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 _0x2958=['agentringnoanswerAt','YYYY-MM-DD\x20HH:mm:ss','answeredelsewheredestinationuniqueid','answeredelsewheremembername','lastevent','answered_elsewhere','reason','[%s][voiceAgentReport][agentconnect]\x20sending\x20agentansweredelsewhere\x20event:','custom:agentansweredelsewhere','[%s][voiceAgentReport][agentconnect]\x20Else\x20path\x20should\x20never\x20be\x20taken','error','[%s][voiceAgentReport][agentconnect]','syncAgentRingNoAnswer','[%s][voiceAgentReport][agentringnoanswer]\x20event:','rejected','[%s][voiceAgentReport][agentringnoanswer]\x20sending\x20agentringnoanswer\x20event:','user:agentringnoanswer','custom:agentringnoanswer','assign','[%s][voiceAgentReport][agentringnoanswer]','[%s][voiceAgentReport][queuecallerabandon]\x20event:','[%s][voiceAgentReport][queuecallerabandon]\x20agent:%s\x20destuniqueid:%s\x20lastevent:abandoned','abandoned','[%s][voiceAgentReport][queuecallerabandon]\x20sending\x20agentqueuecallerabandon\x20event:','custom:agentqueuecallerabandon','[%s][voiceAgentReport][agentcomplete]\x20event:','agentcompleteAt','complete','agent','talktime','acw','custom:agentcomplete','[%s][voiceAgentReport][agentcomplete]\x20sending\x20user:agentcomplete\x20event:','destaccountcode','user:agentcomplete','[%s][voiceAgentReport][agentcomplete]','[%s][voiceAgentReport][varset]\x20event:','keys','value','variable','[%s][voiceAgentReport][varset]','addVariable','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','sipcallid','sipuri','bridgepeer','bridgepvtcallid','memberdynamic','memberinterface','memberrealtime','isNil','includes','syncHangup','[%s][voiceAgentReport][hangup]\x20event:','transfer','[%s][voiceAgentReport][hangup]\x20destuniqueid:%s','[%s][voiceAgentReport][hangup]\x20sending\x20voiceAgentReport\x20event:','values','deleteChannelAfterTimeout','[%s][voiceAgentReport][hangup]','transfereeuniqueid','origtransfereruniqueid','[%s][voiceAgentReport][attendedtransfer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete','diff','seconds','secondtransfereruniqueid','[%s][voiceAgentReport][attendedtransfer]','[%s][voiceAgentReport][blindtransfer]\x20event:','transfereruniqueid','[%s][voiceAgentReport][blindtransfer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete','[%s][voiceAgentReport][blindtransfer]','[%s][voiceAgentReport][musiconholdstart]\x20event:','substring','lastIndexOf','[%s][voiceAgentReport][musiconholdstart]\x20interface:%s','[%s][voiceAgentReport][musiconholdstart]','[%s][voiceAgentReport][musiconholdstop]\x20event:','channel','[%s][voiceAgentReport][musiconholdstop]\x20interface:%s','onhold','exports','lodash','moment','util','ioredis','../../../config/environment','../../../config/logger','../ami','redis','defaults','channels','voiceChannels','voiceQueues','agents','variables','agentcalled','syncAgentCalled','bind','agentconnect','syncAgentConnect','agentringnoanswer','queuecallerabandon','syncQueueCallerAbandon','agentcomplete','syncAgentComplete','syncVarSet','hangup','musiconholdstart','syncMusicOnHoldStart','musiconholdstop','syncMusicOnHoldStop','syncAttendedTransfer','blindtransfer','prototype','emit','isUndefined','isNotNull','uniqueid','membername','destuniqueid','[%s][voiceAgentReport][agentcalled]\x20event:','inspect','interface','queue','format','called','mandatoryDisposition','type','event','debug','calleridnum','[%s][voiceAgentReport][agentcalled]\x20sending\x20user:called\x20event:','user:%s','user:called','[%s][voiceAgentReport][agentcalled]','hasOwnProperty','info','[%s][voiceAgentReport][agentconnect]\x20agent:%s\x20destuniqueid:%s\x20lastevent:connect','agentconnectAt','connectedlinename','connectedlinenum','destchannelstate','destchannelstatedesc','connect','merge','pick','destconnectedlinenum','name','accountcode','custom:agentconnect'];(function(_0x504961,_0x35862a){var _0xdb50bf=function(_0x1e5b06){while(--_0x1e5b06){_0x504961['push'](_0x504961['shift']());}};_0xdb50bf(++_0x35862a);}(_0x2958,0x18c));var _0x8295=function(_0x1847f9,_0x48ea5a){_0x1847f9=_0x1847f9-0x0;var _0x42e560=_0x2958[_0x1847f9];return _0x42e560;};'use strict';var _=require(_0x8295('0x0'));var moment=require(_0x8295('0x1'));var util=require(_0x8295('0x2'));var Redis=require(_0x8295('0x3'));var config=require(_0x8295('0x4'));var logger=require(_0x8295('0x5'))('ami');var ami=require(_0x8295('0x6'));config[_0x8295('0x7')]=_[_0x8295('0x8')](config['redis'],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function VoiceAgentReport(_0xac45bd){this[_0x8295('0x9')]={};this[_0x8295('0xa')]=_0xac45bd['channels'];this[_0x8295('0xb')]=_0xac45bd[_0x8295('0xb')];this[_0x8295('0xc')]=_0xac45bd['agents'];this[_0x8295('0xd')]={};ami['on'](_0x8295('0xe'),this[_0x8295('0xf')][_0x8295('0x10')](this));ami['on'](_0x8295('0x11'),this[_0x8295('0x12')][_0x8295('0x10')](this));ami['on'](_0x8295('0x13'),this['syncAgentRingNoAnswer'][_0x8295('0x10')](this));ami['on'](_0x8295('0x14'),this[_0x8295('0x15')][_0x8295('0x10')](this));ami['on'](_0x8295('0x16'),this[_0x8295('0x17')]['bind'](this));ami['on']('varset',this[_0x8295('0x18')][_0x8295('0x10')](this));ami['on'](_0x8295('0x19'),this['syncHangup'][_0x8295('0x10')](this));ami['on'](_0x8295('0x1a'),this[_0x8295('0x1b')][_0x8295('0x10')](this));ami['on'](_0x8295('0x1c'),this[_0x8295('0x1d')][_0x8295('0x10')](this));ami['on']('attendedtransfer',this[_0x8295('0x1e')][_0x8295('0x10')](this));ami['on'](_0x8295('0x1f'),this['syncBlindTransfer'][_0x8295('0x10')](this));}VoiceAgentReport[_0x8295('0x20')][_0x8295('0x21')]=function(_0x4854ef,_0x42eedc,_0x5182df){io['to'](_0x4854ef)[_0x8295('0x21')](_0x42eedc,_0x5182df);};VoiceAgentReport[_0x8295('0x20')]['isNotNull']=function(_0x41cd31){return _0x41cd31!==null&&!_[_0x8295('0x22')](_0x41cd31);};VoiceAgentReport[_0x8295('0x20')][_0x8295('0xf')]=function(_0xa34580){try{if(this[_0x8295('0x23')](_0xa34580)){logger['info']('[%s][voiceAgentReport][agentcalled]\x20agent:%s\x20destuniqueid:%s\x20lastevent:called',_0xa34580[_0x8295('0x24')],_0xa34580[_0x8295('0x25')],_0xa34580[_0x8295('0x26')]);logger['debug'](_0x8295('0x27'),_0xa34580['uniqueid'],util[_0x8295('0x28')](_0xa34580,{'showHidden':![],'depth':null}));if(_[_0x8295('0x22')](this[_0x8295('0x9')][_0xa34580['uniqueid']])){this['channels'][_0xa34580[_0x8295('0x24')]]={};}var _0x2b9178=this[_0x8295('0xc')][_0xa34580[_0x8295('0x29')]];var _0x27b4f8=this[_0x8295('0x9')][_0xa34580[_0x8295('0x24')]][_0xa34580['destuniqueid']];var _0x17b2f9=this[_0x8295('0xb')][_0xa34580[_0x8295('0x2a')]];var _0x4ca6fd=this[_0x8295('0xd')][_0xa34580['uniqueid']];if(_['isUndefined'](_0x27b4f8)){_0x27b4f8={'agentcalledAt':moment()[_0x8295('0x2b')]('YYYY-MM-DD\x20HH:mm:ss'),'lastevent':_0x8295('0x2c'),'mandatoryDisposition':_0x17b2f9&&_0x17b2f9[_0x8295('0x2d')]?_0x17b2f9[_0x8295('0x2d')]:![],'type':_0x17b2f9&&_0x17b2f9[_0x8295('0x2e')]?_0x17b2f9['type']:'inbound','variables':_0x4ca6fd,'motionChannel':'voice'};}Object['assign'](_0x27b4f8,_['omit'](_0xa34580,[_0x8295('0x2f'),'privilege']));this['channels'][_0xa34580[_0x8295('0x24')]][_0xa34580[_0x8295('0x26')]]=_0x27b4f8;logger[_0x8295('0x30')]('[%s][voiceAgentReport][agentcalled]\x20sending\x20agentcalled\x20event:',_0xa34580['uniqueid'],util[_0x8295('0x28')](_0x27b4f8,{'showHidden':![],'depth':null}));ami[_0x8295('0x21')]('custom:agentcalled',_0x27b4f8);var _0x1b66d5={'id':_0x2b9178['id'],'calleridnum':_0x27b4f8[_0x8295('0x31')],'queue':_0x27b4f8['queue'],'variables':_0x27b4f8[_0x8295('0xd')],'uniqueid':_0xa34580[_0x8295('0x24')]};logger[_0x8295('0x30')](_0x8295('0x32'),_0xa34580['uniqueid'],util['inspect'](_0x1b66d5,{'showHidden':![],'depth':null}));this[_0x8295('0x21')](util['format'](_0x8295('0x33'),_0xa34580[_0x8295('0x25')]),_0x8295('0x34'),_0x1b66d5);}}catch(_0x478f48){logger['error'](_0x8295('0x35'),_0xa34580['uniqueid'],util[_0x8295('0x28')](_0x478f48,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x12')]=function(_0x2e3b93){try{if(this[_0x8295('0x23')](_0x2e3b93)){if(this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]]){for(var _0x28c4d4 in this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]]){if(this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x8295('0x36')](_0x28c4d4)){if(_0x2e3b93['destuniqueid']===_0x28c4d4){logger[_0x8295('0x37')](_0x8295('0x38'),_0x2e3b93[_0x8295('0x24')],_0x2e3b93[_0x8295('0x25')],_0x2e3b93[_0x8295('0x26')]);this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x39')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x3a')]=_0x2e3b93[_0x8295('0x3a')];this[_0x8295('0x9')][_0x2e3b93['uniqueid']][_0x28c4d4][_0x8295('0x3b')]=_0x2e3b93[_0x8295('0x3b')];this['channels'][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x3c')]=_0x2e3b93[_0x8295('0x3c')];this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x3d')]=_0x2e3b93[_0x8295('0x3d')];this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4]['holdtime']=_0x2e3b93['holdtime'];this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4]['lastevent']=_0x8295('0x3e');_[_0x8295('0x3f')](this['agents'][_0x2e3b93[_0x8295('0x29')]],_[_0x8295('0x40')](_0x2e3b93,['queue',_0x8295('0x41')]));var _0x331b25=this['agents'][_0x2e3b93[_0x8295('0x29')]];var _0x23d9e2={'id':_0x331b25['id'],'name':_0x331b25[_0x8295('0x42')],'agentconnected':!![],'destaccountcode':_0x331b25[_0x8295('0x43')],'destconnectedlinenum':this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x2e3b93[_0x8295('0x26')]]['exten'],'queue':this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x2e3b93[_0x8295('0x26')]][_0x8295('0x2a')],'uniqueid':this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x2e3b93[_0x8295('0x26')]]['uniqueid']};ami[_0x8295('0x21')](_0x8295('0x44'),this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x2e3b93[_0x8295('0x26')]]);this[_0x8295('0x21')](util[_0x8295('0x2b')](_0x8295('0x33'),_0x2e3b93['membername']),'user:agentconnect',_0x23d9e2);}else if(!this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x13')]&&!this['channels'][_0x2e3b93['uniqueid']][_0x28c4d4][_0x8295('0x16')]){logger[_0x8295('0x37')]('[%s][voiceAgentReport][agentconnect]\x20agent:%s\x20destuniqueid:%s\x20lastevent:answered_elsewhere',_0x2e3b93[_0x8295('0x24')],this[_0x8295('0x9')][_0x2e3b93['uniqueid']][_0x28c4d4][_0x8295('0x25')],_0x28c4d4);this[_0x8295('0x9')][_0x2e3b93['uniqueid']][_0x28c4d4][_0x8295('0x13')]=!![];this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x45')]=moment()['format'](_0x8295('0x46'));this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x47')]=_0x2e3b93['destuniqueid'];this['channels'][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x48')]=_0x2e3b93[_0x8295('0x25')];this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x49')]=_0x8295('0x4a');this['channels'][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4][_0x8295('0x4b')]=_0x8295('0x4a');logger[_0x8295('0x30')](_0x8295('0x4c'),_0x2e3b93[_0x8295('0x24')],util[_0x8295('0x28')](this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4],{'showHidden':![],'depth':null}));ami[_0x8295('0x21')](_0x8295('0x4d'),this[_0x8295('0x9')][_0x2e3b93[_0x8295('0x24')]][_0x28c4d4]);}else{logger['debug'](_0x8295('0x4e'),_0x2e3b93[_0x8295('0x24')]);}}}}}}catch(_0xb64b9c){logger[_0x8295('0x4f')](_0x8295('0x50'),_0x2e3b93['uniqueid'],util[_0x8295('0x28')](_0xb64b9c,{'showHidden':![],'depth':null}));}};VoiceAgentReport['prototype'][_0x8295('0x51')]=function(_0x1b8a8f){try{if(this[_0x8295('0x23')](_0x1b8a8f)){logger[_0x8295('0x30')](_0x8295('0x52'),_0x1b8a8f[_0x8295('0x24')],util[_0x8295('0x28')](_0x1b8a8f,{'showHidden':![],'depth':null}));if(this[_0x8295('0x9')][_0x1b8a8f[_0x8295('0x24')]]&&this['channels'][_0x1b8a8f[_0x8295('0x24')]][_0x1b8a8f[_0x8295('0x26')]]){logger[_0x8295('0x37')]('[%s][voiceAgentReport][agentringnoanswer]\x20agent:%s\x20destuniqueid:%s\x20lastevent:rejected',_0x1b8a8f[_0x8295('0x24')],_0x1b8a8f[_0x8295('0x25')],_0x1b8a8f[_0x8295('0x26')]);var _0x362e95=this[_0x8295('0xc')][_0x1b8a8f[_0x8295('0x29')]];var _0x524c5b=this['channels'][_0x1b8a8f[_0x8295('0x24')]][_0x1b8a8f[_0x8295('0x26')]];_0x524c5b[_0x8295('0x13')]=!![];_0x524c5b['agentringnoanswerAt']=moment()[_0x8295('0x2b')](_0x8295('0x46'));_0x524c5b['lastevent']=_0x8295('0x53');_0x524c5b['reason']=_0x8295('0x53');var _0x4a21d9={'id':_0x362e95['id'],'name':_0x362e95[_0x8295('0x42')],'queue':_0x524c5b[_0x8295('0x2a')],'uniqueid':_0x524c5b['uniqueid']};logger[_0x8295('0x30')](_0x8295('0x54'),_0x1b8a8f[_0x8295('0x24')],util['inspect'](_0x4a21d9,{'showHidden':![],'depth':null}));this[_0x8295('0x21')](util[_0x8295('0x2b')]('user:%s',_0x362e95[_0x8295('0x42')]),_0x8295('0x55'),_0x4a21d9);ami['emit'](_0x8295('0x56'),_0x524c5b);this[_0x8295('0x9')][_0x1b8a8f[_0x8295('0x24')]][_0x1b8a8f[_0x8295('0x26')]]=Object[_0x8295('0x57')]({},_0x524c5b);}}}catch(_0x43870e){logger[_0x8295('0x4f')](_0x8295('0x58'),_0x1b8a8f[_0x8295('0x24')],util[_0x8295('0x28')](_0x43870e,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x15')]=function(_0x12cacb){try{if(this[_0x8295('0x23')](_0x12cacb)){logger[_0x8295('0x30')](_0x8295('0x59'),_0x12cacb['uniqueid'],util['inspect'](_0x12cacb,{'showHidden':![],'depth':null}));if(this[_0x8295('0x9')][_0x12cacb['uniqueid']]){for(var _0x161fdc in this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]]){if(this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x8295('0x36')](_0x161fdc)&&!this['channels'][_0x12cacb[_0x8295('0x24')]][_0x161fdc][_0x8295('0x13')]&&!this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x161fdc][_0x8295('0x16')]){logger[_0x8295('0x37')](_0x8295('0x5a'),_0x12cacb[_0x8295('0x24')],this[_0x8295('0x9')][_0x12cacb['uniqueid']][_0x161fdc][_0x8295('0x25')],_0x161fdc);this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x161fdc][_0x8295('0x13')]=!![];this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x161fdc][_0x8295('0x45')]=moment()[_0x8295('0x2b')](_0x8295('0x46'));this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x161fdc]['lastevent']=_0x8295('0x5b');this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x161fdc][_0x8295('0x4b')]=_0x8295('0x5b');logger[_0x8295('0x30')](_0x8295('0x5c'),_0x12cacb[_0x8295('0x24')],util['inspect'](this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x161fdc],{'showHidden':![],'depth':null}));ami[_0x8295('0x21')](_0x8295('0x5d'),this[_0x8295('0x9')][_0x12cacb[_0x8295('0x24')]][_0x161fdc]);}}}}}catch(_0x417ade){logger['error']('[%s][voiceAgentReport][queuecallerabandon]',_0x12cacb[_0x8295('0x24')],util[_0x8295('0x28')](_0x417ade,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')]['syncAgentComplete']=function(_0x6de013){try{if(this['isNotNull'](_0x6de013)){logger['debug'](_0x8295('0x5e'),_0x6de013['uniqueid'],util[_0x8295('0x28')](_0x6de013,{'showHidden':![],'depth':null}));if(this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]]){for(var _0x52ad37 in this['channels'][_0x6de013[_0x8295('0x24')]]){if(this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x8295('0x36')](_0x52ad37)){if(this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37]['agentconnectAt']&&!this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37][_0x8295('0x16')]){logger[_0x8295('0x37')]('[%s][voiceAgentReport][agentcomplete]\x20agent:%s\x20destuniqueid:%s\x20lastevent:complete',_0x6de013['uniqueid'],this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37][_0x8295('0x25')],_0x52ad37);this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37][_0x8295('0x16')]=!![];this['channels'][_0x6de013[_0x8295('0x24')]][_0x52ad37][_0x8295('0x5f')]=moment()['format'](_0x8295('0x46'));this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37][_0x8295('0x49')]=_0x8295('0x60');this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37]['reason']=_0x6de013[_0x8295('0x4b')]=='transfer'?_0x8295('0x61'):_0x6de013[_0x8295('0x4b')];this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37][_0x8295('0x62')]=_0x6de013[_0x8295('0x62')];if(this[_0x8295('0xb')][_0x6de013[_0x8295('0x2a')]]&&this[_0x8295('0xb')][_0x6de013[_0x8295('0x2a')]][_0x8295('0x63')]){this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37]['acwtime']=this[_0x8295('0xb')][_0x6de013[_0x8295('0x2a')]]['acwTimeout'];this['channels'][_0x6de013['uniqueid']][_0x52ad37]['agentacw']=!![];}this[_0x8295('0xc')][_0x6de013[_0x8295('0x29')]]=_['omit'](this[_0x8295('0xc')][_0x6de013[_0x8295('0x29')]],[_0x8295('0x2a'),_0x8295('0x41')]);logger['debug']('[%s][voiceAgentReport][agentcomplete]\x20sending\x20agentcomplete\x20event:',_0x6de013['uniqueid'],util[_0x8295('0x28')](this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37],{'showHidden':![],'depth':null}));ami[_0x8295('0x21')](_0x8295('0x64'),this[_0x8295('0x9')][_0x6de013[_0x8295('0x24')]][_0x52ad37]);logger['debug'](_0x8295('0x65'),_0x6de013[_0x8295('0x24')],util['inspect']({'id':this['agents'][_0x6de013[_0x8295('0x29')]]['id'],'destaccountcode':_0x6de013[_0x8295('0x66')]},{'showHidden':![],'depth':null}));this['emit'](util[_0x8295('0x2b')](_0x8295('0x33'),_0x6de013[_0x8295('0x25')]),_0x8295('0x67'),{'id':this[_0x8295('0xc')][_0x6de013[_0x8295('0x29')]]['id'],'destaccountcode':Number(_0x6de013['destaccountcode'])});}}}}}}catch(_0x4b2008){logger[_0x8295('0x4f')](_0x8295('0x68'),_0x6de013[_0x8295('0x24')],util['inspect'](_0x4b2008,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x18')]=function(_0xaa7fe7){try{if(this[_0x8295('0x23')](_0xaa7fe7)){logger['debug'](_0x8295('0x69'),_0xaa7fe7[_0x8295('0x24')],util[_0x8295('0x28')](_0xaa7fe7,{'showHidden':![],'depth':null}));this['addVariable'](_0xaa7fe7[_0x8295('0x24')],_[_0x8295('0x6a')](_0xaa7fe7['variable'])[0x0],_0xaa7fe7[_0x8295('0x6b')]);if(this[_0x8295('0x9')][_0xaa7fe7[_0x8295('0x24')]]){for(var _0x3d43aa in this[_0x8295('0x9')][_0xaa7fe7[_0x8295('0x24')]]){if(this[_0x8295('0x9')][_0xaa7fe7[_0x8295('0x24')]][_0x8295('0x36')](_0x3d43aa)){logger['info']('[%s][voiceAgentReport][varset]\x20destuniqueid:%s\x20variable:%s\x20value:%s',_0xaa7fe7[_0x8295('0x24')],_0x3d43aa,_['keys'](_0xaa7fe7[_0x8295('0x6c')])[0x0],_0xaa7fe7[_0x8295('0x6b')]);if(_[_0x8295('0x22')](this[_0x8295('0x9')][_0xaa7fe7[_0x8295('0x24')]][_0x3d43aa][_0x8295('0xd')])){this[_0x8295('0x9')][_0xaa7fe7[_0x8295('0x24')]][_0x3d43aa][_0x8295('0xd')]={};}this[_0x8295('0x9')][_0xaa7fe7[_0x8295('0x24')]][_0x3d43aa]['variables']=this['variables'][_0xaa7fe7[_0x8295('0x24')]];}}}}}catch(_0x2ab566){logger[_0x8295('0x4f')](_0x8295('0x6d'),_0xaa7fe7['uniqueid'],util[_0x8295('0x28')](_0x2ab566,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x6e')]=function(_0x81507,_0x374085,_0x8be789){var _0x53c21b=['rtpaudioqos',_0x8295('0x6f'),_0x8295('0x70'),_0x8295('0x71'),_0x8295('0x72'),_0x8295('0x73'),_0x8295('0x74'),'rtpaudioqosrttbridged',_0x8295('0x75'),_0x8295('0x76'),_0x8295('0x77'),_0x8295('0x78'),'membercalls',_0x8295('0x79'),_0x8295('0x7a'),'memberlastcall',_0x8295('0x25'),'memberpenalty',_0x8295('0x7b')];if(!_[_0x8295('0x7c')](_0x374085)&&!_[_0x8295('0x7d')](_0x53c21b,_0x374085)){if(_[_0x8295('0x22')](this[_0x8295('0xd')][_0x81507])){this['variables'][_0x81507]={};}this['variables'][_0x81507][_0x374085]=_0x8be789;}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x7e')]=function(_0x5597ba){try{if(this['isNotNull'](_0x5597ba)){logger[_0x8295('0x30')](_0x8295('0x7f'),_0x5597ba['uniqueid'],util[_0x8295('0x28')](_0x5597ba,{'showHidden':![],'depth':null}));if(this['channels'][_0x5597ba['uniqueid']]){for(var _0x210bac in this[_0x8295('0x9')][_0x5597ba[_0x8295('0x24')]]){if(this[_0x8295('0x9')][_0x5597ba[_0x8295('0x24')]][_0x8295('0x36')](_0x210bac)){if(this[_0x8295('0x9')][_0x5597ba[_0x8295('0x24')]][_0x210bac]['reason']==_0x8295('0x80')&&this[_0x8295('0x9')][_0x5597ba[_0x8295('0x24')]][_0x210bac][_0x8295('0x16')]){logger['info'](_0x8295('0x81'),_0x5597ba[_0x8295('0x24')],_0x210bac);this[_0x8295('0x9')][_0x5597ba[_0x8295('0x24')]][_0x210bac][_0x8295('0x5f')]=moment()[_0x8295('0x2b')](_0x8295('0x46'));}}}logger[_0x8295('0x30')](_0x8295('0x82'),_0x5597ba['uniqueid'],util['inspect'](_[_0x8295('0x83')](this[_0x8295('0x9')][_0x5597ba[_0x8295('0x24')]]),{'showHidden':![],'depth':null}));ami[_0x8295('0x21')]('custom:voiceAgentReport',_['values'](this[_0x8295('0x9')][_0x5597ba[_0x8295('0x24')]]));this[_0x8295('0x84')](_0x5597ba[_0x8295('0x24')]);}if(this[_0x8295('0xd')][_0x5597ba[_0x8295('0x24')]]){delete this[_0x8295('0xd')][_0x5597ba[_0x8295('0x24')]];}}}catch(_0x114eb7){logger[_0x8295('0x4f')](_0x8295('0x85'),_0x5597ba[_0x8295('0x24')],util[_0x8295('0x28')](_0x114eb7,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x1e')]=function(_0x75964c){try{if(this[_0x8295('0x23')](_0x75964c)){logger[_0x8295('0x30')]('[%s][voiceAgentReport][attendedtransfer]\x20event:',_0x75964c[_0x8295('0x24')],util[_0x8295('0x28')](_0x75964c,{'showHidden':![],'depth':null}));if(this['channels'][_0x75964c[_0x8295('0x86')]]){for(var _0x58da26 in this[_0x8295('0x9')][_0x75964c[_0x8295('0x86')]]){if(this[_0x8295('0x9')][_0x75964c[_0x8295('0x86')]][_0x8295('0x36')](_0x58da26)){if(_0x75964c[_0x8295('0x87')]===_0x58da26){logger[_0x8295('0x37')](_0x8295('0x88'),_0x75964c[_0x8295('0x24')],this[_0x8295('0x9')][_0x75964c['transfereeuniqueid']][_0x58da26]['membername'],_0x58da26);var _0x62feb6=moment();this[_0x8295('0x9')][_0x75964c['transfereeuniqueid']][_0x58da26][_0x8295('0x16')]=!![];this[_0x8295('0x9')][_0x75964c['transfereeuniqueid']][_0x58da26][_0x8295('0x5f')]=moment()[_0x8295('0x2b')](_0x8295('0x46'));this[_0x8295('0x9')][_0x75964c[_0x8295('0x86')]][_0x58da26][_0x8295('0x49')]=_0x8295('0x60');this[_0x8295('0x9')][_0x75964c['transfereeuniqueid']][_0x58da26][_0x8295('0x4b')]='transfer';this[_0x8295('0x9')][_0x75964c['transfereeuniqueid']][_0x58da26][_0x8295('0x62')]=_0x62feb6[_0x8295('0x89')](this[_0x8295('0x9')][_0x75964c[_0x8295('0x86')]][_0x58da26]['agentconnectAt'],_0x8295('0x8a'));}}}}if(this[_0x8295('0x9')][_0x75964c[_0x8295('0x8b')]]){var _0x5b98f6=this[_0x8295('0x9')][_0x75964c[_0x8295('0x8b')]];this[_0x8295('0x9')][_0x75964c[_0x8295('0x8b')]]=this[_0x8295('0x9')][_0x75964c[_0x8295('0x86')]];this['channels'][_0x75964c[_0x8295('0x86')]]=_0x5b98f6;}}}catch(_0x8ba6c3){logger['error'](_0x8295('0x8c'),_0x75964c[_0x8295('0x24')],util[_0x8295('0x28')](_0x8ba6c3,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')]['syncBlindTransfer']=function(_0x2912d9){try{if(this[_0x8295('0x23')](_0x2912d9)){logger[_0x8295('0x30')](_0x8295('0x8d'),_0x2912d9[_0x8295('0x24')],util[_0x8295('0x28')](_0x2912d9,{'showHidden':![],'depth':null}));if(this['channels'][_0x2912d9[_0x8295('0x86')]]){for(var _0x389dc3 in this['channels'][_0x2912d9['transfereeuniqueid']]){if(this[_0x8295('0x9')][_0x2912d9[_0x8295('0x86')]][_0x8295('0x36')](_0x389dc3)){if(_0x2912d9[_0x8295('0x8e')]===_0x389dc3){logger[_0x8295('0x37')](_0x8295('0x8f'),_0x2912d9[_0x8295('0x24')],this[_0x8295('0x9')][_0x2912d9[_0x8295('0x86')]][_0x389dc3][_0x8295('0x25')],_0x389dc3);var _0xd05553=moment();this[_0x8295('0x9')][_0x2912d9[_0x8295('0x86')]][_0x389dc3]['agentcomplete']=!![];this['channels'][_0x2912d9[_0x8295('0x86')]][_0x389dc3][_0x8295('0x5f')]=_0xd05553;this[_0x8295('0x9')][_0x2912d9[_0x8295('0x86')]][_0x389dc3][_0x8295('0x49')]=_0x8295('0x60');this['channels'][_0x2912d9[_0x8295('0x86')]][_0x389dc3]['reason']=_0x8295('0x80');this[_0x8295('0x9')][_0x2912d9[_0x8295('0x86')]][_0x389dc3]['talktime']=_0xd05553[_0x8295('0x89')](this[_0x8295('0x9')][_0x2912d9[_0x8295('0x86')]][_0x389dc3][_0x8295('0x39')],'seconds');}}}}}}catch(_0x3257e1){logger['error'](_0x8295('0x90'),_0x2912d9[_0x8295('0x24')],util[_0x8295('0x28')](_0x3257e1,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x1b')]=function(_0x443dad){var _0x3b76b5='';try{if(this[_0x8295('0x23')](_0x443dad)){logger[_0x8295('0x30')](_0x8295('0x91'),_0x443dad['uniqueid'],util['inspect'](_0x443dad,{'showHidden':![],'depth':null}));if(_0x443dad['channel']){_0x3b76b5=_0x443dad['channel'][_0x8295('0x92')](0x0,_0x443dad['channel'][_0x8295('0x93')]('-'));if(this[_0x8295('0xc')][_0x3b76b5]){logger[_0x8295('0x37')](_0x8295('0x94'),_0x443dad['uniqueid'],_0x3b76b5);this[_0x8295('0xc')][_0x3b76b5]['onhold']=!![];}}}}catch(_0x292153){logger['error'](_0x8295('0x95'),_0x443dad[_0x8295('0x24')],util[_0x8295('0x28')](_0x292153,{'showHidden':![],'depth':null}));}};VoiceAgentReport[_0x8295('0x20')][_0x8295('0x1d')]=function(_0x3ec781){var _0x1777cc='';try{if(this[_0x8295('0x23')](_0x3ec781)){logger[_0x8295('0x30')](_0x8295('0x96'),_0x3ec781['uniqueid'],util[_0x8295('0x28')](_0x3ec781,{'showHidden':![],'depth':null}));if(_0x3ec781[_0x8295('0x97')]){_0x1777cc=_0x3ec781[_0x8295('0x97')][_0x8295('0x92')](0x0,_0x3ec781[_0x8295('0x97')]['lastIndexOf']('-'));if(this[_0x8295('0xc')][_0x1777cc]){logger[_0x8295('0x37')](_0x8295('0x98'),_0x3ec781['uniqueid'],_0x1777cc);this[_0x8295('0xc')][_0x1777cc][_0x8295('0x99')]=![];}}}}catch(_0x37cccb){logger[_0x8295('0x4f')]('[%s][voiceAgentReport][musiconholdstop]',_0x3ec781[_0x8295('0x24')],util[_0x8295('0x28')](_0x37cccb,{'showHidden':![],'depth':null}));}};VoiceAgentReport['prototype']['deleteChannelAfterTimeout']=function(_0x290aeb,_0x2c378a=0x2710){if(this['channels'][_0x290aeb]){setTimeout(()=>{delete this[_0x8295('0x9')][_0x290aeb];},_0x2c378a);}};module[_0x8295('0x9a')]=VoiceAgentReport;