Built motion from commit 43538d75.|2.5.35
[motion2.git] / server / services / ami / report / voiceDialReport.js
index 3fb0c41..d318fd2 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x5ac2=['[%s][voiceDialReport][dialend]','addVariable','variable','value','outboundrouteid','[%s][voiceDialReport][varset]\x20outboundrouteid:%s\x20variable:%s\x20value:%s','[%s][voiceDialReport][varset]\x20sending\x20voice_outbound_channel:save\x20event:','[%s][voiceDialReport][varset]','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','sipuri','bridgepeer','bridgepvtcallid','membercalls','memberdynamic','memberlastcall','memberpenalty','memberrealtime','isNil','includes','syncHangup','[%s][voiceDialReport][hangup]\x20event:','endtime','diff','starttime','seconds','complete','total','answered','holdtime','answertime','billableseconds','sumBillable','sumDuration','duration','[%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','[DEBUG]\x20Emit\x20voice_outbound_channel:remove\x20event','stringify','[%s][voiceDialReport][hangup]\x20sending\x20voice_outbound_channel:remove\x20event:','voice_outbound_channel:remove','linkedid','[%s][voiceDialReport][hangup]','syncNewExten','application','toLowerCase','set','applicationdata','appdata','startsWith','cdr(','[%s][voiceDialReport][newexten]\x20application:%s\x20appdata:%s','split','exports','lodash','moment','util','ioredis','../../../config/environment','../../../config/logger','ami','../ami','redis','localhost','socket.io-emitter','channels','outboundChannels','outbound','applications','variables','dialbegin','syncDialBegin','bind','dialend','syncDialEnd','syncVarSet','newexten','hangup','prototype','isNotNull','isUndefined','emit','[%s][voiceDialReport][dialbegin]\x20event:','uniqueid','inspect','merge','format','YYYY-MM-DD\x20HH:mm:ss','called','channel','substring','lastIndexOf','omit','info','[%s][voiceDialReport][dialbegin]\x20agent:%s\x20interface:%s\x20lastevent:called','membername','interface','debug','[%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','connectedlinename','lastevent','connect','[%s][voiceDialReport][dialend]\x20sending\x20dialconnect\x20event:','custom:dialconnect','[%s][voiceDialReport][dialend]\x20sending\x20voice_outbound_channel:save\x20event:','voice:outbound'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5ac2,0x13a));var _0x25ac=function(_0x5624f7,_0x27951e){_0x5624f7=_0x5624f7-0x0;var _0x1320f0=_0x5ac2[_0x5624f7];return _0x1320f0;};'use strict';var _=require(_0x25ac('0x0'));var moment=require(_0x25ac('0x1'));var util=require(_0x25ac('0x2'));var Redis=require(_0x25ac('0x3'));var config=require(_0x25ac('0x4'));var logger=require(_0x25ac('0x5'))(_0x25ac('0x6'));var ami=require(_0x25ac('0x7'));config[_0x25ac('0x8')]=_['defaults'](config[_0x25ac('0x8')],{'host':_0x25ac('0x9'),'port':0x18eb});var io=require(_0x25ac('0xa'))(new Redis(config[_0x25ac('0x8')]));function VoiceDialReport(_0xd2872){this[_0x25ac('0xb')]=_0xd2872[_0x25ac('0xc')];this[_0x25ac('0xd')]=_0xd2872[_0x25ac('0xd')];this[_0x25ac('0xe')]={};this[_0x25ac('0xf')]={};ami['on'](_0x25ac('0x10'),this[_0x25ac('0x11')][_0x25ac('0x12')](this));ami['on'](_0x25ac('0x13'),this[_0x25ac('0x14')][_0x25ac('0x12')](this));ami['on']('varset',this[_0x25ac('0x15')][_0x25ac('0x12')](this));ami['on'](_0x25ac('0x16'),this['syncNewExten']['bind'](this));ami['on'](_0x25ac('0x17'),this['syncHangup'][_0x25ac('0x12')](this));}VoiceDialReport[_0x25ac('0x18')][_0x25ac('0x19')]=function(_0x5d5d40){return _0x5d5d40!==null&&!_[_0x25ac('0x1a')](_0x5d5d40);};VoiceDialReport[_0x25ac('0x18')]['emit']=function(_0x3f005e,_0x3c70a9,_0x4e5865){io['to'](_0x3f005e)[_0x25ac('0x1b')](_0x3c70a9,_0x4e5865);};VoiceDialReport[_0x25ac('0x18')][_0x25ac('0x11')]=function(_0x1180c1){try{if(this[_0x25ac('0x19')](_0x1180c1)){logger['debug'](_0x25ac('0x1c'),_0x1180c1[_0x25ac('0x1d')],util[_0x25ac('0x1e')](_0x1180c1,{'showHidden':![],'depth':null}));if(this[_0x25ac('0xb')][_0x1180c1[_0x25ac('0x1d')]]){_[_0x25ac('0x1f')](this[_0x25ac('0xb')][_0x1180c1['uniqueid']],{'starttime':moment()[_0x25ac('0x20')](_0x25ac('0x21')),'lastevent':_0x25ac('0x22'),'interface':_0x1180c1[_0x25ac('0x23')][_0x25ac('0x24')](0x0,_0x1180c1[_0x25ac('0x23')][_0x25ac('0x25')]('-')),'membername':_0x1180c1[_0x25ac('0x23')][_0x25ac('0x24')](_0x1180c1[_0x25ac('0x23')]['lastIndexOf']('/')+0x1,_0x1180c1[_0x25ac('0x23')][_0x25ac('0x25')]('-'))},_[_0x25ac('0x26')](_0x1180c1,['event','privilege']));logger[_0x25ac('0x27')](_0x25ac('0x28'),_0x1180c1[_0x25ac('0x1d')],this['channels'][_0x1180c1[_0x25ac('0x1d')]][_0x25ac('0x29')],this['channels'][_0x1180c1['uniqueid']][_0x25ac('0x2a')]);logger[_0x25ac('0x2b')](_0x25ac('0x2c'),_0x1180c1[_0x25ac('0x1d')],util[_0x25ac('0x1e')](this[_0x25ac('0xb')][_0x1180c1[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));if(this[_0x25ac('0xe')][_0x1180c1[_0x25ac('0x1d')]])_[_0x25ac('0x1f')](this[_0x25ac('0xb')][_0x1180c1[_0x25ac('0x1d')]],this['applications'][_0x1180c1['uniqueid']]);this[_0x25ac('0x1b')]('voice:outbound',_0x25ac('0x2d'),this[_0x25ac('0xb')][_0x1180c1[_0x25ac('0x1d')]]);logger[_0x25ac('0x2b')](_0x25ac('0x2e'),_0x1180c1['uniqueid'],util[_0x25ac('0x1e')](this['channels'][_0x1180c1[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));ami[_0x25ac('0x1b')](_0x25ac('0x2f'),this[_0x25ac('0xb')][_0x1180c1[_0x25ac('0x1d')]]);}}}catch(_0x5505a2){logger[_0x25ac('0x30')](_0x25ac('0x31'),_0x1180c1[_0x25ac('0x1d')],util['inspect'](_0x5505a2,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x25ac('0x18')][_0x25ac('0x14')]=function(_0x228324){try{if(this[_0x25ac('0x19')](_0x228324)){logger[_0x25ac('0x2b')](_0x25ac('0x32'),_0x228324[_0x25ac('0x1d')],util['inspect'](_0x228324,{'showHidden':![],'depth':null}));if(this[_0x25ac('0xb')][_0x228324[_0x25ac('0x1d')]]){this[_0x25ac('0xb')][_0x228324[_0x25ac('0x1d')]][_0x25ac('0x33')]=_0x228324[_0x25ac('0x33')];if(_0x228324[_0x25ac('0x33')]===_0x25ac('0x34')){this[_0x25ac('0xb')][_0x228324['uniqueid']][_0x25ac('0x35')]=_0x228324['connectedlinenum'];this['channels'][_0x228324[_0x25ac('0x1d')]][_0x25ac('0x36')]=_0x228324[_0x25ac('0x36')];this['channels'][_0x228324['uniqueid']]['answertime']=moment()[_0x25ac('0x20')](_0x25ac('0x21'));this[_0x25ac('0xb')][_0x228324[_0x25ac('0x1d')]][_0x25ac('0x37')]=_0x25ac('0x38');logger['info']('[%s][voiceDialReport][dialend]\x20agent:%s\x20lastevent:connect',_0x228324[_0x25ac('0x1d')],_0x228324['channel'][_0x25ac('0x24')](_0x228324[_0x25ac('0x23')][_0x25ac('0x25')]('/')+0x1,_0x228324[_0x25ac('0x23')][_0x25ac('0x25')]('-')));logger[_0x25ac('0x2b')](_0x25ac('0x39'),_0x228324[_0x25ac('0x1d')],util[_0x25ac('0x1e')](this[_0x25ac('0xb')][_0x228324[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));ami['emit'](_0x25ac('0x3a'),this['channels'][_0x228324[_0x25ac('0x1d')]]);}logger[_0x25ac('0x2b')](_0x25ac('0x3b'),_0x228324[_0x25ac('0x1d')],util[_0x25ac('0x1e')](this[_0x25ac('0xb')][_0x228324[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));this['emit'](_0x25ac('0x3c'),_0x25ac('0x2d'),this['channels'][_0x228324[_0x25ac('0x1d')]]);}}}catch(_0xaa2c50){logger[_0x25ac('0x30')](_0x25ac('0x3d'),_0x228324['uniqueid'],util[_0x25ac('0x1e')](_0xaa2c50,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x25ac('0x18')][_0x25ac('0x15')]=function(_0x332ddf){try{if(this[_0x25ac('0x19')](_0x332ddf)){logger['debug']('[%s][voiceDialReport][varset]\x20event:',_0x332ddf[_0x25ac('0x1d')],util[_0x25ac('0x1e')](_0x332ddf,{'showHidden':![],'depth':null}));this[_0x25ac('0x3e')](_0x332ddf[_0x25ac('0x1d')],_['keys'](_0x332ddf[_0x25ac('0x3f')])[0x0],_0x332ddf[_0x25ac('0x40')]);if(this[_0x25ac('0x19')](_0x332ddf[_0x25ac('0x3f')])&&this[_0x25ac('0x19')](_0x332ddf[_0x25ac('0x3f')][_0x25ac('0x41')])){if(_[_0x25ac('0x1a')](this['channels'][_0x332ddf[_0x25ac('0x1d')]])){this[_0x25ac('0xb')][_0x332ddf[_0x25ac('0x1d')]]={'routeId':_0x332ddf[_0x25ac('0x40')],'variables':this[_0x25ac('0xf')][_0x332ddf[_0x25ac('0x1d')]],'motionChannel':'voice'};logger['info'](_0x25ac('0x42'),_0x332ddf[_0x25ac('0x1d')],_0x332ddf[_0x25ac('0x3f')][_0x25ac('0x41')],_['keys'](_0x332ddf[_0x25ac('0x3f')])[0x0],_0x332ddf[_0x25ac('0x40')]);logger['debug'](_0x25ac('0x43'),_0x332ddf[_0x25ac('0x1d')],util['inspect'](this[_0x25ac('0xb')][_0x332ddf[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));this[_0x25ac('0x1b')](_0x25ac('0x3c'),'voice_outbound_channel:save',this[_0x25ac('0xb')][_0x332ddf[_0x25ac('0x1d')]]);}}}}catch(_0x55df82){logger[_0x25ac('0x30')](_0x25ac('0x44'),_0x332ddf['uniqueid'],util['inspect'](_0x55df82,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x25ac('0x18')][_0x25ac('0x3e')]=function(_0x1d78c5,_0x7679f8,_0xf76984){var _0x24eaba=[_0x25ac('0x45'),_0x25ac('0x46'),_0x25ac('0x47'),_0x25ac('0x48'),_0x25ac('0x49'),_0x25ac('0x4a'),_0x25ac('0x4b'),_0x25ac('0x4c'),'sipcallid',_0x25ac('0x4d'),_0x25ac('0x4e'),_0x25ac('0x4f'),_0x25ac('0x50'),_0x25ac('0x51'),'memberinterface',_0x25ac('0x52'),_0x25ac('0x29'),_0x25ac('0x53'),_0x25ac('0x54')];if(!_[_0x25ac('0x55')](_0x7679f8)&&!_[_0x25ac('0x56')](_0x24eaba,_0x7679f8)){if(_[_0x25ac('0x1a')](this[_0x25ac('0xf')][_0x1d78c5])){this[_0x25ac('0xf')][_0x1d78c5]={};}this[_0x25ac('0xf')][_0x1d78c5][_0x7679f8]=_0xf76984;}};VoiceDialReport[_0x25ac('0x18')][_0x25ac('0x57')]=function(_0x323173){try{if(this['isNotNull'](_0x323173)){logger[_0x25ac('0x2b')](_0x25ac('0x58'),_0x323173[_0x25ac('0x1d')],util['inspect'](_0x323173,{'showHidden':![],'depth':null}));if(this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]]){logger[_0x25ac('0x27')]('[%s][voiceDialReport][hangup]\x20reason:%s\x20lasteevent:complete',_0x323173['uniqueid'],_0x323173['cause-txt']);this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x59')]=moment()[_0x25ac('0x20')](_0x25ac('0x21'));this[_0x25ac('0xb')][_0x323173['uniqueid']]['duration']=moment(this['channels'][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x59')])[_0x25ac('0x5a')](this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x5b')],_0x25ac('0x5c'));this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]]['lastevent']=_0x25ac('0x5d');this[_0x25ac('0xd')][_0x25ac('0x5e')]+=0x1;if(this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]]['answertime']){this[_0x25ac('0xd')][_0x25ac('0x5f')]+=0x1;this['channels'][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x60')]=moment(this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x61')])['diff'](this[_0x25ac('0xb')][_0x323173['uniqueid']][_0x25ac('0x5b')],_0x25ac('0x5c'));this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x62')]=moment(this['channels'][_0x323173['uniqueid']][_0x25ac('0x59')])[_0x25ac('0x5a')](this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x61')],_0x25ac('0x5c'));this[_0x25ac('0xd')]['sumHoldTime']+=this['channels'][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x60')]||0x0;this[_0x25ac('0xd')][_0x25ac('0x63')]+=this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]]['billableseconds'];}this[_0x25ac('0xd')][_0x25ac('0x64')]+=this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]][_0x25ac('0x65')];logger[_0x25ac('0x2b')](_0x25ac('0x66'),_0x323173[_0x25ac('0x1d')],util[_0x25ac('0x1e')](this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));ami[_0x25ac('0x1b')](_0x25ac('0x67'),this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]]);logger[_0x25ac('0x2b')](_0x25ac('0x68'),_0x323173['uniqueid'],util[_0x25ac('0x1e')](this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));ami[_0x25ac('0x1b')](_0x25ac('0x69'),this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]]);logger[_0x25ac('0x2b')](_0x25ac('0x6a'),_0x323173['uniqueid'],util[_0x25ac('0x1e')](this['channels'][_0x323173[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));this[_0x25ac('0x1b')](_0x25ac('0x3c'),_0x25ac('0x6b'),this[_0x25ac('0xd')]);logger[_0x25ac('0x27')](_0x25ac('0x6c'),JSON[_0x25ac('0x6d')](this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]]));logger[_0x25ac('0x2b')](_0x25ac('0x6e'),_0x323173[_0x25ac('0x1d')],util[_0x25ac('0x1e')](this[_0x25ac('0xb')][_0x323173[_0x25ac('0x1d')]],{'showHidden':![],'depth':null}));this[_0x25ac('0x1b')](_0x25ac('0x3c'),_0x25ac('0x6f'),this[_0x25ac('0xb')][_0x323173['uniqueid']]);delete this[_0x25ac('0xb')][_0x323173['uniqueid']];}else if(this[_0x25ac('0xb')][_0x323173[_0x25ac('0x70')]]){this[_0x25ac('0xb')][_0x323173[_0x25ac('0x70')]][_0x25ac('0x1d')]=this[_0x25ac('0xb')][_0x323173[_0x25ac('0x70')]]['destuniqueid'];}if(this[_0x25ac('0xf')][_0x323173[_0x25ac('0x1d')]]){delete this[_0x25ac('0xf')][_0x323173[_0x25ac('0x1d')]];}}}catch(_0x30675d){logger[_0x25ac('0x30')](_0x25ac('0x71'),_0x323173[_0x25ac('0x1d')],util[_0x25ac('0x1e')](_0x30675d,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x25ac('0x18')][_0x25ac('0x72')]=function(_0x8fd8c4){try{if(this[_0x25ac('0x19')](_0x8fd8c4)){logger[_0x25ac('0x2b')]('[%s][voiceDialReport][newexten]\x20event:',_0x8fd8c4[_0x25ac('0x1d')],util[_0x25ac('0x1e')](_0x8fd8c4,{'showHidden':![],'depth':null}));if(_0x8fd8c4[_0x25ac('0x73')][_0x25ac('0x74')]()===_0x25ac('0x75')){_0x8fd8c4[_0x25ac('0x76')]=(_0x8fd8c4[_0x25ac('0x77')]||_0x8fd8c4[_0x25ac('0x76')])['toLowerCase']();if(_[_0x25ac('0x78')](_0x8fd8c4[_0x25ac('0x76')],_0x25ac('0x79'))){if(_['isUndefined'](this['applications'][_0x8fd8c4[_0x25ac('0x1d')]]))this[_0x25ac('0xe')][_0x8fd8c4[_0x25ac('0x1d')]]={};logger['info'](_0x25ac('0x7a'),_0x8fd8c4[_0x25ac('0x1d')],_0x8fd8c4['application'],_0x8fd8c4[_0x25ac('0x76')]);var _0x11a7e8=_0x8fd8c4['applicationdata'][_0x25ac('0x7b')]('=');var _0x87a100=_0x11a7e8[0x0]['match'](/cdr\((.*)\)/);if(_0x87a100)this['applications'][_0x8fd8c4[_0x25ac('0x1d')]][_0x87a100[0x1]]=_0x11a7e8[0x1];}}}}catch(_0x2baf8b){logger['error']('[%s][voiceDialReport][newexten]',_0x8fd8c4['uniqueid'],util[_0x25ac('0x1e')](_0x2baf8b,{'showHidden':![],'depth':null}));}};module[_0x25ac('0x7c')]=VoiceDialReport;
\ No newline at end of file
+var _0x2d27=['../../../config/logger','../ami','defaults','redis','localhost','channels','outboundChannels','outbound','applications','variables','dialbegin','syncDialBegin','bind','dialend','syncDialEnd','syncVarSet','syncNewExten','hangup','prototype','isNotNull','emit','uniqueid','inspect','merge','format','YYYY-MM-DD\x20HH:mm:ss','called','channel','lastIndexOf','privilege','membername','interface','debug','[%s][voiceDialReport][dialbegin]\x20sending\x20voice_outbound_channel:save\x20event:','voice:outbound','voice_outbound_channel:save','custom:dialbegin','[%s][voiceDialReport][dialbegin]','dialstatus','ANSWER','connectedlinenum','connectedlinename','answertime','lastevent','connect','info','substring','[%s][voiceDialReport][dialend]\x20sending\x20dialconnect\x20event:','custom:dialconnect','[%s][voiceDialReport][dialend]\x20sending\x20voice_outbound_channel:save\x20event:','[%s][voiceDialReport][dialend]','[%s][voiceDialReport][varset]\x20event:','addVariable','keys','value','variable','outboundrouteid','isUndefined','voice','error','[%s][voiceDialReport][varset]','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','sipcallid','sipuri','bridgepeer','bridgepvtcallid','memberdynamic','memberlastcall','memberpenalty','memberrealtime','isNil','includes','[%s][voiceDialReport][hangup]\x20event:','[%s][voiceDialReport][hangup]\x20reason:%s\x20lasteevent:complete','cause-txt','endtime','duration','diff','starttime','seconds','complete','total','holdtime','billableseconds','sumDuration','custom:voiceDialReport','custom:dialend','[%s][voiceDialReport][hangup]\x20sending\x20voice_outbound:save\x20event:','[DEBUG]\x20Emit\x20voice_outbound_channel:remove\x20event','[%s][voiceDialReport][hangup]\x20sending\x20voice_outbound_channel:remove\x20event:','voice_outbound_channel:remove','linkedid','destuniqueid','[%s][voiceDialReport][hangup]','application','toLowerCase','set','applicationdata','appdata','startsWith','cdr(','[%s][voiceDialReport][newexten]\x20application:%s\x20appdata:%s','split','match','exports','lodash','moment','util','ioredis'];(function(_0x50f6e5,_0x151ccb){var _0x5988c5=function(_0x490a93){while(--_0x490a93){_0x50f6e5['push'](_0x50f6e5['shift']());}};_0x5988c5(++_0x151ccb);}(_0x2d27,0x158));var _0x72d2=function(_0x174fae,_0x5d7bad){_0x174fae=_0x174fae-0x0;var _0x5d8970=_0x2d27[_0x174fae];return _0x5d8970;};'use strict';var _=require(_0x72d2('0x0'));var moment=require(_0x72d2('0x1'));var util=require(_0x72d2('0x2'));var Redis=require(_0x72d2('0x3'));var config=require('../../../config/environment');var logger=require(_0x72d2('0x4'))('ami');var ami=require(_0x72d2('0x5'));config['redis']=_[_0x72d2('0x6')](config[_0x72d2('0x7')],{'host':_0x72d2('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function VoiceDialReport(_0x2e93c1){this[_0x72d2('0x9')]=_0x2e93c1[_0x72d2('0xa')];this[_0x72d2('0xb')]=_0x2e93c1[_0x72d2('0xb')];this[_0x72d2('0xc')]={};this[_0x72d2('0xd')]={};ami['on'](_0x72d2('0xe'),this[_0x72d2('0xf')][_0x72d2('0x10')](this));ami['on'](_0x72d2('0x11'),this[_0x72d2('0x12')][_0x72d2('0x10')](this));ami['on']('varset',this[_0x72d2('0x13')][_0x72d2('0x10')](this));ami['on']('newexten',this[_0x72d2('0x14')][_0x72d2('0x10')](this));ami['on'](_0x72d2('0x15'),this['syncHangup'][_0x72d2('0x10')](this));}VoiceDialReport[_0x72d2('0x16')][_0x72d2('0x17')]=function(_0x1d4ae7){return _0x1d4ae7!==null&&!_['isUndefined'](_0x1d4ae7);};VoiceDialReport[_0x72d2('0x16')][_0x72d2('0x18')]=function(_0x4b709b,_0x946d25,_0x5d0f36){io['to'](_0x4b709b)[_0x72d2('0x18')](_0x946d25,_0x5d0f36);};VoiceDialReport[_0x72d2('0x16')][_0x72d2('0xf')]=function(_0x1b5c5a){try{if(this[_0x72d2('0x17')](_0x1b5c5a)){logger['debug']('[%s][voiceDialReport][dialbegin]\x20event:',_0x1b5c5a[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0x1b5c5a,{'showHidden':![],'depth':null}));if(this[_0x72d2('0x9')][_0x1b5c5a[_0x72d2('0x19')]]){_[_0x72d2('0x1b')](this[_0x72d2('0x9')][_0x1b5c5a[_0x72d2('0x19')]],{'starttime':moment()[_0x72d2('0x1c')](_0x72d2('0x1d')),'lastevent':_0x72d2('0x1e'),'interface':_0x1b5c5a[_0x72d2('0x1f')]['substring'](0x0,_0x1b5c5a[_0x72d2('0x1f')][_0x72d2('0x20')]('-')),'membername':_0x1b5c5a[_0x72d2('0x1f')]['substring'](_0x1b5c5a['channel']['lastIndexOf']('/')+0x1,_0x1b5c5a[_0x72d2('0x1f')][_0x72d2('0x20')]('-'))},_['omit'](_0x1b5c5a,['event',_0x72d2('0x21')]));logger['info']('[%s][voiceDialReport][dialbegin]\x20agent:%s\x20interface:%s\x20lastevent:called',_0x1b5c5a[_0x72d2('0x19')],this[_0x72d2('0x9')][_0x1b5c5a['uniqueid']][_0x72d2('0x22')],this['channels'][_0x1b5c5a[_0x72d2('0x19')]][_0x72d2('0x23')]);logger[_0x72d2('0x24')](_0x72d2('0x25'),_0x1b5c5a[_0x72d2('0x19')],util[_0x72d2('0x1a')](this['channels'][_0x1b5c5a['uniqueid']],{'showHidden':![],'depth':null}));if(this[_0x72d2('0xc')][_0x1b5c5a[_0x72d2('0x19')]])_[_0x72d2('0x1b')](this[_0x72d2('0x9')][_0x1b5c5a['uniqueid']],this[_0x72d2('0xc')][_0x1b5c5a[_0x72d2('0x19')]]);this[_0x72d2('0x18')](_0x72d2('0x26'),_0x72d2('0x27'),this[_0x72d2('0x9')][_0x1b5c5a[_0x72d2('0x19')]]);logger[_0x72d2('0x24')]('[%s][voiceDialReport][dialbegin]\x20sending\x20dialbegin\x20event:',_0x1b5c5a[_0x72d2('0x19')],util[_0x72d2('0x1a')](this[_0x72d2('0x9')][_0x1b5c5a['uniqueid']],{'showHidden':![],'depth':null}));ami[_0x72d2('0x18')](_0x72d2('0x28'),this[_0x72d2('0x9')][_0x1b5c5a[_0x72d2('0x19')]]);}}}catch(_0x511e0e){logger['error'](_0x72d2('0x29'),_0x1b5c5a[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0x511e0e,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x72d2('0x16')]['syncDialEnd']=function(_0xc543af){try{if(this['isNotNull'](_0xc543af)){logger[_0x72d2('0x24')]('[%s][voiceDialReport][dialend]\x20event:',_0xc543af[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0xc543af,{'showHidden':![],'depth':null}));if(this[_0x72d2('0x9')][_0xc543af['uniqueid']]){this[_0x72d2('0x9')][_0xc543af[_0x72d2('0x19')]][_0x72d2('0x2a')]=_0xc543af[_0x72d2('0x2a')];if(_0xc543af[_0x72d2('0x2a')]===_0x72d2('0x2b')){this['channels'][_0xc543af[_0x72d2('0x19')]][_0x72d2('0x2c')]=_0xc543af[_0x72d2('0x2c')];this['channels'][_0xc543af['uniqueid']][_0x72d2('0x2d')]=_0xc543af[_0x72d2('0x2d')];this[_0x72d2('0x9')][_0xc543af[_0x72d2('0x19')]][_0x72d2('0x2e')]=moment()[_0x72d2('0x1c')](_0x72d2('0x1d'));this['channels'][_0xc543af['uniqueid']][_0x72d2('0x2f')]=_0x72d2('0x30');logger[_0x72d2('0x31')]('[%s][voiceDialReport][dialend]\x20agent:%s\x20lastevent:connect',_0xc543af['uniqueid'],_0xc543af['channel'][_0x72d2('0x32')](_0xc543af[_0x72d2('0x1f')][_0x72d2('0x20')]('/')+0x1,_0xc543af[_0x72d2('0x1f')][_0x72d2('0x20')]('-')));logger[_0x72d2('0x24')](_0x72d2('0x33'),_0xc543af['uniqueid'],util[_0x72d2('0x1a')](this['channels'][_0xc543af['uniqueid']],{'showHidden':![],'depth':null}));ami[_0x72d2('0x18')](_0x72d2('0x34'),this[_0x72d2('0x9')][_0xc543af[_0x72d2('0x19')]]);}logger[_0x72d2('0x24')](_0x72d2('0x35'),_0xc543af[_0x72d2('0x19')],util[_0x72d2('0x1a')](this[_0x72d2('0x9')][_0xc543af[_0x72d2('0x19')]],{'showHidden':![],'depth':null}));this[_0x72d2('0x18')](_0x72d2('0x26'),_0x72d2('0x27'),this[_0x72d2('0x9')][_0xc543af[_0x72d2('0x19')]]);}}}catch(_0x508d8e){logger['error'](_0x72d2('0x36'),_0xc543af[_0x72d2('0x19')],util['inspect'](_0x508d8e,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x72d2('0x16')][_0x72d2('0x13')]=function(_0x24e255){try{if(this[_0x72d2('0x17')](_0x24e255)){logger[_0x72d2('0x24')](_0x72d2('0x37'),_0x24e255[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0x24e255,{'showHidden':![],'depth':null}));this[_0x72d2('0x38')](_0x24e255['uniqueid'],_[_0x72d2('0x39')](_0x24e255['variable'])[0x0],_0x24e255[_0x72d2('0x3a')]);if(this['isNotNull'](_0x24e255[_0x72d2('0x3b')])&&this[_0x72d2('0x17')](_0x24e255[_0x72d2('0x3b')][_0x72d2('0x3c')])){if(_[_0x72d2('0x3d')](this[_0x72d2('0x9')][_0x24e255['uniqueid']])){this[_0x72d2('0x9')][_0x24e255[_0x72d2('0x19')]]={'routeId':_0x24e255[_0x72d2('0x3a')],'variables':this['variables'][_0x24e255[_0x72d2('0x19')]],'motionChannel':_0x72d2('0x3e')};logger['info']('[%s][voiceDialReport][varset]\x20outboundrouteid:%s\x20variable:%s\x20value:%s',_0x24e255[_0x72d2('0x19')],_0x24e255['variable'][_0x72d2('0x3c')],_[_0x72d2('0x39')](_0x24e255[_0x72d2('0x3b')])[0x0],_0x24e255[_0x72d2('0x3a')]);logger[_0x72d2('0x24')]('[%s][voiceDialReport][varset]\x20sending\x20voice_outbound_channel:save\x20event:',_0x24e255[_0x72d2('0x19')],util['inspect'](this[_0x72d2('0x9')][_0x24e255[_0x72d2('0x19')]],{'showHidden':![],'depth':null}));this['emit'](_0x72d2('0x26'),'voice_outbound_channel:save',this[_0x72d2('0x9')][_0x24e255['uniqueid']]);}}}}catch(_0x1977df){logger[_0x72d2('0x3f')](_0x72d2('0x40'),_0x24e255[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0x1977df,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x72d2('0x16')][_0x72d2('0x38')]=function(_0x4a1022,_0xe33e41,_0x23e90f){var _0x2551b6=[_0x72d2('0x41'),_0x72d2('0x42'),_0x72d2('0x43'),_0x72d2('0x44'),_0x72d2('0x45'),_0x72d2('0x46'),_0x72d2('0x47'),_0x72d2('0x48'),_0x72d2('0x49'),_0x72d2('0x4a'),_0x72d2('0x4b'),_0x72d2('0x4c'),'membercalls',_0x72d2('0x4d'),'memberinterface',_0x72d2('0x4e'),_0x72d2('0x22'),_0x72d2('0x4f'),_0x72d2('0x50')];if(!_[_0x72d2('0x51')](_0xe33e41)&&!_[_0x72d2('0x52')](_0x2551b6,_0xe33e41)){if(_[_0x72d2('0x3d')](this[_0x72d2('0xd')][_0x4a1022])){this[_0x72d2('0xd')][_0x4a1022]={};}this['variables'][_0x4a1022][_0xe33e41]=_0x23e90f;}};VoiceDialReport[_0x72d2('0x16')]['syncHangup']=function(_0x4c1e23){try{if(this[_0x72d2('0x17')](_0x4c1e23)){logger[_0x72d2('0x24')](_0x72d2('0x53'),_0x4c1e23[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0x4c1e23,{'showHidden':![],'depth':null}));if(this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]]){logger[_0x72d2('0x31')](_0x72d2('0x54'),_0x4c1e23[_0x72d2('0x19')],_0x4c1e23[_0x72d2('0x55')]);this[_0x72d2('0x9')][_0x4c1e23['uniqueid']][_0x72d2('0x56')]=moment()[_0x72d2('0x1c')]('YYYY-MM-DD\x20HH:mm:ss');this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x57')]=moment(this[_0x72d2('0x9')][_0x4c1e23['uniqueid']][_0x72d2('0x56')])[_0x72d2('0x58')](this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x59')],_0x72d2('0x5a'));this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x2f')]=_0x72d2('0x5b');this[_0x72d2('0xb')][_0x72d2('0x5c')]+=0x1;if(this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x2e')]){this[_0x72d2('0xb')]['answered']+=0x1;this['channels'][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x5d')]=moment(this[_0x72d2('0x9')][_0x4c1e23['uniqueid']][_0x72d2('0x2e')])[_0x72d2('0x58')](this['channels'][_0x4c1e23[_0x72d2('0x19')]]['starttime'],'seconds');this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x5e')]=moment(this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]]['endtime'])[_0x72d2('0x58')](this[_0x72d2('0x9')][_0x4c1e23['uniqueid']][_0x72d2('0x2e')],'seconds');this[_0x72d2('0xb')]['sumHoldTime']+=this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x5d')]||0x0;this[_0x72d2('0xb')]['sumBillable']+=this['channels'][_0x4c1e23[_0x72d2('0x19')]][_0x72d2('0x5e')];}this[_0x72d2('0xb')][_0x72d2('0x5f')]+=this[_0x72d2('0x9')][_0x4c1e23['uniqueid']][_0x72d2('0x57')];logger[_0x72d2('0x24')]('[%s][voiceDialReport][hangup]\x20sending\x20voiceDialReport\x20event:',_0x4c1e23[_0x72d2('0x19')],util[_0x72d2('0x1a')](this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]],{'showHidden':![],'depth':null}));ami['emit'](_0x72d2('0x60'),this['channels'][_0x4c1e23[_0x72d2('0x19')]]);logger[_0x72d2('0x24')]('[%s][voiceDialReport][hangup]\x20sending\x20dialend\x20event:',_0x4c1e23['uniqueid'],util[_0x72d2('0x1a')](this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]],{'showHidden':![],'depth':null}));ami[_0x72d2('0x18')](_0x72d2('0x61'),this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]]);logger[_0x72d2('0x24')](_0x72d2('0x62'),_0x4c1e23[_0x72d2('0x19')],util[_0x72d2('0x1a')](this[_0x72d2('0x9')][_0x4c1e23['uniqueid']],{'showHidden':![],'depth':null}));this[_0x72d2('0x18')](_0x72d2('0x26'),'voice_outbound:save',this[_0x72d2('0xb')]);logger[_0x72d2('0x31')](_0x72d2('0x63'),JSON['stringify'](this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]]));logger[_0x72d2('0x24')](_0x72d2('0x64'),_0x4c1e23[_0x72d2('0x19')],util[_0x72d2('0x1a')](this[_0x72d2('0x9')][_0x4c1e23['uniqueid']],{'showHidden':![],'depth':null}));this[_0x72d2('0x18')]('voice:outbound',_0x72d2('0x65'),this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x19')]]);delete this[_0x72d2('0x9')][_0x4c1e23['uniqueid']];}else if(this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x66')]]){this[_0x72d2('0x9')][_0x4c1e23['linkedid']][_0x72d2('0x19')]=this[_0x72d2('0x9')][_0x4c1e23[_0x72d2('0x66')]][_0x72d2('0x67')];}if(this[_0x72d2('0xd')][_0x4c1e23[_0x72d2('0x19')]]){delete this['variables'][_0x4c1e23[_0x72d2('0x19')]];}}}catch(_0x5274d1){logger[_0x72d2('0x3f')](_0x72d2('0x68'),_0x4c1e23[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0x5274d1,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x72d2('0x16')]['syncNewExten']=function(_0x121dfd){try{if(this['isNotNull'](_0x121dfd)){logger[_0x72d2('0x24')]('[%s][voiceDialReport][newexten]\x20event:',_0x121dfd['uniqueid'],util[_0x72d2('0x1a')](_0x121dfd,{'showHidden':![],'depth':null}));if(_0x121dfd[_0x72d2('0x69')][_0x72d2('0x6a')]()===_0x72d2('0x6b')){_0x121dfd[_0x72d2('0x6c')]=(_0x121dfd[_0x72d2('0x6d')]||_0x121dfd['applicationdata'])['toLowerCase']();if(_[_0x72d2('0x6e')](_0x121dfd['applicationdata'],_0x72d2('0x6f'))){if(_['isUndefined'](this[_0x72d2('0xc')][_0x121dfd[_0x72d2('0x19')]]))this[_0x72d2('0xc')][_0x121dfd[_0x72d2('0x19')]]={};logger[_0x72d2('0x31')](_0x72d2('0x70'),_0x121dfd[_0x72d2('0x19')],_0x121dfd['application'],_0x121dfd[_0x72d2('0x6c')]);var _0x302afd=_0x121dfd[_0x72d2('0x6c')][_0x72d2('0x71')]('=');var _0x336001=_0x302afd[0x0][_0x72d2('0x72')](/cdr\((.*)\)/);if(_0x336001)this[_0x72d2('0xc')][_0x121dfd[_0x72d2('0x19')]][_0x336001[0x1]]=_0x302afd[0x1];}}}}catch(_0x31e2a6){logger[_0x72d2('0x3f')]('[%s][voiceDialReport][newexten]',_0x121dfd[_0x72d2('0x19')],util[_0x72d2('0x1a')](_0x31e2a6,{'showHidden':![],'depth':null}));}};module[_0x72d2('0x73')]=VoiceDialReport;
\ No newline at end of file