Built motion from commit (unavailable).|2.5.1
[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 _0xbd9d=['path','ami','unknown','not_inuse','busy','invalid','unavailable','ringing','ringinuse','onhold','set','queue','agi','dial','playback','voicemail','NO\x20ANSWER','FAILED','ANSWERED','BUSY','redis','localhost','socket.io-emitter','channels','agents','blindTransfers','syncNewExten','bind','newchannel','syncNewChannel','newstate','syncNewState','varset','syncVarSet','hangup','syncHangup','newcallerid','attendedtransfer','syncAttendedTransfer','musiconholdstart','syncMusicOnHoldStart','info','[voiceCallReport][coreshowchannels]\x20started','actionCoreShowChannels','error','[voiceCallReport][coreshowchannels]','prototype','isNotNull','isUndefined','emit','[%s][voiceCallReport][newcallerid]\x20calleridname:%s\x20calleridnum:%s','uniqueid','calleridname','debug','inspect','linkedid','merge','pick','[%s][voiceCallReport][newcallerid]','[%s][voiceCallReport][newchannel]\x20event:','channel','OutgoingSpoolFailed','[%s][voiceCallReport][newchannel]\x20context:%s\x20exten:%s','exten','starttime','format','YYYY-MM-DD\x20HH:mm:ss','disposition','channelstate','keys','from-sip','destconnectedlinenum','split','accountcode','user:%s','name','user:agentconnect','[%s][voiceCallReport][newchannel]','applicationdata','appdata','toLowerCase','[%s][voiceCallReport][newexten]\x20application:%s\x20appdata:%s','duration','subtract','seconds','application','lastapplication','lastdata','match','answered','answertime','holdtime','diff','xcally-motion-preview','connectedlinenum','calleridnum','connectedlinename','destinationchannel','UserId','membername','syncMixMonitorFilename','[%s][voiceCallReport][mixMonitorFilename]\x20monitorFilename:%s','monitor','.wav49','replace','.WAV','monitorFilename','find','monitors','push','rec','[%s][voiceCallReport][mixMonitorFilename]','[%s][voiceCallReport][varset]\x20event:','variable','mixmonitor_filename','[%s][voiceCallReport][varset]\x20variable:mixmonitor_filename\x20value:%s','value','[%s][voiceCallReport][varset]\x20variable:xmd-phone\x20value:%s','[%s][voiceCallReport][varset]\x20variable:xmd-callerid\x20value:%s','callerid','xmd-cdrtype','[%s][voiceCallReport][varset]\x20variable:xmd-cdrtype\x20value:%s','xmd-queue','[%s][voiceCallReport][varset]\x20variable:xmd-queue\x20value:%s','xmd-originatecalleridnum','[%s][voiceCallReport][varset]\x20variable:xmd-destination\x20value:%s','destination','xmd-callerid-preview','calleridpreview','xmcs-queue','[%s][voiceCallReport][varset]\x20variable:xmcs-queue\x20value:%s','sipcallid','[%s][voiceCallReport][varset]\x20variable:sipcallid\x20value:%s','sipcalluniqueid','sipcalllinkedid','[%s][voiceCallReport][hangup]\x20event:','[%s][voiceCallReport][hangup]\x20reason:%s','cause-txt','endtime','billableseconds','omit','[%s][voiceCallReport][hangup]\x20sending\x20user:agentcomplete\x20event:','user:agentcomplete','event','BlindTransfer','type','[%s][voiceCallReport][hangup]\x20sending\x20hangup\x20event:','custom:voiceCallReport','[%s][voiceCallReport][hangup]','[%s][voiceCallReport][attendedtransfer]\x20transfercalleridnum:%s\x20transferconnectedlinenum:%s','[%s][voiceCallReport][attendedtransfer]\x20event:','transfereeuniqueid','transfercalleridnum','origtransferercalleridnum','transferconnectedlinenum','transfertargetcalleridnum','secondtransfereruniqueid','transfertargetuniqueid','origtransfereruniqueid','[%s][voiceCallReport][attendedtransfer]','[%s][voiceCallReport][blindtransfer]\x20transfercalleridnum:%s\x20transferconnectedlinenum:%s','extension','[%s][voiceCallReport][blindtransfer]\x20event:','transfereecalleridnum','context','transfererchannel','isNil','mohstarttime','[%s][voiceCallReport][musiconholdstart]\x20mohstarttime:%s','syncMusicOnHoldStop','mohtime','[%s][voiceCallReport][musiconholdstop]\x20mohtime:%s','[%s][voiceCallReport][musiconholdstop]','bluebird','lodash','moment'];(function(_0x3f68dc,_0x3ae2f8){var _0x8c9e6f=function(_0x32b1cd){while(--_0x32b1cd){_0x3f68dc['push'](_0x3f68dc['shift']());}};_0x8c9e6f(++_0x3ae2f8);}(_0xbd9d,0xad));var _0xdbd9=function(_0xae5e33,_0x4b1d14){_0xae5e33=_0xae5e33-0x0;var _0x33c517=_0xbd9d[_0xae5e33];return _0x33c517;};'use strict';var BPromise=require(_0xdbd9('0x0'));var _=require(_0xdbd9('0x1'));var moment=require(_0xdbd9('0x2'));var util=require('util');var path=require(_0xdbd9('0x3'));var Redis=require('ioredis');var config=require('../../../config/environment');var logger=require('../../../config/logger')(_0xdbd9('0x4'));var ami=require('../ami');var Channel=require('../model/channel');var statusDesc=[_0xdbd9('0x5'),_0xdbd9('0x6'),'inuse',_0xdbd9('0x7'),_0xdbd9('0x8'),_0xdbd9('0x9'),_0xdbd9('0xa'),_0xdbd9('0xb'),_0xdbd9('0xc')];var applications=[_0xdbd9('0xd'),_0xdbd9('0xe'),_0xdbd9('0xf'),_0xdbd9('0x10'),_0xdbd9('0x11'),_0xdbd9('0x12')];var dispositions=[_0xdbd9('0x13'),_0xdbd9('0x14'),'FAILED',_0xdbd9('0x13'),_0xdbd9('0x13'),_0xdbd9('0x13'),_0xdbd9('0x15'),_0xdbd9('0x16'),_0xdbd9('0x14'),_0xdbd9('0x14'),_0xdbd9('0x14')];var actions={};config['redis']=_['defaults'](config[_0xdbd9('0x17')],{'host':_0xdbd9('0x18'),'port':0x18eb});var io=require(_0xdbd9('0x19'))(new Redis(config[_0xdbd9('0x17')]));function VoiceCallReport(_0x6a0f5b){this[_0xdbd9('0x1a')]=_0x6a0f5b['channels'];this[_0xdbd9('0x1b')]=_0x6a0f5b[_0xdbd9('0x1b')];this[_0xdbd9('0x1c')]={};ami['on']('coreshowchannel',this[_0xdbd9('0x1d')]['bind'](this));ami['on']('newexten',this[_0xdbd9('0x1d')][_0xdbd9('0x1e')](this));ami['on'](_0xdbd9('0x1f'),this[_0xdbd9('0x20')]['bind'](this));ami['on'](_0xdbd9('0x21'),this[_0xdbd9('0x22')][_0xdbd9('0x1e')](this));ami['on'](_0xdbd9('0x23'),this[_0xdbd9('0x24')][_0xdbd9('0x1e')](this));ami['on'](_0xdbd9('0x25'),this[_0xdbd9('0x26')][_0xdbd9('0x1e')](this));ami['on'](_0xdbd9('0x27'),this['syncNewCallerId'][_0xdbd9('0x1e')](this));ami['on'](_0xdbd9('0x28'),this[_0xdbd9('0x29')][_0xdbd9('0x1e')](this));ami['on']('blindtransfer',this['syncBlindTransfer'][_0xdbd9('0x1e')](this));ami['on'](_0xdbd9('0x2a'),this[_0xdbd9('0x2b')]['bind'](this));ami['on']('musiconholdstop',this['syncMusicOnHoldStop']['bind'](this));try{logger[_0xdbd9('0x2c')](_0xdbd9('0x2d'));ami[_0xdbd9('0x2e')]();}catch(_0x4c8107){logger[_0xdbd9('0x2f')](_0xdbd9('0x30'),util['inspect'](_0x4c8107,{'showHidden':![],'depth':null}));}}VoiceCallReport[_0xdbd9('0x31')][_0xdbd9('0x32')]=function(_0x5db969){return _0x5db969!==null&&!_[_0xdbd9('0x33')](_0x5db969);};VoiceCallReport['prototype'][_0xdbd9('0x34')]=function(_0x573153,_0x1cd198,_0x1eb082){io['to'](_0x573153)[_0xdbd9('0x34')](_0x1cd198,_0x1eb082);};VoiceCallReport[_0xdbd9('0x31')]['syncNewCallerId']=function(_0x3c7fdb){try{if(this['isNotNull'](_0x3c7fdb)){logger['info'](_0xdbd9('0x35'),_0x3c7fdb[_0xdbd9('0x36')],_0x3c7fdb[_0xdbd9('0x37')],_0x3c7fdb['calleridnum']);logger[_0xdbd9('0x38')]('[%s][voiceCallReport][newcallerid]\x20event:',_0x3c7fdb[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x3c7fdb,{'showHidden':![],'depth':null}));if(_0x3c7fdb[_0xdbd9('0x36')]===_0x3c7fdb[_0xdbd9('0x3a')]){if(!_[_0xdbd9('0x33')](this[_0xdbd9('0x1a')][_0x3c7fdb[_0xdbd9('0x36')]])){_[_0xdbd9('0x3b')](this['channels'][_0x3c7fdb[_0xdbd9('0x36')]],_[_0xdbd9('0x3c')](_0x3c7fdb,_['keys'](this['channels'][_0x3c7fdb[_0xdbd9('0x36')]])));}}}}catch(_0x2e4697){logger[_0xdbd9('0x2f')](_0xdbd9('0x3d'),_0x3c7fdb['uniqueid'],util[_0xdbd9('0x39')](_0x2e4697,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')]['syncNewChannel']=function(_0x178473){try{if(this[_0xdbd9('0x32')](_0x178473)){logger[_0xdbd9('0x38')](_0xdbd9('0x3e'),_0x178473[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x178473,{'showHidden':![],'depth':null}));if(_0x178473[_0xdbd9('0x36')]===_0x178473[_0xdbd9('0x3a')]&&_0x178473[_0xdbd9('0x3f')]!=_0xdbd9('0x40')){if(_[_0xdbd9('0x33')](this[_0xdbd9('0x1a')][_0x178473[_0xdbd9('0x36')]])){logger[_0xdbd9('0x2c')](_0xdbd9('0x41'),_0x178473['uniqueid'],_0x178473['context'],_0x178473[_0xdbd9('0x42')]);this[_0xdbd9('0x1a')][_0x178473[_0xdbd9('0x36')]]=new Channel();this[_0xdbd9('0x1a')][_0x178473[_0xdbd9('0x36')]][_0xdbd9('0x43')]=moment()[_0xdbd9('0x44')](_0xdbd9('0x45'));this[_0xdbd9('0x1a')][_0x178473[_0xdbd9('0x36')]][_0xdbd9('0x46')]=dispositions[_['toNumber'](_0x178473[_0xdbd9('0x47')])];_[_0xdbd9('0x3b')](this[_0xdbd9('0x1a')][_0x178473[_0xdbd9('0x36')]],_[_0xdbd9('0x3c')](_0x178473,_[_0xdbd9('0x48')](this[_0xdbd9('0x1a')][_0x178473['uniqueid']])));if(_0x178473['context']===_0xdbd9('0x49')){if(this[_0xdbd9('0x1b')][_0x178473['channel']['split']('-')[0x0]]){this[_0xdbd9('0x1b')][_0x178473[_0xdbd9('0x3f')]['split']('-')[0x0]][_0xdbd9('0x4a')]=_0x178473[_0xdbd9('0x42')];logger[_0xdbd9('0x38')]('[%s][voiceCallReport][newchannel]\x20sending\x20user:agentconnect\x20event:',_0x178473[_0xdbd9('0x36')],util[_0xdbd9('0x39')]({'destaccountcode':this[_0xdbd9('0x1b')][_0x178473[_0xdbd9('0x3f')][_0xdbd9('0x4b')]('-')[0x0]][_0xdbd9('0x4c')],'destconnectedlinenum':_0x178473['exten']},{'showHidden':![],'depth':null}));this[_0xdbd9('0x34')](util[_0xdbd9('0x44')](_0xdbd9('0x4d'),this[_0xdbd9('0x1b')][_0x178473[_0xdbd9('0x3f')]['split']('-')[0x0]][_0xdbd9('0x4e')]),_0xdbd9('0x4f'),{'destaccountcode':this[_0xdbd9('0x1b')][_0x178473[_0xdbd9('0x3f')]['split']('-')[0x0]][_0xdbd9('0x4c')],'destconnectedlinenum':_0x178473[_0xdbd9('0x42')]});}}}}}}catch(_0x492255){logger['error'](_0xdbd9('0x50'),_0x178473[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x492255,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')][_0xdbd9('0x1d')]=function(_0x59a73b){try{if(this[_0xdbd9('0x32')](_0x59a73b)){logger['debug']('[%s][voiceCallReport][newexten]\x20event:',_0x59a73b['uniqueid'],util[_0xdbd9('0x39')](_0x59a73b,{'showHidden':![],'depth':null}));if(_0x59a73b['uniqueid']===_0x59a73b[_0xdbd9('0x3a')]&&_0x59a73b[_0xdbd9('0x42')]!='h'&&_0x59a73b[_0xdbd9('0x3f')]!=_0xdbd9('0x40')){_0x59a73b['application']=_0x59a73b['application']['toLowerCase']();_0x59a73b[_0xdbd9('0x51')]=(_0x59a73b[_0xdbd9('0x52')]||_0x59a73b[_0xdbd9('0x51')])[_0xdbd9('0x53')]();logger['info'](_0xdbd9('0x54'),_0x59a73b[_0xdbd9('0x36')],_0x59a73b['application'],_0x59a73b[_0xdbd9('0x51')]);if(_['isUndefined'](this[_0xdbd9('0x1a')][_0x59a73b[_0xdbd9('0x36')]])){this[_0xdbd9('0x1a')][_0x59a73b[_0xdbd9('0x36')]]=new Channel();this['channels'][_0x59a73b['uniqueid']][_0xdbd9('0x43')]=_0x59a73b[_0xdbd9('0x55')]?moment()[_0xdbd9('0x56')](moment[_0xdbd9('0x55')](_0x59a73b[_0xdbd9('0x55')])[_0xdbd9('0x57')](),_0xdbd9('0x57'))[_0xdbd9('0x44')]('YYYY-MM-DD\x20HH:mm:ss'):moment()[_0xdbd9('0x44')](_0xdbd9('0x45'));this[_0xdbd9('0x1a')][_0x59a73b[_0xdbd9('0x36')]][_0xdbd9('0x46')]=_0xdbd9('0x13');}_[_0xdbd9('0x3b')](this['channels'][_0x59a73b[_0xdbd9('0x36')]],_[_0xdbd9('0x3c')](_0x59a73b,_[_0xdbd9('0x48')](this[_0xdbd9('0x1a')][_0x59a73b[_0xdbd9('0x36')]])));if(_['includes'](applications,_0x59a73b[_0xdbd9('0x58')])){this[_0xdbd9('0x1a')][_0x59a73b[_0xdbd9('0x36')]][_0xdbd9('0x59')]=_0x59a73b[_0xdbd9('0x58')];this[_0xdbd9('0x1a')][_0x59a73b[_0xdbd9('0x36')]][_0xdbd9('0x5a')]=_0x59a73b[_0xdbd9('0x51')];if(_0x59a73b[_0xdbd9('0x58')]===_0xdbd9('0xd')&&_['startsWith'](_0x59a73b[_0xdbd9('0x51')],'cdr(')){var _0x540d67=_0x59a73b[_0xdbd9('0x51')][_0xdbd9('0x4b')]('=');var _0x13a31b=_0x540d67[0x0][_0xdbd9('0x5b')](/cdr\((.*)\)/);if(_0x13a31b){this[_0xdbd9('0x1a')][_0x59a73b['uniqueid']][_0x13a31b[0x1]]=_0x540d67[0x1];}}else if(_0x59a73b[_0xdbd9('0x58')]===_0xdbd9('0xe')){this[_0xdbd9('0x1a')][_0x59a73b['uniqueid']]['queue']=_0x59a73b[_0xdbd9('0x51')][_0xdbd9('0x4b')](',')[0x0];}}}}}catch(_0x50f85e){logger[_0xdbd9('0x2f')]('[%s][voiceCallReport][newexten]',_0x59a73b[_0xdbd9('0x36')],util['inspect'](_0x50f85e,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')]['syncNewState']=function(_0x4f237f){try{if(this[_0xdbd9('0x32')](_0x4f237f)){logger[_0xdbd9('0x2c')]('[%s][voiceCallReport][newstate]\x20linkedid:%s\x20calleridname:%s\x20calleridnum:%s',_0x4f237f[_0xdbd9('0x36')],_0x4f237f[_0xdbd9('0x3a')],_0x4f237f[_0xdbd9('0x37')],_0x4f237f['calleridnum']);logger[_0xdbd9('0x38')]('[%s][voiceCallReport][newstate]\x20event:',_0x4f237f[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x4f237f,{'showHidden':![],'depth':null}));if(_0x4f237f[_0xdbd9('0x36')]!==_0x4f237f[_0xdbd9('0x3a')]){if(this[_0xdbd9('0x1a')][_0x4f237f['linkedid']]){if(_0x4f237f[_0xdbd9('0x47')]==='6'){if(!this['channels'][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x5c')]){var _0x133973=moment();this[_0xdbd9('0x1a')][_0x4f237f['linkedid']][_0xdbd9('0x5c')]=!![];this[_0xdbd9('0x1a')][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x5d')]=_0x133973[_0xdbd9('0x44')](_0xdbd9('0x45'));if(this[_0xdbd9('0x1a')][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x43')]){this[_0xdbd9('0x1a')][_0x4f237f['linkedid']][_0xdbd9('0x5e')]=_0x133973[_0xdbd9('0x5f')](this['channels'][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x43')],'seconds');}}this['channels'][_0x4f237f['linkedid']][_0xdbd9('0x3a')]=_0x4f237f[_0xdbd9('0x36')];if(_0x4f237f['calleridnum']!==_0xdbd9('0x60')){this[_0xdbd9('0x1a')][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x61')]=_0x4f237f[_0xdbd9('0x62')];}this['channels'][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x63')]=_0x4f237f[_0xdbd9('0x37')];this['channels'][_0x4f237f['linkedid']][_0xdbd9('0x64')]=_0x4f237f['channel'];this[_0xdbd9('0x1a')][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x46')]=dispositions[_['toNumber'](_0x4f237f[_0xdbd9('0x47')])];if(this['agents'][_0x4f237f[_0xdbd9('0x3f')][_0xdbd9('0x4b')]('-')[0x0]]){this['channels'][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x65')]=this[_0xdbd9('0x1b')][_0x4f237f[_0xdbd9('0x3f')][_0xdbd9('0x4b')]('-')[0x0]]['id'];this[_0xdbd9('0x1a')][_0x4f237f[_0xdbd9('0x3a')]][_0xdbd9('0x66')]=this[_0xdbd9('0x1b')][_0x4f237f['channel'][_0xdbd9('0x4b')]('-')[0x0]][_0xdbd9('0x4e')];}}}}else{if(this[_0xdbd9('0x1a')][_0x4f237f[_0xdbd9('0x36')]]){if(_0x4f237f[_0xdbd9('0x47')]==='6'){if(this['agents'][_0x4f237f[_0xdbd9('0x3f')][_0xdbd9('0x4b')]('-')[0x0]]){this[_0xdbd9('0x1a')][_0x4f237f[_0xdbd9('0x36')]][_0xdbd9('0x65')]=this[_0xdbd9('0x1b')][_0x4f237f['channel'][_0xdbd9('0x4b')]('-')[0x0]]['id'];this['channels'][_0x4f237f[_0xdbd9('0x36')]][_0xdbd9('0x66')]=this[_0xdbd9('0x1b')][_0x4f237f[_0xdbd9('0x3f')]['split']('-')[0x0]][_0xdbd9('0x4e')];}}}}}}catch(_0x517a3a){logger[_0xdbd9('0x2f')]('[%s][voiceCallReport][newstate]',_0x4f237f['uniqueid'],util[_0xdbd9('0x39')](_0x517a3a,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')][_0xdbd9('0x67')]=function(_0x6ed4fd,_0x2e3fd4){try{if(this[_0xdbd9('0x1a')][_0x6ed4fd]){logger[_0xdbd9('0x2c')](_0xdbd9('0x68'),_0x6ed4fd,_0x2e3fd4);this[_0xdbd9('0x1a')][_0x6ed4fd][_0xdbd9('0x69')]=!![];if(_['endsWith'](_0x2e3fd4,_0xdbd9('0x6a'))){_0x2e3fd4=_0x2e3fd4[_0xdbd9('0x6b')]('.wav49',_0xdbd9('0x6c'));}this[_0xdbd9('0x1a')][_0x6ed4fd][_0xdbd9('0x6d')]=_0x2e3fd4;var _0x23dde7=_[_0xdbd9('0x6e')](this[_0xdbd9('0x1a')][_0x6ed4fd][_0xdbd9('0x6f')],{'filename':_0x2e3fd4});if(_['isNil'](_0x23dde7)){this[_0xdbd9('0x1a')][_0x6ed4fd][_0xdbd9('0x6f')][_0xdbd9('0x70')]({'filename':_0x2e3fd4,'createdAt':moment()[_0xdbd9('0x44')](_0xdbd9('0x45')),'mixmonitorid':'','status':_0xdbd9('0x71')});}}}catch(_0xfc67b3){logger[_0xdbd9('0x2f')](_0xdbd9('0x72'),_0x6ed4fd,util[_0xdbd9('0x39')](_0xfc67b3,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')][_0xdbd9('0x24')]=function(_0x5b33b5){try{if(this['isNotNull'](_0x5b33b5)){logger[_0xdbd9('0x38')](_0xdbd9('0x73'),_0x5b33b5[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x5b33b5,{'showHidden':![],'depth':null}));if(this[_0xdbd9('0x1a')][_0x5b33b5['uniqueid']]&&_0x5b33b5[_0xdbd9('0x3f')]!='OutgoingSpoolFailed'){if(this[_0xdbd9('0x32')](_0x5b33b5[_0xdbd9('0x74')])){if(this[_0xdbd9('0x32')](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x75')])){logger[_0xdbd9('0x2c')](_0xdbd9('0x76'),_0x5b33b5['uniqueid'],_0x5b33b5[_0xdbd9('0x77')]);this['syncMixMonitorFilename'](_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5[_0xdbd9('0x77')]);}else if(this[_0xdbd9('0x32')](_0x5b33b5[_0xdbd9('0x74')]['xmd-phone'])){logger[_0xdbd9('0x2c')](_0xdbd9('0x78'),_0x5b33b5['uniqueid'],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5['uniqueid']]['calleridnum']=_0x5b33b5[_0xdbd9('0x77')];}else if(this[_0xdbd9('0x32')](_0x5b33b5['variable']['xmd-callerid'])){logger[_0xdbd9('0x2c')](_0xdbd9('0x79'),_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5['value']);this[_0xdbd9('0x1a')][_0x5b33b5[_0xdbd9('0x36')]][_0xdbd9('0x7a')]=_0x5b33b5[_0xdbd9('0x77')];}else if(this['isNotNull'](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x7b')])){logger['info'](_0xdbd9('0x7c'),_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5[_0xdbd9('0x36')]]['type']=_0x5b33b5[_0xdbd9('0x77')];}else if(this[_0xdbd9('0x32')](_0x5b33b5['variable'][_0xdbd9('0x7d')])){logger[_0xdbd9('0x2c')](_0xdbd9('0x7e'),_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5['value'][_0xdbd9('0x4b')](',')[0x0]);this[_0xdbd9('0x1a')][_0x5b33b5[_0xdbd9('0x36')]]['queue']=_0x5b33b5[_0xdbd9('0x77')][_0xdbd9('0x4b')](',')[0x0];}else if(this[_0xdbd9('0x32')](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x7f')])){logger[_0xdbd9('0x2c')]('[%s][voiceCallReport][varset]\x20variable:xmd-originatecalleridnum\x20value:%s',_0x5b33b5['uniqueid'],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5[_0xdbd9('0x36')]]['originatecalleridnum']=_0x5b33b5[_0xdbd9('0x77')];}else if(this[_0xdbd9('0x32')](_0x5b33b5[_0xdbd9('0x74')]['xmd-destination'])){logger[_0xdbd9('0x2c')](_0xdbd9('0x80'),_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5[_0xdbd9('0x36')]][_0xdbd9('0x81')]=_0x5b33b5[_0xdbd9('0x77')];}else if(this[_0xdbd9('0x32')](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x82')])){logger['info']('[%s][voiceCallReport][varset]\x20variable:xmd-callerid-preview\x20value:%s',_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5[_0xdbd9('0x36')]][_0xdbd9('0x83')]=_0x5b33b5[_0xdbd9('0x77')];}else if(this[_0xdbd9('0x32')](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x84')])){logger[_0xdbd9('0x2c')](_0xdbd9('0x85'),_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5['uniqueid']]['queue']=_0x5b33b5[_0xdbd9('0x77')];}else if(this['isNotNull'](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x86')])){logger['info'](_0xdbd9('0x87'),_0x5b33b5[_0xdbd9('0x36')],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5[_0xdbd9('0x36')]][_0xdbd9('0x88')]=_0x5b33b5[_0xdbd9('0x77')];}}}else if(this['isNotNull'](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x75')])){if(_0x5b33b5['value']){var _0x3c93b6=path['parse'](_0x5b33b5['value'])[_0xdbd9('0x4e')];logger[_0xdbd9('0x2c')](_0xdbd9('0x76'),_0x3c93b6,_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x67')](_0x3c93b6,_0x5b33b5[_0xdbd9('0x77')]);}}else if(this['channels'][_0x5b33b5[_0xdbd9('0x3a')]]){if(this[_0xdbd9('0x32')](_0x5b33b5['variable'])){if(this['isNotNull'](_0x5b33b5[_0xdbd9('0x74')][_0xdbd9('0x86')])){logger['info']('[%s][voiceCallReport][varset]\x20variable:sipcallid\x20value:%s',_0x5b33b5['linkedid'],_0x5b33b5[_0xdbd9('0x77')]);this[_0xdbd9('0x1a')][_0x5b33b5['linkedid']][_0xdbd9('0x89')]=_0x5b33b5[_0xdbd9('0x77')];}}}}}catch(_0x4dd96f){logger[_0xdbd9('0x2f')]('[%s][voiceCallReport][varset]',_0x5b33b5[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x4dd96f,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0xdbd9('0x26')]=function(_0x3c65d6){try{if(this[_0xdbd9('0x32')](_0x3c65d6)){logger['debug'](_0xdbd9('0x8a'),_0x3c65d6[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x3c65d6,{'showHidden':![],'depth':null}));if(this['channels'][_0x3c65d6[_0xdbd9('0x36')]]){logger[_0xdbd9('0x2c')](_0xdbd9('0x8b'),_0x3c65d6[_0xdbd9('0x36')],_0x3c65d6[_0xdbd9('0x8c')]);var _0x391b41=moment();this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x8d')]=_0x391b41[_0xdbd9('0x44')](_0xdbd9('0x45'));this['channels'][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x55')]=_0x391b41[_0xdbd9('0x5f')](this['channels'][_0x3c65d6['uniqueid']][_0xdbd9('0x43')],_0xdbd9('0x57'));if(this[_0xdbd9('0x1a')][_0x3c65d6['uniqueid']]['answered']){this['channels'][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x8e')]=_0x391b41[_0xdbd9('0x5f')](this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x5d')],_0xdbd9('0x57'));this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x5e')]=this['channels'][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x55')]-this['channels'][_0x3c65d6['uniqueid']][_0xdbd9('0x8e')];}if(_0x3c65d6['context']===_0xdbd9('0x49')){if(this['agents'][_0x3c65d6[_0xdbd9('0x3f')]['split']('-')[0x0]]){this['agents'][_0x3c65d6[_0xdbd9('0x3f')]['split']('-')[0x0]]=_[_0xdbd9('0x8f')](this[_0xdbd9('0x1b')][_0x3c65d6[_0xdbd9('0x3f')][_0xdbd9('0x4b')]('-')[0x0]],['destconnectedlinenum']);logger['debug'](_0xdbd9('0x90'),_0x3c65d6[_0xdbd9('0x36')],util[_0xdbd9('0x39')]({'destaccountcode':this[_0xdbd9('0x1b')][_0x3c65d6[_0xdbd9('0x3f')][_0xdbd9('0x4b')]('-')[0x0]][_0xdbd9('0x4c')]},{'showHidden':![],'depth':null}));this[_0xdbd9('0x34')](util[_0xdbd9('0x44')](_0xdbd9('0x4d'),this[_0xdbd9('0x1b')][_0x3c65d6[_0xdbd9('0x3f')][_0xdbd9('0x4b')]('-')[0x0]][_0xdbd9('0x4e')]),_0xdbd9('0x91'),{'destaccountcode':this['agents'][_0x3c65d6[_0xdbd9('0x3f')]['split']('-')[0x0]][_0xdbd9('0x4c')]});}}if(_0x3c65d6[_0xdbd9('0x92')]===_0xdbd9('0x93')){this[_0xdbd9('0x1c')][_0x3c65d6['uniqueid']]=this['channels'][_0x3c65d6[_0xdbd9('0x36')]];}else{if(this['channels'][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x94')]==='outbound'&&this[_0xdbd9('0x1c')][_0x3c65d6[_0xdbd9('0x36')]]){this[_0xdbd9('0x1a')][_0x3c65d6['uniqueid']]['uniqueid']=[this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x3a')],this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]][_0xdbd9('0x3a')]=this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]]['uniqueid']][0x0];delete this[_0xdbd9('0x1c')][_0x3c65d6[_0xdbd9('0x36')]];}}logger[_0xdbd9('0x38')](_0xdbd9('0x95'),_0x3c65d6[_0xdbd9('0x36')],util[_0xdbd9('0x39')](this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]],{'showHidden':![],'depth':null}));ami[_0xdbd9('0x34')](_0xdbd9('0x96'),this[_0xdbd9('0x1a')][_0x3c65d6[_0xdbd9('0x36')]]);delete this['channels'][_0x3c65d6['uniqueid']];}}}catch(_0x2192e2){logger[_0xdbd9('0x2f')](_0xdbd9('0x97'),_0x3c65d6['uniqueid'],util[_0xdbd9('0x39')](_0x2192e2,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0xdbd9('0x29')]=function(_0x43816a){try{if(this[_0xdbd9('0x32')](_0x43816a)){logger[_0xdbd9('0x2c')](_0xdbd9('0x98'),_0x43816a[_0xdbd9('0x36')],_0x43816a['origtransferercalleridnum'],_0x43816a['transfertargetcalleridnum']);logger[_0xdbd9('0x38')](_0xdbd9('0x99'),_0x43816a[_0xdbd9('0x36')],util['inspect'](_0x43816a,{'showHidden':![],'depth':null}));if(this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0x9a')]]){this[_0xdbd9('0x1a')][_0x43816a['transfereeuniqueid']][_0xdbd9('0x9b')]=_0x43816a[_0xdbd9('0x9c')];this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0x9a')]][_0xdbd9('0x9d')]=_0x43816a[_0xdbd9('0x9e')];if(this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0x9f')]]){var _0x2d90a1=this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0x9f')]];this['channels'][_0x43816a[_0xdbd9('0x9f')]]=this[_0xdbd9('0x1a')][_0x43816a['transfereeuniqueid']];this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0x9a')]]=_0x2d90a1;}}else if(this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0xa0')]]){this['channels'][_0x43816a[_0xdbd9('0xa0')]][_0xdbd9('0x9b')]=_0x43816a[_0xdbd9('0x9c')];this['channels'][_0x43816a[_0xdbd9('0xa0')]][_0xdbd9('0x9d')]=_0x43816a[_0xdbd9('0x9e')];if(this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0xa1')]]){var _0x2d90a1=this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0xa1')]];this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0xa1')]]=this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0xa0')]];this[_0xdbd9('0x1a')][_0x43816a[_0xdbd9('0xa0')]]=_0x2d90a1;}}}}catch(_0x5cba4b){logger[_0xdbd9('0x2f')](_0xdbd9('0xa2'),_0x43816a[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x5cba4b,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')]['syncBlindTransfer']=function(_0xb5cc57){try{if(this[_0xdbd9('0x32')](_0xb5cc57)){logger['info'](_0xdbd9('0xa3'),_0xb5cc57[_0xdbd9('0x36')],_0xb5cc57['transfereecalleridnum'],_0xb5cc57[_0xdbd9('0xa4')]);logger[_0xdbd9('0x38')](_0xdbd9('0xa5'),_0xb5cc57[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0xb5cc57,{'showHidden':![],'depth':null}));if(this[_0xdbd9('0x1a')][_0xb5cc57[_0xdbd9('0x9a')]]){this[_0xdbd9('0x1a')][_0xb5cc57[_0xdbd9('0x9a')]][_0xdbd9('0x9b')]=_0xb5cc57[_0xdbd9('0xa6')];this[_0xdbd9('0x1a')][_0xb5cc57[_0xdbd9('0x9a')]][_0xdbd9('0x9d')]=_0xb5cc57[_0xdbd9('0xa4')];this[_0xdbd9('0x26')]({'event':_0xdbd9('0x93'),'uniqueid':_0xb5cc57[_0xdbd9('0x9a')],'context':_0xb5cc57[_0xdbd9('0xa7')],'channel':_0xb5cc57[_0xdbd9('0xa8')]});}}}catch(_0x2f8d87){logger['error']('[%s][voiceCallReport][blindtransfer]',_0xb5cc57[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x2f8d87,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')][_0xdbd9('0x2b')]=function(_0x53941c){try{if(this[_0xdbd9('0x32')](_0x53941c)){logger[_0xdbd9('0x38')]('[%s][voiceCallReport][musiconholdstart]\x20event:',_0x53941c['uniqueid'],util['inspect'](_0x53941c,{'showHidden':![],'depth':null}));if(this[_0xdbd9('0x1a')][_0x53941c['uniqueid']]){if(!_[_0xdbd9('0xa9')](this['channels'][_0x53941c[_0xdbd9('0x36')]][_0xdbd9('0x5d')])){this[_0xdbd9('0x1a')][_0x53941c[_0xdbd9('0x36')]][_0xdbd9('0xaa')]=moment()[_0xdbd9('0x44')](_0xdbd9('0x45'));logger[_0xdbd9('0x2c')](_0xdbd9('0xab'),_0x53941c['uniqueid'],this[_0xdbd9('0x1a')][_0x53941c[_0xdbd9('0x36')]][_0xdbd9('0xaa')]);}}}}catch(_0x4b58fc){logger[_0xdbd9('0x2f')]('[%s][voiceCallReport][musiconholdstart]',_0x53941c[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x4b58fc,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xdbd9('0x31')][_0xdbd9('0xac')]=function(_0x1746e3){try{if(this[_0xdbd9('0x32')](_0x1746e3)){logger[_0xdbd9('0x38')]('[%s][voiceCallReport][musiconholdstop]\x20event:',_0x1746e3[_0xdbd9('0x36')],util[_0xdbd9('0x39')](_0x1746e3,{'showHidden':![],'depth':null}));if(this[_0xdbd9('0x1a')][_0x1746e3[_0xdbd9('0x36')]]){if(!_[_0xdbd9('0xa9')](this[_0xdbd9('0x1a')][_0x1746e3[_0xdbd9('0x36')]][_0xdbd9('0xaa')])){this[_0xdbd9('0x1a')][_0x1746e3[_0xdbd9('0x36')]][_0xdbd9('0xad')]+=moment()['milliseconds'](0x0)[_0xdbd9('0x5f')](this[_0xdbd9('0x1a')][_0x1746e3[_0xdbd9('0x36')]][_0xdbd9('0xaa')],_0xdbd9('0x57'));logger['info'](_0xdbd9('0xae'),_0x1746e3[_0xdbd9('0x36')],this[_0xdbd9('0x1a')][_0x1746e3['uniqueid']]['mohtime']);delete this[_0xdbd9('0x1a')][_0x1746e3['uniqueid']]['mohstarttime'];}}}}catch(_0x35f5bf){logger['error'](_0xdbd9('0xaf'),_0x1746e3['uniqueid'],util[_0xdbd9('0x39')](_0x35f5bf,{'showHidden':![],'depth':null}));}};module['exports']=VoiceCallReport;