Built motion from commit 0900f080.|2.5.45
[motion2.git] / server / services / ami / report / voiceDialReport.js
index 08b0ed8..64edcf4 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7dfd=['ami','../ami','redis','defaults','localhost','socket.io-emitter','channels','outboundChannels','outbound','applications','variables','dialbegin','bind','syncDialEnd','varset','syncVarSet','hangup','syncHangup','prototype','isNotNull','isUndefined','emit','[%s][voiceDialReport][dialbegin]\x20event:','uniqueid','merge','format','YYYY-MM-DD\x20HH:mm:ss','channel','substring','lastIndexOf','omit','privilege','[%s][voiceDialReport][dialbegin]\x20agent:%s\x20interface:%s\x20lastevent:called','membername','[%s][voiceDialReport][dialbegin]\x20sending\x20voice_outbound_channel:save\x20event:','inspect','voice:outbound','voice_outbound_channel:save','debug','error','[%s][voiceDialReport][dialbegin]','dialstatus','ANSWER','connectedlinenum','connectedlinename','lastevent','connect','info','[%s][voiceDialReport][dialend]\x20agent:%s\x20lastevent:connect','[%s][voiceDialReport][dialend]\x20sending\x20dialconnect\x20event:','addVariable','keys','variable','value','voice','[%s][voiceDialReport][varset]\x20outboundrouteid:%s\x20variable:%s\x20value:%s','[%s][voiceDialReport][varset]','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrttbridged','sipcallid','sipuri','bridgepeer','bridgepvtcallid','memberlastcall','memberpenalty','memberrealtime','isNil','includes','[%s][voiceDialReport][hangup]\x20event:','cause-txt','endtime','diff','starttime','complete','total','answertime','answered','holdtime','seconds','billableseconds','sumHoldTime','sumBillable','sumDuration','duration','[%s][voiceDialReport][hangup]\x20sending\x20dialend\x20event:','custom:dialend','[%s][voiceDialReport][hangup]\x20sending\x20voice_outbound:save\x20event:','voice_outbound:save','[DEBUG]\x20Emit\x20voice_outbound_channel:remove\x20event','[%s][voiceDialReport][hangup]\x20sending\x20voice_outbound_channel:remove\x20event:','linkedid','destuniqueid','syncNewExten','[%s][voiceDialReport][newexten]\x20event:','application','toLowerCase','set','appdata','applicationdata','startsWith','cdr(','[%s][voiceDialReport][newexten]\x20application:%s\x20appdata:%s','split','match','exports','lodash','moment','util','ioredis','../../../config/environment','../../../config/logger'];(function(_0x319974,_0x1be08f){var _0x10fae2=function(_0x4d5528){while(--_0x4d5528){_0x319974['push'](_0x319974['shift']());}};_0x10fae2(++_0x1be08f);}(_0x7dfd,0x1c2));var _0xd7df=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7dfd[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0xd7df('0x0'));var moment=require(_0xd7df('0x1'));var util=require(_0xd7df('0x2'));var Redis=require(_0xd7df('0x3'));var config=require(_0xd7df('0x4'));var logger=require(_0xd7df('0x5'))(_0xd7df('0x6'));var ami=require(_0xd7df('0x7'));config[_0xd7df('0x8')]=_[_0xd7df('0x9')](config[_0xd7df('0x8')],{'host':_0xd7df('0xa'),'port':0x18eb});var io=require(_0xd7df('0xb'))(new Redis(config[_0xd7df('0x8')]));function VoiceDialReport(_0x354ea7){this[_0xd7df('0xc')]=_0x354ea7[_0xd7df('0xd')];this['outbound']=_0x354ea7[_0xd7df('0xe')];this[_0xd7df('0xf')]={};this[_0xd7df('0x10')]={};ami['on'](_0xd7df('0x11'),this['syncDialBegin'][_0xd7df('0x12')](this));ami['on']('dialend',this[_0xd7df('0x13')]['bind'](this));ami['on'](_0xd7df('0x14'),this[_0xd7df('0x15')][_0xd7df('0x12')](this));ami['on'](_0xd7df('0x16'),this[_0xd7df('0x17')][_0xd7df('0x12')](this));}VoiceDialReport[_0xd7df('0x18')][_0xd7df('0x19')]=function(_0x7ba3c){return _0x7ba3c!==null&&!_[_0xd7df('0x1a')](_0x7ba3c);};VoiceDialReport[_0xd7df('0x18')][_0xd7df('0x1b')]=function(_0xe1595f,_0x196632,_0x3b2559){io['to'](_0xe1595f)[_0xd7df('0x1b')](_0x196632,_0x3b2559);};VoiceDialReport[_0xd7df('0x18')]['syncDialBegin']=function(_0x4c5cf){try{if(this[_0xd7df('0x19')](_0x4c5cf)){logger['debug'](_0xd7df('0x1c'),_0x4c5cf[_0xd7df('0x1d')],util['inspect'](_0x4c5cf,{'showHidden':![],'depth':null}));if(this[_0xd7df('0xc')][_0x4c5cf[_0xd7df('0x1d')]]){_[_0xd7df('0x1e')](this['channels'][_0x4c5cf[_0xd7df('0x1d')]],{'starttime':moment()[_0xd7df('0x1f')](_0xd7df('0x20')),'lastevent':'called','interface':_0x4c5cf[_0xd7df('0x21')][_0xd7df('0x22')](0x0,_0x4c5cf[_0xd7df('0x21')]['lastIndexOf']('-')),'membername':_0x4c5cf[_0xd7df('0x21')]['substring'](_0x4c5cf[_0xd7df('0x21')]['lastIndexOf']('/')+0x1,_0x4c5cf[_0xd7df('0x21')][_0xd7df('0x23')]('-'))},_[_0xd7df('0x24')](_0x4c5cf,['event',_0xd7df('0x25')]));logger['info'](_0xd7df('0x26'),_0x4c5cf[_0xd7df('0x1d')],this[_0xd7df('0xc')][_0x4c5cf[_0xd7df('0x1d')]][_0xd7df('0x27')],this[_0xd7df('0xc')][_0x4c5cf[_0xd7df('0x1d')]]['interface']);logger['debug'](_0xd7df('0x28'),_0x4c5cf[_0xd7df('0x1d')],util[_0xd7df('0x29')](this[_0xd7df('0xc')][_0x4c5cf[_0xd7df('0x1d')]],{'showHidden':![],'depth':null}));if(this[_0xd7df('0xf')][_0x4c5cf[_0xd7df('0x1d')]])_[_0xd7df('0x1e')](this[_0xd7df('0xc')][_0x4c5cf['uniqueid']],this[_0xd7df('0xf')][_0x4c5cf[_0xd7df('0x1d')]]);this[_0xd7df('0x1b')](_0xd7df('0x2a'),_0xd7df('0x2b'),this[_0xd7df('0xc')][_0x4c5cf[_0xd7df('0x1d')]]);logger[_0xd7df('0x2c')]('[%s][voiceDialReport][dialbegin]\x20sending\x20dialbegin\x20event:',_0x4c5cf['uniqueid'],util['inspect'](this['channels'][_0x4c5cf['uniqueid']],{'showHidden':![],'depth':null}));ami[_0xd7df('0x1b')]('custom:dialbegin',this[_0xd7df('0xc')][_0x4c5cf[_0xd7df('0x1d')]]);}}}catch(_0x503a90){logger[_0xd7df('0x2d')](_0xd7df('0x2e'),_0x4c5cf['uniqueid'],util[_0xd7df('0x29')](_0x503a90,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0xd7df('0x18')][_0xd7df('0x13')]=function(_0x3cf290){try{if(this[_0xd7df('0x19')](_0x3cf290)){logger[_0xd7df('0x2c')]('[%s][voiceDialReport][dialend]\x20event:',_0x3cf290[_0xd7df('0x1d')],util[_0xd7df('0x29')](_0x3cf290,{'showHidden':![],'depth':null}));if(this[_0xd7df('0xc')][_0x3cf290[_0xd7df('0x1d')]]){this[_0xd7df('0xc')][_0x3cf290[_0xd7df('0x1d')]][_0xd7df('0x2f')]=_0x3cf290[_0xd7df('0x2f')];if(_0x3cf290[_0xd7df('0x2f')]===_0xd7df('0x30')){this[_0xd7df('0xc')][_0x3cf290['uniqueid']]['connectedlinenum']=_0x3cf290[_0xd7df('0x31')];this['channels'][_0x3cf290[_0xd7df('0x1d')]][_0xd7df('0x32')]=_0x3cf290[_0xd7df('0x32')];this[_0xd7df('0xc')][_0x3cf290['uniqueid']]['answertime']=moment()['format'](_0xd7df('0x20'));this[_0xd7df('0xc')][_0x3cf290['uniqueid']][_0xd7df('0x33')]=_0xd7df('0x34');logger[_0xd7df('0x35')](_0xd7df('0x36'),_0x3cf290['uniqueid'],_0x3cf290[_0xd7df('0x21')][_0xd7df('0x22')](_0x3cf290['channel'][_0xd7df('0x23')]('/')+0x1,_0x3cf290['channel'][_0xd7df('0x23')]('-')));logger[_0xd7df('0x2c')](_0xd7df('0x37'),_0x3cf290['uniqueid'],util[_0xd7df('0x29')](this[_0xd7df('0xc')][_0x3cf290[_0xd7df('0x1d')]],{'showHidden':![],'depth':null}));ami[_0xd7df('0x1b')]('custom:dialconnect',this[_0xd7df('0xc')][_0x3cf290[_0xd7df('0x1d')]]);}logger[_0xd7df('0x2c')]('[%s][voiceDialReport][dialend]\x20sending\x20voice_outbound_channel:save\x20event:',_0x3cf290[_0xd7df('0x1d')],util[_0xd7df('0x29')](this[_0xd7df('0xc')][_0x3cf290['uniqueid']],{'showHidden':![],'depth':null}));this[_0xd7df('0x1b')](_0xd7df('0x2a'),'voice_outbound_channel:save',this['channels'][_0x3cf290[_0xd7df('0x1d')]]);}}}catch(_0x211feb){logger[_0xd7df('0x2d')]('[%s][voiceDialReport][dialend]',_0x3cf290['uniqueid'],util[_0xd7df('0x29')](_0x211feb,{'showHidden':![],'depth':null}));}};VoiceDialReport['prototype'][_0xd7df('0x15')]=function(_0x561c12){try{if(this['isNotNull'](_0x561c12)){logger[_0xd7df('0x2c')]('[%s][voiceDialReport][varset]\x20event:',_0x561c12[_0xd7df('0x1d')],util[_0xd7df('0x29')](_0x561c12,{'showHidden':![],'depth':null}));this[_0xd7df('0x38')](_0x561c12[_0xd7df('0x1d')],_[_0xd7df('0x39')](_0x561c12[_0xd7df('0x3a')])[0x0],_0x561c12[_0xd7df('0x3b')]);if(this[_0xd7df('0x19')](_0x561c12[_0xd7df('0x3a')])&&this['isNotNull'](_0x561c12[_0xd7df('0x3a')]['outboundrouteid'])){if(_[_0xd7df('0x1a')](this[_0xd7df('0xc')][_0x561c12[_0xd7df('0x1d')]])){this[_0xd7df('0xc')][_0x561c12[_0xd7df('0x1d')]]={'routeId':_0x561c12[_0xd7df('0x3b')],'variables':this[_0xd7df('0x10')][_0x561c12[_0xd7df('0x1d')]],'motionChannel':_0xd7df('0x3c')};logger['info'](_0xd7df('0x3d'),_0x561c12[_0xd7df('0x1d')],_0x561c12['variable']['outboundrouteid'],_[_0xd7df('0x39')](_0x561c12[_0xd7df('0x3a')])[0x0],_0x561c12[_0xd7df('0x3b')]);logger['debug']('[%s][voiceDialReport][varset]\x20sending\x20voice_outbound_channel:save\x20event:',_0x561c12[_0xd7df('0x1d')],util['inspect'](this[_0xd7df('0xc')][_0x561c12[_0xd7df('0x1d')]],{'showHidden':![],'depth':null}));this[_0xd7df('0x1b')](_0xd7df('0x2a'),_0xd7df('0x2b'),this[_0xd7df('0xc')][_0x561c12[_0xd7df('0x1d')]]);}}}}catch(_0x384007){logger[_0xd7df('0x2d')](_0xd7df('0x3e'),_0x561c12[_0xd7df('0x1d')],util[_0xd7df('0x29')](_0x384007,{'showHidden':![],'depth':null}));}};VoiceDialReport['prototype'][_0xd7df('0x38')]=function(_0x43de77,_0x177d66,_0x3b2cb0){var _0x215251=['rtpaudioqos',_0xd7df('0x3f'),_0xd7df('0x40'),_0xd7df('0x41'),'rtpaudioqosloss',_0xd7df('0x42'),'rtpaudioqosrtt',_0xd7df('0x43'),_0xd7df('0x44'),_0xd7df('0x45'),_0xd7df('0x46'),_0xd7df('0x47'),'membercalls','memberdynamic','memberinterface',_0xd7df('0x48'),'membername',_0xd7df('0x49'),_0xd7df('0x4a')];if(!_[_0xd7df('0x4b')](_0x177d66)&&!_[_0xd7df('0x4c')](_0x215251,_0x177d66)){if(_[_0xd7df('0x1a')](this[_0xd7df('0x10')][_0x43de77])){this[_0xd7df('0x10')][_0x43de77]={};}this[_0xd7df('0x10')][_0x43de77][_0x177d66]=_0x3b2cb0;}};VoiceDialReport[_0xd7df('0x18')][_0xd7df('0x17')]=function(_0x382d11){try{if(this[_0xd7df('0x19')](_0x382d11)){logger[_0xd7df('0x2c')](_0xd7df('0x4d'),_0x382d11[_0xd7df('0x1d')],util[_0xd7df('0x29')](_0x382d11,{'showHidden':![],'depth':null}));if(this['channels'][_0x382d11[_0xd7df('0x1d')]]){logger[_0xd7df('0x35')]('[%s][voiceDialReport][hangup]\x20reason:%s\x20lasteevent:complete',_0x382d11['uniqueid'],_0x382d11[_0xd7df('0x4e')]);this['channels'][_0x382d11[_0xd7df('0x1d')]]['endtime']=moment()[_0xd7df('0x1f')](_0xd7df('0x20'));this[_0xd7df('0xc')][_0x382d11['uniqueid']]['duration']=moment(this['channels'][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x4f')])[_0xd7df('0x50')](this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x51')],'seconds');this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x33')]=_0xd7df('0x52');this[_0xd7df('0xe')][_0xd7df('0x53')]+=0x1;if(this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x54')]){this[_0xd7df('0xe')][_0xd7df('0x55')]+=0x1;this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x56')]=moment(this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x54')])[_0xd7df('0x50')](this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x51')],_0xd7df('0x57'));this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x58')]=moment(this[_0xd7df('0xc')][_0x382d11['uniqueid']]['endtime'])[_0xd7df('0x50')](this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]]['answertime'],_0xd7df('0x57'));this[_0xd7df('0xe')][_0xd7df('0x59')]+=this[_0xd7df('0xc')][_0x382d11['uniqueid']][_0xd7df('0x56')]||0x0;this[_0xd7df('0xe')][_0xd7df('0x5a')]+=this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x58')];}this[_0xd7df('0xe')][_0xd7df('0x5b')]+=this['channels'][_0x382d11[_0xd7df('0x1d')]][_0xd7df('0x5c')];logger['debug']('[%s][voiceDialReport][hangup]\x20sending\x20voiceDialReport\x20event:',_0x382d11['uniqueid'],util[_0xd7df('0x29')](this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]],{'showHidden':![],'depth':null}));ami[_0xd7df('0x1b')]('custom:voiceDialReport',this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]]);logger[_0xd7df('0x2c')](_0xd7df('0x5d'),_0x382d11[_0xd7df('0x1d')],util[_0xd7df('0x29')](this[_0xd7df('0xc')][_0x382d11['uniqueid']],{'showHidden':![],'depth':null}));ami['emit'](_0xd7df('0x5e'),this['channels'][_0x382d11[_0xd7df('0x1d')]]);logger[_0xd7df('0x2c')](_0xd7df('0x5f'),_0x382d11['uniqueid'],util['inspect'](this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]],{'showHidden':![],'depth':null}));this['emit'](_0xd7df('0x2a'),_0xd7df('0x60'),this['outbound']);logger[_0xd7df('0x35')](_0xd7df('0x61'),JSON['stringify'](this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]]));logger[_0xd7df('0x2c')](_0xd7df('0x62'),_0x382d11[_0xd7df('0x1d')],util[_0xd7df('0x29')](this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]],{'showHidden':![],'depth':null}));this[_0xd7df('0x1b')]('voice:outbound','voice_outbound_channel:remove',this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]]);delete this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x1d')]];}else if(this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x63')]]){this[_0xd7df('0xc')][_0x382d11[_0xd7df('0x63')]][_0xd7df('0x1d')]=this['channels'][_0x382d11[_0xd7df('0x63')]][_0xd7df('0x64')];}if(this['variables'][_0x382d11[_0xd7df('0x1d')]]){delete this[_0xd7df('0x10')][_0x382d11[_0xd7df('0x1d')]];}}}catch(_0x45c73b){logger['error']('[%s][voiceDialReport][hangup]',_0x382d11['uniqueid'],util[_0xd7df('0x29')](_0x45c73b,{'showHidden':![],'depth':null}));}};VoiceDialReport['prototype'][_0xd7df('0x65')]=function(_0x2b1b30){try{if(this[_0xd7df('0x19')](_0x2b1b30)){logger[_0xd7df('0x2c')](_0xd7df('0x66'),_0x2b1b30[_0xd7df('0x1d')],util['inspect'](_0x2b1b30,{'showHidden':![],'depth':null}));if(_0x2b1b30[_0xd7df('0x67')][_0xd7df('0x68')]()===_0xd7df('0x69')){_0x2b1b30['applicationdata']=(_0x2b1b30[_0xd7df('0x6a')]||_0x2b1b30[_0xd7df('0x6b')])['toLowerCase']();if(_[_0xd7df('0x6c')](_0x2b1b30[_0xd7df('0x6b')],_0xd7df('0x6d'))){if(_[_0xd7df('0x1a')](this[_0xd7df('0xf')][_0x2b1b30[_0xd7df('0x1d')]]))this[_0xd7df('0xf')][_0x2b1b30['uniqueid']]={};logger[_0xd7df('0x35')](_0xd7df('0x6e'),_0x2b1b30[_0xd7df('0x1d')],_0x2b1b30[_0xd7df('0x67')],_0x2b1b30['applicationdata']);var _0x531a07=_0x2b1b30[_0xd7df('0x6b')][_0xd7df('0x6f')]('=');var _0x33d4c6=_0x531a07[0x0][_0xd7df('0x70')](/cdr\((.*)\)/);if(_0x33d4c6)this[_0xd7df('0xf')][_0x2b1b30['uniqueid']][_0x33d4c6[0x1]]=_0x531a07[0x1];}}}}catch(_0x2329ce){logger['error']('[%s][voiceDialReport][newexten]',_0x2b1b30[_0xd7df('0x1d')],util[_0xd7df('0x29')](_0x2329ce,{'showHidden':![],'depth':null}));}};module[_0xd7df('0x71')]=VoiceDialReport;
\ No newline at end of file
+var _0xee14=['connectedlinename','answertime','YYYY-MM-DD\x20HH:mm:ss','lastevent','connect','[%s][voiceDialReport][dialend]\x20agent:%s\x20lastevent:connect','[%s][voiceDialReport][dialend]\x20sending\x20dialconnect\x20event:','custom:dialconnect','[%s][voiceDialReport][dialend]\x20sending\x20voice_outbound_channel:save\x20event:','voice:outbound','syncVarSet','[%s][voiceDialReport][varset]\x20event:','addVariable','keys','variable','voice','[%s][voiceDialReport][varset]\x20outboundrouteid:%s\x20variable:%s\x20value:%s','outboundrouteid','value','[%s][voiceDialReport][varset]\x20sending\x20voice_outbound_channel:save\x20event:','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqosrtt','sipcallid','bridgepeer','bridgepvtcallid','membercalls','memberinterface','memberlastcall','memberpenalty','memberrealtime','isNil','includes','variables','[%s][voiceDialReport][hangup]\x20event:','duration','endtime','starttime','seconds','total','answered','diff','billableseconds','sumHoldTime','holdtime','sumDuration','[%s][voiceDialReport][hangup]\x20sending\x20voiceDialReport\x20event:','custom:voiceDialReport','[%s][voiceDialReport][hangup]\x20sending\x20dialend\x20event:','custom:dialend','[%s][voiceDialReport][hangup]\x20sending\x20voice_outbound:save\x20event:','voice_outbound:save','stringify','[%s][voiceDialReport][hangup]\x20sending\x20voice_outbound_channel:remove\x20event:','voice_outbound_channel:remove','linkedid','destuniqueid','[%s][voiceDialReport][hangup]','[%s][voiceDialReport][newexten]\x20event:','application','toLowerCase','set','appdata','applicationdata','startsWith','cdr(','split','match','[%s][voiceDialReport][newexten]','util','ioredis','../../../config/environment','../../../config/logger','ami','../ami','redis','defaults','socket.io-emitter','channels','outboundChannels','outbound','applications','dialbegin','syncDialBegin','dialend','syncDialEnd','bind','varset','hangup','syncHangup','prototype','isNotNull','isUndefined','emit','debug','[%s][voiceDialReport][dialbegin]\x20event:','uniqueid','inspect','merge','format','called','channel','substring','lastIndexOf','omit','event','privilege','info','[%s][voiceDialReport][dialbegin]\x20agent:%s\x20interface:%s\x20lastevent:called','membername','interface','[%s][voiceDialReport][dialbegin]\x20sending\x20voice_outbound_channel:save\x20event:','voice_outbound_channel:save','[%s][voiceDialReport][dialbegin]\x20sending\x20dialbegin\x20event:','custom:dialbegin','error','[%s][voiceDialReport][dialbegin]','[%s][voiceDialReport][dialend]\x20event:','dialstatus','ANSWER','connectedlinenum'];(function(_0x2867d8,_0xef3ee0){var _0x3b8176=function(_0x2b9eb8){while(--_0x2b9eb8){_0x2867d8['push'](_0x2867d8['shift']());}};_0x3b8176(++_0xef3ee0);}(_0xee14,0x13a));var _0x4ee1=function(_0xe959f3,_0x27c959){_0xe959f3=_0xe959f3-0x0;var _0xd2ee62=_0xee14[_0xe959f3];return _0xd2ee62;};'use strict';var _=require('lodash');var moment=require('moment');var util=require(_0x4ee1('0x0'));var Redis=require(_0x4ee1('0x1'));var config=require(_0x4ee1('0x2'));var logger=require(_0x4ee1('0x3'))(_0x4ee1('0x4'));var ami=require(_0x4ee1('0x5'));config[_0x4ee1('0x6')]=_[_0x4ee1('0x7')](config[_0x4ee1('0x6')],{'host':'localhost','port':0x18eb});var io=require(_0x4ee1('0x8'))(new Redis(config['redis']));function VoiceDialReport(_0x327c18){this[_0x4ee1('0x9')]=_0x327c18[_0x4ee1('0xa')];this[_0x4ee1('0xb')]=_0x327c18[_0x4ee1('0xb')];this[_0x4ee1('0xc')]={};this['variables']={};ami['on'](_0x4ee1('0xd'),this[_0x4ee1('0xe')]['bind'](this));ami['on'](_0x4ee1('0xf'),this[_0x4ee1('0x10')][_0x4ee1('0x11')](this));ami['on'](_0x4ee1('0x12'),this['syncVarSet'][_0x4ee1('0x11')](this));ami['on'](_0x4ee1('0x13'),this[_0x4ee1('0x14')][_0x4ee1('0x11')](this));}VoiceDialReport[_0x4ee1('0x15')][_0x4ee1('0x16')]=function(_0x5616d6){return _0x5616d6!==null&&!_[_0x4ee1('0x17')](_0x5616d6);};VoiceDialReport[_0x4ee1('0x15')][_0x4ee1('0x18')]=function(_0x24a915,_0x46d2c2,_0x1c342a){io['to'](_0x24a915)[_0x4ee1('0x18')](_0x46d2c2,_0x1c342a);};VoiceDialReport[_0x4ee1('0x15')][_0x4ee1('0xe')]=function(_0x4e3490){try{if(this[_0x4ee1('0x16')](_0x4e3490)){logger[_0x4ee1('0x19')](_0x4ee1('0x1a'),_0x4e3490[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](_0x4e3490,{'showHidden':![],'depth':null}));if(this[_0x4ee1('0x9')][_0x4e3490[_0x4ee1('0x1b')]]){_[_0x4ee1('0x1d')](this[_0x4ee1('0x9')][_0x4e3490[_0x4ee1('0x1b')]],{'starttime':moment()[_0x4ee1('0x1e')]('YYYY-MM-DD\x20HH:mm:ss'),'lastevent':_0x4ee1('0x1f'),'interface':_0x4e3490[_0x4ee1('0x20')][_0x4ee1('0x21')](0x0,_0x4e3490[_0x4ee1('0x20')][_0x4ee1('0x22')]('-')),'membername':_0x4e3490[_0x4ee1('0x20')]['substring'](_0x4e3490[_0x4ee1('0x20')][_0x4ee1('0x22')]('/')+0x1,_0x4e3490[_0x4ee1('0x20')][_0x4ee1('0x22')]('-'))},_[_0x4ee1('0x23')](_0x4e3490,[_0x4ee1('0x24'),_0x4ee1('0x25')]));logger[_0x4ee1('0x26')](_0x4ee1('0x27'),_0x4e3490[_0x4ee1('0x1b')],this['channels'][_0x4e3490['uniqueid']][_0x4ee1('0x28')],this[_0x4ee1('0x9')][_0x4e3490[_0x4ee1('0x1b')]][_0x4ee1('0x29')]);logger[_0x4ee1('0x19')](_0x4ee1('0x2a'),_0x4e3490['uniqueid'],util['inspect'](this[_0x4ee1('0x9')][_0x4e3490[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));if(this['applications'][_0x4e3490[_0x4ee1('0x1b')]])_[_0x4ee1('0x1d')](this[_0x4ee1('0x9')][_0x4e3490[_0x4ee1('0x1b')]],this[_0x4ee1('0xc')][_0x4e3490[_0x4ee1('0x1b')]]);this[_0x4ee1('0x18')]('voice:outbound',_0x4ee1('0x2b'),this['channels'][_0x4e3490[_0x4ee1('0x1b')]]);logger['debug'](_0x4ee1('0x2c'),_0x4e3490[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](this[_0x4ee1('0x9')][_0x4e3490[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));ami['emit'](_0x4ee1('0x2d'),this['channels'][_0x4e3490[_0x4ee1('0x1b')]]);}}}catch(_0x3d5e6c){logger[_0x4ee1('0x2e')](_0x4ee1('0x2f'),_0x4e3490[_0x4ee1('0x1b')],util['inspect'](_0x3d5e6c,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x4ee1('0x15')][_0x4ee1('0x10')]=function(_0x422ba8){try{if(this[_0x4ee1('0x16')](_0x422ba8)){logger[_0x4ee1('0x19')](_0x4ee1('0x30'),_0x422ba8['uniqueid'],util['inspect'](_0x422ba8,{'showHidden':![],'depth':null}));if(this[_0x4ee1('0x9')][_0x422ba8[_0x4ee1('0x1b')]]){this[_0x4ee1('0x9')][_0x422ba8['uniqueid']][_0x4ee1('0x31')]=_0x422ba8[_0x4ee1('0x31')];if(_0x422ba8[_0x4ee1('0x31')]===_0x4ee1('0x32')){this[_0x4ee1('0x9')][_0x422ba8[_0x4ee1('0x1b')]][_0x4ee1('0x33')]=_0x422ba8[_0x4ee1('0x33')];this[_0x4ee1('0x9')][_0x422ba8[_0x4ee1('0x1b')]][_0x4ee1('0x34')]=_0x422ba8[_0x4ee1('0x34')];this[_0x4ee1('0x9')][_0x422ba8['uniqueid']][_0x4ee1('0x35')]=moment()[_0x4ee1('0x1e')](_0x4ee1('0x36'));this['channels'][_0x422ba8['uniqueid']][_0x4ee1('0x37')]=_0x4ee1('0x38');logger[_0x4ee1('0x26')](_0x4ee1('0x39'),_0x422ba8['uniqueid'],_0x422ba8[_0x4ee1('0x20')][_0x4ee1('0x21')](_0x422ba8[_0x4ee1('0x20')][_0x4ee1('0x22')]('/')+0x1,_0x422ba8[_0x4ee1('0x20')][_0x4ee1('0x22')]('-')));logger[_0x4ee1('0x19')](_0x4ee1('0x3a'),_0x422ba8['uniqueid'],util[_0x4ee1('0x1c')](this[_0x4ee1('0x9')][_0x422ba8[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));ami[_0x4ee1('0x18')](_0x4ee1('0x3b'),this[_0x4ee1('0x9')][_0x422ba8['uniqueid']]);}logger[_0x4ee1('0x19')](_0x4ee1('0x3c'),_0x422ba8[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](this[_0x4ee1('0x9')][_0x422ba8[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));this[_0x4ee1('0x18')](_0x4ee1('0x3d'),_0x4ee1('0x2b'),this[_0x4ee1('0x9')][_0x422ba8[_0x4ee1('0x1b')]]);}}}catch(_0x46bf93){logger[_0x4ee1('0x2e')]('[%s][voiceDialReport][dialend]',_0x422ba8[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](_0x46bf93,{'showHidden':![],'depth':null}));}};VoiceDialReport['prototype'][_0x4ee1('0x3e')]=function(_0x5bfb08){try{if(this[_0x4ee1('0x16')](_0x5bfb08)){logger['debug'](_0x4ee1('0x3f'),_0x5bfb08[_0x4ee1('0x1b')],util['inspect'](_0x5bfb08,{'showHidden':![],'depth':null}));this[_0x4ee1('0x40')](_0x5bfb08[_0x4ee1('0x1b')],_[_0x4ee1('0x41')](_0x5bfb08[_0x4ee1('0x42')])[0x0],_0x5bfb08['value']);if(this[_0x4ee1('0x16')](_0x5bfb08[_0x4ee1('0x42')])&&this[_0x4ee1('0x16')](_0x5bfb08['variable']['outboundrouteid'])){if(_[_0x4ee1('0x17')](this[_0x4ee1('0x9')][_0x5bfb08[_0x4ee1('0x1b')]])){this[_0x4ee1('0x9')][_0x5bfb08[_0x4ee1('0x1b')]]={'routeId':_0x5bfb08['value'],'variables':this['variables'][_0x5bfb08[_0x4ee1('0x1b')]],'motionChannel':_0x4ee1('0x43')};logger[_0x4ee1('0x26')](_0x4ee1('0x44'),_0x5bfb08['uniqueid'],_0x5bfb08[_0x4ee1('0x42')][_0x4ee1('0x45')],_['keys'](_0x5bfb08[_0x4ee1('0x42')])[0x0],_0x5bfb08[_0x4ee1('0x46')]);logger[_0x4ee1('0x19')](_0x4ee1('0x47'),_0x5bfb08[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](this[_0x4ee1('0x9')][_0x5bfb08[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));this[_0x4ee1('0x18')]('voice:outbound','voice_outbound_channel:save',this[_0x4ee1('0x9')][_0x5bfb08[_0x4ee1('0x1b')]]);}}}}catch(_0x3bda30){logger[_0x4ee1('0x2e')]('[%s][voiceDialReport][varset]',_0x5bfb08[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](_0x3bda30,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x4ee1('0x15')][_0x4ee1('0x40')]=function(_0x1f1c73,_0x539b25,_0x1c71ba){var _0x4ae560=[_0x4ee1('0x48'),'rtpaudioqosbridged',_0x4ee1('0x49'),'rtpaudioqosjitterbridged',_0x4ee1('0x4a'),'rtpaudioqoslossbridged',_0x4ee1('0x4b'),'rtpaudioqosrttbridged',_0x4ee1('0x4c'),'sipuri',_0x4ee1('0x4d'),_0x4ee1('0x4e'),_0x4ee1('0x4f'),'memberdynamic',_0x4ee1('0x50'),_0x4ee1('0x51'),_0x4ee1('0x28'),_0x4ee1('0x52'),_0x4ee1('0x53')];if(!_[_0x4ee1('0x54')](_0x539b25)&&!_[_0x4ee1('0x55')](_0x4ae560,_0x539b25)){if(_['isUndefined'](this['variables'][_0x1f1c73])){this[_0x4ee1('0x56')][_0x1f1c73]={};}this[_0x4ee1('0x56')][_0x1f1c73][_0x539b25]=_0x1c71ba;}};VoiceDialReport[_0x4ee1('0x15')][_0x4ee1('0x14')]=function(_0x44e65f){try{if(this[_0x4ee1('0x16')](_0x44e65f)){logger[_0x4ee1('0x19')](_0x4ee1('0x57'),_0x44e65f[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](_0x44e65f,{'showHidden':![],'depth':null}));if(this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]]){logger[_0x4ee1('0x26')]('[%s][voiceDialReport][hangup]\x20reason:%s\x20lasteevent:complete',_0x44e65f[_0x4ee1('0x1b')],_0x44e65f['cause-txt']);this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]]['endtime']=moment()[_0x4ee1('0x1e')](_0x4ee1('0x36'));this['channels'][_0x44e65f['uniqueid']][_0x4ee1('0x58')]=moment(this['channels'][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x59')])['diff'](this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x5a')],_0x4ee1('0x5b'));this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x37')]='complete';this['outbound'][_0x4ee1('0x5c')]+=0x1;if(this[_0x4ee1('0x9')][_0x44e65f['uniqueid']][_0x4ee1('0x35')]){this[_0x4ee1('0xb')][_0x4ee1('0x5d')]+=0x1;this['channels'][_0x44e65f[_0x4ee1('0x1b')]]['holdtime']=moment(this[_0x4ee1('0x9')][_0x44e65f['uniqueid']]['answertime'])[_0x4ee1('0x5e')](this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x5a')],_0x4ee1('0x5b'));this['channels'][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x5f')]=moment(this[_0x4ee1('0x9')][_0x44e65f['uniqueid']][_0x4ee1('0x59')])[_0x4ee1('0x5e')](this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x35')],_0x4ee1('0x5b'));this[_0x4ee1('0xb')][_0x4ee1('0x60')]+=this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x61')]||0x0;this[_0x4ee1('0xb')]['sumBillable']+=this[_0x4ee1('0x9')][_0x44e65f['uniqueid']][_0x4ee1('0x5f')];}this['outbound'][_0x4ee1('0x62')]+=this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]][_0x4ee1('0x58')];logger[_0x4ee1('0x19')](_0x4ee1('0x63'),_0x44e65f[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));ami[_0x4ee1('0x18')](_0x4ee1('0x64'),this['channels'][_0x44e65f[_0x4ee1('0x1b')]]);logger[_0x4ee1('0x19')](_0x4ee1('0x65'),_0x44e65f['uniqueid'],util['inspect'](this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));ami['emit'](_0x4ee1('0x66'),this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]]);logger[_0x4ee1('0x19')](_0x4ee1('0x67'),_0x44e65f[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));this[_0x4ee1('0x18')]('voice:outbound',_0x4ee1('0x68'),this[_0x4ee1('0xb')]);logger['info']('[DEBUG]\x20Emit\x20voice_outbound_channel:remove\x20event',JSON[_0x4ee1('0x69')](this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x1b')]]));logger[_0x4ee1('0x19')](_0x4ee1('0x6a'),_0x44e65f[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](this['channels'][_0x44e65f[_0x4ee1('0x1b')]],{'showHidden':![],'depth':null}));this[_0x4ee1('0x18')](_0x4ee1('0x3d'),_0x4ee1('0x6b'),this[_0x4ee1('0x9')][_0x44e65f['uniqueid']]);delete this[_0x4ee1('0x9')][_0x44e65f['uniqueid']];}else if(this[_0x4ee1('0x9')][_0x44e65f[_0x4ee1('0x6c')]]){this['channels'][_0x44e65f['linkedid']][_0x4ee1('0x1b')]=this[_0x4ee1('0x9')][_0x44e65f['linkedid']][_0x4ee1('0x6d')];}if(this['variables'][_0x44e65f['uniqueid']]){delete this[_0x4ee1('0x56')][_0x44e65f[_0x4ee1('0x1b')]];}}}catch(_0x371f9c){logger[_0x4ee1('0x2e')](_0x4ee1('0x6e'),_0x44e65f[_0x4ee1('0x1b')],util['inspect'](_0x371f9c,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x4ee1('0x15')]['syncNewExten']=function(_0x57f66c){try{if(this[_0x4ee1('0x16')](_0x57f66c)){logger[_0x4ee1('0x19')](_0x4ee1('0x6f'),_0x57f66c[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](_0x57f66c,{'showHidden':![],'depth':null}));if(_0x57f66c[_0x4ee1('0x70')][_0x4ee1('0x71')]()===_0x4ee1('0x72')){_0x57f66c['applicationdata']=(_0x57f66c[_0x4ee1('0x73')]||_0x57f66c[_0x4ee1('0x74')])['toLowerCase']();if(_[_0x4ee1('0x75')](_0x57f66c[_0x4ee1('0x74')],_0x4ee1('0x76'))){if(_[_0x4ee1('0x17')](this[_0x4ee1('0xc')][_0x57f66c[_0x4ee1('0x1b')]]))this[_0x4ee1('0xc')][_0x57f66c['uniqueid']]={};logger[_0x4ee1('0x26')]('[%s][voiceDialReport][newexten]\x20application:%s\x20appdata:%s',_0x57f66c[_0x4ee1('0x1b')],_0x57f66c[_0x4ee1('0x70')],_0x57f66c[_0x4ee1('0x74')]);var _0x35a719=_0x57f66c['applicationdata'][_0x4ee1('0x77')]('=');var _0xce88e3=_0x35a719[0x0][_0x4ee1('0x78')](/cdr\((.*)\)/);if(_0xce88e3)this['applications'][_0x57f66c['uniqueid']][_0xce88e3[0x1]]=_0x35a719[0x1];}}}}catch(_0x2ef7c9){logger['error'](_0x4ee1('0x79'),_0x57f66c[_0x4ee1('0x1b')],util[_0x4ee1('0x1c')](_0x2ef7c9,{'showHidden':![],'depth':null}));}};module['exports']=VoiceDialReport;
\ No newline at end of file