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