aef39a35c8105acf1770fa36c6d26fb08fa3252e
[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 _0x59cf=['split','destconnectedlinenum','exten','format','user:%s','name','user:agentconnect','[syncNewChannel][VoiceCallReport]','inspect','application','toLowerCase','applicationdata','appdata','duration','subtract','seconds','merge','includes','lastdata','startsWith','cdr(','match','[syncNewExten][VoiceCallReport]','syncNewState','channelstate','answered','diff','calleridnum','connectedlinenum','connectedlinename','calleridname','destinationchannel','membername','UserId','[syncNewState][VoiceCallReport]','syncMixMonitorFilename','monitor','endsWith','.wav49','replace','.WAV','monitorFilename','find','monitors','isNil','push','variable','mixmonitor_filename','value','xmd-callerid','callerid','xmd-cdrtype','xmd-queue','xmd-destination','xmd-callerid-preview','calleridpreview','xmcs-queue','sipcalluniqueid','parse','sipcallid','sipcalllinkedid','[syncVarSet][VoiceCallReport]','answertime','holdtime','billableseconds','context','omit','user:agentcomplete','accountcode','custom:voiceCallReport','[syncHangup][VoiceCallReport]','transfercalleridnum','origtransferercalleridnum','transfereeuniqueid','transfertargetcalleridnum','secondtransfereruniqueid','transfertargetuniqueid','origtransfereruniqueid','[syncAttendedTransfer][VoiceCallReport]','transferconnectedlinenum','extension','BlindTransfer','[syncBlindTransfer][VoiceCallReport]','mohstarttime','[syncMusicOnHoldStart][VoiceCallReport]','syncMusicOnHoldStop','[syncMusicOnHoldStop][VoiceCallReport]','bluebird','lodash','moment','util','path','ioredis','../../../config/environment','../../../config/logger','ami','../ami','../model/channel','unknown','not_inuse','invalid','unavailable','ringing','ringinuse','onhold','set','queue','agi','dial','playback','voicemail','NO\x20ANSWER','FAILED','ANSWERED','BUSY','redis','defaults','socket.io-emitter','channels','agents','coreshowchannel','syncNewExten','bind','newexten','newchannel','syncNewChannel','varset','syncVarSet','hangup','syncHangup','newcallerid','syncNewCallerId','attendedtransfer','syncAttendedTransfer','blindtransfer','syncBlindTransfer','musiconholdstart','syncMusicOnHoldStart','musiconholdstop','resolve','actionCoreShowChannels','catch','log','prototype','isNotNull','isUndefined','emit','linkedid','uniqueid','pick','keys','error','[syncNewCallerId][VoiceCallReport]','channel','OutgoingSpoolFailed','starttime','YYYY-MM-DD\x20HH:mm:ss','disposition','toNumber','from-sip'];(function(_0x2f2dd0,_0x242127){var _0x3c48d1=function(_0x4516b1){while(--_0x4516b1){_0x2f2dd0['push'](_0x2f2dd0['shift']());}};_0x3c48d1(++_0x242127);}(_0x59cf,0xf7));var _0xf59c=function(_0x1cc961,_0x2c42ee){_0x1cc961=_0x1cc961-0x0;var _0x471d86=_0x59cf[_0x1cc961];return _0x471d86;};'use strict';var BPromise=require(_0xf59c('0x0'));var _=require(_0xf59c('0x1'));var moment=require(_0xf59c('0x2'));var util=require(_0xf59c('0x3'));var path=require(_0xf59c('0x4'));var Redis=require(_0xf59c('0x5'));var config=require(_0xf59c('0x6'));var logger=require(_0xf59c('0x7'))(_0xf59c('0x8'));var ami=require(_0xf59c('0x9'));var Channel=require(_0xf59c('0xa'));var statusDesc=[_0xf59c('0xb'),_0xf59c('0xc'),'inuse','busy',_0xf59c('0xd'),_0xf59c('0xe'),_0xf59c('0xf'),_0xf59c('0x10'),_0xf59c('0x11')];var applications=[_0xf59c('0x12'),_0xf59c('0x13'),_0xf59c('0x14'),_0xf59c('0x15'),_0xf59c('0x16'),_0xf59c('0x17')];var dispositions=[_0xf59c('0x18'),_0xf59c('0x19'),_0xf59c('0x19'),_0xf59c('0x18'),_0xf59c('0x18'),_0xf59c('0x18'),_0xf59c('0x1a'),_0xf59c('0x1b'),_0xf59c('0x19'),_0xf59c('0x19'),_0xf59c('0x19')];var actions={};config[_0xf59c('0x1c')]=_[_0xf59c('0x1d')](config[_0xf59c('0x1c')],{'host':'localhost','port':0x18eb});var io=require(_0xf59c('0x1e'))(new Redis(config[_0xf59c('0x1c')]));function VoiceCallReport(_0x3c6a9d){this['channels']=_0x3c6a9d[_0xf59c('0x1f')];this[_0xf59c('0x20')]=_0x3c6a9d[_0xf59c('0x20')];ami['on'](_0xf59c('0x21'),this[_0xf59c('0x22')][_0xf59c('0x23')](this));ami['on'](_0xf59c('0x24'),this[_0xf59c('0x22')]['bind'](this));ami['on'](_0xf59c('0x25'),this[_0xf59c('0x26')][_0xf59c('0x23')](this));ami['on']('newstate',this['syncNewState'][_0xf59c('0x23')](this));ami['on'](_0xf59c('0x27'),this[_0xf59c('0x28')][_0xf59c('0x23')](this));ami['on'](_0xf59c('0x29'),this[_0xf59c('0x2a')][_0xf59c('0x23')](this));ami['on'](_0xf59c('0x2b'),this[_0xf59c('0x2c')]['bind'](this));ami['on'](_0xf59c('0x2d'),this[_0xf59c('0x2e')][_0xf59c('0x23')](this));ami['on'](_0xf59c('0x2f'),this[_0xf59c('0x30')][_0xf59c('0x23')](this));ami['on'](_0xf59c('0x31'),this[_0xf59c('0x32')][_0xf59c('0x23')](this));ami['on'](_0xf59c('0x33'),this['syncMusicOnHoldStop'][_0xf59c('0x23')](this));return BPromise[_0xf59c('0x34')]()['then'](ami[_0xf59c('0x35')]())[_0xf59c('0x36')](function(_0xf95f80){console[_0xf59c('0x37')](_0xf95f80);});}VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x39')]=function(_0x3c0521){return _0x3c0521!==null&&!_[_0xf59c('0x3a')](_0x3c0521);};VoiceCallReport[_0xf59c('0x38')]['emit']=function(_0x9d4a0a,_0x514906,_0x2c3108){io['to'](_0x9d4a0a)[_0xf59c('0x3b')](_0x514906,_0x2c3108);};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x2c')]=function(_0x1aa41b){try{if(this[_0xf59c('0x39')](_0x1aa41b)){if(_0x1aa41b['uniqueid']===_0x1aa41b[_0xf59c('0x3c')]){if(!_[_0xf59c('0x3a')](this[_0xf59c('0x1f')][_0x1aa41b[_0xf59c('0x3d')]])){_['merge'](this[_0xf59c('0x1f')][_0x1aa41b[_0xf59c('0x3d')]],_[_0xf59c('0x3e')](_0x1aa41b,_[_0xf59c('0x3f')](this[_0xf59c('0x1f')][_0x1aa41b[_0xf59c('0x3d')]])));}}}}catch(_0x57a2ae){logger[_0xf59c('0x40')](_0xf59c('0x41'),util['inspect'](_0x57a2ae,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x26')]=function(_0x548db5){try{if(this[_0xf59c('0x39')](_0x548db5)){if(_0x548db5[_0xf59c('0x3d')]===_0x548db5[_0xf59c('0x3c')]&&_0x548db5[_0xf59c('0x42')]!=_0xf59c('0x43')){if(_[_0xf59c('0x3a')](this['channels'][_0x548db5[_0xf59c('0x3d')]])){this[_0xf59c('0x1f')][_0x548db5[_0xf59c('0x3d')]]=new Channel();this[_0xf59c('0x1f')][_0x548db5[_0xf59c('0x3d')]][_0xf59c('0x44')]=moment()['format'](_0xf59c('0x45'));this[_0xf59c('0x1f')][_0x548db5[_0xf59c('0x3d')]][_0xf59c('0x46')]=dispositions[_[_0xf59c('0x47')](_0x548db5['channelstate'])];_['merge'](this[_0xf59c('0x1f')][_0x548db5['uniqueid']],_['pick'](_0x548db5,_[_0xf59c('0x3f')](this[_0xf59c('0x1f')][_0x548db5['uniqueid']])));if(_0x548db5['context']===_0xf59c('0x48')){if(this['agents'][_0x548db5[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]]){this[_0xf59c('0x20')][_0x548db5[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]][_0xf59c('0x4a')]=_0x548db5[_0xf59c('0x4b')];this[_0xf59c('0x3b')](util[_0xf59c('0x4c')](_0xf59c('0x4d'),this[_0xf59c('0x20')][_0x548db5[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]][_0xf59c('0x4e')]),_0xf59c('0x4f'),{'destaccountcode':this['agents'][_0x548db5[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]]['accountcode'],'destconnectedlinenum':_0x548db5[_0xf59c('0x4b')]});}}}}}}catch(_0x6dc502){logger[_0xf59c('0x40')](_0xf59c('0x50'),util[_0xf59c('0x51')](_0x6dc502,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x22')]=function(_0x523e7f){try{if(this['isNotNull'](_0x523e7f)){if(_0x523e7f[_0xf59c('0x3d')]===_0x523e7f[_0xf59c('0x3c')]&&_0x523e7f[_0xf59c('0x4b')]!='h'&&_0x523e7f[_0xf59c('0x42')]!=_0xf59c('0x43')){_0x523e7f[_0xf59c('0x52')]=_0x523e7f[_0xf59c('0x52')][_0xf59c('0x53')]();_0x523e7f[_0xf59c('0x54')]=(_0x523e7f[_0xf59c('0x55')]||_0x523e7f[_0xf59c('0x54')])[_0xf59c('0x53')]();if(_['isUndefined'](this[_0xf59c('0x1f')][_0x523e7f[_0xf59c('0x3d')]])){this['channels'][_0x523e7f[_0xf59c('0x3d')]]=new Channel();this[_0xf59c('0x1f')][_0x523e7f[_0xf59c('0x3d')]][_0xf59c('0x44')]=_0x523e7f[_0xf59c('0x56')]?moment()[_0xf59c('0x57')](moment[_0xf59c('0x56')](_0x523e7f[_0xf59c('0x56')])[_0xf59c('0x58')](),_0xf59c('0x58'))[_0xf59c('0x4c')](_0xf59c('0x45')):moment()['format'](_0xf59c('0x45'));this[_0xf59c('0x1f')][_0x523e7f[_0xf59c('0x3d')]][_0xf59c('0x46')]=_0xf59c('0x18');}_[_0xf59c('0x59')](this[_0xf59c('0x1f')][_0x523e7f[_0xf59c('0x3d')]],_['pick'](_0x523e7f,_['keys'](this['channels'][_0x523e7f[_0xf59c('0x3d')]])));if(_[_0xf59c('0x5a')](applications,_0x523e7f[_0xf59c('0x52')])){this[_0xf59c('0x1f')][_0x523e7f[_0xf59c('0x3d')]]['lastapplication']=_0x523e7f[_0xf59c('0x52')];this['channels'][_0x523e7f[_0xf59c('0x3d')]][_0xf59c('0x5b')]=_0x523e7f[_0xf59c('0x54')];if(_0x523e7f[_0xf59c('0x52')]===_0xf59c('0x12')&&_[_0xf59c('0x5c')](_0x523e7f[_0xf59c('0x54')],_0xf59c('0x5d'))){var _0x3d4ce7=_0x523e7f[_0xf59c('0x54')][_0xf59c('0x49')]('=');var _0x4f84fe=_0x3d4ce7[0x0][_0xf59c('0x5e')](/cdr\((.*)\)/);if(_0x4f84fe){this[_0xf59c('0x1f')][_0x523e7f['uniqueid']][_0x4f84fe[0x1]]=_0x3d4ce7[0x1];}}else if(_0x523e7f[_0xf59c('0x52')]===_0xf59c('0x13')){this[_0xf59c('0x1f')][_0x523e7f[_0xf59c('0x3d')]]['queue']=_0x523e7f['applicationdata'][_0xf59c('0x49')](',')[0x0];}}}}}catch(_0x27e186){logger['error'](_0xf59c('0x5f'),util[_0xf59c('0x51')](_0x27e186,{'showHidden':![],'depth':null}));}};VoiceCallReport['prototype'][_0xf59c('0x60')]=function(_0x755735){try{if(this[_0xf59c('0x39')](_0x755735)){if(_0x755735[_0xf59c('0x3d')]!==_0x755735[_0xf59c('0x3c')]){if(this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]]){if(_0x755735[_0xf59c('0x61')]==='6'){if(!this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x62')]){var _0x406e79=moment();this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x62')]=!![];this['channels'][_0x755735[_0xf59c('0x3c')]]['answertime']=_0x406e79[_0xf59c('0x4c')](_0xf59c('0x45'));if(this[_0xf59c('0x1f')][_0x755735['linkedid']][_0xf59c('0x44')]){this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]]['holdtime']=_0x406e79[_0xf59c('0x63')](this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x44')],'seconds');}}this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x3c')]=_0x755735['uniqueid'];if(_0x755735[_0xf59c('0x64')]!=='xcally-motion-preview'){this['channels'][_0x755735['linkedid']][_0xf59c('0x65')]=_0x755735[_0xf59c('0x64')];}this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x66')]=_0x755735[_0xf59c('0x67')];this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x68')]=_0x755735[_0xf59c('0x42')];this['channels'][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x46')]=dispositions[_[_0xf59c('0x47')](_0x755735[_0xf59c('0x61')])];if(this['agents'][_0x755735['channel']['split']('-')[0x0]]){this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]]['UserId']=this['agents'][_0x755735[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]]['id'];this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3c')]][_0xf59c('0x69')]=this[_0xf59c('0x20')][_0x755735[_0xf59c('0x42')]['split']('-')[0x0]]['name'];}}}}else{if(this['channels'][_0x755735[_0xf59c('0x3d')]]){if(_0x755735['channelstate']==='6'){if(this[_0xf59c('0x20')][_0x755735[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]]){this[_0xf59c('0x1f')][_0x755735[_0xf59c('0x3d')]][_0xf59c('0x6a')]=this[_0xf59c('0x20')][_0x755735['channel']['split']('-')[0x0]]['id'];this[_0xf59c('0x1f')][_0x755735['uniqueid']][_0xf59c('0x69')]=this[_0xf59c('0x20')][_0x755735[_0xf59c('0x42')]['split']('-')[0x0]]['name'];}}}}}}catch(_0x27886a){logger[_0xf59c('0x40')](_0xf59c('0x6b'),util[_0xf59c('0x51')](_0x27886a,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x6c')]=function(_0x232c15,_0x49d9b7){if(this[_0xf59c('0x1f')][_0x232c15]){this['channels'][_0x232c15][_0xf59c('0x6d')]=!![];if(_[_0xf59c('0x6e')](_0x49d9b7,_0xf59c('0x6f'))){_0x49d9b7=_0x49d9b7[_0xf59c('0x70')]('.wav49',_0xf59c('0x71'));}this[_0xf59c('0x1f')][_0x232c15][_0xf59c('0x72')]=_0x49d9b7;var _0x299ff3=_[_0xf59c('0x73')](this['channels'][_0x232c15][_0xf59c('0x74')],{'filename':_0x49d9b7});if(_[_0xf59c('0x75')](_0x299ff3)){this['channels'][_0x232c15]['monitors'][_0xf59c('0x76')]({'filename':_0x49d9b7,'createdAt':moment()['format'](_0xf59c('0x45')),'mixmonitorid':'','status':'rec'});}}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x28')]=function(_0x51b586){try{if(this[_0xf59c('0x39')](_0x51b586)){if(this[_0xf59c('0x1f')][_0x51b586[_0xf59c('0x3d')]]&&_0x51b586[_0xf59c('0x42')]!='OutgoingSpoolFailed'){if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')])){if(this[_0xf59c('0x39')](_0x51b586['variable'][_0xf59c('0x78')])){this['syncMixMonitorFilename'](_0x51b586[_0xf59c('0x3d')],_0x51b586['value']);}else if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')]['xmd-phone'])){this[_0xf59c('0x1f')][_0x51b586[_0xf59c('0x3d')]][_0xf59c('0x64')]=_0x51b586[_0xf59c('0x79')];}else if(this['isNotNull'](_0x51b586[_0xf59c('0x77')][_0xf59c('0x7a')])){this['channels'][_0x51b586[_0xf59c('0x3d')]][_0xf59c('0x7b')]=_0x51b586['value'];}else if(this['isNotNull'](_0x51b586[_0xf59c('0x77')][_0xf59c('0x7c')])){this['channels'][_0x51b586[_0xf59c('0x3d')]]['type']=_0x51b586[_0xf59c('0x79')];}else if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')][_0xf59c('0x7d')])){this[_0xf59c('0x1f')][_0x51b586[_0xf59c('0x3d')]][_0xf59c('0x13')]=_0x51b586[_0xf59c('0x79')][_0xf59c('0x49')](',')[0x0];}else if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')]['xmd-originatecalleridnum'])){this[_0xf59c('0x1f')][_0x51b586[_0xf59c('0x3d')]]['originatecalleridnum']=_0x51b586[_0xf59c('0x79')];}else if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')][_0xf59c('0x7e')])){this['channels'][_0x51b586[_0xf59c('0x3d')]]['destination']=_0x51b586[_0xf59c('0x79')];}else if(this['isNotNull'](_0x51b586[_0xf59c('0x77')][_0xf59c('0x7f')])){this[_0xf59c('0x1f')][_0x51b586['uniqueid']][_0xf59c('0x80')]=_0x51b586[_0xf59c('0x79')];}else if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')][_0xf59c('0x81')])){this[_0xf59c('0x1f')][_0x51b586[_0xf59c('0x3d')]][_0xf59c('0x13')]=_0x51b586[_0xf59c('0x79')];}else if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')]['sipcallid'])){this['channels'][_0x51b586[_0xf59c('0x3d')]][_0xf59c('0x82')]=_0x51b586[_0xf59c('0x79')];}}}else if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')]['mixmonitor_filename'])){if(_0x51b586[_0xf59c('0x79')]){var _0x5d8d2d=path[_0xf59c('0x83')](_0x51b586[_0xf59c('0x79')])[_0xf59c('0x4e')];this[_0xf59c('0x6c')](_0x5d8d2d,_0x51b586['value']);}}else if(this[_0xf59c('0x1f')][_0x51b586['linkedid']]){if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')])){if(this[_0xf59c('0x39')](_0x51b586[_0xf59c('0x77')][_0xf59c('0x84')])){this['channels'][_0x51b586[_0xf59c('0x3c')]][_0xf59c('0x85')]=_0x51b586[_0xf59c('0x79')];}}}}}catch(_0x2bb28e){logger['error'](_0xf59c('0x86'),util[_0xf59c('0x51')](_0x2bb28e,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x2a')]=function(_0x252cb4){try{if(this[_0xf59c('0x39')](_0x252cb4)){if(this['channels'][_0x252cb4[_0xf59c('0x3d')]]){var _0x39df53=moment();this[_0xf59c('0x1f')][_0x252cb4['uniqueid']]['endtime']=_0x39df53[_0xf59c('0x4c')](_0xf59c('0x45'));this[_0xf59c('0x1f')][_0x252cb4[_0xf59c('0x3d')]][_0xf59c('0x56')]=_0x39df53[_0xf59c('0x63')](this[_0xf59c('0x1f')][_0x252cb4[_0xf59c('0x3d')]][_0xf59c('0x44')],_0xf59c('0x58'));if(this[_0xf59c('0x1f')][_0x252cb4[_0xf59c('0x3d')]][_0xf59c('0x62')]){this[_0xf59c('0x1f')][_0x252cb4[_0xf59c('0x3d')]]['billableseconds']=_0x39df53[_0xf59c('0x63')](this[_0xf59c('0x1f')][_0x252cb4['uniqueid']][_0xf59c('0x87')],'seconds');this['channels'][_0x252cb4[_0xf59c('0x3d')]][_0xf59c('0x88')]=this['channels'][_0x252cb4[_0xf59c('0x3d')]][_0xf59c('0x56')]-this[_0xf59c('0x1f')][_0x252cb4['uniqueid']][_0xf59c('0x89')];}if(_0x252cb4[_0xf59c('0x8a')]==='from-sip'){if(this[_0xf59c('0x20')][_0x252cb4[_0xf59c('0x42')]['split']('-')[0x0]]){this[_0xf59c('0x20')][_0x252cb4[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]]=_[_0xf59c('0x8b')](this[_0xf59c('0x20')][_0x252cb4[_0xf59c('0x42')][_0xf59c('0x49')]('-')[0x0]],['destconnectedlinenum']);this[_0xf59c('0x3b')](util['format'](_0xf59c('0x4d'),this[_0xf59c('0x20')][_0x252cb4['channel']['split']('-')[0x0]][_0xf59c('0x4e')]),_0xf59c('0x8c'),{'destaccountcode':this['agents'][_0x252cb4['channel']['split']('-')[0x0]][_0xf59c('0x8d')]});}}ami['emit'](_0xf59c('0x8e'),this[_0xf59c('0x1f')][_0x252cb4[_0xf59c('0x3d')]]);delete this['channels'][_0x252cb4['uniqueid']];}}}catch(_0x56212e){logger[_0xf59c('0x40')](_0xf59c('0x8f'),util[_0xf59c('0x51')](_0x56212e,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x2e')]=function(_0x28d79b){try{if(this['isNotNull'](_0x28d79b)){if(this[_0xf59c('0x1f')][_0x28d79b['transfereeuniqueid']]){this['channels'][_0x28d79b['transfereeuniqueid']][_0xf59c('0x90')]=_0x28d79b[_0xf59c('0x91')];this['channels'][_0x28d79b[_0xf59c('0x92')]]['transferconnectedlinenum']=_0x28d79b[_0xf59c('0x93')];if(this[_0xf59c('0x1f')][_0x28d79b['secondtransfereruniqueid']]){var _0x41889e=this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x94')]];this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x94')]]=this['channels'][_0x28d79b[_0xf59c('0x92')]];this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x92')]]=_0x41889e;}}else if(this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x95')]]){this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x95')]][_0xf59c('0x90')]=_0x28d79b[_0xf59c('0x91')];this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x95')]]['transferconnectedlinenum']=_0x28d79b[_0xf59c('0x93')];if(this['channels'][_0x28d79b['origtransfereruniqueid']]){var _0x41889e=this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x96')]];this[_0xf59c('0x1f')][_0x28d79b[_0xf59c('0x96')]]=this['channels'][_0x28d79b[_0xf59c('0x95')]];this[_0xf59c('0x1f')][_0x28d79b['transfertargetuniqueid']]=_0x41889e;}}}}catch(_0x2d7bbe){logger[_0xf59c('0x40')](_0xf59c('0x97'),util[_0xf59c('0x51')](_0x2d7bbe,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x30')]=function(_0x2fbe51){try{if(this[_0xf59c('0x39')](_0x2fbe51)){if(this[_0xf59c('0x1f')][_0x2fbe51[_0xf59c('0x92')]]){this['channels'][_0x2fbe51[_0xf59c('0x92')]][_0xf59c('0x90')]=_0x2fbe51['transfereecalleridnum'];this[_0xf59c('0x1f')][_0x2fbe51[_0xf59c('0x92')]][_0xf59c('0x98')]=_0x2fbe51[_0xf59c('0x99')];this[_0xf59c('0x2a')]({'event':_0xf59c('0x9a'),'uniqueid':_0x2fbe51[_0xf59c('0x92')],'context':_0x2fbe51[_0xf59c('0x8a')],'channel':_0x2fbe51['transfererchannel']});}}}catch(_0x7a4537){logger[_0xf59c('0x40')](_0xf59c('0x9b'),util['inspect'](_0x7a4537,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')]['syncMusicOnHoldStart']=function(_0x3adf97){try{if(this[_0xf59c('0x39')](_0x3adf97)){if(this[_0xf59c('0x1f')][_0x3adf97['uniqueid']]){if(!_[_0xf59c('0x75')](this[_0xf59c('0x1f')][_0x3adf97[_0xf59c('0x3d')]][_0xf59c('0x87')])){this['channels'][_0x3adf97[_0xf59c('0x3d')]][_0xf59c('0x9c')]=moment()[_0xf59c('0x4c')](_0xf59c('0x45'));}}}}catch(_0x43ef6){logger[_0xf59c('0x40')](_0xf59c('0x9d'),util[_0xf59c('0x51')](_0x43ef6,{'showHidden':![],'depth':null}));}};VoiceCallReport[_0xf59c('0x38')][_0xf59c('0x9e')]=function(_0x41d874){try{if(this['isNotNull'](_0x41d874)){if(this[_0xf59c('0x1f')][_0x41d874['uniqueid']]){if(!_[_0xf59c('0x75')](this[_0xf59c('0x1f')][_0x41d874[_0xf59c('0x3d')]][_0xf59c('0x9c')])){this[_0xf59c('0x1f')][_0x41d874[_0xf59c('0x3d')]]['mohtime']+=moment()['milliseconds'](0x0)['diff'](this[_0xf59c('0x1f')][_0x41d874[_0xf59c('0x3d')]]['mohstarttime'],_0xf59c('0x58'));delete this[_0xf59c('0x1f')][_0x41d874[_0xf59c('0x3d')]]['mohstarttime'];}}}}catch(_0x389c41){logger[_0xf59c('0x40')](_0xf59c('0x9f'),util[_0xf59c('0x51')](_0x389c41,{'showHidden':![],'depth':null}));}};module['exports']=VoiceCallReport;