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