d5b3995160a0a1810f97fe72a1fd71e9065ade42
[motion-next.git] / server / services / ami / fax / index.js
1 const a1060_0x5b33=['Fax\x20failed','hangup','channelstate','[Fax][execOriginate][failure]','Action','execute','isNil','\x20receiveFax\x20','\x20hangup\x20faxRiceive\x20','unmonitored','updateStatus','[Fax][Message][Error][NoUpdate2]','prototype','exports','transferrate','actions','then','./action','FaxAccountId','bind','newchannel','message','uuid','isValid','stringify','response','parse','[Fax][checkTrunk][Empty\x20path]','newstate','context','Empty\x20path','format','create','value','pick','trunks','[Fax][Message][Error][Updated]','syncVarSet','resolution','dir','addVariables','active','remotestationid','reason','logger','lodash','channelstatedesc','catch','syncNewExten','variablesAction','faxpages','Is\x20Valid','pagestransferred','from-voip-provider','newexten','isTrunkReachable','./util/gs','\x20Trunk\x20is\x20not\x20active','Trunk\x20Reachable','channel','uniqueid','SIP/%s','faxAccounts','\x20syncNewchannel\x20','notify','receivefax','faxstatusstring','Trunk','status','Trunk\x20not\x20working','[Fax][Message][NoUpdate2]','AttachmentId','exten','../rpc/attachment','syncFaxStatus','%s/%s.tif','execOriginate','SENDING\x20FAILED','operation','util','./util/util','[Fax][checkTrunk][Trunk\x20not\x20work]','SENDING\x20FAILED:\x20','.pdf','varset','gs\x20-q\x20-dNOPAUSE\x20-dBATCH\x20-sDEVICE=tiffg4\x20-sPAPERSIZE=letter\x20-sOutputFile=/var/opt/motion2/server/files/attachments/%s.tif\x20\x20%s\x20-c\x20quit','undefined','variable','localstationid','SENDING\x20FAILED\x20','finally','SUCCESS','syncHangup','info','send','path','calleridnum','name','filename','\x20hangup\x20sendFile\x20','XMF-PATH','update','application/pdf','syncReceiveFax','syncOriginateResponse','\x20notify\x20','checkAfterSend','ext','channels','checkTrunk','\x20result\x20conversion\x20file\x20','\x20syncFaxStatus\x20','Fax\x20received','fax','[Fax][Message][Error][NoUpdate1]','syncNewchannel'];(function(_0x565045,_0x5b33a5){const _0x24bb67=function(_0x420bb0){while(--_0x420bb0){_0x565045['push'](_0x565045['shift']());}};_0x24bb67(++_0x5b33a5);}(a1060_0x5b33,0x189));const a1060_0x24bb=function(_0x565045,_0x5b33a5){_0x565045=_0x565045-0x0;let _0x24bb67=a1060_0x5b33[_0x565045];return _0x24bb67;};const _0x143c2d=a1060_0x24bb;'use strict';const util=require(_0x143c2d('0x22')),_=require(_0x143c2d('0x0')),uuid=require(_0x143c2d('0x5d')),path=require(_0x143c2d('0x32')),tiff2pdf=require('tiff2pdf'),gs=require(_0x143c2d('0xb')),logger=require('../../../config/logger')('fax'),ami=require('../ami'),ut=require(_0x143c2d('0x23')),Action=require(_0x143c2d('0x58')),faxAccount=require('../rpc/faxAccount'),attachment=require(_0x143c2d('0x1c')),faxMessage=require('../rpc/faxMessage');function Fax(_0x420bb0){const _0x28c8ad=_0x143c2d;this[_0x28c8ad('0x3f')]={},this[_0x28c8ad('0x11')]=_0x420bb0[_0x28c8ad('0x11')],this['trunks']=_0x420bb0[_0x28c8ad('0x6a')],this['actions']={},ami['on'](_0x28c8ad('0x5b'),this['syncNewchannel'][_0x28c8ad('0x5a')](this)),ami['on'](_0x28c8ad('0x27'),this['syncVarSet']['bind'](this)),ami['on'](_0x28c8ad('0x63'),this['syncNewState'][_0x28c8ad('0x5a')](this)),ami['on'](_0x28c8ad('0x9'),this['syncNewExten'][_0x28c8ad('0x5a')](this)),ami['on']('faxstatus',this['syncFaxStatus'][_0x28c8ad('0x5a')](this)),ami['on'](_0x28c8ad('0x14'),this[_0x28c8ad('0x3a')]['bind'](this)),ami['on'](_0x28c8ad('0x48'),this[_0x28c8ad('0x2f')][_0x28c8ad('0x5a')](this)),ami['on']('originateresponse',this[_0x28c8ad('0x3b')][_0x28c8ad('0x5a')](this));}Fax['prototype'][_0x143c2d('0x46')]=function(_0x52b3e6){const _0x8fbc98=_0x143c2d;if(_0x52b3e6[_0x8fbc98('0x64')]===_0x8fbc98('0x8'))for(const _0x1be1b3 in this[_0x8fbc98('0x11')]){typeof this[_0x8fbc98('0x11')][_0x1be1b3]!=='undefined'&&(_0x52b3e6[_0x8fbc98('0x1b')]===this[_0x8fbc98('0x11')][_0x1be1b3][_0x8fbc98('0x2b')]&&(this[_0x8fbc98('0x3f')][_0x52b3e6['uniqueid']]={},this[_0x8fbc98('0x3f')][_0x52b3e6[_0x8fbc98('0xf')]][_0x8fbc98('0xe')]=_0x52b3e6['channel'],this[_0x8fbc98('0x3f')][_0x52b3e6[_0x8fbc98('0xf')]]['id']=this[_0x8fbc98('0x11')][_0x1be1b3]['id'],this[_0x8fbc98('0x3f')][_0x52b3e6[_0x8fbc98('0xf')]][_0x8fbc98('0x34')]=this[_0x8fbc98('0x11')][_0x1be1b3]['name'],logger[_0x8fbc98('0x30')](_0x52b3e6[_0x8fbc98('0xf')],_0x8fbc98('0x12'))));}this['actions'][_0x52b3e6[_0x8fbc98('0xf')]]&&(this[_0x8fbc98('0x3f')][_0x52b3e6[_0x8fbc98('0xf')]]={},this['channels'][_0x52b3e6[_0x8fbc98('0xf')]]['channel']=_0x52b3e6[_0x8fbc98('0xe')],logger[_0x8fbc98('0x30')](_0x52b3e6['uniqueid'],_0x8fbc98('0x12')));},Fax['prototype'][_0x143c2d('0x6c')]=function(_0x2a6fbb){const _0x109df0=_0x143c2d;if(this[_0x109df0('0x3f')][_0x2a6fbb[_0x109df0('0xf')]])for(const _0x160e97 in _0x2a6fbb[_0x109df0('0x2a')]){typeof _0x2a6fbb['variable'][_0x160e97]!==_0x109df0('0x29')&&(this[_0x109df0('0x3f')][_0x2a6fbb[_0x109df0('0xf')]][_0x160e97]=_0x2a6fbb[_0x109df0('0x68')]);}},Fax[_0x143c2d('0x53')]['syncNewState']=function(_0x2da21a){const _0x3a0895=_0x143c2d;this[_0x3a0895('0x3f')][_0x2da21a[_0x3a0895('0xf')]]&&(this[_0x3a0895('0x3f')][_0x2da21a[_0x3a0895('0xf')]][_0x3a0895('0x49')]=_0x2da21a['channelstate'],this[_0x3a0895('0x3f')][_0x2da21a[_0x3a0895('0xf')]][_0x3a0895('0x1')]=_0x2da21a[_0x3a0895('0x1')]);},Fax[_0x143c2d('0x53')][_0x143c2d('0x3')]=function(_0x3866dd){const _0x561b26=_0x143c2d;if(this['channels'][_0x3866dd[_0x561b26('0xf')]])for(const _0xaf952c in _0x3866dd['variable']){typeof _0x3866dd['variable'][_0xaf952c]!==_0x561b26('0x29')&&(this[_0x561b26('0x3f')][_0x3866dd[_0x561b26('0xf')]][_0xaf952c]=_0x3866dd[_0x561b26('0x68')]);}},Fax[_0x143c2d('0x53')][_0x143c2d('0x1d')]=function(_0x51c2d5){const _0x5a407c=_0x143c2d;this[_0x5a407c('0x3f')][_0x51c2d5[_0x5a407c('0xf')]]&&(this[_0x5a407c('0x3f')][_0x51c2d5[_0x5a407c('0xf')]][_0x5a407c('0x21')]=_0x51c2d5['operation'],this[_0x5a407c('0x3f')][_0x51c2d5[_0x5a407c('0xf')]][_0x5a407c('0x17')]=_0x51c2d5[_0x5a407c('0x17')],this[_0x5a407c('0x3f')][_0x51c2d5[_0x5a407c('0xf')]]['localstationid']=_0x51c2d5[_0x5a407c('0x2b')],this[_0x5a407c('0x3f')][_0x51c2d5['uniqueid']][_0x5a407c('0x35')]=_0x51c2d5['filename'],logger[_0x5a407c('0x30')](_0x51c2d5[_0x5a407c('0xf')],_0x5a407c('0x42')));},Fax[_0x143c2d('0x53')]['syncReceiveFax']=function(_0x4e83b6){const _0x566262=_0x143c2d;if(this[_0x566262('0x3f')][_0x4e83b6['uniqueid']]){const _0x4b10c7=this[_0x566262('0x3f')][_0x4e83b6[_0x566262('0xf')]]['id'];this[_0x566262('0x3f')][_0x4e83b6[_0x566262('0xf')]][_0x566262('0x71')]=_0x4e83b6['remotestationid'],this[_0x566262('0x3f')][_0x4e83b6[_0x566262('0xf')]]['pagestransferred']=_0x4e83b6[_0x566262('0x7')],this['channels'][_0x4e83b6[_0x566262('0xf')]][_0x566262('0x2b')]=_0x4e83b6[_0x566262('0x2b')],this[_0x566262('0x3f')][_0x4e83b6[_0x566262('0xf')]][_0x566262('0x6d')]=_0x4e83b6[_0x566262('0x6d')],this[_0x566262('0x3f')][_0x4e83b6[_0x566262('0xf')]][_0x566262('0x55')]=_0x4e83b6[_0x566262('0x55')],this[_0x566262('0x3f')][_0x4e83b6['uniqueid']]['filename']=_0x4e83b6[_0x566262('0x35')],this[_0x566262('0x3f')][_0x4e83b6[_0x566262('0xf')]][_0x566262('0x33')]=_0x4e83b6[_0x566262('0x33')],this['channels'][_0x4e83b6[_0x566262('0xf')]][_0x566262('0x7')]>0x0&&tiff2pdf(_0x4e83b6[_0x566262('0x35')],'/var/opt/motion2/server/files/attachments/',function(_0x4dd10e){const _0xab4bb1=_0x566262;logger['info'](_0x4e83b6[_0xab4bb1('0xf')],_0xab4bb1('0x41'),_0x4dd10e['message']),attachment[_0xab4bb1('0x67')]({'name':path[_0xab4bb1('0x61')](_0x4e83b6[_0xab4bb1('0x35')])['name'],'basename':path['parse'](_0x4e83b6['filename'])[_0xab4bb1('0x34')]+_0xab4bb1('0x26'),'type':_0xab4bb1('0x39')})[_0xab4bb1('0x57')](function(_0x4fffc7){const _0x49ff6c=_0xab4bb1;faxAccount[_0x49ff6c('0x13')](_0x4b10c7,{'from':_0x4e83b6[_0x49ff6c('0x33')],'mapKey':_0x49ff6c('0x44'),'body':path['parse'](_0x4e83b6['filename'])[_0x49ff6c('0x34')]+_0x49ff6c('0x26'),'AttachmentId':_0x4fffc7['id']})['catch'](function(_0x257447){const _0x487051=_0x49ff6c;logger['error'](_0x4e83b6[_0x487051('0xf')],_0x487051('0x3c'),JSON[_0x487051('0x5f')](_0x257447));});})[_0xab4bb1('0x2')](function(_0x499cce){const _0x228ace=_0xab4bb1;logger['error'](_0x4e83b6[_0x228ace('0xf')],_0x228ace('0x4e'),JSON['stringify'](_0x499cce));});}),logger['info'](_0x4e83b6[_0x566262('0xf')],_0x566262('0x4e'));}},Fax[_0x143c2d('0x53')][_0x143c2d('0x3b')]=function(_0x165a7f){const _0xa2a0a0=_0x143c2d;this[_0xa2a0a0('0x56')][_0x165a7f['uniqueid']]&&_['merge'](this[_0xa2a0a0('0x3f')][_0x165a7f[_0xa2a0a0('0xf')]],_[_0xa2a0a0('0x69')](_0x165a7f,[_0xa2a0a0('0x60'),_0xa2a0a0('0x72')]));};function updateStatus(_0x4019aa){const _0x1a3bc9=_0x143c2d;_0x4019aa['AttachmentId']?faxMessage['update'](_0x4019aa[_0x1a3bc9('0x1a')],{'failMessage':_0x1a3bc9('0x2c')})[_0x1a3bc9('0x57')](function(_0x12abf0){const _0x155a65=_0x1a3bc9;ut['logger'](_0x155a65('0x6b'),_0x12abf0);})[_0x1a3bc9('0x2')](function(_0x3eb759){const _0x3619f2=_0x1a3bc9;ut[_0x3619f2('0x73')](_0x3619f2('0x45'),_0x3eb759);}):ut[_0x1a3bc9('0x73')](_0x1a3bc9('0x52'));}Fax[_0x143c2d('0x53')]['updateStatus']=function(_0x23a633,_0x521246,_0xcca28b){const _0x3f0c34=_0x143c2d,_0xa70e8b=this;let _0x4fe6bc={};_0x521246?_0x4fe6bc={'read':_0x521246}:_0x4fe6bc={'failMessage':_0xcca28b},this['actions'][_0x23a633][_0x3f0c34('0x1a')]?faxMessage[_0x3f0c34('0x38')](this[_0x3f0c34('0x56')][_0x23a633]['AttachmentId'],_0x4fe6bc)[_0x3f0c34('0x57')](function(_0x542e11){const _0x2c21d4=_0x3f0c34;ut[_0x2c21d4('0x73')]('[Fax][Message][Updated]',_0x542e11);})[_0x3f0c34('0x2')](function(_0x2b2d81){const _0x2a0b04=_0x3f0c34;ut[_0x2a0b04('0x73')]('[Fax][Message][NoUpdate1]',_0x2b2d81);})[_0x3f0c34('0x2d')](function(){const _0x2e04fd=_0x3f0c34;delete _0xa70e8b[_0x2e04fd('0x3f')][_0x23a633],delete _0xa70e8b['actions'][_0x23a633];}):(ut[_0x3f0c34('0x73')](_0x3f0c34('0x19')),delete this[_0x3f0c34('0x3f')][_0x23a633],delete this[_0x3f0c34('0x56')][_0x23a633]);},Fax[_0x143c2d('0x53')][_0x143c2d('0x2f')]=function(_0x9399c4){const _0x4c42d4=_0x143c2d;this[_0x4c42d4('0x3f')][_0x9399c4[_0x4c42d4('0xf')]]&&(this[_0x4c42d4('0x56')][_0x9399c4['uniqueid']]&&(this[_0x4c42d4('0x3f')][_0x9399c4[_0x4c42d4('0xf')]]['id']=this[_0x4c42d4('0x56')][_0x9399c4[_0x4c42d4('0xf')]]['id'],this[_0x4c42d4('0x3f')][_0x9399c4[_0x4c42d4('0xf')]][_0x4c42d4('0x34')]=this[_0x4c42d4('0x56')][_0x9399c4[_0x4c42d4('0xf')]]['name']),logger['info'](_0x9399c4[_0x4c42d4('0xf')],this[_0x4c42d4('0x56')][_0x9399c4[_0x4c42d4('0xf')]]?_0x4c42d4('0x36'):_0x4c42d4('0x4f'),JSON[_0x4c42d4('0x5f')](this[_0x4c42d4('0x3f')][_0x9399c4[_0x4c42d4('0xf')]])),this[_0x4c42d4('0x56')][_0x9399c4[_0x4c42d4('0xf')]]&&(this[_0x4c42d4('0x3f')][_0x9399c4[_0x4c42d4('0xf')]][_0x4c42d4('0x5')]>0x0&&this[_0x4c42d4('0x3f')][_0x9399c4[_0x4c42d4('0xf')]]['faxstatus']===_0x4c42d4('0x2e')?this[_0x4c42d4('0x51')](_0x9399c4[_0x4c42d4('0xf')],!![]):this[_0x4c42d4('0x51')](_0x9399c4[_0x4c42d4('0xf')],![],this[_0x4c42d4('0x3f')][_0x9399c4['uniqueid']]['faxstatusstring']?_0x4c42d4('0x25')+this[_0x4c42d4('0x3f')][_0x9399c4[_0x4c42d4('0xf')]][_0x4c42d4('0x15')]:_0x4c42d4('0x20'))));},Fax[_0x143c2d('0x53')][_0x143c2d('0x31')]=function(_0x1e0760){const _0x136aeb=this;return new Promise(function(_0x56c0ee,_0x1c4494){const _0x405ba2=a1060_0x24bb;_0x136aeb[_0x405ba2('0x1f')](_0x1e0760,_0x136aeb[_0x405ba2('0x11')][_0x1e0760[_0x405ba2('0x59')]])[_0x405ba2('0x57')](function(_0x2d7519){const _0x3e125b=_0x405ba2;ut[_0x3e125b('0x73')]('[Fax][execOriginate][success]',_0x2d7519),_0x56c0ee(ut['message'](_0x3e125b('0x43')));})[_0x405ba2('0x2')](function(_0x440203){const _0x474a69=_0x405ba2;ut['logger'](_0x474a69('0x4a'),_0x440203),updateStatus(_0x1e0760),_0x1c4494(ut[_0x474a69('0x5c')](_0x474a69('0x47')));});});},Fax[_0x143c2d('0x53')][_0x143c2d('0x3d')]=function(_0x313d09){const _0x11eac4=this;return new Promise(function(_0x35b77a,_0x5220d8){const _0x5ae3fe=a1060_0x24bb,_0x17213f=_0x11eac4[_0x5ae3fe('0x40')](_0x11eac4[_0x5ae3fe('0x11')][_0x313d09[_0x5ae3fe('0x59')]][_0x5ae3fe('0x16')],_0x313d09);_0x17213f[_0x5ae3fe('0x5e')]?_0x35b77a(ut[_0x5ae3fe('0x5c')](_0x5ae3fe('0xd'))):_0x5220d8(ut[_0x5ae3fe('0x5c')](_0x17213f[_0x5ae3fe('0x5c')]));});};function originate(_0x58ac09,_0x420672,_0x5ed042){return new Promise(function(_0x2529ad,_0x4084f3){const _0x17c55e=a1060_0x24bb;if(_0x5ed042){const _0x291b0f=util['format'](_0x17c55e('0x28'),path['parse'](_0x58ac09[_0x17c55e('0x32')])[_0x17c55e('0x34')],_0x58ac09[_0x17c55e('0x32')]);gs[_0x17c55e('0x4c')](_0x291b0f)[_0x17c55e('0x57')](function(){const _0x10e25e=_0x17c55e;_0x58ac09[_0x10e25e('0x32')]=util['format'](_0x10e25e('0x1e'),path['parse'](_0x58ac09['path'])[_0x10e25e('0x6e')],path[_0x10e25e('0x61')](_0x58ac09['path'])[_0x10e25e('0x34')]),_0x420672[_0x10e25e('0x37')]=_0x58ac09[_0x10e25e('0x32')],ut[_0x10e25e('0x73')]('Convert\x20pdf\x20to\x20tif',''),ami[_0x10e25e('0x4b')](ut[_0x10e25e('0x4')](_0x58ac09,_0x420672))[_0x10e25e('0x57')](function(_0x1febf4){_0x2529ad(_0x1febf4);})['catch'](function(_0x48dd80){_0x4084f3(_0x48dd80);});})[_0x17c55e('0x2')](function(_0x11b05c){_0x4084f3(_0x11b05c);});}else ami[_0x17c55e('0x4b')](ut[_0x17c55e('0x4')](_0x58ac09,_0x420672))[_0x17c55e('0x57')](function(_0x2a5fb9){_0x2529ad(_0x2a5fb9);})[_0x17c55e('0x2')](function(_0x1df521){_0x4084f3(_0x1df521);});});}Fax[_0x143c2d('0x53')][_0x143c2d('0x1f')]=function(_0x58d1b4,_0x16b44f){const _0xd93285=this;return new Promise(function(_0x2c326d,_0x2fa55f){const _0x3b0353=a1060_0x24bb,_0x2b4b2c=uuid['v4'](),_0x560440=ut[_0x3b0353('0x6f')](_0x58d1b4,_0x16b44f);_0xd93285['actions'][_0x2b4b2c]=new Action(_0x2b4b2c,_0x16b44f,_0x58d1b4);const _0x559497=_0xd93285['actions'][_0x2b4b2c];path[_0x3b0353('0x61')](_0x58d1b4[_0x3b0353('0x32')])[_0x3b0353('0x3e')]===_0x3b0353('0x26')?originate(_0x559497,_0x560440,!![])[_0x3b0353('0x57')](function(_0x16a3a3){_0x2c326d(_0x16a3a3);})['catch'](function(_0x38d24f){_0x2fa55f(_0x38d24f);}):originate(_0x559497,_0x560440,![])['then'](function(_0x3310bb){_0x2c326d(_0x3310bb);})[_0x3b0353('0x2')](function(_0x36d802){_0x2fa55f(_0x36d802);});});},Fax[_0x143c2d('0x53')][_0x143c2d('0xa')]=function(_0xe17e5c){const _0x4e3886=_0x143c2d;return!_[_0x4e3886('0x4d')](_0xe17e5c)&&!_[_0x4e3886('0x4d')](_0xe17e5c['name'])&&!_[_0x4e3886('0x4d')](_0xe17e5c[_0x4e3886('0x70')])&&_0xe17e5c[_0x4e3886('0x70')]&&!_[_0x4e3886('0x4d')](this[_0x4e3886('0x6a')][util[_0x4e3886('0x66')](_0x4e3886('0x10'),_0xe17e5c[_0x4e3886('0x34')])])&&!_[_0x4e3886('0x4d')](this[_0x4e3886('0x6a')][util[_0x4e3886('0x66')](_0x4e3886('0x10'),_0xe17e5c[_0x4e3886('0x34')])][_0x4e3886('0x17')])&&(this[_0x4e3886('0x6a')][util[_0x4e3886('0x66')](_0x4e3886('0x10'),_0xe17e5c['name'])][_0x4e3886('0x17')]==='reachable'||this['trunks'][util[_0x4e3886('0x66')](_0x4e3886('0x10'),_0xe17e5c[_0x4e3886('0x34')])][_0x4e3886('0x17')]===_0x4e3886('0x50'));},Fax['prototype'][_0x143c2d('0x40')]=function(_0x1f196d,_0x4c7167){const _0x7ce26e=_0x143c2d;if(!this['isTrunkReachable'](_0x1f196d))return ut[_0x7ce26e('0x73')](_0x7ce26e('0x24'),_[_0x7ce26e('0x4d')](_0x1f196d)?'':_0x1f196d[_0x7ce26e('0x34')]+_0x7ce26e('0xc')),{'isValid':![],'message':_0x7ce26e('0x18')};if(_['isNil'](_0x4c7167['fax']))return ut['logger']('[Fax][checkTrunk][Empty\x20Fax]',JSON[_0x7ce26e('0x5f')](_0x4c7167)),{'isValid':![],'message':'Empty\x20Fax'};if(_[_0x7ce26e('0x4d')](_0x4c7167[_0x7ce26e('0x32')]))return ut[_0x7ce26e('0x73')](_0x7ce26e('0x62'),JSON[_0x7ce26e('0x5f')](_0x4c7167)),{'isValid':![],'message':_0x7ce26e('0x65')};return{'isValid':!![],'message':_0x7ce26e('0x6')};},module[_0x143c2d('0x54')]=Fax;