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