576269d1b488f01abb0d3fb3d2a86a7f088d6a35
[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 _0x9a02=['attendedtransfer','blindtransfer','syncBlindTransfer','musiconholdstart','syncMusicOnHoldStart','syncMusicOnHoldStop','then','actionCoreShowChannels','log','prototype','emit','syncNewCallerId','isNotNull','uniqueid','linkedid','isUndefined','pick','keys','[syncNewCallerId][VoiceCallReport]','channel','OutgoingSpoolFailed','starttime','format','YYYY-MM-DD\x20HH:mm:ss','disposition','toNumber','channelstate','merge','context','from-sip','split','destconnectedlinenum','user:%s','name','user:agentconnect','accountcode','exten','error','[syncNewChannel][VoiceCallReport]','inspect','application','applicationdata','appdata','toLowerCase','subtract','duration','includes','lastdata','startsWith','match','[syncNewExten][VoiceCallReport]','syncNewState','answered','answertime','holdtime','diff','calleridnum','xcally-motion-preview','connectedlinenum','calleridname','destinationchannel','UserId','membername','monitor','endsWith','.wav49','replace','monitorFilename','monitors','isNil','push','rec','variable','mixmonitor_filename','value','xmd-phone','xmd-callerid','callerid','xmd-cdrtype','type','xmd-queue','xmd-originatecalleridnum','originatecalleridnum','destination','xmd-callerid-preview','xmcs-queue','sipcallid','sipcalluniqueid','syncMixMonitorFilename','sipcalllinkedid','[syncVarSet][VoiceCallReport]','endtime','billableseconds','user:agentcomplete','custom:voiceCallReport','[syncHangup][VoiceCallReport]','syncAttendedTransfer','transfereeuniqueid','transfercalleridnum','origtransferercalleridnum','transfertargetcalleridnum','secondtransfereruniqueid','transfertargetuniqueid','transferconnectedlinenum','origtransfereruniqueid','[syncAttendedTransfer][VoiceCallReport]','transfereecalleridnum','extension','BlindTransfer','transfererchannel','mohstarttime','[syncMusicOnHoldStart][VoiceCallReport]','milliseconds','seconds','[syncMusicOnHoldStop][VoiceCallReport]','exports','bluebird','moment','ioredis','../../../config/logger','ami','../model/channel','busy','invalid','unavailable','ringing','ringinuse','onhold','set','queue','agi','dial','playback','FAILED','NO\x20ANSWER','ANSWERED','defaults','localhost','socket.io-emitter','redis','channels','agents','coreshowchannel','bind','syncNewExten','newchannel','syncNewChannel','varset','syncVarSet','hangup','syncHangup','newcallerid'];(function(_0x3b640b,_0xc19b69){var _0x1a0d9e=function(_0x3aecea){while(--_0x3aecea){_0x3b640b['push'](_0x3b640b['shift']());}};_0x1a0d9e(++_0xc19b69);}(_0x9a02,0x1a4));var _0x29a0=function(_0x184617,_0x52deaf){_0x184617=_0x184617-0x0;var _0xc7395f=_0x9a02[_0x184617];return _0xc7395f;};'use strict';var BPromise=require(_0x29a0('0x0'));var _=require('lodash');var moment=require(_0x29a0('0x1'));var util=require('util');var path=require('path');var Redis=require(_0x29a0('0x2'));var config=require('../../../config/environment');var logger=require(_0x29a0('0x3'))(_0x29a0('0x4'));var ami=require('../ami');var Channel=require(_0x29a0('0x5'));var statusDesc=['unknown','not_inuse','inuse',_0x29a0('0x6'),_0x29a0('0x7'),_0x29a0('0x8'),_0x29a0('0x9'),_0x29a0('0xa'),_0x29a0('0xb')];var applications=[_0x29a0('0xc'),_0x29a0('0xd'),_0x29a0('0xe'),_0x29a0('0xf'),_0x29a0('0x10'),'voicemail'];var dispositions=['NO\x20ANSWER',_0x29a0('0x11'),'FAILED',_0x29a0('0x12'),'NO\x20ANSWER','NO\x20ANSWER',_0x29a0('0x13'),'BUSY',_0x29a0('0x11'),_0x29a0('0x11'),'FAILED'];var actions={};config['redis']=_[_0x29a0('0x14')](config['redis'],{'host':_0x29a0('0x15'),'port':0x18eb});var io=require(_0x29a0('0x16'))(new Redis(config[_0x29a0('0x17')]));function VoiceCallReport(_0x147710){this[_0x29a0('0x18')]=_0x147710[_0x29a0('0x18')];this[_0x29a0('0x19')]=_0x147710['agents'];ami['on'](_0x29a0('0x1a'),this['syncNewExten'][_0x29a0('0x1b')](this));ami['on']('newexten',this[_0x29a0('0x1c')]['bind'](this));ami['on'](_0x29a0('0x1d'),this[_0x29a0('0x1e')][_0x29a0('0x1b')](this));ami['on']('newstate',this['syncNewState'][_0x29a0('0x1b')](this));ami['on'](_0x29a0('0x1f'),this[_0x29a0('0x20')][_0x29a0('0x1b')](this));ami['on'](_0x29a0('0x21'),this[_0x29a0('0x22')][_0x29a0('0x1b')](this));ami['on'](_0x29a0('0x23'),this['syncNewCallerId'][_0x29a0('0x1b')](this));ami['on'](_0x29a0('0x24'),this['syncAttendedTransfer']['bind'](this));ami['on'](_0x29a0('0x25'),this[_0x29a0('0x26')][_0x29a0('0x1b')](this));ami['on'](_0x29a0('0x27'),this[_0x29a0('0x28')][_0x29a0('0x1b')](this));ami['on']('musiconholdstop',this[_0x29a0('0x29')]['bind'](this));return BPromise['resolve']()[_0x29a0('0x2a')](ami[_0x29a0('0x2b')]())['catch'](function(_0x435519){console[_0x29a0('0x2c')](_0x435519);});}VoiceCallReport[_0x29a0('0x2d')]['isNotNull']=function(_0x3caa85){return _0x3caa85!==null&&!_['isUndefined'](_0x3caa85);};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x2e')]=function(_0x3dbad7,_0x48a70c,_0x5d613){io['to'](_0x3dbad7)[_0x29a0('0x2e')](_0x48a70c,_0x5d613);};VoiceCallReport['prototype'][_0x29a0('0x2f')]=function(_0x4d1b78){try{if(this[_0x29a0('0x30')](_0x4d1b78)){if(_0x4d1b78[_0x29a0('0x31')]===_0x4d1b78[_0x29a0('0x32')]){if(!_[_0x29a0('0x33')](this[_0x29a0('0x18')][_0x4d1b78[_0x29a0('0x31')]])){_['merge'](this[_0x29a0('0x18')][_0x4d1b78[_0x29a0('0x31')]],_[_0x29a0('0x34')](_0x4d1b78,_[_0x29a0('0x35')](this[_0x29a0('0x18')][_0x4d1b78['uniqueid']])));}}}}catch(_0x5c9a3c){logger['error'](_0x29a0('0x36'),util['inspect'](_0x5c9a3c,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0x29a0('0x1e')]=function(_0x2e121c){try{if(this[_0x29a0('0x30')](_0x2e121c)){if(_0x2e121c['uniqueid']===_0x2e121c[_0x29a0('0x32')]&&_0x2e121c[_0x29a0('0x37')]!=_0x29a0('0x38')){if(_[_0x29a0('0x33')](this['channels'][_0x2e121c[_0x29a0('0x31')]])){this[_0x29a0('0x18')][_0x2e121c[_0x29a0('0x31')]]=new Channel();this['channels'][_0x2e121c['uniqueid']][_0x29a0('0x39')]=moment()[_0x29a0('0x3a')](_0x29a0('0x3b'));this[_0x29a0('0x18')][_0x2e121c[_0x29a0('0x31')]][_0x29a0('0x3c')]=dispositions[_[_0x29a0('0x3d')](_0x2e121c[_0x29a0('0x3e')])];_[_0x29a0('0x3f')](this['channels'][_0x2e121c[_0x29a0('0x31')]],_[_0x29a0('0x34')](_0x2e121c,_[_0x29a0('0x35')](this['channels'][_0x2e121c[_0x29a0('0x31')]])));if(_0x2e121c[_0x29a0('0x40')]===_0x29a0('0x41')){if(this['agents'][_0x2e121c[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]]){this[_0x29a0('0x19')][_0x2e121c[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]][_0x29a0('0x43')]=_0x2e121c['exten'];this[_0x29a0('0x2e')](util[_0x29a0('0x3a')](_0x29a0('0x44'),this['agents'][_0x2e121c['channel']['split']('-')[0x0]][_0x29a0('0x45')]),_0x29a0('0x46'),{'destaccountcode':this[_0x29a0('0x19')][_0x2e121c['channel'][_0x29a0('0x42')]('-')[0x0]][_0x29a0('0x47')],'destconnectedlinenum':_0x2e121c[_0x29a0('0x48')]});}}}}}}catch(_0x46d23a){logger[_0x29a0('0x49')](_0x29a0('0x4a'),util[_0x29a0('0x4b')](_0x46d23a,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x1c')]=function(_0x2ed672){try{if(this['isNotNull'](_0x2ed672)){if(_0x2ed672['uniqueid']===_0x2ed672[_0x29a0('0x32')]&&_0x2ed672['exten']!='h'&&_0x2ed672[_0x29a0('0x37')]!=_0x29a0('0x38')){_0x2ed672[_0x29a0('0x4c')]=_0x2ed672['application']['toLowerCase']();_0x2ed672[_0x29a0('0x4d')]=(_0x2ed672[_0x29a0('0x4e')]||_0x2ed672[_0x29a0('0x4d')])[_0x29a0('0x4f')]();if(_[_0x29a0('0x33')](this[_0x29a0('0x18')][_0x2ed672['uniqueid']])){this['channels'][_0x2ed672[_0x29a0('0x31')]]=new Channel();this[_0x29a0('0x18')][_0x2ed672[_0x29a0('0x31')]][_0x29a0('0x39')]=_0x2ed672['duration']?moment()[_0x29a0('0x50')](moment[_0x29a0('0x51')](_0x2ed672[_0x29a0('0x51')])['seconds'](),'seconds')[_0x29a0('0x3a')](_0x29a0('0x3b')):moment()['format'](_0x29a0('0x3b'));this[_0x29a0('0x18')][_0x2ed672[_0x29a0('0x31')]][_0x29a0('0x3c')]=_0x29a0('0x12');}_[_0x29a0('0x3f')](this[_0x29a0('0x18')][_0x2ed672['uniqueid']],_[_0x29a0('0x34')](_0x2ed672,_[_0x29a0('0x35')](this['channels'][_0x2ed672[_0x29a0('0x31')]])));if(_[_0x29a0('0x52')](applications,_0x2ed672[_0x29a0('0x4c')])){this['channels'][_0x2ed672[_0x29a0('0x31')]]['lastapplication']=_0x2ed672[_0x29a0('0x4c')];this['channels'][_0x2ed672[_0x29a0('0x31')]][_0x29a0('0x53')]=_0x2ed672[_0x29a0('0x4d')];if(_0x2ed672['application']==='set'&&_[_0x29a0('0x54')](_0x2ed672[_0x29a0('0x4d')],'cdr(')){var _0x3d2ba6=_0x2ed672[_0x29a0('0x4d')][_0x29a0('0x42')]('=');var _0x222a15=_0x3d2ba6[0x0][_0x29a0('0x55')](/cdr\((.*)\)/);if(_0x222a15){this[_0x29a0('0x18')][_0x2ed672['uniqueid']][_0x222a15[0x1]]=_0x3d2ba6[0x1];}}else if(_0x2ed672[_0x29a0('0x4c')]===_0x29a0('0xd')){this[_0x29a0('0x18')][_0x2ed672[_0x29a0('0x31')]][_0x29a0('0xd')]=_0x2ed672[_0x29a0('0x4d')][_0x29a0('0x42')](',')[0x0];}}}}}catch(_0x5b95ab){logger[_0x29a0('0x49')](_0x29a0('0x56'),util['inspect'](_0x5b95ab,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x57')]=function(_0x153b16){try{if(this[_0x29a0('0x30')](_0x153b16)){if(_0x153b16[_0x29a0('0x31')]!==_0x153b16['linkedid']){if(this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]]){if(_0x153b16[_0x29a0('0x3e')]==='6'){if(!this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x58')]){var _0x7cc13a=moment();this['channels'][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x58')]=!![];this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x59')]=_0x7cc13a[_0x29a0('0x3a')](_0x29a0('0x3b'));if(this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]]['starttime']){this['channels'][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x5a')]=_0x7cc13a[_0x29a0('0x5b')](this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x39')],'seconds');}}this['channels'][_0x153b16['linkedid']][_0x29a0('0x32')]=_0x153b16['uniqueid'];if(_0x153b16[_0x29a0('0x5c')]!==_0x29a0('0x5d')){this[_0x29a0('0x18')][_0x153b16['linkedid']][_0x29a0('0x5e')]=_0x153b16[_0x29a0('0x5c')];}this[_0x29a0('0x18')][_0x153b16['linkedid']]['connectedlinename']=_0x153b16[_0x29a0('0x5f')];this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x60')]=_0x153b16[_0x29a0('0x37')];this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]]['disposition']=dispositions[_[_0x29a0('0x3d')](_0x153b16[_0x29a0('0x3e')])];if(this[_0x29a0('0x19')][_0x153b16[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]]){this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x61')]=this[_0x29a0('0x19')][_0x153b16[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]]['id'];this[_0x29a0('0x18')][_0x153b16[_0x29a0('0x32')]][_0x29a0('0x62')]=this[_0x29a0('0x19')][_0x153b16[_0x29a0('0x37')]['split']('-')[0x0]][_0x29a0('0x45')];}}}}else{if(this[_0x29a0('0x18')][_0x153b16['uniqueid']]){if(_0x153b16['channelstate']==='6'){if(this['agents'][_0x153b16['channel'][_0x29a0('0x42')]('-')[0x0]]){this['channels'][_0x153b16[_0x29a0('0x31')]][_0x29a0('0x61')]=this['agents'][_0x153b16[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]]['id'];this['channels'][_0x153b16['uniqueid']][_0x29a0('0x62')]=this['agents'][_0x153b16[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]][_0x29a0('0x45')];}}}}}}catch(_0x44b51f){logger['error']('[syncNewState][VoiceCallReport]',util[_0x29a0('0x4b')](_0x44b51f,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype']['syncMixMonitorFilename']=function(_0x2f70d4,_0x348543){if(this[_0x29a0('0x18')][_0x2f70d4]){this[_0x29a0('0x18')][_0x2f70d4][_0x29a0('0x63')]=!![];if(_[_0x29a0('0x64')](_0x348543,_0x29a0('0x65'))){_0x348543=_0x348543[_0x29a0('0x66')](_0x29a0('0x65'),'.WAV');}this[_0x29a0('0x18')][_0x2f70d4][_0x29a0('0x67')]=_0x348543;var _0x39ec16=_['find'](this[_0x29a0('0x18')][_0x2f70d4][_0x29a0('0x68')],{'filename':_0x348543});if(_[_0x29a0('0x69')](_0x39ec16)){this[_0x29a0('0x18')][_0x2f70d4][_0x29a0('0x68')][_0x29a0('0x6a')]({'filename':_0x348543,'createdAt':moment()['format'](_0x29a0('0x3b')),'mixmonitorid':'','status':_0x29a0('0x6b')});}}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x20')]=function(_0x509430){try{if(this[_0x29a0('0x30')](_0x509430)){if(this[_0x29a0('0x18')][_0x509430[_0x29a0('0x31')]]&&_0x509430[_0x29a0('0x37')]!=_0x29a0('0x38')){if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')])){if(this['isNotNull'](_0x509430['variable'][_0x29a0('0x6d')])){this['syncMixMonitorFilename'](_0x509430[_0x29a0('0x31')],_0x509430[_0x29a0('0x6e')]);}else if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')][_0x29a0('0x6f')])){this[_0x29a0('0x18')][_0x509430[_0x29a0('0x31')]]['calleridnum']=_0x509430[_0x29a0('0x6e')];}else if(this[_0x29a0('0x30')](_0x509430['variable'][_0x29a0('0x70')])){this[_0x29a0('0x18')][_0x509430[_0x29a0('0x31')]][_0x29a0('0x71')]=_0x509430['value'];}else if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')][_0x29a0('0x72')])){this[_0x29a0('0x18')][_0x509430['uniqueid']][_0x29a0('0x73')]=_0x509430[_0x29a0('0x6e')];}else if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')][_0x29a0('0x74')])){this['channels'][_0x509430[_0x29a0('0x31')]][_0x29a0('0xd')]=_0x509430[_0x29a0('0x6e')][_0x29a0('0x42')](',')[0x0];}else if(this[_0x29a0('0x30')](_0x509430['variable'][_0x29a0('0x75')])){this[_0x29a0('0x18')][_0x509430['uniqueid']][_0x29a0('0x76')]=_0x509430[_0x29a0('0x6e')];}else if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')]['xmd-destination'])){this[_0x29a0('0x18')][_0x509430[_0x29a0('0x31')]][_0x29a0('0x77')]=_0x509430['value'];}else if(this[_0x29a0('0x30')](_0x509430['variable'][_0x29a0('0x78')])){this[_0x29a0('0x18')][_0x509430[_0x29a0('0x31')]]['calleridpreview']=_0x509430[_0x29a0('0x6e')];}else if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')][_0x29a0('0x79')])){this[_0x29a0('0x18')][_0x509430[_0x29a0('0x31')]][_0x29a0('0xd')]=_0x509430[_0x29a0('0x6e')];}else if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')][_0x29a0('0x7a')])){this[_0x29a0('0x18')][_0x509430['uniqueid']][_0x29a0('0x7b')]=_0x509430[_0x29a0('0x6e')];}}}else if(this['isNotNull'](_0x509430[_0x29a0('0x6c')]['mixmonitor_filename'])){if(_0x509430['value']){var _0x3c8361=path['parse'](_0x509430['value'])[_0x29a0('0x45')];this[_0x29a0('0x7c')](_0x3c8361,_0x509430[_0x29a0('0x6e')]);}}else if(this[_0x29a0('0x18')][_0x509430[_0x29a0('0x32')]]){if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')])){if(this[_0x29a0('0x30')](_0x509430[_0x29a0('0x6c')][_0x29a0('0x7a')])){this[_0x29a0('0x18')][_0x509430[_0x29a0('0x32')]][_0x29a0('0x7d')]=_0x509430[_0x29a0('0x6e')];}}}}}catch(_0x30c9fb){logger['error'](_0x29a0('0x7e'),util[_0x29a0('0x4b')](_0x30c9fb,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x22')]=function(_0x3e67cd){try{if(this[_0x29a0('0x30')](_0x3e67cd)){if(this[_0x29a0('0x18')][_0x3e67cd[_0x29a0('0x31')]]){var _0x1d436e=moment();this['channels'][_0x3e67cd[_0x29a0('0x31')]][_0x29a0('0x7f')]=_0x1d436e[_0x29a0('0x3a')](_0x29a0('0x3b'));this[_0x29a0('0x18')][_0x3e67cd[_0x29a0('0x31')]]['duration']=_0x1d436e['diff'](this[_0x29a0('0x18')][_0x3e67cd['uniqueid']][_0x29a0('0x39')],'seconds');if(this[_0x29a0('0x18')][_0x3e67cd['uniqueid']][_0x29a0('0x58')]){this[_0x29a0('0x18')][_0x3e67cd[_0x29a0('0x31')]][_0x29a0('0x80')]=_0x1d436e['diff'](this[_0x29a0('0x18')][_0x3e67cd['uniqueid']]['answertime'],'seconds');this[_0x29a0('0x18')][_0x3e67cd[_0x29a0('0x31')]][_0x29a0('0x5a')]=this[_0x29a0('0x18')][_0x3e67cd[_0x29a0('0x31')]][_0x29a0('0x51')]-this[_0x29a0('0x18')][_0x3e67cd[_0x29a0('0x31')]]['billableseconds'];}if(_0x3e67cd['context']===_0x29a0('0x41')){if(this[_0x29a0('0x19')][_0x3e67cd[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]]){this[_0x29a0('0x19')][_0x3e67cd[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]]=_['omit'](this[_0x29a0('0x19')][_0x3e67cd[_0x29a0('0x37')][_0x29a0('0x42')]('-')[0x0]],[_0x29a0('0x43')]);this[_0x29a0('0x2e')](util[_0x29a0('0x3a')](_0x29a0('0x44'),this[_0x29a0('0x19')][_0x3e67cd[_0x29a0('0x37')]['split']('-')[0x0]][_0x29a0('0x45')]),_0x29a0('0x81'),{'destaccountcode':this[_0x29a0('0x19')][_0x3e67cd[_0x29a0('0x37')]['split']('-')[0x0]][_0x29a0('0x47')]});}}ami['emit'](_0x29a0('0x82'),this[_0x29a0('0x18')][_0x3e67cd['uniqueid']]);delete this[_0x29a0('0x18')][_0x3e67cd[_0x29a0('0x31')]];}}}catch(_0x28212c){logger[_0x29a0('0x49')](_0x29a0('0x83'),util[_0x29a0('0x4b')](_0x28212c,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x84')]=function(_0x3eeae9){try{if(this[_0x29a0('0x30')](_0x3eeae9)){if(this[_0x29a0('0x18')][_0x3eeae9['transfereeuniqueid']]){this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x85')]][_0x29a0('0x86')]=_0x3eeae9[_0x29a0('0x87')];this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x85')]]['transferconnectedlinenum']=_0x3eeae9[_0x29a0('0x88')];if(this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x89')]]){var _0x192316=this['channels'][_0x3eeae9[_0x29a0('0x89')]];this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x89')]]=this[_0x29a0('0x18')][_0x3eeae9['transfereeuniqueid']];this[_0x29a0('0x18')][_0x3eeae9['transfereeuniqueid']]=_0x192316;}}else if(this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x8a')]]){this[_0x29a0('0x18')][_0x3eeae9['transfertargetuniqueid']]['transfercalleridnum']=_0x3eeae9[_0x29a0('0x87')];this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x8a')]][_0x29a0('0x8b')]=_0x3eeae9['transfertargetcalleridnum'];if(this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x8c')]]){var _0x192316=this[_0x29a0('0x18')][_0x3eeae9['origtransfereruniqueid']];this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x8c')]]=this['channels'][_0x3eeae9[_0x29a0('0x8a')]];this[_0x29a0('0x18')][_0x3eeae9[_0x29a0('0x8a')]]=_0x192316;}}}}catch(_0x11eecf){logger[_0x29a0('0x49')](_0x29a0('0x8d'),util['inspect'](_0x11eecf,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x26')]=function(_0x8ef516){try{if(this[_0x29a0('0x30')](_0x8ef516)){if(this[_0x29a0('0x18')][_0x8ef516[_0x29a0('0x85')]]){this[_0x29a0('0x18')][_0x8ef516[_0x29a0('0x85')]][_0x29a0('0x86')]=_0x8ef516[_0x29a0('0x8e')];this[_0x29a0('0x18')][_0x8ef516[_0x29a0('0x85')]]['transferconnectedlinenum']=_0x8ef516[_0x29a0('0x8f')];this['syncHangup']({'event':_0x29a0('0x90'),'uniqueid':_0x8ef516[_0x29a0('0x85')],'context':_0x8ef516[_0x29a0('0x40')],'channel':_0x8ef516[_0x29a0('0x91')]});}}}catch(_0x25ed75){logger[_0x29a0('0x49')]('[syncBlindTransfer][VoiceCallReport]',util[_0x29a0('0x4b')](_0x25ed75,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x28')]=function(_0x113208){try{if(this[_0x29a0('0x30')](_0x113208)){if(this['channels'][_0x113208[_0x29a0('0x31')]]){if(!_[_0x29a0('0x69')](this[_0x29a0('0x18')][_0x113208['uniqueid']][_0x29a0('0x59')])){this[_0x29a0('0x18')][_0x113208['uniqueid']][_0x29a0('0x92')]=moment()[_0x29a0('0x3a')](_0x29a0('0x3b'));}}}}catch(_0x3593b9){logger['error'](_0x29a0('0x93'),util[_0x29a0('0x4b')](_0x3593b9,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0x29a0('0x2d')][_0x29a0('0x29')]=function(_0x231c21){try{if(this[_0x29a0('0x30')](_0x231c21)){if(this['channels'][_0x231c21[_0x29a0('0x31')]]){if(!_[_0x29a0('0x69')](this[_0x29a0('0x18')][_0x231c21[_0x29a0('0x31')]][_0x29a0('0x92')])){this[_0x29a0('0x18')][_0x231c21[_0x29a0('0x31')]]['mohtime']+=moment()[_0x29a0('0x94')](0x0)[_0x29a0('0x5b')](this[_0x29a0('0x18')][_0x231c21[_0x29a0('0x31')]][_0x29a0('0x92')],_0x29a0('0x95'));delete this[_0x29a0('0x18')][_0x231c21[_0x29a0('0x31')]][_0x29a0('0x92')];}}}}catch(_0x53a105){logger[_0x29a0('0x49')](_0x29a0('0x96'),util[_0x29a0('0x4b')](_0x53a105,{'showHidden':![],'depth':null}));}};module[_0x29a0('0x97')]=VoiceCallReport;