Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / services / ami / report / voiceCallReport.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 _0x6aa9=['holdtime','diff','connectedlinenum','connectedlinename','UserId','membername','[%s][voiceCallReport][newstate]','syncMixMonitorFilename','[%s][voiceCallReport][mixMonitorFilename]\x20monitorFilename:%s','monitor','.wav49','.WAV','find','isNil','monitors','push','rec','[%s][voiceCallReport][mixMonitorFilename]','[%s][voiceCallReport][varset]\x20event:','variable','mixmonitor_filename','[%s][voiceCallReport][varset]\x20variable:mixmonitor_filename\x20value:%s','value','xmd-phone','[%s][voiceCallReport][varset]\x20variable:xmd-phone\x20value:%s','xmd-callerid','[%s][voiceCallReport][varset]\x20variable:xmd-callerid\x20value:%s','callerid','xmd-cdrtype','[%s][voiceCallReport][varset]\x20variable:xmd-cdrtype\x20value:%s','type','xmd-queue','[%s][voiceCallReport][varset]\x20variable:xmd-queue\x20value:%s','xmd-originatecalleridnum','originatecalleridnum','[%s][voiceCallReport][varset]\x20variable:xmd-destination\x20value:%s','destination','xmd-callerid-preview','xmcs-queue','[%s][voiceCallReport][varset]\x20variable:xmcs-queue\x20value:%s','sipcallid','parse','[%s][voiceCallReport][varset]\x20variable:sipcallid\x20value:%s','sipcalllinkedid','[%s][voiceCallReport][varset]','[%s][voiceCallReport][hangup]\x20event:','cause-txt','endtime','billableseconds','omit','destconnectedlinenum','[%s][voiceCallReport][hangup]\x20sending\x20user:agentcomplete\x20event:','emit','resolve','then','transferType','undefined','isEmpty','getSettings','Action','StopMixMonitor','catch','finally','destinationchannel','webbar:stopmonitors','event','outbound','custom:voiceCallReport','[%s][voiceCallReport][hangup]','[%s][voiceCallReport][attendedtransfer]\x20transfercalleridnum:%s\x20transferconnectedlinenum:%s','transfertargetcalleridnum','[%s][voiceCallReport][attendedtransfer]\x20event:','transfereeuniqueid','transfercalleridnum','transferconnectedlinenum','secondtransfereruniqueid','transfertargetuniqueid','origtransferercalleridnum','origtransfereruniqueid','origtransfererlinkedid','some','routeid','ATTENDED','[%s][voiceCallReport][attendedtransfer]','syncBlindTransfer','[%s][voiceCallReport][blindtransfer]\x20transfercalleridnum:%s\x20transferconnectedlinenum:%s','transfereecalleridnum','extension','BLIND','transfererchannel','transfereruniqueid','[%s][voiceCallReport][blindtransfer]','[%s][voiceCallReport][musiconholdstart]\x20event:','mohstarttime','[%s][voiceCallReport][musiconholdstart]\x20mohstarttime:%s','[%s][voiceCallReport][musiconholdstart]','syncMusicOnHoldStop','[%s][voiceCallReport][musiconholdstop]\x20event:','milliseconds','[%s][voiceCallReport][musiconholdstop]\x20mohtime:%s','[%s][voiceCallReport][musiconholdstop]','exports','bluebird','lodash','moment','util','path','ioredis','../../../config/environment','../../../config/logger','ami','../ami','../model/channel','../rpc/setting','unknown','inuse','busy','unavailable','ringing','ringinuse','onhold','set','queue','agi','dial','NO\x20ANSWER','FAILED','ANSWERED','BUSY','defaults','redis','localhost','socket.io-emitter','agents','blindTransfers','syncNewExten','newexten','newchannel','syncNewChannel','newstate','syncNewState','bind','varset','syncVarSet','hangup','syncHangup','musiconholdstart','syncMusicOnHoldStart','musiconholdstop','info','[voiceCallReport][coreshowchannels]\x20started','actionCoreShowChannels','error','[voiceCallReport][coreshowchannels]','isNotNull','isUndefined','prototype','syncNewCallerId','calleridname','calleridnum','debug','[%s][voiceCallReport][newcallerid]\x20event:','uniqueid','inspect','linkedid','channels','pick','keys','[%s][voiceCallReport][newcallerid]','channel','OutgoingSpoolFailed','[%s][voiceCallReport][newchannel]\x20context:%s\x20exten:%s','context','exten','starttime','format','YYYY-MM-DD\x20HH:mm:ss','toNumber','channelstate','from-sip','split','[%s][voiceCallReport][newchannel]\x20sending\x20user:agentconnect\x20event:','accountcode','user:%s','name','user:agentconnect','[%s][voiceCallReport][newchannel]','[%s][voiceCallReport][newexten]\x20event:','application','toLowerCase','applicationdata','[%s][voiceCallReport][newexten]\x20application:%s\x20appdata:%s','duration','seconds','merge','includes','lastdata','startsWith','cdr(','[%s][voiceCallReport][newexten]','answered','answertime'];(function(_0x4c445a,_0x4ee80f){var _0x2f611c=function(_0x4f3699){while(--_0x4f3699){_0x4c445a['push'](_0x4c445a['shift']());}};_0x2f611c(++_0x4ee80f);}(_0x6aa9,0x66));var _0x96aa=function(_0x1721be,_0x4e2a86){_0x1721be=_0x1721be-0x0;var _0xf9507a=_0x6aa9[_0x1721be];return _0xf9507a;};'use strict';var BPromise=require(_0x96aa('0x0'));var _=require(_0x96aa('0x1'));var moment=require(_0x96aa('0x2'));var util=require(_0x96aa('0x3'));var path=require(_0x96aa('0x4'));var Redis=require(_0x96aa('0x5'));var config=require(_0x96aa('0x6'));var logger=require(_0x96aa('0x7'))(_0x96aa('0x8'));var ami=require(_0x96aa('0x9'));var Channel=require(_0x96aa('0xa'));var RpcSetting=require(_0x96aa('0xb'));var statusDesc=[_0x96aa('0xc'),'not_inuse',_0x96aa('0xd'),_0x96aa('0xe'),'invalid',_0x96aa('0xf'),_0x96aa('0x10'),_0x96aa('0x11'),_0x96aa('0x12')];var applications=[_0x96aa('0x13'),_0x96aa('0x14'),_0x96aa('0x15'),_0x96aa('0x16'),'playback','voicemail'];var dispositions=[_0x96aa('0x17'),'FAILED',_0x96aa('0x18'),'NO\x20ANSWER',_0x96aa('0x17'),_0x96aa('0x17'),_0x96aa('0x19'),_0x96aa('0x1a'),_0x96aa('0x18'),_0x96aa('0x18'),_0x96aa('0x18')];var actions={};config['redis']=_[_0x96aa('0x1b')](config[_0x96aa('0x1c')],{'host':_0x96aa('0x1d'),'port':0x18eb});var io=require(_0x96aa('0x1e'))(new Redis(config[_0x96aa('0x1c')]));function VoiceCallReport(_0x1ccb83){this['channels']=_0x1ccb83['channels'];this[_0x96aa('0x1f')]=_0x1ccb83['agents'];this[_0x96aa('0x20')]={};ami['on']('coreshowchannel',this[_0x96aa('0x21')]['bind'](this));ami['on'](_0x96aa('0x22'),this['syncNewExten']['bind'](this));ami['on'](_0x96aa('0x23'),this[_0x96aa('0x24')]['bind'](this));ami['on'](_0x96aa('0x25'),this[_0x96aa('0x26')][_0x96aa('0x27')](this));ami['on'](_0x96aa('0x28'),this[_0x96aa('0x29')][_0x96aa('0x27')](this));ami['on'](_0x96aa('0x2a'),this[_0x96aa('0x2b')][_0x96aa('0x27')](this));ami['on']('newcallerid',this['syncNewCallerId']['bind'](this));ami['on']('attendedtransfer',this['syncAttendedTransfer'][_0x96aa('0x27')](this));ami['on']('blindtransfer',this['syncBlindTransfer'][_0x96aa('0x27')](this));ami['on'](_0x96aa('0x2c'),this[_0x96aa('0x2d')][_0x96aa('0x27')](this));ami['on'](_0x96aa('0x2e'),this['syncMusicOnHoldStop']['bind'](this));try{logger[_0x96aa('0x2f')](_0x96aa('0x30'));ami[_0x96aa('0x31')]();}catch(_0x4349b0){logger[_0x96aa('0x32')](_0x96aa('0x33'),util['inspect'](_0x4349b0,{'showHidden':![],'depth':null}));}}VoiceCallReport['prototype'][_0x96aa('0x34')]=function(_0x342537){return _0x342537!==null&&!_[_0x96aa('0x35')](_0x342537);};VoiceCallReport['prototype']['emit']=function(_0x386017,_0x121297,_0x2abe4f){io['to'](_0x386017)['emit'](_0x121297,_0x2abe4f);};VoiceCallReport[_0x96aa('0x36')][_0x96aa('0x37')]=function(_0x2b983c){try{if(this[_0x96aa('0x34')](_0x2b983c)){logger['info']('[%s][voiceCallReport][newcallerid]\x20calleridname:%s\x20calleridnum:%s',_0x2b983c['uniqueid'],_0x2b983c[_0x96aa('0x38')],_0x2b983c[_0x96aa('0x39')]);logger[_0x96aa('0x3a')](_0x96aa('0x3b'),_0x2b983c[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x2b983c,{'showHidden':![],'depth':null}));if(_0x2b983c[_0x96aa('0x3c')]===_0x2b983c[_0x96aa('0x3e')]){if(!_[_0x96aa('0x35')](this['channels'][_0x2b983c[_0x96aa('0x3c')]])){_['merge'](this[_0x96aa('0x3f')][_0x2b983c['uniqueid']],_[_0x96aa('0x40')](_0x2b983c,_[_0x96aa('0x41')](this['channels'][_0x2b983c[_0x96aa('0x3c')]])));}}}}catch(_0x3d862e){logger[_0x96aa('0x32')](_0x96aa('0x42'),_0x2b983c[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x3d862e,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x96aa('0x36')][_0x96aa('0x24')]=function(_0x2d1936){try{if(this[_0x96aa('0x34')](_0x2d1936)){logger[_0x96aa('0x3a')]('[%s][voiceCallReport][newchannel]\x20event:',_0x2d1936['uniqueid'],util[_0x96aa('0x3d')](_0x2d1936,{'showHidden':![],'depth':null}));if(_0x2d1936[_0x96aa('0x3c')]===_0x2d1936[_0x96aa('0x3e')]&&_0x2d1936[_0x96aa('0x43')]!=_0x96aa('0x44')){if(_[_0x96aa('0x35')](this[_0x96aa('0x3f')][_0x2d1936[_0x96aa('0x3c')]])){logger['info'](_0x96aa('0x45'),_0x2d1936[_0x96aa('0x3c')],_0x2d1936[_0x96aa('0x46')],_0x2d1936[_0x96aa('0x47')]);this[_0x96aa('0x3f')][_0x2d1936[_0x96aa('0x3c')]]=new Channel();this[_0x96aa('0x3f')][_0x2d1936['uniqueid']][_0x96aa('0x48')]=moment()[_0x96aa('0x49')](_0x96aa('0x4a'));this[_0x96aa('0x3f')][_0x2d1936['uniqueid']]['disposition']=dispositions[_[_0x96aa('0x4b')](_0x2d1936[_0x96aa('0x4c')])];_['merge'](this[_0x96aa('0x3f')][_0x2d1936[_0x96aa('0x3c')]],_[_0x96aa('0x40')](_0x2d1936,_['keys'](this['channels'][_0x2d1936[_0x96aa('0x3c')]])));if(_0x2d1936['context']===_0x96aa('0x4d')){if(this['agents'][_0x2d1936[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]]){this['agents'][_0x2d1936[_0x96aa('0x43')]['split']('-')[0x0]]['destconnectedlinenum']=_0x2d1936[_0x96aa('0x47')];logger['debug'](_0x96aa('0x4f'),_0x2d1936['uniqueid'],util['inspect']({'destaccountcode':this[_0x96aa('0x1f')][_0x2d1936[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]][_0x96aa('0x50')],'destconnectedlinenum':_0x2d1936['exten']},{'showHidden':![],'depth':null}));this['emit'](util['format'](_0x96aa('0x51'),this['agents'][_0x2d1936[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]][_0x96aa('0x52')]),_0x96aa('0x53'),{'destaccountcode':this[_0x96aa('0x1f')][_0x2d1936[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]][_0x96aa('0x50')],'destconnectedlinenum':_0x2d1936[_0x96aa('0x47')]});}}}}}}catch(_0x3ca53a){logger[_0x96aa('0x32')](_0x96aa('0x54'),_0x2d1936[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x3ca53a,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x96aa('0x36')][_0x96aa('0x21')]=function(_0x3ed1f1){try{if(this[_0x96aa('0x34')](_0x3ed1f1)){logger[_0x96aa('0x3a')](_0x96aa('0x55'),_0x3ed1f1[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x3ed1f1,{'showHidden':![],'depth':null}));if(_0x3ed1f1['uniqueid']===_0x3ed1f1['linkedid']&&_0x3ed1f1[_0x96aa('0x47')]!='h'&&_0x3ed1f1[_0x96aa('0x43')]!=_0x96aa('0x44')){_0x3ed1f1['application']=_0x3ed1f1[_0x96aa('0x56')][_0x96aa('0x57')]();_0x3ed1f1[_0x96aa('0x58')]=(_0x3ed1f1['appdata']||_0x3ed1f1[_0x96aa('0x58')])[_0x96aa('0x57')]();logger[_0x96aa('0x2f')](_0x96aa('0x59'),_0x3ed1f1[_0x96aa('0x3c')],_0x3ed1f1[_0x96aa('0x56')],_0x3ed1f1[_0x96aa('0x58')]);if(_[_0x96aa('0x35')](this[_0x96aa('0x3f')][_0x3ed1f1[_0x96aa('0x3c')]])){this[_0x96aa('0x3f')][_0x3ed1f1['uniqueid']]=new Channel();this[_0x96aa('0x3f')][_0x3ed1f1[_0x96aa('0x3c')]][_0x96aa('0x48')]=_0x3ed1f1[_0x96aa('0x5a')]?moment()['subtract'](moment[_0x96aa('0x5a')](_0x3ed1f1[_0x96aa('0x5a')])[_0x96aa('0x5b')](),'seconds')[_0x96aa('0x49')](_0x96aa('0x4a')):moment()['format'](_0x96aa('0x4a'));this[_0x96aa('0x3f')][_0x3ed1f1[_0x96aa('0x3c')]]['disposition']='NO\x20ANSWER';}_[_0x96aa('0x5c')](this[_0x96aa('0x3f')][_0x3ed1f1['uniqueid']],_[_0x96aa('0x40')](_0x3ed1f1,_['keys'](this[_0x96aa('0x3f')][_0x3ed1f1[_0x96aa('0x3c')]])));if(_[_0x96aa('0x5d')](applications,_0x3ed1f1[_0x96aa('0x56')])){this[_0x96aa('0x3f')][_0x3ed1f1['uniqueid']]['lastapplication']=_0x3ed1f1[_0x96aa('0x56')];this[_0x96aa('0x3f')][_0x3ed1f1[_0x96aa('0x3c')]][_0x96aa('0x5e')]=_0x3ed1f1[_0x96aa('0x58')];if(_0x3ed1f1[_0x96aa('0x56')]==='set'&&_[_0x96aa('0x5f')](_0x3ed1f1['applicationdata'],_0x96aa('0x60'))){var _0x56b962=_0x3ed1f1['applicationdata'][_0x96aa('0x4e')]('=');var _0x2d922b=_0x56b962[0x0]['match'](/cdr\((.*)\)/);if(_0x2d922b){this[_0x96aa('0x3f')][_0x3ed1f1[_0x96aa('0x3c')]][_0x2d922b[0x1]]=_0x56b962[0x1];}}else if(_0x3ed1f1[_0x96aa('0x56')]===_0x96aa('0x14')){this[_0x96aa('0x3f')][_0x3ed1f1[_0x96aa('0x3c')]]['queue']=_0x3ed1f1[_0x96aa('0x58')][_0x96aa('0x4e')](',')[0x0];}}}}}catch(_0x5a1ea8){logger[_0x96aa('0x32')](_0x96aa('0x61'),_0x3ed1f1['uniqueid'],util[_0x96aa('0x3d')](_0x5a1ea8,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x96aa('0x36')][_0x96aa('0x26')]=function(_0x303f00){try{if(this['isNotNull'](_0x303f00)){logger[_0x96aa('0x2f')]('[%s][voiceCallReport][newstate]\x20linkedid:%s\x20calleridname:%s\x20calleridnum:%s',_0x303f00[_0x96aa('0x3c')],_0x303f00['linkedid'],_0x303f00['calleridname'],_0x303f00[_0x96aa('0x39')]);logger[_0x96aa('0x3a')]('[%s][voiceCallReport][newstate]\x20event:',_0x303f00['uniqueid'],util['inspect'](_0x303f00,{'showHidden':![],'depth':null}));if(_0x303f00[_0x96aa('0x3c')]!==_0x303f00[_0x96aa('0x3e')]){if(this[_0x96aa('0x3f')][_0x303f00['linkedid']]){if(_0x303f00[_0x96aa('0x4c')]==='6'){if(!this[_0x96aa('0x3f')][_0x303f00[_0x96aa('0x3e')]][_0x96aa('0x62')]){var _0x15d30e=moment();this[_0x96aa('0x3f')][_0x303f00[_0x96aa('0x3e')]][_0x96aa('0x62')]=!![];this[_0x96aa('0x3f')][_0x303f00[_0x96aa('0x3e')]][_0x96aa('0x63')]=_0x15d30e[_0x96aa('0x49')](_0x96aa('0x4a'));if(this[_0x96aa('0x3f')][_0x303f00['linkedid']][_0x96aa('0x48')]){this['channels'][_0x303f00[_0x96aa('0x3e')]][_0x96aa('0x64')]=_0x15d30e[_0x96aa('0x65')](this[_0x96aa('0x3f')][_0x303f00[_0x96aa('0x3e')]]['starttime'],_0x96aa('0x5b'));}}this['channels'][_0x303f00['linkedid']]['linkedid']=_0x303f00[_0x96aa('0x3c')];if(_0x303f00['calleridnum']!=='xcally-motion-preview'){this[_0x96aa('0x3f')][_0x303f00[_0x96aa('0x3e')]][_0x96aa('0x66')]=_0x303f00[_0x96aa('0x39')];}this['channels'][_0x303f00[_0x96aa('0x3e')]][_0x96aa('0x67')]=_0x303f00[_0x96aa('0x38')];this['channels'][_0x303f00[_0x96aa('0x3e')]]['destinationchannel']=_0x303f00['channel'];this[_0x96aa('0x3f')][_0x303f00['linkedid']]['disposition']=dispositions[_[_0x96aa('0x4b')](_0x303f00['channelstate'])];if(this['agents'][_0x303f00[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]]){this['channels'][_0x303f00['linkedid']][_0x96aa('0x68')]=this['agents'][_0x303f00[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]]['id'];this['channels'][_0x303f00[_0x96aa('0x3e')]][_0x96aa('0x69')]=this[_0x96aa('0x1f')][_0x303f00[_0x96aa('0x43')]['split']('-')[0x0]]['name'];}}}}else{if(this[_0x96aa('0x3f')][_0x303f00['uniqueid']]){if(_0x303f00[_0x96aa('0x4c')]==='6'){if(this[_0x96aa('0x1f')][_0x303f00[_0x96aa('0x43')]['split']('-')[0x0]]){this[_0x96aa('0x3f')][_0x303f00[_0x96aa('0x3c')]][_0x96aa('0x68')]=this[_0x96aa('0x1f')][_0x303f00[_0x96aa('0x43')]['split']('-')[0x0]]['id'];this[_0x96aa('0x3f')][_0x303f00['uniqueid']][_0x96aa('0x69')]=this[_0x96aa('0x1f')][_0x303f00['channel'][_0x96aa('0x4e')]('-')[0x0]][_0x96aa('0x52')];}}}}}}catch(_0x22b3cd){logger['error'](_0x96aa('0x6a'),_0x303f00[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x22b3cd,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0x96aa('0x6b')]=function(_0x408f3f,_0x2c15ad){try{if(this['channels'][_0x408f3f]){logger[_0x96aa('0x2f')](_0x96aa('0x6c'),_0x408f3f,_0x2c15ad);this[_0x96aa('0x3f')][_0x408f3f][_0x96aa('0x6d')]=!![];if(_['endsWith'](_0x2c15ad,_0x96aa('0x6e'))){_0x2c15ad=_0x2c15ad['replace'](_0x96aa('0x6e'),_0x96aa('0x6f'));}this[_0x96aa('0x3f')][_0x408f3f]['monitorFilename']=_0x2c15ad;var _0x4ff92c=_[_0x96aa('0x70')](this['channels'][_0x408f3f]['monitors'],{'filename':_0x2c15ad});if(_[_0x96aa('0x71')](_0x4ff92c)){this[_0x96aa('0x3f')][_0x408f3f][_0x96aa('0x72')][_0x96aa('0x73')]({'filename':_0x2c15ad,'createdAt':moment()[_0x96aa('0x49')](_0x96aa('0x4a')),'mixmonitorid':'','status':_0x96aa('0x74')});}}}catch(_0x29eda9){logger[_0x96aa('0x32')](_0x96aa('0x75'),_0x408f3f,util[_0x96aa('0x3d')](_0x29eda9,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x96aa('0x36')][_0x96aa('0x29')]=function(_0x1efd4f){try{if(this[_0x96aa('0x34')](_0x1efd4f)){logger['debug'](_0x96aa('0x76'),_0x1efd4f[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x1efd4f,{'showHidden':![],'depth':null}));if(this[_0x96aa('0x3f')][_0x1efd4f[_0x96aa('0x3c')]]&&_0x1efd4f[_0x96aa('0x43')]!=_0x96aa('0x44')){if(this['isNotNull'](_0x1efd4f[_0x96aa('0x77')])){if(this['isNotNull'](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x78')])){logger[_0x96aa('0x2f')](_0x96aa('0x79'),_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]);this[_0x96aa('0x6b')](_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]);}else if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x7b')])){logger['info'](_0x96aa('0x7c'),_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]);this[_0x96aa('0x3f')][_0x1efd4f[_0x96aa('0x3c')]]['calleridnum']=_0x1efd4f[_0x96aa('0x7a')];}else if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x7d')])){logger[_0x96aa('0x2f')](_0x96aa('0x7e'),_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]);this[_0x96aa('0x3f')][_0x1efd4f[_0x96aa('0x3c')]][_0x96aa('0x7f')]=_0x1efd4f[_0x96aa('0x7a')];}else if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x80')])){logger['info'](_0x96aa('0x81'),_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]);this[_0x96aa('0x3f')][_0x1efd4f[_0x96aa('0x3c')]][_0x96aa('0x82')]=_0x1efd4f[_0x96aa('0x7a')];}else if(this[_0x96aa('0x34')](_0x1efd4f['variable'][_0x96aa('0x83')])){logger[_0x96aa('0x2f')](_0x96aa('0x84'),_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]['split'](',')[0x0]);this['channels'][_0x1efd4f['uniqueid']]['queue']=_0x1efd4f[_0x96aa('0x7a')][_0x96aa('0x4e')](',')[0x0];}else if(this['isNotNull'](_0x1efd4f['variable'][_0x96aa('0x85')])){logger[_0x96aa('0x2f')]('[%s][voiceCallReport][varset]\x20variable:xmd-originatecalleridnum\x20value:%s',_0x1efd4f['uniqueid'],_0x1efd4f[_0x96aa('0x7a')]);this[_0x96aa('0x3f')][_0x1efd4f[_0x96aa('0x3c')]][_0x96aa('0x86')]=_0x1efd4f[_0x96aa('0x7a')];}else if(this['isNotNull'](_0x1efd4f[_0x96aa('0x77')]['xmd-destination'])){logger['info'](_0x96aa('0x87'),_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]);this['channels'][_0x1efd4f['uniqueid']][_0x96aa('0x88')]=_0x1efd4f[_0x96aa('0x7a')];}else if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x89')])){logger['info']('[%s][voiceCallReport][varset]\x20variable:xmd-callerid-preview\x20value:%s',_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f[_0x96aa('0x7a')]);this[_0x96aa('0x3f')][_0x1efd4f['uniqueid']]['calleridpreview']=_0x1efd4f[_0x96aa('0x7a')];}else if(this['isNotNull'](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x8a')])){logger['info'](_0x96aa('0x8b'),_0x1efd4f['uniqueid'],_0x1efd4f['value']);this['channels'][_0x1efd4f[_0x96aa('0x3c')]][_0x96aa('0x14')]=_0x1efd4f[_0x96aa('0x7a')];}else if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x8c')])){logger[_0x96aa('0x2f')]('[%s][voiceCallReport][varset]\x20variable:sipcallid\x20value:%s',_0x1efd4f[_0x96aa('0x3c')],_0x1efd4f['value']);this[_0x96aa('0x3f')][_0x1efd4f['uniqueid']]['sipcalluniqueid']=_0x1efd4f[_0x96aa('0x7a')];}}}else if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x78')])){if(_0x1efd4f['value']){var _0x19bee0=path[_0x96aa('0x8d')](_0x1efd4f['value'])['name'];logger[_0x96aa('0x2f')]('[%s][voiceCallReport][varset]\x20variable:mixmonitor_filename\x20value:%s',_0x19bee0,_0x1efd4f[_0x96aa('0x7a')]);this[_0x96aa('0x6b')](_0x19bee0,_0x1efd4f['value']);}}else if(this[_0x96aa('0x3f')][_0x1efd4f[_0x96aa('0x3e')]]){if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')])){if(this[_0x96aa('0x34')](_0x1efd4f[_0x96aa('0x77')][_0x96aa('0x8c')])){logger[_0x96aa('0x2f')](_0x96aa('0x8e'),_0x1efd4f['linkedid'],_0x1efd4f[_0x96aa('0x7a')]);this['channels'][_0x1efd4f[_0x96aa('0x3e')]][_0x96aa('0x8f')]=_0x1efd4f[_0x96aa('0x7a')];}}}}}catch(_0x55b93f){logger['error'](_0x96aa('0x90'),_0x1efd4f['uniqueid'],util['inspect'](_0x55b93f,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0x96aa('0x2b')]=function(_0x416a58){try{if(this[_0x96aa('0x34')](_0x416a58)){logger[_0x96aa('0x3a')](_0x96aa('0x91'),_0x416a58['uniqueid'],util[_0x96aa('0x3d')](_0x416a58,{'showHidden':![],'depth':null}));if(this[_0x96aa('0x3f')][_0x416a58['uniqueid']]){logger[_0x96aa('0x2f')]('[%s][voiceCallReport][hangup]\x20reason:%s',_0x416a58[_0x96aa('0x3c')],_0x416a58[_0x96aa('0x92')]);var _0x354bc4=moment();this[_0x96aa('0x3f')][_0x416a58['uniqueid']][_0x96aa('0x93')]=_0x354bc4[_0x96aa('0x49')](_0x96aa('0x4a'));this[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]][_0x96aa('0x5a')]=_0x354bc4[_0x96aa('0x65')](this[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]][_0x96aa('0x48')],_0x96aa('0x5b'));if(this[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]][_0x96aa('0x62')]){this[_0x96aa('0x3f')][_0x416a58['uniqueid']][_0x96aa('0x94')]=_0x354bc4['diff'](this['channels'][_0x416a58[_0x96aa('0x3c')]]['answertime'],'seconds');this['channels'][_0x416a58['uniqueid']][_0x96aa('0x64')]=this[_0x96aa('0x3f')][_0x416a58['uniqueid']][_0x96aa('0x5a')]-this[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]][_0x96aa('0x94')];}if(_0x416a58[_0x96aa('0x46')]===_0x96aa('0x4d')){if(this['agents'][_0x416a58['channel'][_0x96aa('0x4e')]('-')[0x0]]){this['agents'][_0x416a58['channel']['split']('-')[0x0]]=_[_0x96aa('0x95')](this['agents'][_0x416a58[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]],[_0x96aa('0x96')]);logger[_0x96aa('0x3a')](_0x96aa('0x97'),_0x416a58[_0x96aa('0x3c')],util['inspect']({'destaccountcode':this[_0x96aa('0x1f')][_0x416a58[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]][_0x96aa('0x50')]},{'showHidden':![],'depth':null}));this[_0x96aa('0x98')](util[_0x96aa('0x49')](_0x96aa('0x51'),this[_0x96aa('0x1f')][_0x416a58[_0x96aa('0x43')][_0x96aa('0x4e')]('-')[0x0]]['name']),'user:agentcomplete',{'destaccountcode':this[_0x96aa('0x1f')][_0x416a58[_0x96aa('0x43')]['split']('-')[0x0]][_0x96aa('0x50')]});}}var _0x434b48=this;Promise[_0x96aa('0x99')]()[_0x96aa('0x9a')](function(){var _0xaf70f5=_0x434b48['channels'][_0x416a58['uniqueid']];if(typeof _0xaf70f5[_0x96aa('0x9b')]===_0x96aa('0x9c'))return;if(_[_0x96aa('0x9d')](_0xaf70f5[_0x96aa('0x72')]))return;return RpcSetting[_0x96aa('0x9e')]()[_0x96aa('0x9a')](function(_0x1cdf4c){if(!_0x1cdf4c['stopRecordingOnTransfer'])return;return Promise[_0x96aa('0x99')]()[_0x96aa('0x9a')](function(){return ami[_0x96aa('0x9f')]({'action':_0x96aa('0xa0'),'channel':_0xaf70f5['channel']})['catch'](function(){});})[_0x96aa('0x9a')](function(){return ami['Action']({'action':_0x96aa('0xa0'),'channel':_0xaf70f5['destinationchannel']})[_0x96aa('0xa1')](function(){})[_0x96aa('0xa2')](function(){var _0x4ec250=_0x434b48[_0x96aa('0x1f')][_0xaf70f5[_0x96aa('0xa3')][_0x96aa('0x4e')]('-')[0x0]];if(!_0x4ec250)return;io[_0x96aa('0x98')](_0x96aa('0xa4'),{'agentId':_0x4ec250['id'],'uniqueid':_0xaf70f5[_0x96aa('0x3c')]});});});});})[_0x96aa('0x9a')](function(){if(_0x416a58[_0x96aa('0xa5')]==='BlindTransfer'){_0x434b48['blindTransfers'][_0x416a58[_0x96aa('0x3c')]]=_0x434b48[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]];}else{if(_0x434b48[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]][_0x96aa('0x82')]===_0x96aa('0xa6')&&_0x434b48[_0x96aa('0x20')][_0x416a58['uniqueid']]){_0x434b48[_0x96aa('0x3f')][_0x416a58['uniqueid']]['uniqueid']=[_0x434b48[_0x96aa('0x3f')][_0x416a58['uniqueid']][_0x96aa('0x3e')],_0x434b48[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]][_0x96aa('0x3e')]=_0x434b48[_0x96aa('0x3f')][_0x416a58['uniqueid']][_0x96aa('0x3c')]][0x0];delete _0x434b48[_0x96aa('0x20')][_0x416a58[_0x96aa('0x3c')]];}}logger[_0x96aa('0x3a')]('[%s][voiceCallReport][hangup]\x20sending\x20hangup\x20event:',_0x416a58[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x434b48[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]],{'showHidden':![],'depth':null}));ami['emit'](_0x96aa('0xa7'),_0x434b48[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]]);delete _0x434b48[_0x96aa('0x3f')][_0x416a58[_0x96aa('0x3c')]];});}}}catch(_0x5b5d9d){logger[_0x96aa('0x32')](_0x96aa('0xa8'),_0x416a58[_0x96aa('0x3c')],util['inspect'](_0x5b5d9d,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x96aa('0x36')]['syncAttendedTransfer']=function(_0x5a6a17){try{if(this[_0x96aa('0x34')](_0x5a6a17)){logger[_0x96aa('0x2f')](_0x96aa('0xa9'),_0x5a6a17['uniqueid'],_0x5a6a17['origtransferercalleridnum'],_0x5a6a17[_0x96aa('0xaa')]);logger[_0x96aa('0x3a')](_0x96aa('0xab'),_0x5a6a17[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x5a6a17,{'showHidden':![],'depth':null}));if(this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xac')]]){this[_0x96aa('0x3f')][_0x5a6a17['transfereeuniqueid']][_0x96aa('0xad')]=_0x5a6a17['origtransferercalleridnum'];this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xac')]][_0x96aa('0xae')]=_0x5a6a17[_0x96aa('0xaa')];if(this['channels'][_0x5a6a17[_0x96aa('0xaf')]]){var _0x55bd00=this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xaf')]];this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xaf')]]=this['channels'][_0x5a6a17[_0x96aa('0xac')]];this['channels'][_0x5a6a17['transfereeuniqueid']]=_0x55bd00;}}else if(this[_0x96aa('0x3f')][_0x5a6a17['transfertargetuniqueid']]){this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb0')]][_0x96aa('0xad')]=_0x5a6a17[_0x96aa('0xb1')];this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb0')]][_0x96aa('0xae')]=_0x5a6a17['transfertargetcalleridnum'];if(this[_0x96aa('0x3f')][_0x5a6a17['origtransfereruniqueid']]){var _0x55bd00=this['channels'][_0x5a6a17[_0x96aa('0xb2')]];this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb2')]]=this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb0')]];this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb0')]]=_0x55bd00;}}if((this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb2')]]||this['channels'][_0x5a6a17[_0x96aa('0xb3')]])&&this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xaf')]]){var _0x370a98=_[_0x96aa('0xb4')]([this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb2')]],this[_0x96aa('0x3f')][_0x5a6a17['origtransfererlinkedid']],this['channels'][_0x5a6a17[_0x96aa('0xaf')]]],function(_0x366c2){return _0x366c2&&_0x366c2[_0x96aa('0x82')]===_0x96aa('0xa6')&&_0x366c2[_0x96aa('0xb5')];});if(_0x370a98){if(this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb2')]])this['channels'][_0x5a6a17['origtransfereruniqueid']][_0x96aa('0x9b')]=_0x96aa('0xb6');if(this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb3')]])this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xb3')]]['transferType']=_0x96aa('0xb6');this[_0x96aa('0x3f')][_0x5a6a17[_0x96aa('0xaf')]]['transferType']='ATTENDED';}}}}catch(_0x1a4a88){logger[_0x96aa('0x32')](_0x96aa('0xb7'),_0x5a6a17['uniqueid'],util[_0x96aa('0x3d')](_0x1a4a88,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0x96aa('0xb8')]=function(_0x1581d1){try{if(this[_0x96aa('0x34')](_0x1581d1)){logger[_0x96aa('0x2f')](_0x96aa('0xb9'),_0x1581d1['uniqueid'],_0x1581d1[_0x96aa('0xba')],_0x1581d1[_0x96aa('0xbb')]);logger[_0x96aa('0x3a')]('[%s][voiceCallReport][blindtransfer]\x20event:',_0x1581d1[_0x96aa('0x3c')],util['inspect'](_0x1581d1,{'showHidden':![],'depth':null}));if(this[_0x96aa('0x3f')][_0x1581d1[_0x96aa('0xac')]]){this['channels'][_0x1581d1[_0x96aa('0xac')]][_0x96aa('0xad')]=_0x1581d1[_0x96aa('0xba')];this[_0x96aa('0x3f')][_0x1581d1['transfereeuniqueid']][_0x96aa('0xae')]=_0x1581d1[_0x96aa('0xbb')];this[_0x96aa('0x3f')][_0x1581d1[_0x96aa('0xac')]]['transferType']=_0x96aa('0xbc');this[_0x96aa('0x2b')]({'event':'BlindTransfer','uniqueid':_0x1581d1['transfereeuniqueid'],'context':_0x1581d1[_0x96aa('0x46')],'channel':_0x1581d1[_0x96aa('0xbd')]});}else{this[_0x96aa('0x3f')][_0x1581d1[_0x96aa('0xbe')]]['transferType']=_0x96aa('0xbc');}}}catch(_0x2d1c98){logger[_0x96aa('0x32')](_0x96aa('0xbf'),_0x1581d1[_0x96aa('0x3c')],util['inspect'](_0x2d1c98,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x96aa('0x36')]['syncMusicOnHoldStart']=function(_0x2df9df){try{if(this[_0x96aa('0x34')](_0x2df9df)){logger[_0x96aa('0x3a')](_0x96aa('0xc0'),_0x2df9df['uniqueid'],util[_0x96aa('0x3d')](_0x2df9df,{'showHidden':![],'depth':null}));if(this[_0x96aa('0x3f')][_0x2df9df[_0x96aa('0x3c')]]){if(!_[_0x96aa('0x71')](this['channels'][_0x2df9df[_0x96aa('0x3c')]][_0x96aa('0x63')])){this[_0x96aa('0x3f')][_0x2df9df[_0x96aa('0x3c')]][_0x96aa('0xc1')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');logger[_0x96aa('0x2f')](_0x96aa('0xc2'),_0x2df9df['uniqueid'],this[_0x96aa('0x3f')][_0x2df9df[_0x96aa('0x3c')]]['mohstarttime']);}}}}catch(_0x4c2082){logger[_0x96aa('0x32')](_0x96aa('0xc3'),_0x2df9df[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x4c2082,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x96aa('0x36')][_0x96aa('0xc4')]=function(_0x12836e){try{if(this['isNotNull'](_0x12836e)){logger[_0x96aa('0x3a')](_0x96aa('0xc5'),_0x12836e[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x12836e,{'showHidden':![],'depth':null}));if(this[_0x96aa('0x3f')][_0x12836e[_0x96aa('0x3c')]]){if(!_[_0x96aa('0x71')](this[_0x96aa('0x3f')][_0x12836e[_0x96aa('0x3c')]]['mohstarttime'])){this[_0x96aa('0x3f')][_0x12836e['uniqueid']]['mohtime']+=moment()[_0x96aa('0xc6')](0x0)[_0x96aa('0x65')](this['channels'][_0x12836e['uniqueid']]['mohstarttime'],_0x96aa('0x5b'));logger[_0x96aa('0x2f')](_0x96aa('0xc7'),_0x12836e[_0x96aa('0x3c')],this[_0x96aa('0x3f')][_0x12836e['uniqueid']]['mohtime']);delete this[_0x96aa('0x3f')][_0x12836e[_0x96aa('0x3c')]][_0x96aa('0xc1')];}}}}catch(_0x14c7ae){logger[_0x96aa('0x32')](_0x96aa('0xc8'),_0x12836e[_0x96aa('0x3c')],util[_0x96aa('0x3d')](_0x14c7ae,{'showHidden':![],'depth':null}));}};module[_0x96aa('0xc9')]=VoiceCallReport;