Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / services / ami / report / voiceDialReport.js
index a5fb54a..1b9468c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x4086=['variables','endtime','duration','diff','total','answered','holdtime','starttime','seconds','billableseconds','sumHoldTime','sumDuration','custom:voiceDialReport','voice_outbound:save','info','stringify','voice_outbound_channel:remove','exports','lodash','util','../../../config/environment','../../../config/logger','ami','../ami','redis','defaults','localhost','channels','outbound','dialbegin','syncDialBegin','dialend','syncDialEnd','bind','varset','syncVarSet','syncHangup','prototype','isUndefined','emit','isNotNull','merge','format','called','channel','lastIndexOf','omit','event','privilege','voice:outbound','voice_outbound_channel:save','uniqueid','custom:dialbegin','[syncDialBegin][VoiceDialReport]','dialstatus','ANSWER','connectedlinenum','connectedlinename','answertime','YYYY-MM-DD\x20HH:mm:ss','lastevent','error','[syncDialEnd][VoiceDialReport]','inspect','addVariable','keys','variable','outboundrouteid','value','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','sipcallid','sipuri','bridgepeer','bridgepvtcallid','membercalls','memberdynamic','memberinterface','memberlastcall','membername','memberpenalty','memberrealtime','isNil','includes'];(function(_0x47d020,_0x24c31f){var _0x1090da=function(_0x30fa67){while(--_0x30fa67){_0x47d020['push'](_0x47d020['shift']());}};_0x1090da(++_0x24c31f);}(_0x4086,0x6a));var _0x6408=function(_0x122ef9,_0x451d2a){_0x122ef9=_0x122ef9-0x0;var _0x42fba0=_0x4086[_0x122ef9];return _0x42fba0;};'use strict';var _=require(_0x6408('0x0'));var moment=require('moment');var util=require(_0x6408('0x1'));var Redis=require('ioredis');var config=require(_0x6408('0x2'));var logger=require(_0x6408('0x3'))(_0x6408('0x4'));var ami=require(_0x6408('0x5'));config[_0x6408('0x6')]=_[_0x6408('0x7')](config[_0x6408('0x6')],{'host':_0x6408('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x6408('0x6')]));function VoiceDialReport(_0xa7e9dd){this[_0x6408('0x9')]=_0xa7e9dd['outboundChannels'];this[_0x6408('0xa')]=_0xa7e9dd[_0x6408('0xa')];this['variables']={};ami['on'](_0x6408('0xb'),this[_0x6408('0xc')]['bind'](this));ami['on'](_0x6408('0xd'),this[_0x6408('0xe')][_0x6408('0xf')](this));ami['on'](_0x6408('0x10'),this[_0x6408('0x11')][_0x6408('0xf')](this));ami['on']('hangup',this[_0x6408('0x12')]['bind'](this));}VoiceDialReport[_0x6408('0x13')]['isNotNull']=function(_0x2fd674){return _0x2fd674!==null&&!_[_0x6408('0x14')](_0x2fd674);};VoiceDialReport[_0x6408('0x13')][_0x6408('0x15')]=function(_0x32b371,_0x5191e8,_0x5c1d6d){io['to'](_0x32b371)[_0x6408('0x15')](_0x5191e8,_0x5c1d6d);};VoiceDialReport[_0x6408('0x13')][_0x6408('0xc')]=function(_0x512b22){try{if(this[_0x6408('0x16')](_0x512b22)){if(this[_0x6408('0x9')][_0x512b22['uniqueid']]){_[_0x6408('0x17')](this[_0x6408('0x9')][_0x512b22['uniqueid']],{'starttime':moment()[_0x6408('0x18')]('YYYY-MM-DD\x20HH:mm:ss'),'lastevent':_0x6408('0x19'),'interface':_0x512b22['channel']['substring'](0x0,_0x512b22['channel']['lastIndexOf']('-')),'membername':_0x512b22[_0x6408('0x1a')]['substring'](_0x512b22[_0x6408('0x1a')][_0x6408('0x1b')]('/')+0x1,_0x512b22[_0x6408('0x1a')][_0x6408('0x1b')]('-'))},_[_0x6408('0x1c')](_0x512b22,[_0x6408('0x1d'),_0x6408('0x1e')]));this[_0x6408('0x15')](_0x6408('0x1f'),_0x6408('0x20'),this['channels'][_0x512b22[_0x6408('0x21')]]);ami['emit'](_0x6408('0x22'),this[_0x6408('0x9')][_0x512b22[_0x6408('0x21')]]);}}}catch(_0x39818c){logger['error'](_0x6408('0x23'),util['inspect'](_0x39818c,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x6408('0x13')][_0x6408('0xe')]=function(_0xb4c6c4){try{if(this['isNotNull'](_0xb4c6c4)){if(this[_0x6408('0x9')][_0xb4c6c4[_0x6408('0x21')]]){this[_0x6408('0x9')][_0xb4c6c4['uniqueid']]['dialstatus']=_0xb4c6c4[_0x6408('0x24')];if(_0xb4c6c4[_0x6408('0x24')]===_0x6408('0x25')){this[_0x6408('0x9')][_0xb4c6c4[_0x6408('0x21')]][_0x6408('0x26')]=_0xb4c6c4[_0x6408('0x26')];this[_0x6408('0x9')][_0xb4c6c4[_0x6408('0x21')]]['connectedlinename']=_0xb4c6c4[_0x6408('0x27')];this[_0x6408('0x9')][_0xb4c6c4[_0x6408('0x21')]][_0x6408('0x28')]=moment()['format'](_0x6408('0x29'));this[_0x6408('0x9')][_0xb4c6c4[_0x6408('0x21')]][_0x6408('0x2a')]='connect';ami[_0x6408('0x15')]('custom:dialconnect',this[_0x6408('0x9')][_0xb4c6c4['uniqueid']]);}this['emit'](_0x6408('0x1f'),_0x6408('0x20'),this[_0x6408('0x9')][_0xb4c6c4[_0x6408('0x21')]]);}}}catch(_0x28d0b9){logger[_0x6408('0x2b')](_0x6408('0x2c'),util[_0x6408('0x2d')](_0x28d0b9,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x6408('0x13')][_0x6408('0x11')]=function(_0x1b1fbe){try{if(this[_0x6408('0x16')](_0x1b1fbe)){this[_0x6408('0x2e')](_0x1b1fbe[_0x6408('0x21')],_[_0x6408('0x2f')](_0x1b1fbe[_0x6408('0x30')])[0x0],_0x1b1fbe['value']);if(this['isNotNull'](_0x1b1fbe[_0x6408('0x30')])&&this['isNotNull'](_0x1b1fbe[_0x6408('0x30')][_0x6408('0x31')])){if(_['isUndefined'](this['channels'][_0x1b1fbe[_0x6408('0x21')]])){this[_0x6408('0x9')][_0x1b1fbe[_0x6408('0x21')]]={'routeId':_0x1b1fbe[_0x6408('0x32')],'variables':this['variables'][_0x1b1fbe['uniqueid']]};this[_0x6408('0x15')](_0x6408('0x1f'),_0x6408('0x20'),this[_0x6408('0x9')][_0x1b1fbe[_0x6408('0x21')]]);}}}}catch(_0x5ebfc3){logger[_0x6408('0x2b')]('[syncVarSet][VoiceDialReport]',util['inspect'](_0x5ebfc3,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0x6408('0x13')][_0x6408('0x2e')]=function(_0x162509,_0x11820b,_0x17d3c1){var _0x4954aa=[_0x6408('0x33'),_0x6408('0x34'),'rtpaudioqosjitter',_0x6408('0x35'),_0x6408('0x36'),_0x6408('0x37'),_0x6408('0x38'),'rtpaudioqosrttbridged',_0x6408('0x39'),_0x6408('0x3a'),_0x6408('0x3b'),_0x6408('0x3c'),_0x6408('0x3d'),_0x6408('0x3e'),_0x6408('0x3f'),_0x6408('0x40'),_0x6408('0x41'),_0x6408('0x42'),_0x6408('0x43')];if(!_[_0x6408('0x44')](_0x11820b)&&!_[_0x6408('0x45')](_0x4954aa,_0x11820b)){if(_[_0x6408('0x14')](this['variables'][_0x162509])){this[_0x6408('0x46')][_0x162509]={};}this[_0x6408('0x46')][_0x162509][_0x11820b]=_0x17d3c1;}};VoiceDialReport[_0x6408('0x13')][_0x6408('0x12')]=function(_0x455302){try{if(this['isNotNull'](_0x455302)){if(this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]]){this[_0x6408('0x9')][_0x455302['uniqueid']][_0x6408('0x47')]=moment()['format'](_0x6408('0x29'));this['channels'][_0x455302['uniqueid']][_0x6408('0x48')]=moment(this[_0x6408('0x9')][_0x455302['uniqueid']][_0x6408('0x47')])[_0x6408('0x49')](this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]]['starttime'],'seconds');this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]]['lastevent']='complete';this[_0x6408('0xa')][_0x6408('0x4a')]+=0x1;if(this[_0x6408('0x9')][_0x455302['uniqueid']]['answertime']){this[_0x6408('0xa')][_0x6408('0x4b')]+=0x1;this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]][_0x6408('0x4c')]=moment(this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]]['answertime'])['diff'](this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]][_0x6408('0x4d')],_0x6408('0x4e'));this['channels'][_0x455302[_0x6408('0x21')]][_0x6408('0x4f')]=moment(this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]][_0x6408('0x47')])['diff'](this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]][_0x6408('0x28')],_0x6408('0x4e'));this['outbound'][_0x6408('0x50')]+=this['channels'][_0x455302[_0x6408('0x21')]][_0x6408('0x4c')]||0x0;this[_0x6408('0xa')]['sumBillable']+=this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]][_0x6408('0x4f')];}this['outbound'][_0x6408('0x51')]+=this[_0x6408('0x9')][_0x455302['uniqueid']][_0x6408('0x48')];ami['emit'](_0x6408('0x52'),this[_0x6408('0x9')][_0x455302['uniqueid']]);ami[_0x6408('0x15')]('custom:dialend',this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]]);this[_0x6408('0x15')](_0x6408('0x1f'),_0x6408('0x53'),this[_0x6408('0xa')]);logger[_0x6408('0x54')]('[DEBUG]\x20Emit\x20voice_outbound_channel:remove\x20event',JSON[_0x6408('0x55')](this['channels'][_0x455302[_0x6408('0x21')]]));this[_0x6408('0x15')](_0x6408('0x1f'),_0x6408('0x56'),this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]]);delete this[_0x6408('0x9')][_0x455302[_0x6408('0x21')]];}if(this[_0x6408('0x46')][_0x455302[_0x6408('0x21')]]){delete this[_0x6408('0x46')][_0x455302[_0x6408('0x21')]];}}}catch(_0x8de1a4){logger['error']('[syncHangup][VoiceDialReport]',util[_0x6408('0x2d')](_0x8de1a4,{'showHidden':![],'depth':null}));}};module[_0x6408('0x57')]=VoiceDialReport;
\ No newline at end of file
+var _0xface=['rtpaudioqosrtt','rtpaudioqosrttbridged','sipcallid','bridgepeer','bridgepvtcallid','membercalls','memberdynamic','memberinterface','memberlastcall','membername','memberpenalty','memberrealtime','isNil','includes','endtime','duration','diff','starttime','seconds','total','answered','holdtime','billableseconds','sumBillable','custom:voiceDialReport','custom:dialend','voice_outbound:save','info','[DEBUG]\x20Emit\x20voice_outbound_channel:remove\x20event','stringify','voice_outbound_channel:remove','[syncHangup][VoiceDialReport]','exports','moment','ioredis','../../../config/environment','../../../config/logger','ami','redis','localhost','socket.io-emitter','outboundChannels','outbound','variables','dialbegin','bind','syncDialEnd','varset','hangup','syncHangup','prototype','isNotNull','isUndefined','emit','syncDialBegin','channels','uniqueid','format','YYYY-MM-DD\x20HH:mm:ss','called','channel','lastIndexOf','event','privilege','voice:outbound','voice_outbound_channel:save','custom:dialbegin','error','[syncDialBegin][VoiceDialReport]','inspect','dialstatus','ANSWER','connectedlinenum','connectedlinename','answertime','lastevent','connect','syncVarSet','addVariable','keys','value','variable','outboundrouteid','[syncVarSet][VoiceDialReport]','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged'];(function(_0x32e649,_0x228649){var _0x14d386=function(_0x3fb3ed){while(--_0x3fb3ed){_0x32e649['push'](_0x32e649['shift']());}};_0x14d386(++_0x228649);}(_0xface,0x12c));var _0xefac=function(_0x3e4909,_0x2894c2){_0x3e4909=_0x3e4909-0x0;var _0x57518e=_0xface[_0x3e4909];return _0x57518e;};'use strict';var _=require('lodash');var moment=require(_0xefac('0x0'));var util=require('util');var Redis=require(_0xefac('0x1'));var config=require(_0xefac('0x2'));var logger=require(_0xefac('0x3'))(_0xefac('0x4'));var ami=require('../ami');config['redis']=_['defaults'](config[_0xefac('0x5')],{'host':_0xefac('0x6'),'port':0x18eb});var io=require(_0xefac('0x7'))(new Redis(config[_0xefac('0x5')]));function VoiceDialReport(_0x5db987){this['channels']=_0x5db987[_0xefac('0x8')];this[_0xefac('0x9')]=_0x5db987['outbound'];this[_0xefac('0xa')]={};ami['on'](_0xefac('0xb'),this['syncDialBegin'][_0xefac('0xc')](this));ami['on']('dialend',this[_0xefac('0xd')][_0xefac('0xc')](this));ami['on'](_0xefac('0xe'),this['syncVarSet']['bind'](this));ami['on'](_0xefac('0xf'),this[_0xefac('0x10')]['bind'](this));}VoiceDialReport[_0xefac('0x11')][_0xefac('0x12')]=function(_0x4e5060){return _0x4e5060!==null&&!_[_0xefac('0x13')](_0x4e5060);};VoiceDialReport[_0xefac('0x11')]['emit']=function(_0x498839,_0x2833c1,_0x2b67d2){io['to'](_0x498839)[_0xefac('0x14')](_0x2833c1,_0x2b67d2);};VoiceDialReport['prototype'][_0xefac('0x15')]=function(_0x187ec7){try{if(this[_0xefac('0x12')](_0x187ec7)){if(this[_0xefac('0x16')][_0x187ec7[_0xefac('0x17')]]){_['merge'](this[_0xefac('0x16')][_0x187ec7[_0xefac('0x17')]],{'starttime':moment()[_0xefac('0x18')](_0xefac('0x19')),'lastevent':_0xefac('0x1a'),'interface':_0x187ec7[_0xefac('0x1b')]['substring'](0x0,_0x187ec7[_0xefac('0x1b')][_0xefac('0x1c')]('-')),'membername':_0x187ec7[_0xefac('0x1b')]['substring'](_0x187ec7['channel']['lastIndexOf']('/')+0x1,_0x187ec7[_0xefac('0x1b')][_0xefac('0x1c')]('-'))},_['omit'](_0x187ec7,[_0xefac('0x1d'),_0xefac('0x1e')]));this['emit'](_0xefac('0x1f'),_0xefac('0x20'),this[_0xefac('0x16')][_0x187ec7['uniqueid']]);ami[_0xefac('0x14')](_0xefac('0x21'),this[_0xefac('0x16')][_0x187ec7[_0xefac('0x17')]]);}}}catch(_0x38b645){logger[_0xefac('0x22')](_0xefac('0x23'),util[_0xefac('0x24')](_0x38b645,{'showHidden':![],'depth':null}));}};VoiceDialReport['prototype'][_0xefac('0xd')]=function(_0x18b5bc){try{if(this[_0xefac('0x12')](_0x18b5bc)){if(this[_0xefac('0x16')][_0x18b5bc[_0xefac('0x17')]]){this[_0xefac('0x16')][_0x18b5bc[_0xefac('0x17')]][_0xefac('0x25')]=_0x18b5bc[_0xefac('0x25')];if(_0x18b5bc[_0xefac('0x25')]===_0xefac('0x26')){this[_0xefac('0x16')][_0x18b5bc[_0xefac('0x17')]]['connectedlinenum']=_0x18b5bc[_0xefac('0x27')];this[_0xefac('0x16')][_0x18b5bc[_0xefac('0x17')]][_0xefac('0x28')]=_0x18b5bc[_0xefac('0x28')];this[_0xefac('0x16')][_0x18b5bc[_0xefac('0x17')]][_0xefac('0x29')]=moment()[_0xefac('0x18')](_0xefac('0x19'));this[_0xefac('0x16')][_0x18b5bc[_0xefac('0x17')]][_0xefac('0x2a')]=_0xefac('0x2b');ami[_0xefac('0x14')]('custom:dialconnect',this[_0xefac('0x16')][_0x18b5bc['uniqueid']]);}this[_0xefac('0x14')](_0xefac('0x1f'),_0xefac('0x20'),this[_0xefac('0x16')][_0x18b5bc[_0xefac('0x17')]]);}}}catch(_0x332b9f){logger[_0xefac('0x22')]('[syncDialEnd][VoiceDialReport]',util[_0xefac('0x24')](_0x332b9f,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0xefac('0x11')][_0xefac('0x2c')]=function(_0x173e46){try{if(this[_0xefac('0x12')](_0x173e46)){this[_0xefac('0x2d')](_0x173e46[_0xefac('0x17')],_[_0xefac('0x2e')](_0x173e46['variable'])[0x0],_0x173e46[_0xefac('0x2f')]);if(this[_0xefac('0x12')](_0x173e46['variable'])&&this[_0xefac('0x12')](_0x173e46[_0xefac('0x30')][_0xefac('0x31')])){if(_[_0xefac('0x13')](this['channels'][_0x173e46[_0xefac('0x17')]])){this[_0xefac('0x16')][_0x173e46[_0xefac('0x17')]]={'routeId':_0x173e46[_0xefac('0x2f')],'variables':this['variables'][_0x173e46['uniqueid']]};this['emit']('voice:outbound',_0xefac('0x20'),this['channels'][_0x173e46[_0xefac('0x17')]]);}}}}catch(_0x44931d){logger[_0xefac('0x22')](_0xefac('0x32'),util[_0xefac('0x24')](_0x44931d,{'showHidden':![],'depth':null}));}};VoiceDialReport[_0xefac('0x11')][_0xefac('0x2d')]=function(_0xe3870c,_0x2147a4,_0x2ce2b5){var _0x2c9a60=[_0xefac('0x33'),_0xefac('0x34'),'rtpaudioqosjitter',_0xefac('0x35'),_0xefac('0x36'),_0xefac('0x37'),_0xefac('0x38'),_0xefac('0x39'),_0xefac('0x3a'),'sipuri',_0xefac('0x3b'),_0xefac('0x3c'),_0xefac('0x3d'),_0xefac('0x3e'),_0xefac('0x3f'),_0xefac('0x40'),_0xefac('0x41'),_0xefac('0x42'),_0xefac('0x43')];if(!_[_0xefac('0x44')](_0x2147a4)&&!_[_0xefac('0x45')](_0x2c9a60,_0x2147a4)){if(_[_0xefac('0x13')](this['variables'][_0xe3870c])){this[_0xefac('0xa')][_0xe3870c]={};}this[_0xefac('0xa')][_0xe3870c][_0x2147a4]=_0x2ce2b5;}};VoiceDialReport['prototype'][_0xefac('0x10')]=function(_0x40925d){try{if(this[_0xefac('0x12')](_0x40925d)){if(this[_0xefac('0x16')][_0x40925d['uniqueid']]){this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]][_0xefac('0x46')]=moment()[_0xefac('0x18')](_0xefac('0x19'));this['channels'][_0x40925d[_0xefac('0x17')]][_0xefac('0x47')]=moment(this['channels'][_0x40925d['uniqueid']]['endtime'])[_0xefac('0x48')](this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]][_0xefac('0x49')],_0xefac('0x4a'));this[_0xefac('0x16')][_0x40925d['uniqueid']][_0xefac('0x2a')]='complete';this[_0xefac('0x9')][_0xefac('0x4b')]+=0x1;if(this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]]['answertime']){this[_0xefac('0x9')][_0xefac('0x4c')]+=0x1;this['channels'][_0x40925d[_0xefac('0x17')]][_0xefac('0x4d')]=moment(this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]][_0xefac('0x29')])[_0xefac('0x48')](this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]][_0xefac('0x49')],'seconds');this['channels'][_0x40925d[_0xefac('0x17')]][_0xefac('0x4e')]=moment(this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]][_0xefac('0x46')])['diff'](this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]]['answertime'],_0xefac('0x4a'));this[_0xefac('0x9')]['sumHoldTime']+=this['channels'][_0x40925d[_0xefac('0x17')]]['holdtime']||0x0;this[_0xefac('0x9')][_0xefac('0x4f')]+=this['channels'][_0x40925d[_0xefac('0x17')]][_0xefac('0x4e')];}this[_0xefac('0x9')]['sumDuration']+=this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]]['duration'];ami['emit'](_0xefac('0x50'),this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]]);ami['emit'](_0xefac('0x51'),this['channels'][_0x40925d[_0xefac('0x17')]]);this['emit'](_0xefac('0x1f'),_0xefac('0x52'),this[_0xefac('0x9')]);logger[_0xefac('0x53')](_0xefac('0x54'),JSON[_0xefac('0x55')](this[_0xefac('0x16')][_0x40925d[_0xefac('0x17')]]));this[_0xefac('0x14')]('voice:outbound',_0xefac('0x56'),this['channels'][_0x40925d[_0xefac('0x17')]]);delete this[_0xefac('0x16')][_0x40925d['uniqueid']];}if(this[_0xefac('0xa')][_0x40925d[_0xefac('0x17')]]){delete this['variables'][_0x40925d[_0xefac('0x17')]];}}}catch(_0x8041a1){logger['error'](_0xefac('0x57'),util['inspect'](_0x8041a1,{'showHidden':![],'depth':null}));}};module[_0xefac('0x58')]=VoiceDialReport;
\ No newline at end of file