86d07e68de86c1024776c95cb53f30e2e98e96c2
[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 _0xe0ac=['agents','blindTransfers','coreshowchannel','syncNewExten','bind','newexten','syncNewChannel','newstate','varset','hangup','syncHangup','syncNewCallerId','attendedtransfer','syncAttendedTransfer','blindtransfer','syncBlindTransfer','musiconholdstart','syncMusicOnHoldStart','musiconholdstop','syncMusicOnHoldStop','info','actionCoreShowChannels','error','[voiceCallReport][coreshowchannels]','inspect','prototype','isNotNull','isUndefined','emit','uniqueid','calleridname','calleridnum','debug','[%s][voiceCallReport][newcallerid]\x20event:','linkedid','merge','pick','keys','from-sip','channel','split','xcally-motion-preview','connectedlinenum','format','user:%s','user:agentconnect','accountcode','[%s][voiceCallReport][newcallerid]','[%s][voiceCallReport][newchannel]\x20event:','OutgoingSpoolFailed','[%s][voiceCallReport][newchannel]\x20context:%s\x20exten:%s','context','exten','YYYY-MM-DD\x20HH:mm:ss','disposition','toNumber','channelstate','destconnectedlinenum','[%s][voiceCallReport][newchannel]\x20sending\x20user:agentconnect\x20event:','name','[%s][voiceCallReport][newchannel]','[%s][voiceCallReport][newexten]\x20event:','application','toLowerCase','applicationdata','appdata','startsWith','CDR(routeAlias)','[%s][voiceCallReport][newexten]\x20application:%s\x20appdata:%s','duration','subtract','seconds','includes','lastapplication','lastdata','cdr(','match','queue','[%s][voiceCallReport][newstate]\x20linkedid:%s\x20calleridname:%s\x20calleridnum:%s','[%s][voiceCallReport][newstate]\x20event:','answered','answertime','starttime','holdtime','diff','connectedlinename','destinationchannel','UserId','membername','routealias','[%s][voiceCallReport][newstate]\x20sending\x20user:agentconnect\x20event:','[%s][voiceCallReport][newstate]','syncMixMonitorFilename','monitor','endsWith','.wav49','replace','.WAV','monitorFilename','find','push','rec','syncVarSet','[%s][voiceCallReport][varset]\x20event:','variable','[%s][voiceCallReport][varset]\x20variable:mixmonitor_filename\x20value:%s','value','[%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','[%s][voiceCallReport][varset]\x20variable:xmd-originatecalleridnum\x20value:%s','[%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','[%s][voiceCallReport][varset]\x20variable:sipcallid\x20value:%s','sipcalluniqueid','mixmonitor_filename','sipcallid','sipcalllinkedid','[%s][voiceCallReport][varset]','[%s][voiceCallReport][hangup]\x20event:','[%s][voiceCallReport][hangup]\x20reason:%s','cause-txt','endtime','billableseconds','omit','[%s][voiceCallReport][hangup]\x20sending\x20user:agentcomplete\x20event:','resolve','then','transferType','undefined','monitors','getSettings','stopRecordingOnTransfer','Action','StopMixMonitor','catch','webbar:stopmonitors','event','BlindTransfer','outbound','[%s][voiceCallReport][hangup]\x20sending\x20hangup\x20event:','[%s][voiceCallReport][hangup]','[%s][voiceCallReport][attendedtransfer]\x20transfercalleridnum:%s\x20transferconnectedlinenum:%s','origtransferercalleridnum','[%s][voiceCallReport][attendedtransfer]\x20event:','transfereeuniqueid','transferconnectedlinenum','secondtransfereruniqueid','transfertargetuniqueid','transfercalleridnum','transfertargetcalleridnum','origtransfereruniqueid','origtransfererlinkedid','some','ATTENDED','[%s][voiceCallReport][blindtransfer]\x20transfercalleridnum:%s\x20transferconnectedlinenum:%s','transfereecalleridnum','extension','[%s][voiceCallReport][blindtransfer]\x20event:','BLIND','transfererchannel','transfereruniqueid','[%s][voiceCallReport][blindtransfer]','[%s][voiceCallReport][musiconholdstart]\x20event:','isNil','mohstarttime','[%s][voiceCallReport][musiconholdstart]','[%s][voiceCallReport][musiconholdstop]\x20event:','mohtime','milliseconds','[%s][voiceCallReport][musiconholdstop]\x20mohtime:%s','[%s][voiceCallReport][musiconholdstop]','exports','lodash','moment','path','ioredis','../../../config/environment','ami','../ami','../model/channel','../rpc/setting','unknown','busy','invalid','unavailable','ringinuse','onhold','set','dial','playback','voicemail','FAILED','NO\x20ANSWER','BUSY','redis','defaults','localhost','channels'];(function(_0x19827d,_0x2de692){var _0x7e12a2=function(_0x20a43c){while(--_0x20a43c){_0x19827d['push'](_0x19827d['shift']());}};_0x7e12a2(++_0x2de692);}(_0xe0ac,0x188));var _0xce0a=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xe0ac[_0x20a584];return _0x4b41a8;};'use strict';var BPromise=require('bluebird');var _=require(_0xce0a('0x0'));var moment=require(_0xce0a('0x1'));var util=require('util');var path=require(_0xce0a('0x2'));var Redis=require(_0xce0a('0x3'));var config=require(_0xce0a('0x4'));var logger=require('../../../config/logger')(_0xce0a('0x5'));var ami=require(_0xce0a('0x6'));var Channel=require(_0xce0a('0x7'));var RpcSetting=require(_0xce0a('0x8'));var statusDesc=[_0xce0a('0x9'),'not_inuse','inuse',_0xce0a('0xa'),_0xce0a('0xb'),_0xce0a('0xc'),'ringing',_0xce0a('0xd'),_0xce0a('0xe')];var applications=[_0xce0a('0xf'),'queue','agi',_0xce0a('0x10'),_0xce0a('0x11'),_0xce0a('0x12')];var dispositions=['NO\x20ANSWER',_0xce0a('0x13'),_0xce0a('0x13'),_0xce0a('0x14'),_0xce0a('0x14'),_0xce0a('0x14'),'ANSWERED',_0xce0a('0x15'),'FAILED','FAILED',_0xce0a('0x13')];var actions={};config[_0xce0a('0x16')]=_[_0xce0a('0x17')](config[_0xce0a('0x16')],{'host':_0xce0a('0x18'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xce0a('0x16')]));function VoiceCallReport(_0x2e11f0){this[_0xce0a('0x19')]=_0x2e11f0[_0xce0a('0x19')];this['agents']=_0x2e11f0[_0xce0a('0x1a')];this[_0xce0a('0x1b')]={};ami['on'](_0xce0a('0x1c'),this[_0xce0a('0x1d')][_0xce0a('0x1e')](this));ami['on'](_0xce0a('0x1f'),this[_0xce0a('0x1d')][_0xce0a('0x1e')](this));ami['on']('newchannel',this[_0xce0a('0x20')]['bind'](this));ami['on'](_0xce0a('0x21'),this['syncNewState']['bind'](this));ami['on'](_0xce0a('0x22'),this['syncVarSet'][_0xce0a('0x1e')](this));ami['on'](_0xce0a('0x23'),this[_0xce0a('0x24')][_0xce0a('0x1e')](this));ami['on']('newcallerid',this[_0xce0a('0x25')][_0xce0a('0x1e')](this));ami['on'](_0xce0a('0x26'),this[_0xce0a('0x27')]['bind'](this));ami['on'](_0xce0a('0x28'),this[_0xce0a('0x29')]['bind'](this));ami['on'](_0xce0a('0x2a'),this[_0xce0a('0x2b')][_0xce0a('0x1e')](this));ami['on'](_0xce0a('0x2c'),this[_0xce0a('0x2d')][_0xce0a('0x1e')](this));try{logger[_0xce0a('0x2e')]('[voiceCallReport][coreshowchannels]\x20started');ami[_0xce0a('0x2f')]();}catch(_0x5c818f){logger[_0xce0a('0x30')](_0xce0a('0x31'),util[_0xce0a('0x32')](_0x5c818f,{'showHidden':![],'depth':null}));}}VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x34')]=function(_0x11bb6b){return _0x11bb6b!==null&&!_[_0xce0a('0x35')](_0x11bb6b);};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x36')]=function(_0x37d8ac,_0x3e95f2,_0xa0acd8){io['to'](_0x37d8ac)[_0xce0a('0x36')](_0x3e95f2,_0xa0acd8);};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x25')]=function(_0x304b22){try{if(this[_0xce0a('0x34')](_0x304b22)){logger[_0xce0a('0x2e')]('[%s][voiceCallReport][newcallerid]\x20calleridname:%s\x20calleridnum:%s',_0x304b22[_0xce0a('0x37')],_0x304b22[_0xce0a('0x38')],_0x304b22[_0xce0a('0x39')]);logger[_0xce0a('0x3a')](_0xce0a('0x3b'),_0x304b22[_0xce0a('0x37')],util['inspect'](_0x304b22,{'showHidden':![],'depth':null}));if(_0x304b22['uniqueid']===_0x304b22[_0xce0a('0x3c')]){if(!_[_0xce0a('0x35')](this[_0xce0a('0x19')][_0x304b22['uniqueid']])){_[_0xce0a('0x3d')](this[_0xce0a('0x19')][_0x304b22[_0xce0a('0x37')]],_[_0xce0a('0x3e')](_0x304b22,_[_0xce0a('0x3f')](this[_0xce0a('0x19')][_0x304b22[_0xce0a('0x37')]])));}}if(_0x304b22['context']===_0xce0a('0x40')){if(this[_0xce0a('0x1a')][_0x304b22[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]){if(_0x304b22['exten']==_0xce0a('0x43')){this[_0xce0a('0x1a')][_0x304b22[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]['destconnectedlinenum']=_0x304b22[_0xce0a('0x44')];this[_0xce0a('0x36')](util[_0xce0a('0x45')](_0xce0a('0x46'),this['agents'][_0x304b22['channel'][_0xce0a('0x42')]('-')[0x0]]['name']),_0xce0a('0x47'),{'destaccountcode':this[_0xce0a('0x1a')][_0x304b22[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x48')],'destconnectedlinenum':_0x304b22[_0xce0a('0x44')]});}}}}}catch(_0xf6055a){logger[_0xce0a('0x30')](_0xce0a('0x49'),_0x304b22['uniqueid'],util[_0xce0a('0x32')](_0xf6055a,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x20')]=function(_0xd2df66){try{if(this[_0xce0a('0x34')](_0xd2df66)){logger[_0xce0a('0x3a')](_0xce0a('0x4a'),_0xd2df66[_0xce0a('0x37')],util[_0xce0a('0x32')](_0xd2df66,{'showHidden':![],'depth':null}));if(_0xd2df66[_0xce0a('0x37')]===_0xd2df66['linkedid']&&_0xd2df66[_0xce0a('0x41')]!=_0xce0a('0x4b')){if(_['isUndefined'](this[_0xce0a('0x19')][_0xd2df66[_0xce0a('0x37')]])){logger[_0xce0a('0x2e')](_0xce0a('0x4c'),_0xd2df66['uniqueid'],_0xd2df66[_0xce0a('0x4d')],_0xd2df66[_0xce0a('0x4e')]);this[_0xce0a('0x19')][_0xd2df66['uniqueid']]=new Channel();this[_0xce0a('0x19')][_0xd2df66[_0xce0a('0x37')]]['starttime']=moment()['format'](_0xce0a('0x4f'));this[_0xce0a('0x19')][_0xd2df66[_0xce0a('0x37')]][_0xce0a('0x50')]=dispositions[_[_0xce0a('0x51')](_0xd2df66[_0xce0a('0x52')])];_['merge'](this['channels'][_0xd2df66[_0xce0a('0x37')]],_['pick'](_0xd2df66,_['keys'](this[_0xce0a('0x19')][_0xd2df66['uniqueid']])));if(_0xd2df66[_0xce0a('0x4d')]===_0xce0a('0x40')){if(this[_0xce0a('0x1a')][_0xd2df66[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]){if(_[_0xce0a('0x35')](this['agents'][_0xd2df66[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x53')])){this[_0xce0a('0x1a')][_0xd2df66['channel'][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x53')]=_0xd2df66[_0xce0a('0x4e')];logger[_0xce0a('0x3a')](_0xce0a('0x54'),_0xd2df66['uniqueid'],util[_0xce0a('0x32')]({'destaccountcode':this[_0xce0a('0x1a')][_0xd2df66['channel'][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x48')],'destconnectedlinenum':_0xd2df66[_0xce0a('0x4e')]},{'showHidden':![],'depth':null}));this['emit'](util['format'](_0xce0a('0x46'),this[_0xce0a('0x1a')][_0xd2df66[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x55')]),_0xce0a('0x47'),{'destaccountcode':this[_0xce0a('0x1a')][_0xd2df66[_0xce0a('0x41')]['split']('-')[0x0]]['accountcode'],'destconnectedlinenum':_0xd2df66['exten']});}}}}}}}catch(_0x141599){logger[_0xce0a('0x30')](_0xce0a('0x56'),_0xd2df66['uniqueid'],util[_0xce0a('0x32')](_0x141599,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')]['syncNewExten']=function(_0x32b23a){try{if(this[_0xce0a('0x34')](_0x32b23a)){logger[_0xce0a('0x3a')](_0xce0a('0x57'),_0x32b23a[_0xce0a('0x37')],util['inspect'](_0x32b23a,{'showHidden':![],'depth':null}));if(_0x32b23a[_0xce0a('0x37')]===_0x32b23a['linkedid']&&_0x32b23a[_0xce0a('0x4e')]!='h'&&_0x32b23a['channel']!=_0xce0a('0x4b')){_0x32b23a[_0xce0a('0x58')]=_0x32b23a[_0xce0a('0x58')][_0xce0a('0x59')]();_0x32b23a[_0xce0a('0x5a')]=_0x32b23a[_0xce0a('0x5b')]&&_0x32b23a['appdata'][_0xce0a('0x5c')](_0xce0a('0x5d'))?_0x32b23a['appdata']:(_0x32b23a[_0xce0a('0x5b')]||_0x32b23a[_0xce0a('0x5a')])['toLowerCase']();logger[_0xce0a('0x2e')](_0xce0a('0x5e'),_0x32b23a['uniqueid'],_0x32b23a[_0xce0a('0x58')],_0x32b23a['applicationdata']);if(_[_0xce0a('0x35')](this[_0xce0a('0x19')][_0x32b23a[_0xce0a('0x37')]])){this[_0xce0a('0x19')][_0x32b23a[_0xce0a('0x37')]]=new Channel();this[_0xce0a('0x19')][_0x32b23a[_0xce0a('0x37')]]['starttime']=_0x32b23a[_0xce0a('0x5f')]?moment()[_0xce0a('0x60')](moment[_0xce0a('0x5f')](_0x32b23a[_0xce0a('0x5f')])[_0xce0a('0x61')](),_0xce0a('0x61'))[_0xce0a('0x45')](_0xce0a('0x4f')):moment()['format']('YYYY-MM-DD\x20HH:mm:ss');this['channels'][_0x32b23a[_0xce0a('0x37')]][_0xce0a('0x50')]='NO\x20ANSWER';}_['merge'](this[_0xce0a('0x19')][_0x32b23a[_0xce0a('0x37')]],_[_0xce0a('0x3e')](_0x32b23a,_[_0xce0a('0x3f')](this[_0xce0a('0x19')][_0x32b23a['uniqueid']])));if(_[_0xce0a('0x62')](applications,_0x32b23a[_0xce0a('0x58')])){this[_0xce0a('0x19')][_0x32b23a['uniqueid']][_0xce0a('0x63')]=_0x32b23a[_0xce0a('0x58')];this[_0xce0a('0x19')][_0x32b23a[_0xce0a('0x37')]][_0xce0a('0x64')]=_0x32b23a[_0xce0a('0x5a')];if(_0x32b23a[_0xce0a('0x58')]===_0xce0a('0xf')&&_[_0xce0a('0x5c')](_0x32b23a[_0xce0a('0x5a')]['toLowerCase'](),_0xce0a('0x65'))){var _0x16aa54=_0x32b23a[_0xce0a('0x5a')]['split']('=');var _0x238242=_0x16aa54[0x0]['toLowerCase']()[_0xce0a('0x66')](/cdr\((.*)\)/);if(_0x238242){this[_0xce0a('0x19')][_0x32b23a['uniqueid']][_0x238242[0x1]]=_0x16aa54[0x1];}}else if(_0x32b23a[_0xce0a('0x58')]==='queue'){this['channels'][_0x32b23a['uniqueid']][_0xce0a('0x67')]=_0x32b23a[_0xce0a('0x5a')]['split'](',')[0x0];}}}}}catch(_0x497127){logger[_0xce0a('0x30')]('[%s][voiceCallReport][newexten]',_0x32b23a['uniqueid'],util[_0xce0a('0x32')](_0x497127,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype']['syncNewState']=function(_0x23c86f){try{if(this['isNotNull'](_0x23c86f)){logger['info'](_0xce0a('0x68'),_0x23c86f[_0xce0a('0x37')],_0x23c86f['linkedid'],_0x23c86f['calleridname'],_0x23c86f['calleridnum']);logger[_0xce0a('0x3a')](_0xce0a('0x69'),_0x23c86f[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x23c86f,{'showHidden':![],'depth':null}));if(_0x23c86f[_0xce0a('0x37')]!==_0x23c86f[_0xce0a('0x3c')]){if(this[_0xce0a('0x19')][_0x23c86f['linkedid']]){if(_0x23c86f[_0xce0a('0x52')]==='6'){if(!this[_0xce0a('0x19')][_0x23c86f['linkedid']][_0xce0a('0x6a')]){var _0x58a3ea=moment();this['channels'][_0x23c86f[_0xce0a('0x3c')]]['answered']=!![];this['channels'][_0x23c86f[_0xce0a('0x3c')]][_0xce0a('0x6b')]=_0x58a3ea[_0xce0a('0x45')]('YYYY-MM-DD\x20HH:mm:ss');if(this['channels'][_0x23c86f[_0xce0a('0x3c')]][_0xce0a('0x6c')]){this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x3c')]][_0xce0a('0x6d')]=_0x58a3ea[_0xce0a('0x6e')](this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x3c')]][_0xce0a('0x6c')],_0xce0a('0x61'));}}this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x3c')]]['linkedid']=_0x23c86f[_0xce0a('0x37')];if(_0x23c86f[_0xce0a('0x39')]!==_0xce0a('0x43')){this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x3c')]][_0xce0a('0x44')]=_0x23c86f[_0xce0a('0x39')];}this[_0xce0a('0x19')][_0x23c86f['linkedid']][_0xce0a('0x6f')]=_0x23c86f[_0xce0a('0x38')];this['channels'][_0x23c86f[_0xce0a('0x3c')]][_0xce0a('0x70')]=_0x23c86f[_0xce0a('0x41')];this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x3c')]][_0xce0a('0x50')]=dispositions[_['toNumber'](_0x23c86f[_0xce0a('0x52')])];if(this[_0xce0a('0x1a')][_0x23c86f[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]){this[_0xce0a('0x19')][_0x23c86f['linkedid']][_0xce0a('0x71')]=this[_0xce0a('0x1a')][_0x23c86f['channel'][_0xce0a('0x42')]('-')[0x0]]['id'];this[_0xce0a('0x19')][_0x23c86f['linkedid']][_0xce0a('0x72')]=this[_0xce0a('0x1a')][_0x23c86f[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x55')];}}}}else{if(this[_0xce0a('0x19')][_0x23c86f['uniqueid']]){if(_0x23c86f[_0xce0a('0x52')]==='6'){if(this[_0xce0a('0x1a')][_0x23c86f[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]){this[_0xce0a('0x19')][_0x23c86f['uniqueid']][_0xce0a('0x71')]=this[_0xce0a('0x1a')][_0x23c86f[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]['id'];this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x37')]]['membername']=this[_0xce0a('0x1a')][_0x23c86f['channel'][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x55')];}}}}if(_0x23c86f[_0xce0a('0x52')]==='6'&&_0x23c86f[_0xce0a('0x4d')]==='from-sip'){if(this[_0xce0a('0x1a')][_0x23c86f['channel']['split']('-')[0x0]]){this[_0xce0a('0x1a')][_0x23c86f[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x53')]=_0x23c86f[_0xce0a('0x4e')];var _0x4ad310;if(this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x37')]])_0x4ad310=this[_0xce0a('0x19')][_0x23c86f['uniqueid']][_0xce0a('0x73')];else if(this['channels'][_0x23c86f[_0xce0a('0x3c')]])_0x4ad310=this[_0xce0a('0x19')][_0x23c86f[_0xce0a('0x3c')]]['routealias'];logger[_0xce0a('0x3a')](_0xce0a('0x74'),_0x23c86f['uniqueid'],util[_0xce0a('0x32')]({'destaccountcode':this[_0xce0a('0x1a')][_0x23c86f[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]][_0xce0a('0x48')],'destconnectedlinenum':_0x23c86f[_0xce0a('0x4e')],'routealias':_0x4ad310},{'showHidden':![],'depth':null}));this['emit'](util[_0xce0a('0x45')](_0xce0a('0x46'),this[_0xce0a('0x1a')][_0x23c86f[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]['name']),_0xce0a('0x47'),{'destaccountcode':this[_0xce0a('0x1a')][_0x23c86f['channel'][_0xce0a('0x42')]('-')[0x0]]['accountcode'],'destconnectedlinenum':_0x23c86f[_0xce0a('0x4e')],'routealias':_0x4ad310});}}}}catch(_0x520a8b){logger['error'](_0xce0a('0x75'),_0x23c86f[_0xce0a('0x37')],util['inspect'](_0x520a8b,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0xce0a('0x76')]=function(_0x109a33,_0x4ffa31){try{if(this[_0xce0a('0x19')][_0x109a33]){logger['info']('[%s][voiceCallReport][mixMonitorFilename]\x20monitorFilename:%s',_0x109a33,_0x4ffa31);this[_0xce0a('0x19')][_0x109a33][_0xce0a('0x77')]=!![];if(_[_0xce0a('0x78')](_0x4ffa31,_0xce0a('0x79'))){_0x4ffa31=_0x4ffa31[_0xce0a('0x7a')](_0xce0a('0x79'),_0xce0a('0x7b'));}this['channels'][_0x109a33][_0xce0a('0x7c')]=_0x4ffa31;var _0x17289b=_[_0xce0a('0x7d')](this[_0xce0a('0x19')][_0x109a33]['monitors'],{'filename':_0x4ffa31});if(_['isNil'](_0x17289b)){this[_0xce0a('0x19')][_0x109a33]['monitors'][_0xce0a('0x7e')]({'filename':_0x4ffa31,'createdAt':moment()[_0xce0a('0x45')](_0xce0a('0x4f')),'mixmonitorid':'','status':_0xce0a('0x7f')});}}}catch(_0xd0fd5){logger['error']('[%s][voiceCallReport][mixMonitorFilename]',_0x109a33,util[_0xce0a('0x32')](_0xd0fd5,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x80')]=function(_0x586de1){try{if(this[_0xce0a('0x34')](_0x586de1)){logger[_0xce0a('0x3a')](_0xce0a('0x81'),_0x586de1[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x586de1,{'showHidden':![],'depth':null}));if(this[_0xce0a('0x19')][_0x586de1['uniqueid']]&&_0x586de1[_0xce0a('0x41')]!=_0xce0a('0x4b')){if(this['isNotNull'](_0x586de1[_0xce0a('0x82')])){if(this['isNotNull'](_0x586de1['variable']['mixmonitor_filename'])){logger[_0xce0a('0x2e')](_0xce0a('0x83'),_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);this[_0xce0a('0x76')](_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);}else if(this[_0xce0a('0x34')](_0x586de1[_0xce0a('0x82')]['xmd-phone'])){logger[_0xce0a('0x2e')]('[%s][voiceCallReport][varset]\x20variable:xmd-phone\x20value:%s',_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);this['channels'][_0x586de1[_0xce0a('0x37')]][_0xce0a('0x39')]=_0x586de1[_0xce0a('0x84')];}else if(this['isNotNull'](_0x586de1[_0xce0a('0x82')]['xmd-callerid'])){logger[_0xce0a('0x2e')](_0xce0a('0x85'),_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);this[_0xce0a('0x19')][_0x586de1[_0xce0a('0x37')]][_0xce0a('0x86')]=_0x586de1[_0xce0a('0x84')];}else if(this['isNotNull'](_0x586de1[_0xce0a('0x82')][_0xce0a('0x87')])){logger[_0xce0a('0x2e')](_0xce0a('0x88'),_0x586de1['uniqueid'],_0x586de1[_0xce0a('0x84')]);this['channels'][_0x586de1[_0xce0a('0x37')]][_0xce0a('0x89')]=_0x586de1[_0xce0a('0x84')];}else if(this[_0xce0a('0x34')](_0x586de1[_0xce0a('0x82')][_0xce0a('0x8a')])){logger[_0xce0a('0x2e')](_0xce0a('0x8b'),_0x586de1['uniqueid'],_0x586de1[_0xce0a('0x84')][_0xce0a('0x42')](',')[0x0]);this[_0xce0a('0x19')][_0x586de1[_0xce0a('0x37')]][_0xce0a('0x67')]=_0x586de1['value'][_0xce0a('0x42')](',')[0x0];}else if(this[_0xce0a('0x34')](_0x586de1['variable'][_0xce0a('0x8c')])){logger[_0xce0a('0x2e')](_0xce0a('0x8d'),_0x586de1['uniqueid'],_0x586de1['value']);this[_0xce0a('0x19')][_0x586de1['uniqueid']]['originatecalleridnum']=_0x586de1[_0xce0a('0x84')];}else if(this[_0xce0a('0x34')](_0x586de1[_0xce0a('0x82')]['xmd-destination'])){logger['info'](_0xce0a('0x8e'),_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);this['channels'][_0x586de1[_0xce0a('0x37')]][_0xce0a('0x8f')]=_0x586de1[_0xce0a('0x84')];}else if(this[_0xce0a('0x34')](_0x586de1[_0xce0a('0x82')][_0xce0a('0x90')])){logger['info'](_0xce0a('0x91'),_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);this[_0xce0a('0x19')][_0x586de1[_0xce0a('0x37')]][_0xce0a('0x92')]=_0x586de1['value'];}else if(this[_0xce0a('0x34')](_0x586de1[_0xce0a('0x82')][_0xce0a('0x93')])){logger['info'](_0xce0a('0x94'),_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);this[_0xce0a('0x19')][_0x586de1[_0xce0a('0x37')]][_0xce0a('0x67')]=_0x586de1[_0xce0a('0x84')];}else if(this[_0xce0a('0x34')](_0x586de1[_0xce0a('0x82')]['sipcallid'])){logger[_0xce0a('0x2e')](_0xce0a('0x95'),_0x586de1[_0xce0a('0x37')],_0x586de1[_0xce0a('0x84')]);this[_0xce0a('0x19')][_0x586de1['uniqueid']][_0xce0a('0x96')]=_0x586de1[_0xce0a('0x84')];}}}else if(this[_0xce0a('0x34')](_0x586de1[_0xce0a('0x82')][_0xce0a('0x97')])){if(_0x586de1[_0xce0a('0x84')]){var _0x5e87f4=path['parse'](_0x586de1[_0xce0a('0x84')])[_0xce0a('0x55')];logger['info'](_0xce0a('0x83'),_0x5e87f4,_0x586de1['value']);this[_0xce0a('0x76')](_0x5e87f4,_0x586de1[_0xce0a('0x84')]);}}else if(this[_0xce0a('0x19')][_0x586de1['linkedid']]){if(this[_0xce0a('0x34')](_0x586de1['variable'])){if(this['isNotNull'](_0x586de1[_0xce0a('0x82')][_0xce0a('0x98')])){logger[_0xce0a('0x2e')]('[%s][voiceCallReport][varset]\x20variable:sipcallid\x20value:%s',_0x586de1[_0xce0a('0x3c')],_0x586de1[_0xce0a('0x84')]);this[_0xce0a('0x19')][_0x586de1[_0xce0a('0x3c')]][_0xce0a('0x99')]=_0x586de1['value'];}}}}}catch(_0x249709){logger['error'](_0xce0a('0x9a'),_0x586de1[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x249709,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')]['syncHangup']=function(_0x5ca8b4){try{if(this['isNotNull'](_0x5ca8b4)){logger[_0xce0a('0x3a')](_0xce0a('0x9b'),_0x5ca8b4[_0xce0a('0x37')],util['inspect'](_0x5ca8b4,{'showHidden':![],'depth':null}));if(this[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]]){logger[_0xce0a('0x2e')](_0xce0a('0x9c'),_0x5ca8b4[_0xce0a('0x37')],_0x5ca8b4[_0xce0a('0x9d')]);var _0x3aef19=moment();this[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x9e')]=_0x3aef19['format'](_0xce0a('0x4f'));this[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x5f')]=_0x3aef19[_0xce0a('0x6e')](this[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x6c')],'seconds');if(this[_0xce0a('0x19')][_0x5ca8b4['uniqueid']]['answered']){this[_0xce0a('0x19')][_0x5ca8b4['uniqueid']]['billableseconds']=_0x3aef19[_0xce0a('0x6e')](this[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x6b')],_0xce0a('0x61'));this[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x6d')]=this[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x5f')]-this[_0xce0a('0x19')][_0x5ca8b4['uniqueid']][_0xce0a('0x9f')];}if(_0x5ca8b4[_0xce0a('0x4d')]===_0xce0a('0x40')){if(this[_0xce0a('0x1a')][_0x5ca8b4[_0xce0a('0x41')]['split']('-')[0x0]]){this[_0xce0a('0x1a')][_0x5ca8b4[_0xce0a('0x41')]['split']('-')[0x0]]=_[_0xce0a('0xa0')](this[_0xce0a('0x1a')][_0x5ca8b4[_0xce0a('0x41')]['split']('-')[0x0]],[_0xce0a('0x53')]);logger[_0xce0a('0x3a')](_0xce0a('0xa1'),_0x5ca8b4[_0xce0a('0x37')],util[_0xce0a('0x32')]({'id':this[_0xce0a('0x1a')][_0x5ca8b4[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]['id'],'destaccountcode':this['agents'][_0x5ca8b4[_0xce0a('0x41')]['split']('-')[0x0]][_0xce0a('0x48')]},{'showHidden':![],'depth':null}));this[_0xce0a('0x36')](util[_0xce0a('0x45')](_0xce0a('0x46'),this[_0xce0a('0x1a')][_0x5ca8b4['channel']['split']('-')[0x0]][_0xce0a('0x55')]),'user:agentcomplete',{'id':this[_0xce0a('0x1a')][_0x5ca8b4[_0xce0a('0x41')][_0xce0a('0x42')]('-')[0x0]]['id'],'destaccountcode':this[_0xce0a('0x1a')][_0x5ca8b4[_0xce0a('0x41')]['split']('-')[0x0]]['accountcode']});}}var _0x4dbeea=this;Promise[_0xce0a('0xa2')]()[_0xce0a('0xa3')](function(){var _0x1ae421=_0x4dbeea[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]];if(typeof _0x1ae421[_0xce0a('0xa4')]===_0xce0a('0xa5'))return;if(_['isEmpty'](_0x1ae421[_0xce0a('0xa6')]))return;return RpcSetting[_0xce0a('0xa7')]()[_0xce0a('0xa3')](function(_0x16cc71){if(!_0x16cc71[_0xce0a('0xa8')])return;return Promise[_0xce0a('0xa2')]()[_0xce0a('0xa3')](function(){return ami[_0xce0a('0xa9')]({'action':_0xce0a('0xaa'),'channel':_0x1ae421[_0xce0a('0x41')]})[_0xce0a('0xab')](function(){});})[_0xce0a('0xa3')](function(){return ami['Action']({'action':_0xce0a('0xaa'),'channel':_0x1ae421[_0xce0a('0x70')]})['catch'](function(){})['finally'](function(){var _0x52cb1b=_0x4dbeea[_0xce0a('0x1a')][_0x1ae421[_0xce0a('0x70')][_0xce0a('0x42')]('-')[0x0]];if(!_0x52cb1b)return;io[_0xce0a('0x36')](_0xce0a('0xac'),{'agentId':_0x52cb1b['id'],'uniqueid':_0x1ae421[_0xce0a('0x37')]});});});});})['then'](function(){if(_0x5ca8b4[_0xce0a('0xad')]===_0xce0a('0xae')){_0x4dbeea[_0xce0a('0x1b')][_0x5ca8b4[_0xce0a('0x37')]]=_0x4dbeea[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]];}else{if(_0x4dbeea[_0xce0a('0x19')][_0x5ca8b4['uniqueid']][_0xce0a('0x89')]===_0xce0a('0xaf')&&_0x4dbeea[_0xce0a('0x1b')][_0x5ca8b4['uniqueid']]){_0x4dbeea[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x37')]=[_0x4dbeea[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x3c')],_0x4dbeea['channels'][_0x5ca8b4[_0xce0a('0x37')]][_0xce0a('0x3c')]=_0x4dbeea['channels'][_0x5ca8b4[_0xce0a('0x37')]]['uniqueid']][0x0];delete _0x4dbeea[_0xce0a('0x1b')][_0x5ca8b4[_0xce0a('0x37')]];}}logger[_0xce0a('0x3a')](_0xce0a('0xb0'),_0x5ca8b4['uniqueid'],util[_0xce0a('0x32')](_0x4dbeea[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]],{'showHidden':![],'depth':null}));ami[_0xce0a('0x36')]('custom:voiceCallReport',_0x4dbeea[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]]);delete _0x4dbeea[_0xce0a('0x19')][_0x5ca8b4[_0xce0a('0x37')]];});}}}catch(_0x2e2b19){logger[_0xce0a('0x30')](_0xce0a('0xb1'),_0x5ca8b4[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x2e2b19,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x27')]=function(_0x303250){try{if(this[_0xce0a('0x34')](_0x303250)){logger['info'](_0xce0a('0xb2'),_0x303250[_0xce0a('0x37')],_0x303250[_0xce0a('0xb3')],_0x303250['transfertargetcalleridnum']);logger[_0xce0a('0x3a')](_0xce0a('0xb4'),_0x303250[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x303250,{'showHidden':![],'depth':null}));if(this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb5')]]){this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb5')]]['transfercalleridnum']=_0x303250[_0xce0a('0xb3')];this[_0xce0a('0x19')][_0x303250['transfereeuniqueid']][_0xce0a('0xb6')]=_0x303250['transfertargetcalleridnum'];if(this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb7')]]){var _0x4ee41f=this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb7')]];this[_0xce0a('0x19')][_0x303250['secondtransfereruniqueid']]=this['channels'][_0x303250['transfereeuniqueid']];this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb5')]]=_0x4ee41f;}}else if(this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb8')]]){this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb8')]][_0xce0a('0xb9')]=_0x303250[_0xce0a('0xb3')];this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb8')]][_0xce0a('0xb6')]=_0x303250[_0xce0a('0xba')];if(this[_0xce0a('0x19')][_0x303250['origtransfereruniqueid']]){var _0x4ee41f=this[_0xce0a('0x19')][_0x303250[_0xce0a('0xbb')]];this[_0xce0a('0x19')][_0x303250['origtransfereruniqueid']]=this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb8')]];this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb8')]]=_0x4ee41f;}}if((this[_0xce0a('0x19')][_0x303250[_0xce0a('0xbb')]]||this['channels'][_0x303250[_0xce0a('0xbc')]])&&this['channels'][_0x303250[_0xce0a('0xb7')]]){var _0x3c96d0=_[_0xce0a('0xbd')]([this['channels'][_0x303250[_0xce0a('0xbb')]],this['channels'][_0x303250[_0xce0a('0xbc')]],this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb7')]]],function(_0x2cc953){return _0x2cc953&&_0x2cc953[_0xce0a('0x89')]===_0xce0a('0xaf')&&_0x2cc953['routeid'];});if(_0x3c96d0){if(this[_0xce0a('0x19')][_0x303250[_0xce0a('0xbb')]])this['channels'][_0x303250[_0xce0a('0xbb')]][_0xce0a('0xa4')]=_0xce0a('0xbe');if(this['channels'][_0x303250[_0xce0a('0xbc')]])this[_0xce0a('0x19')][_0x303250[_0xce0a('0xbc')]][_0xce0a('0xa4')]=_0xce0a('0xbe');this[_0xce0a('0x19')][_0x303250[_0xce0a('0xb7')]][_0xce0a('0xa4')]=_0xce0a('0xbe');}}}}catch(_0x58942e){logger[_0xce0a('0x30')]('[%s][voiceCallReport][attendedtransfer]',_0x303250[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x58942e,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x29')]=function(_0x35ae65){try{if(this[_0xce0a('0x34')](_0x35ae65)){logger[_0xce0a('0x2e')](_0xce0a('0xbf'),_0x35ae65['uniqueid'],_0x35ae65[_0xce0a('0xc0')],_0x35ae65[_0xce0a('0xc1')]);logger[_0xce0a('0x3a')](_0xce0a('0xc2'),_0x35ae65[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x35ae65,{'showHidden':![],'depth':null}));if(this[_0xce0a('0x19')][_0x35ae65[_0xce0a('0xb5')]]){this[_0xce0a('0x19')][_0x35ae65[_0xce0a('0xb5')]][_0xce0a('0xb9')]=_0x35ae65[_0xce0a('0xc0')];this[_0xce0a('0x19')][_0x35ae65[_0xce0a('0xb5')]]['transferconnectedlinenum']=_0x35ae65['extension'];this[_0xce0a('0x19')][_0x35ae65[_0xce0a('0xb5')]][_0xce0a('0xa4')]=_0xce0a('0xc3');this[_0xce0a('0x24')]({'event':_0xce0a('0xae'),'uniqueid':_0x35ae65[_0xce0a('0xb5')],'context':_0x35ae65[_0xce0a('0x4d')],'channel':_0x35ae65[_0xce0a('0xc4')]});}else{this['channels'][_0x35ae65[_0xce0a('0xc5')]][_0xce0a('0xa4')]=_0xce0a('0xc3');}}}catch(_0x3d880f){logger['error'](_0xce0a('0xc6'),_0x35ae65[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x3d880f,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x2b')]=function(_0x42f749){try{if(this[_0xce0a('0x34')](_0x42f749)){logger[_0xce0a('0x3a')](_0xce0a('0xc7'),_0x42f749[_0xce0a('0x37')],util[_0xce0a('0x32')](_0x42f749,{'showHidden':![],'depth':null}));if(this[_0xce0a('0x19')][_0x42f749['uniqueid']]){if(!_[_0xce0a('0xc8')](this[_0xce0a('0x19')][_0x42f749[_0xce0a('0x37')]][_0xce0a('0x6b')])){this['channels'][_0x42f749['uniqueid']][_0xce0a('0xc9')]=moment()[_0xce0a('0x45')](_0xce0a('0x4f'));logger['info']('[%s][voiceCallReport][musiconholdstart]\x20mohstarttime:%s',_0x42f749['uniqueid'],this[_0xce0a('0x19')][_0x42f749[_0xce0a('0x37')]]['mohstarttime']);}}}}catch(_0x16872f){logger[_0xce0a('0x30')](_0xce0a('0xca'),_0x42f749['uniqueid'],util[_0xce0a('0x32')](_0x16872f,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xce0a('0x33')][_0xce0a('0x2d')]=function(_0x351439){try{if(this[_0xce0a('0x34')](_0x351439)){logger[_0xce0a('0x3a')](_0xce0a('0xcb'),_0x351439[_0xce0a('0x37')],util['inspect'](_0x351439,{'showHidden':![],'depth':null}));if(this[_0xce0a('0x19')][_0x351439[_0xce0a('0x37')]]){if(!_['isNil'](this['channels'][_0x351439[_0xce0a('0x37')]][_0xce0a('0xc9')])){this[_0xce0a('0x19')][_0x351439[_0xce0a('0x37')]][_0xce0a('0xcc')]+=moment()[_0xce0a('0xcd')](0x0)['diff'](this[_0xce0a('0x19')][_0x351439[_0xce0a('0x37')]][_0xce0a('0xc9')],_0xce0a('0x61'));logger[_0xce0a('0x2e')](_0xce0a('0xce'),_0x351439[_0xce0a('0x37')],this['channels'][_0x351439[_0xce0a('0x37')]][_0xce0a('0xcc')]);delete this[_0xce0a('0x19')][_0x351439[_0xce0a('0x37')]][_0xce0a('0xc9')];}}}}catch(_0x4be154){logger[_0xce0a('0x30')](_0xce0a('0xcf'),_0x351439[_0xce0a('0x37')],util['inspect'](_0x4be154,{'showHidden':![],'depth':null}));}};module[_0xce0a('0xd0')]=VoiceCallReport;