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