Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / services / ami / fax / index.js
index d3fff4b..0b630f3 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xee3d=['SENDING\x20FAILED:\x20','send','execOriginate','message','Fax\x20received','Fax\x20failed','checkTrunk','FaxAccountId','Trunk\x20Reachable','format','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','execute','%s/%s.tif','dir','XMF-PATH','Action','variablesAction','addVariables','ext','isNil','active','trunks','SIP/%s','unmonitored','isTrunkReachable','[Fax][checkTrunk][Trunk\x20not\x20work]','\x20Trunk\x20is\x20not\x20active','Empty\x20Fax','Empty\x20path','exports','util','uuid','moment','path','tiff2pdf','./util/gs','../ami','./rpcDb','./util/util','../rpc/faxAccount','../rpc/faxMessage','channels','faxAccounts','actions','newchannel','syncNewchannel','bind','varset','syncVarSet','syncNewState','newexten','syncNewExten','faxstatus','syncFaxStatus','receivefax','originateresponse','syncOriginateResponse','prototype','context','localstationid','uniqueid','channel','name','\x20syncNewchannel\x20','info','variable','hasOwnProperty','channelstate','channelstatedesc','value','operation','status','filename','syncReceiveFax','remotestationid','pagestransferred','resolution','transferrate','calleridnum','/var/opt/motion2/server/files/attachments/','\x20result\x20conversion\x20file\x20','create','parse','.pdf','application/pdf','notify','fax','catch','error','stringify','\x20receiveFax\x20','response','reason','AttachmentId','update','SENDING\x20FAILED\x20','then','logger','[Fax][Message][Error][Updated]','[Fax][Message][Error][NoUpdate1]','updateStatus','[Fax][Message][Updated]','[Fax][Message][NoUpdate1]','finally','[Fax][Message][NoUpdate2]','syncHangup','\x20hangup\x20sendFile\x20','\x20hangup\x20faxRiceive\x20','faxpages','SUCCESS','faxstatusstring'];(function(_0x2e925a,_0x236e31){var _0x7a02fb=function(_0x171253){while(--_0x171253){_0x2e925a['push'](_0x2e925a['shift']());}};_0x7a02fb(++_0x236e31);}(_0xee3d,0x1da));var _0xdee3=function(_0x2cf603,_0x441681){_0x2cf603=_0x2cf603-0x0;var _0x59531e=_0xee3d[_0x2cf603];return _0x59531e;};'use strict';var util=require(_0xdee3('0x0'));var _=require('lodash');var BPromise=require('bluebird');var uuid=require(_0xdee3('0x1'));var moment=require(_0xdee3('0x2'));var path=require(_0xdee3('0x3'));var tiff2pdf=require(_0xdee3('0x4'));var gs=require(_0xdee3('0x5'));var logger=require('../../../config/logger')('fax');var ami=require(_0xdee3('0x6'));var rpcDb=require(_0xdee3('0x7'));var Channel=require('./channel');var ut=require(_0xdee3('0x8'));var Action=require('./action');var faxAccount=require(_0xdee3('0x9'));var attachment=require('../rpc/attachment');var faxMessage=require(_0xdee3('0xa'));function Fax(_0x3fd394){this[_0xdee3('0xb')]={};this[_0xdee3('0xc')]=_0x3fd394[_0xdee3('0xc')];this['trunks']=_0x3fd394['trunks'];this[_0xdee3('0xd')]={};ami['on'](_0xdee3('0xe'),this[_0xdee3('0xf')][_0xdee3('0x10')](this));ami['on'](_0xdee3('0x11'),this[_0xdee3('0x12')][_0xdee3('0x10')](this));ami['on']('newstate',this[_0xdee3('0x13')][_0xdee3('0x10')](this));ami['on'](_0xdee3('0x14'),this[_0xdee3('0x15')][_0xdee3('0x10')](this));ami['on'](_0xdee3('0x16'),this[_0xdee3('0x17')][_0xdee3('0x10')](this));ami['on'](_0xdee3('0x18'),this['syncReceiveFax']['bind'](this));ami['on']('hangup',this['syncHangup'][_0xdee3('0x10')](this));ami['on'](_0xdee3('0x19'),this[_0xdee3('0x1a')][_0xdee3('0x10')](this));}Fax[_0xdee3('0x1b')][_0xdee3('0xf')]=function(_0x5071dc){if(_0x5071dc[_0xdee3('0x1c')]==='from-voip-provider'){for(var _0x2b71ca in this[_0xdee3('0xc')]){if(this[_0xdee3('0xc')]['hasOwnProperty'](_0x2b71ca)){if(_0x5071dc['exten']===this['faxAccounts'][_0x2b71ca][_0xdee3('0x1d')]){this[_0xdee3('0xb')][_0x5071dc[_0xdee3('0x1e')]]={};this[_0xdee3('0xb')][_0x5071dc[_0xdee3('0x1e')]][_0xdee3('0x1f')]=_0x5071dc[_0xdee3('0x1f')];this[_0xdee3('0xb')][_0x5071dc[_0xdee3('0x1e')]]['id']=this[_0xdee3('0xc')][_0x2b71ca]['id'];this[_0xdee3('0xb')][_0x5071dc[_0xdee3('0x1e')]][_0xdee3('0x20')]=this['faxAccounts'][_0x2b71ca][_0xdee3('0x20')];logger['info'](_0x5071dc[_0xdee3('0x1e')],_0xdee3('0x21'));}}}}if(this[_0xdee3('0xd')][_0x5071dc[_0xdee3('0x1e')]]){this[_0xdee3('0xb')][_0x5071dc[_0xdee3('0x1e')]]={};this['channels'][_0x5071dc[_0xdee3('0x1e')]]['channel']=_0x5071dc[_0xdee3('0x1f')];logger[_0xdee3('0x22')](_0x5071dc[_0xdee3('0x1e')],_0xdee3('0x21'));}};Fax[_0xdee3('0x1b')][_0xdee3('0x12')]=function(_0x4edbc5){if(this[_0xdee3('0xb')][_0x4edbc5[_0xdee3('0x1e')]]){for(var _0x58a8ff in _0x4edbc5[_0xdee3('0x23')]){if(_0x4edbc5[_0xdee3('0x23')][_0xdee3('0x24')](_0x58a8ff)){this[_0xdee3('0xb')][_0x4edbc5[_0xdee3('0x1e')]][_0x58a8ff]=_0x4edbc5['value'];}}}};Fax[_0xdee3('0x1b')][_0xdee3('0x13')]=function(_0x1dd58f){if(this[_0xdee3('0xb')][_0x1dd58f[_0xdee3('0x1e')]]){this[_0xdee3('0xb')][_0x1dd58f[_0xdee3('0x1e')]][_0xdee3('0x25')]=_0x1dd58f[_0xdee3('0x25')];this[_0xdee3('0xb')][_0x1dd58f['uniqueid']][_0xdee3('0x26')]=_0x1dd58f[_0xdee3('0x26')];}};Fax[_0xdee3('0x1b')]['syncNewExten']=function(_0x345f0b){if(this[_0xdee3('0xb')][_0x345f0b['uniqueid']]){for(var _0x39aab2 in _0x345f0b[_0xdee3('0x23')]){if(_0x345f0b[_0xdee3('0x23')]['hasOwnProperty'](_0x39aab2)){this[_0xdee3('0xb')][_0x345f0b['uniqueid']][_0x39aab2]=_0x345f0b[_0xdee3('0x27')];}}}};Fax[_0xdee3('0x1b')]['syncFaxStatus']=function(_0x562835){if(this['channels'][_0x562835[_0xdee3('0x1e')]]){this['channels'][_0x562835[_0xdee3('0x1e')]][_0xdee3('0x28')]=_0x562835[_0xdee3('0x28')];this[_0xdee3('0xb')][_0x562835[_0xdee3('0x1e')]][_0xdee3('0x29')]=_0x562835[_0xdee3('0x29')];this[_0xdee3('0xb')][_0x562835[_0xdee3('0x1e')]][_0xdee3('0x1d')]=_0x562835[_0xdee3('0x1d')];this[_0xdee3('0xb')][_0x562835[_0xdee3('0x1e')]][_0xdee3('0x2a')]=_0x562835[_0xdee3('0x2a')];logger[_0xdee3('0x22')](_0x562835['uniqueid'],'\x20syncFaxStatus\x20');}};Fax['prototype'][_0xdee3('0x2b')]=function(_0x110826){var _0x31d5f9=this;if(this['channels'][_0x110826['uniqueid']]){var _0xe4ffce=this['channels'][_0x110826[_0xdee3('0x1e')]]['id'];this[_0xdee3('0xb')][_0x110826['uniqueid']][_0xdee3('0x2c')]=_0x110826[_0xdee3('0x2c')];this[_0xdee3('0xb')][_0x110826[_0xdee3('0x1e')]][_0xdee3('0x2d')]=_0x110826['pagestransferred'];this[_0xdee3('0xb')][_0x110826[_0xdee3('0x1e')]][_0xdee3('0x1d')]=_0x110826[_0xdee3('0x1d')];this['channels'][_0x110826[_0xdee3('0x1e')]][_0xdee3('0x2e')]=_0x110826['resolution'];this[_0xdee3('0xb')][_0x110826[_0xdee3('0x1e')]][_0xdee3('0x2f')]=_0x110826[_0xdee3('0x2f')];this[_0xdee3('0xb')][_0x110826[_0xdee3('0x1e')]][_0xdee3('0x2a')]=_0x110826[_0xdee3('0x2a')];this[_0xdee3('0xb')][_0x110826[_0xdee3('0x1e')]][_0xdee3('0x30')]=_0x110826[_0xdee3('0x30')];if(this[_0xdee3('0xb')][_0x110826[_0xdee3('0x1e')]][_0xdee3('0x2d')]>0x0){tiff2pdf(_0x110826[_0xdee3('0x2a')],_0xdee3('0x31'),function(_0x1daaf0){logger[_0xdee3('0x22')](_0x110826[_0xdee3('0x1e')],_0xdee3('0x32'),_0x1daaf0['message']);attachment[_0xdee3('0x33')]({'name':path['parse'](_0x110826[_0xdee3('0x2a')])[_0xdee3('0x20')],'basename':path[_0xdee3('0x34')](_0x110826['filename'])[_0xdee3('0x20')]+_0xdee3('0x35'),'type':_0xdee3('0x36')})['then'](function(_0x547058){faxAccount[_0xdee3('0x37')](_0xe4ffce,{'from':_0x110826[_0xdee3('0x30')],'mapKey':_0xdee3('0x38'),'body':path[_0xdee3('0x34')](_0x110826[_0xdee3('0x2a')])[_0xdee3('0x20')]+_0xdee3('0x35'),'AttachmentId':_0x547058['id']})[_0xdee3('0x39')](function(_0x32b7b8){logger[_0xdee3('0x3a')](_0x110826[_0xdee3('0x1e')],'\x20notify\x20',JSON['stringify'](_0x32b7b8));});})[_0xdee3('0x39')](function(_0x3fff49){logger[_0xdee3('0x3a')](_0x110826[_0xdee3('0x1e')],'\x20receiveFax\x20',JSON[_0xdee3('0x3b')](_0x3fff49));});});}logger[_0xdee3('0x22')](_0x110826['uniqueid'],_0xdee3('0x3c'));}};Fax['prototype']['syncOriginateResponse']=function(_0x496355){if(this['actions'][_0x496355['uniqueid']]){_['merge'](this[_0xdee3('0xb')][_0x496355[_0xdee3('0x1e')]],_['pick'](_0x496355,[_0xdee3('0x3d'),_0xdee3('0x3e')]));}};function updateStatus(_0x1251db){if(_0x1251db[_0xdee3('0x3f')]){faxMessage[_0xdee3('0x40')](_0x1251db[_0xdee3('0x3f')],{'failMessage':_0xdee3('0x41')})[_0xdee3('0x42')](function(_0x3abdfa){ut[_0xdee3('0x43')](_0xdee3('0x44'),_0x3abdfa);})[_0xdee3('0x39')](function(_0x3358e6){ut[_0xdee3('0x43')](_0xdee3('0x45'),_0x3358e6);});}else{ut[_0xdee3('0x43')]('[Fax][Message][Error][NoUpdate2]');}}Fax[_0xdee3('0x1b')][_0xdee3('0x46')]=function(_0x4c420e,_0x321505,_0x19b857){var _0x2ad9ea=this;var _0x55895c={};if(_0x321505){_0x55895c={'read':_0x321505};}else{_0x55895c={'failMessage':_0x19b857};}if(this[_0xdee3('0xd')][_0x4c420e][_0xdee3('0x3f')]){faxMessage['update'](this[_0xdee3('0xd')][_0x4c420e][_0xdee3('0x3f')],_0x55895c)[_0xdee3('0x42')](function(_0x286936){ut[_0xdee3('0x43')](_0xdee3('0x47'),_0x286936);})[_0xdee3('0x39')](function(_0x480844){ut['logger'](_0xdee3('0x48'),_0x480844);})[_0xdee3('0x49')](function(){delete _0x2ad9ea[_0xdee3('0xb')][_0x4c420e];delete _0x2ad9ea[_0xdee3('0xd')][_0x4c420e];});}else{ut['logger'](_0xdee3('0x4a'));delete this[_0xdee3('0xb')][_0x4c420e];delete this[_0xdee3('0xd')][_0x4c420e];}};Fax[_0xdee3('0x1b')][_0xdee3('0x4b')]=function(_0x2f13f5){var _0xeea90d=this;if(this[_0xdee3('0xb')][_0x2f13f5[_0xdee3('0x1e')]]){if(this[_0xdee3('0xd')][_0x2f13f5[_0xdee3('0x1e')]]){this[_0xdee3('0xb')][_0x2f13f5[_0xdee3('0x1e')]]['id']=this[_0xdee3('0xd')][_0x2f13f5[_0xdee3('0x1e')]]['id'];this[_0xdee3('0xb')][_0x2f13f5[_0xdee3('0x1e')]][_0xdee3('0x20')]=this['actions'][_0x2f13f5['uniqueid']][_0xdee3('0x20')];}logger[_0xdee3('0x22')](_0x2f13f5[_0xdee3('0x1e')],this[_0xdee3('0xd')][_0x2f13f5['uniqueid']]?_0xdee3('0x4c'):_0xdee3('0x4d'),JSON[_0xdee3('0x3b')](this[_0xdee3('0xb')][_0x2f13f5[_0xdee3('0x1e')]]));if(this['actions'][_0x2f13f5[_0xdee3('0x1e')]]){if(this[_0xdee3('0xb')][_0x2f13f5[_0xdee3('0x1e')]][_0xdee3('0x4e')]>0x0&&this[_0xdee3('0xb')][_0x2f13f5[_0xdee3('0x1e')]][_0xdee3('0x16')]===_0xdee3('0x4f')){this[_0xdee3('0x46')](_0x2f13f5[_0xdee3('0x1e')],!![]);}else{this[_0xdee3('0x46')](_0x2f13f5[_0xdee3('0x1e')],![],this['channels'][_0x2f13f5[_0xdee3('0x1e')]][_0xdee3('0x50')]?_0xdee3('0x51')+this['channels'][_0x2f13f5['uniqueid']][_0xdee3('0x50')]:'SENDING\x20FAILED');}}}};Fax['prototype'][_0xdee3('0x52')]=function(_0xc346c8){var _0x16bbe8=this;return new BPromise(function(_0x296316,_0x2ad51b){_0x16bbe8[_0xdee3('0x53')](_0xc346c8,_0x16bbe8[_0xdee3('0xc')][_0xc346c8['FaxAccountId']])['then'](function(_0x4c993a){ut[_0xdee3('0x43')]('[Fax][execOriginate][success]',_0x4c993a);_0x296316(ut[_0xdee3('0x54')](_0xdee3('0x55')));})[_0xdee3('0x39')](function(_0x5dafc6){ut['logger']('[Fax][execOriginate][failure]',_0x5dafc6);updateStatus(_0xc346c8);_0x2ad51b(ut[_0xdee3('0x54')](_0xdee3('0x56')));});});};Fax['prototype']['checkAfterSend']=function(_0x5d8a0b){var _0x435be3=this;return new BPromise(function(_0x206766,_0x5379e7){var _0x3026a8=_0x435be3[_0xdee3('0x57')](_0x435be3[_0xdee3('0xc')][_0x5d8a0b[_0xdee3('0x58')]]['Trunk'],_0x5d8a0b);if(_0x3026a8['isValid']){_0x206766(ut[_0xdee3('0x54')](_0xdee3('0x59')));}else{_0x5379e7(ut[_0xdee3('0x54')](_0x3026a8[_0xdee3('0x54')]));}});};function originate(_0x3a0c48,_0x551f8e,_0x383ac8){return new BPromise(function(_0x583ff2,_0x5a8a13){if(_0x383ac8){var _0x3f8b56=util[_0xdee3('0x5a')](_0xdee3('0x5b'),path[_0xdee3('0x34')](_0x3a0c48[_0xdee3('0x3')])[_0xdee3('0x20')],_0x3a0c48['path']);gs[_0xdee3('0x5c')](_0x3f8b56)[_0xdee3('0x42')](function(){_0x3a0c48[_0xdee3('0x3')]=util[_0xdee3('0x5a')](_0xdee3('0x5d'),path['parse'](_0x3a0c48[_0xdee3('0x3')])[_0xdee3('0x5e')],path[_0xdee3('0x34')](_0x3a0c48[_0xdee3('0x3')])['name']);_0x551f8e[_0xdee3('0x5f')]=_0x3a0c48['path'];ut[_0xdee3('0x43')]('Convert\x20pdf\x20to\x20tif','');ami[_0xdee3('0x60')](ut[_0xdee3('0x61')](_0x3a0c48,_0x551f8e))[_0xdee3('0x42')](function(_0x7e96ff){_0x583ff2(_0x7e96ff);})[_0xdee3('0x39')](function(_0x476d52){_0x5a8a13(_0x476d52);});})[_0xdee3('0x39')](function(_0x159627){_0x5a8a13(_0x159627);});}else{ami[_0xdee3('0x60')](ut[_0xdee3('0x61')](_0x3a0c48,_0x551f8e))[_0xdee3('0x42')](function(_0x5e755a){_0x583ff2(_0x5e755a);})[_0xdee3('0x39')](function(_0x2653b5){_0x5a8a13(_0x2653b5);});}});}Fax['prototype'][_0xdee3('0x53')]=function(_0xb72cab,_0x1b4404){var _0x4c2e3a=this;return new BPromise(function(_0x42f655,_0x12c7a5){var _0x118a78=uuid['v4']();var _0x1b5b92=ut[_0xdee3('0x62')](_0xb72cab,_0x1b4404);_0x4c2e3a[_0xdee3('0xd')][_0x118a78]=new Action(_0x118a78,_0x1b4404,_0xb72cab);var _0x3c95dd=_0x4c2e3a['actions'][_0x118a78];if(path[_0xdee3('0x34')](_0xb72cab[_0xdee3('0x3')])[_0xdee3('0x63')]===_0xdee3('0x35')){originate(_0x3c95dd,_0x1b5b92,!![])['then'](function(_0x4469fe){_0x42f655(_0x4469fe);})[_0xdee3('0x39')](function(_0x2bcf46){_0x12c7a5(_0x2bcf46);});}else{originate(_0x3c95dd,_0x1b5b92,![])['then'](function(_0xe6ee5c){_0x42f655(_0xe6ee5c);})[_0xdee3('0x39')](function(_0x4adcc7){_0x12c7a5(_0x4adcc7);});}});};Fax[_0xdee3('0x1b')]['isTrunkReachable']=function(_0x123972){return!_['isNil'](_0x123972)&&!_[_0xdee3('0x64')](_0x123972[_0xdee3('0x20')])&&!_[_0xdee3('0x64')](_0x123972[_0xdee3('0x65')])&&_0x123972[_0xdee3('0x65')]&&!_[_0xdee3('0x64')](this[_0xdee3('0x66')][util[_0xdee3('0x5a')](_0xdee3('0x67'),_0x123972[_0xdee3('0x20')])])&&!_[_0xdee3('0x64')](this[_0xdee3('0x66')][util[_0xdee3('0x5a')]('SIP/%s',_0x123972[_0xdee3('0x20')])][_0xdee3('0x29')])&&(this['trunks'][util[_0xdee3('0x5a')](_0xdee3('0x67'),_0x123972['name'])][_0xdee3('0x29')]==='reachable'||this['trunks'][util[_0xdee3('0x5a')]('SIP/%s',_0x123972['name'])][_0xdee3('0x29')]===_0xdee3('0x68'));};Fax[_0xdee3('0x1b')][_0xdee3('0x57')]=function(_0x36feb2,_0x4f861f){if(!this[_0xdee3('0x69')](_0x36feb2)){ut[_0xdee3('0x43')](_0xdee3('0x6a'),_[_0xdee3('0x64')](_0x36feb2)?'':_0x36feb2[_0xdee3('0x20')]+_0xdee3('0x6b'));return{'isValid':![],'message':'Trunk\x20not\x20working'};}if(_[_0xdee3('0x64')](_0x4f861f[_0xdee3('0x38')])){ut[_0xdee3('0x43')]('[Fax][checkTrunk][Empty\x20Fax]',JSON[_0xdee3('0x3b')](_0x4f861f));return{'isValid':![],'message':_0xdee3('0x6c')};}if(_['isNil'](_0x4f861f[_0xdee3('0x3')])){ut['logger']('[Fax][checkTrunk][Empty\x20path]',JSON[_0xdee3('0x3b')](_0x4f861f));return{'isValid':![],'message':_0xdee3('0x6d')};}return{'isValid':!![],'message':'Is\x20Valid'};};module[_0xdee3('0x6e')]=Fax;
\ No newline at end of file
+var _0x65db=['hangup','originateresponse','syncOriginateResponse','prototype','context','hasOwnProperty','localstationid','channels','uniqueid','channel','name','info','\x20syncNewchannel\x20','variable','value','syncNewState','channelstate','channelstatedesc','operation','status','filename','\x20syncFaxStatus\x20','syncReceiveFax','remotestationid','pagestransferred','resolution','transferrate','calleridnum','/var/opt/motion2/server/files/attachments/','\x20result\x20conversion\x20file\x20','message','parse','.pdf','then','notify','catch','error','\x20notify\x20','\x20receiveFax\x20','stringify','merge','pick','AttachmentId','SENDING\x20FAILED\x20','logger','[Fax][Message][Error][Updated]','[Fax][Message][Error][NoUpdate1]','[Fax][Message][Error][NoUpdate2]','updateStatus','[Fax][Message][Updated]','[Fax][Message][NoUpdate1]','finally','[Fax][Message][NoUpdate2]','syncHangup','\x20hangup\x20sendFile\x20','\x20hangup\x20faxRiceive\x20','faxpages','faxstatus','SUCCESS','faxstatusstring','SENDING\x20FAILED:\x20','SENDING\x20FAILED','execOriginate','FaxAccountId','[Fax][execOriginate][success]','Fax\x20received','[Fax][execOriginate][failure]','checkTrunk','Trunk','isValid','Trunk\x20Reachable','format','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','path','execute','dir','XMF-PATH','Convert\x20pdf\x20to\x20tif','Action','variablesAction','addVariables','ext','isTrunkReachable','isNil','SIP/%s','reachable','[Fax][checkTrunk][Trunk\x20not\x20work]','\x20Trunk\x20is\x20not\x20active','Trunk\x20not\x20working','[Fax][checkTrunk][Empty\x20Fax]','Empty\x20Fax','exports','util','lodash','bluebird','uuid','tiff2pdf','./util/gs','fax','../ami','./rpcDb','./channel','./action','../rpc/faxAccount','../rpc/attachment','../rpc/faxMessage','faxAccounts','trunks','actions','syncNewchannel','bind','varset','syncVarSet','newstate','syncNewExten','syncFaxStatus','receivefax'];(function(_0x23437,_0x5b1a34){var _0x4c05e2=function(_0x486451){while(--_0x486451){_0x23437['push'](_0x23437['shift']());}};_0x4c05e2(++_0x5b1a34);}(_0x65db,0x1bb));var _0xb65d=function(_0x47a7d0,_0x4e182d){_0x47a7d0=_0x47a7d0-0x0;var _0xb9bd08=_0x65db[_0x47a7d0];return _0xb9bd08;};'use strict';var util=require(_0xb65d('0x0'));var _=require(_0xb65d('0x1'));var BPromise=require(_0xb65d('0x2'));var uuid=require(_0xb65d('0x3'));var moment=require('moment');var path=require('path');var tiff2pdf=require(_0xb65d('0x4'));var gs=require(_0xb65d('0x5'));var logger=require('../../../config/logger')(_0xb65d('0x6'));var ami=require(_0xb65d('0x7'));var rpcDb=require(_0xb65d('0x8'));var Channel=require(_0xb65d('0x9'));var ut=require('./util/util');var Action=require(_0xb65d('0xa'));var faxAccount=require(_0xb65d('0xb'));var attachment=require(_0xb65d('0xc'));var faxMessage=require(_0xb65d('0xd'));function Fax(_0x547e24){this['channels']={};this[_0xb65d('0xe')]=_0x547e24[_0xb65d('0xe')];this[_0xb65d('0xf')]=_0x547e24[_0xb65d('0xf')];this[_0xb65d('0x10')]={};ami['on']('newchannel',this[_0xb65d('0x11')][_0xb65d('0x12')](this));ami['on'](_0xb65d('0x13'),this[_0xb65d('0x14')][_0xb65d('0x12')](this));ami['on'](_0xb65d('0x15'),this['syncNewState'][_0xb65d('0x12')](this));ami['on']('newexten',this[_0xb65d('0x16')][_0xb65d('0x12')](this));ami['on']('faxstatus',this[_0xb65d('0x17')][_0xb65d('0x12')](this));ami['on'](_0xb65d('0x18'),this['syncReceiveFax'][_0xb65d('0x12')](this));ami['on'](_0xb65d('0x19'),this['syncHangup'][_0xb65d('0x12')](this));ami['on'](_0xb65d('0x1a'),this[_0xb65d('0x1b')][_0xb65d('0x12')](this));}Fax[_0xb65d('0x1c')][_0xb65d('0x11')]=function(_0x44ffb4){if(_0x44ffb4[_0xb65d('0x1d')]==='from-voip-provider'){for(var _0x3da3a6 in this['faxAccounts']){if(this['faxAccounts'][_0xb65d('0x1e')](_0x3da3a6)){if(_0x44ffb4['exten']===this['faxAccounts'][_0x3da3a6][_0xb65d('0x1f')]){this[_0xb65d('0x20')][_0x44ffb4[_0xb65d('0x21')]]={};this[_0xb65d('0x20')][_0x44ffb4[_0xb65d('0x21')]][_0xb65d('0x22')]=_0x44ffb4['channel'];this[_0xb65d('0x20')][_0x44ffb4['uniqueid']]['id']=this['faxAccounts'][_0x3da3a6]['id'];this[_0xb65d('0x20')][_0x44ffb4[_0xb65d('0x21')]]['name']=this[_0xb65d('0xe')][_0x3da3a6][_0xb65d('0x23')];logger[_0xb65d('0x24')](_0x44ffb4[_0xb65d('0x21')],_0xb65d('0x25'));}}}}if(this[_0xb65d('0x10')][_0x44ffb4['uniqueid']]){this[_0xb65d('0x20')][_0x44ffb4[_0xb65d('0x21')]]={};this['channels'][_0x44ffb4[_0xb65d('0x21')]][_0xb65d('0x22')]=_0x44ffb4[_0xb65d('0x22')];logger[_0xb65d('0x24')](_0x44ffb4[_0xb65d('0x21')],_0xb65d('0x25'));}};Fax[_0xb65d('0x1c')][_0xb65d('0x14')]=function(_0x343835){if(this[_0xb65d('0x20')][_0x343835['uniqueid']]){for(var _0x20c791 in _0x343835[_0xb65d('0x26')]){if(_0x343835[_0xb65d('0x26')][_0xb65d('0x1e')](_0x20c791)){this[_0xb65d('0x20')][_0x343835[_0xb65d('0x21')]][_0x20c791]=_0x343835[_0xb65d('0x27')];}}}};Fax[_0xb65d('0x1c')][_0xb65d('0x28')]=function(_0x1386c1){if(this[_0xb65d('0x20')][_0x1386c1[_0xb65d('0x21')]]){this[_0xb65d('0x20')][_0x1386c1[_0xb65d('0x21')]][_0xb65d('0x29')]=_0x1386c1['channelstate'];this[_0xb65d('0x20')][_0x1386c1[_0xb65d('0x21')]][_0xb65d('0x2a')]=_0x1386c1[_0xb65d('0x2a')];}};Fax[_0xb65d('0x1c')]['syncNewExten']=function(_0x4366b1){if(this['channels'][_0x4366b1['uniqueid']]){for(var _0x4ba5b3 in _0x4366b1[_0xb65d('0x26')]){if(_0x4366b1[_0xb65d('0x26')][_0xb65d('0x1e')](_0x4ba5b3)){this[_0xb65d('0x20')][_0x4366b1[_0xb65d('0x21')]][_0x4ba5b3]=_0x4366b1[_0xb65d('0x27')];}}}};Fax[_0xb65d('0x1c')][_0xb65d('0x17')]=function(_0x46f2b2){if(this[_0xb65d('0x20')][_0x46f2b2[_0xb65d('0x21')]]){this['channels'][_0x46f2b2[_0xb65d('0x21')]][_0xb65d('0x2b')]=_0x46f2b2['operation'];this['channels'][_0x46f2b2['uniqueid']]['status']=_0x46f2b2[_0xb65d('0x2c')];this['channels'][_0x46f2b2[_0xb65d('0x21')]][_0xb65d('0x1f')]=_0x46f2b2[_0xb65d('0x1f')];this[_0xb65d('0x20')][_0x46f2b2['uniqueid']][_0xb65d('0x2d')]=_0x46f2b2[_0xb65d('0x2d')];logger[_0xb65d('0x24')](_0x46f2b2['uniqueid'],_0xb65d('0x2e'));}};Fax['prototype'][_0xb65d('0x2f')]=function(_0x54ef49){var _0x4c07d0=this;if(this[_0xb65d('0x20')][_0x54ef49[_0xb65d('0x21')]]){var _0x3c3a9d=this[_0xb65d('0x20')][_0x54ef49[_0xb65d('0x21')]]['id'];this[_0xb65d('0x20')][_0x54ef49[_0xb65d('0x21')]][_0xb65d('0x30')]=_0x54ef49[_0xb65d('0x30')];this[_0xb65d('0x20')][_0x54ef49[_0xb65d('0x21')]][_0xb65d('0x31')]=_0x54ef49[_0xb65d('0x31')];this[_0xb65d('0x20')][_0x54ef49[_0xb65d('0x21')]]['localstationid']=_0x54ef49[_0xb65d('0x1f')];this[_0xb65d('0x20')][_0x54ef49[_0xb65d('0x21')]][_0xb65d('0x32')]=_0x54ef49[_0xb65d('0x32')];this[_0xb65d('0x20')][_0x54ef49['uniqueid']]['transferrate']=_0x54ef49[_0xb65d('0x33')];this['channels'][_0x54ef49[_0xb65d('0x21')]][_0xb65d('0x2d')]=_0x54ef49[_0xb65d('0x2d')];this['channels'][_0x54ef49[_0xb65d('0x21')]][_0xb65d('0x34')]=_0x54ef49['calleridnum'];if(this['channels'][_0x54ef49[_0xb65d('0x21')]][_0xb65d('0x31')]>0x0){tiff2pdf(_0x54ef49['filename'],_0xb65d('0x35'),function(_0x54098d){logger[_0xb65d('0x24')](_0x54ef49['uniqueid'],_0xb65d('0x36'),_0x54098d[_0xb65d('0x37')]);attachment['create']({'name':path[_0xb65d('0x38')](_0x54ef49[_0xb65d('0x2d')])[_0xb65d('0x23')],'basename':path['parse'](_0x54ef49[_0xb65d('0x2d')])['name']+_0xb65d('0x39'),'type':'application/pdf'})[_0xb65d('0x3a')](function(_0x44134d){faxAccount[_0xb65d('0x3b')](_0x3c3a9d,{'from':_0x54ef49['calleridnum'],'mapKey':_0xb65d('0x6'),'body':path['parse'](_0x54ef49[_0xb65d('0x2d')])[_0xb65d('0x23')]+'.pdf','AttachmentId':_0x44134d['id']})[_0xb65d('0x3c')](function(_0x5957cc){logger[_0xb65d('0x3d')](_0x54ef49[_0xb65d('0x21')],_0xb65d('0x3e'),JSON['stringify'](_0x5957cc));});})['catch'](function(_0x346407){logger['error'](_0x54ef49[_0xb65d('0x21')],_0xb65d('0x3f'),JSON[_0xb65d('0x40')](_0x346407));});});}logger[_0xb65d('0x24')](_0x54ef49[_0xb65d('0x21')],_0xb65d('0x3f'));}};Fax[_0xb65d('0x1c')]['syncOriginateResponse']=function(_0x316f03){if(this[_0xb65d('0x10')][_0x316f03[_0xb65d('0x21')]]){_[_0xb65d('0x41')](this[_0xb65d('0x20')][_0x316f03[_0xb65d('0x21')]],_[_0xb65d('0x42')](_0x316f03,['response','reason']));}};function updateStatus(_0x4b6705){if(_0x4b6705[_0xb65d('0x43')]){faxMessage['update'](_0x4b6705[_0xb65d('0x43')],{'failMessage':_0xb65d('0x44')})['then'](function(_0x54676a){ut[_0xb65d('0x45')](_0xb65d('0x46'),_0x54676a);})[_0xb65d('0x3c')](function(_0x55e29d){ut['logger'](_0xb65d('0x47'),_0x55e29d);});}else{ut['logger'](_0xb65d('0x48'));}}Fax['prototype'][_0xb65d('0x49')]=function(_0x9462f0,_0x10e519,_0x1be854){var _0x43bd6a=this;var _0x2fa2af={};if(_0x10e519){_0x2fa2af={'read':_0x10e519};}else{_0x2fa2af={'failMessage':_0x1be854};}if(this[_0xb65d('0x10')][_0x9462f0][_0xb65d('0x43')]){faxMessage['update'](this['actions'][_0x9462f0][_0xb65d('0x43')],_0x2fa2af)['then'](function(_0x8c528e){ut['logger'](_0xb65d('0x4a'),_0x8c528e);})[_0xb65d('0x3c')](function(_0x149386){ut[_0xb65d('0x45')](_0xb65d('0x4b'),_0x149386);})[_0xb65d('0x4c')](function(){delete _0x43bd6a[_0xb65d('0x20')][_0x9462f0];delete _0x43bd6a[_0xb65d('0x10')][_0x9462f0];});}else{ut[_0xb65d('0x45')](_0xb65d('0x4d'));delete this['channels'][_0x9462f0];delete this[_0xb65d('0x10')][_0x9462f0];}};Fax[_0xb65d('0x1c')][_0xb65d('0x4e')]=function(_0x44845f){var _0x43b6ca=this;if(this['channels'][_0x44845f['uniqueid']]){if(this[_0xb65d('0x10')][_0x44845f['uniqueid']]){this[_0xb65d('0x20')][_0x44845f[_0xb65d('0x21')]]['id']=this[_0xb65d('0x10')][_0x44845f[_0xb65d('0x21')]]['id'];this[_0xb65d('0x20')][_0x44845f['uniqueid']]['name']=this['actions'][_0x44845f['uniqueid']][_0xb65d('0x23')];}logger[_0xb65d('0x24')](_0x44845f[_0xb65d('0x21')],this[_0xb65d('0x10')][_0x44845f[_0xb65d('0x21')]]?_0xb65d('0x4f'):_0xb65d('0x50'),JSON[_0xb65d('0x40')](this['channels'][_0x44845f[_0xb65d('0x21')]]));if(this[_0xb65d('0x10')][_0x44845f['uniqueid']]){if(this[_0xb65d('0x20')][_0x44845f[_0xb65d('0x21')]][_0xb65d('0x51')]>0x0&&this[_0xb65d('0x20')][_0x44845f['uniqueid']][_0xb65d('0x52')]===_0xb65d('0x53')){this[_0xb65d('0x49')](_0x44845f[_0xb65d('0x21')],!![]);}else{this[_0xb65d('0x49')](_0x44845f['uniqueid'],![],this[_0xb65d('0x20')][_0x44845f['uniqueid']][_0xb65d('0x54')]?_0xb65d('0x55')+this['channels'][_0x44845f[_0xb65d('0x21')]][_0xb65d('0x54')]:_0xb65d('0x56'));}}}};Fax[_0xb65d('0x1c')]['send']=function(_0x54a65a){var _0x193970=this;return new BPromise(function(_0x2ddbd3,_0x361903){_0x193970[_0xb65d('0x57')](_0x54a65a,_0x193970['faxAccounts'][_0x54a65a[_0xb65d('0x58')]])[_0xb65d('0x3a')](function(_0x31173c){ut[_0xb65d('0x45')](_0xb65d('0x59'),_0x31173c);_0x2ddbd3(ut[_0xb65d('0x37')](_0xb65d('0x5a')));})['catch'](function(_0x340a80){ut[_0xb65d('0x45')](_0xb65d('0x5b'),_0x340a80);updateStatus(_0x54a65a);_0x361903(ut['message']('Fax\x20failed'));});});};Fax['prototype']['checkAfterSend']=function(_0x5028f7){var _0x500ccb=this;return new BPromise(function(_0xb3b32b,_0x358ebc){var _0x2916ff=_0x500ccb[_0xb65d('0x5c')](_0x500ccb[_0xb65d('0xe')][_0x5028f7[_0xb65d('0x58')]][_0xb65d('0x5d')],_0x5028f7);if(_0x2916ff[_0xb65d('0x5e')]){_0xb3b32b(ut[_0xb65d('0x37')](_0xb65d('0x5f')));}else{_0x358ebc(ut[_0xb65d('0x37')](_0x2916ff[_0xb65d('0x37')]));}});};function originate(_0x1661b2,_0x12259a,_0x4e4014){return new BPromise(function(_0x115ffc,_0x1ebc70){if(_0x4e4014){var _0x5ef0d1=util[_0xb65d('0x60')](_0xb65d('0x61'),path['parse'](_0x1661b2[_0xb65d('0x62')])[_0xb65d('0x23')],_0x1661b2[_0xb65d('0x62')]);gs[_0xb65d('0x63')](_0x5ef0d1)[_0xb65d('0x3a')](function(){_0x1661b2[_0xb65d('0x62')]=util[_0xb65d('0x60')]('%s/%s.tif',path[_0xb65d('0x38')](_0x1661b2['path'])[_0xb65d('0x64')],path['parse'](_0x1661b2[_0xb65d('0x62')])['name']);_0x12259a[_0xb65d('0x65')]=_0x1661b2[_0xb65d('0x62')];ut[_0xb65d('0x45')](_0xb65d('0x66'),'');ami[_0xb65d('0x67')](ut['variablesAction'](_0x1661b2,_0x12259a))[_0xb65d('0x3a')](function(_0x525632){_0x115ffc(_0x525632);})[_0xb65d('0x3c')](function(_0x4ebed7){_0x1ebc70(_0x4ebed7);});})['catch'](function(_0x279499){_0x1ebc70(_0x279499);});}else{ami['Action'](ut[_0xb65d('0x68')](_0x1661b2,_0x12259a))[_0xb65d('0x3a')](function(_0x88ae69){_0x115ffc(_0x88ae69);})[_0xb65d('0x3c')](function(_0x27c1d9){_0x1ebc70(_0x27c1d9);});}});}Fax['prototype']['execOriginate']=function(_0x1ec04a,_0x4caaec){var _0x567493=this;return new BPromise(function(_0x11d4a3,_0x1a8a12){var _0x2c5786=uuid['v4']();var _0x33af8a=ut[_0xb65d('0x69')](_0x1ec04a,_0x4caaec);_0x567493['actions'][_0x2c5786]=new Action(_0x2c5786,_0x4caaec,_0x1ec04a);var _0x8d2808=_0x567493[_0xb65d('0x10')][_0x2c5786];if(path[_0xb65d('0x38')](_0x1ec04a['path'])[_0xb65d('0x6a')]===_0xb65d('0x39')){originate(_0x8d2808,_0x33af8a,!![])['then'](function(_0x40c833){_0x11d4a3(_0x40c833);})[_0xb65d('0x3c')](function(_0xe53a35){_0x1a8a12(_0xe53a35);});}else{originate(_0x8d2808,_0x33af8a,![])[_0xb65d('0x3a')](function(_0x3c8c03){_0x11d4a3(_0x3c8c03);})[_0xb65d('0x3c')](function(_0x76862f){_0x1a8a12(_0x76862f);});}});};Fax[_0xb65d('0x1c')][_0xb65d('0x6b')]=function(_0x59a316){return!_[_0xb65d('0x6c')](_0x59a316)&&!_[_0xb65d('0x6c')](_0x59a316[_0xb65d('0x23')])&&!_['isNil'](_0x59a316['active'])&&_0x59a316['active']&&!_[_0xb65d('0x6c')](this[_0xb65d('0xf')][util[_0xb65d('0x60')](_0xb65d('0x6d'),_0x59a316[_0xb65d('0x23')])])&&!_['isNil'](this[_0xb65d('0xf')][util[_0xb65d('0x60')]('SIP/%s',_0x59a316[_0xb65d('0x23')])]['status'])&&(this[_0xb65d('0xf')][util['format']('SIP/%s',_0x59a316[_0xb65d('0x23')])]['status']===_0xb65d('0x6e')||this['trunks'][util[_0xb65d('0x60')]('SIP/%s',_0x59a316[_0xb65d('0x23')])][_0xb65d('0x2c')]==='unmonitored');};Fax[_0xb65d('0x1c')][_0xb65d('0x5c')]=function(_0x1253a2,_0x442eba){if(!this[_0xb65d('0x6b')](_0x1253a2)){ut[_0xb65d('0x45')](_0xb65d('0x6f'),_[_0xb65d('0x6c')](_0x1253a2)?'':_0x1253a2[_0xb65d('0x23')]+_0xb65d('0x70'));return{'isValid':![],'message':_0xb65d('0x71')};}if(_[_0xb65d('0x6c')](_0x442eba['fax'])){ut[_0xb65d('0x45')](_0xb65d('0x72'),JSON['stringify'](_0x442eba));return{'isValid':![],'message':_0xb65d('0x73')};}if(_[_0xb65d('0x6c')](_0x442eba[_0xb65d('0x62')])){ut[_0xb65d('0x45')]('[Fax][checkTrunk][Empty\x20path]',JSON[_0xb65d('0x40')](_0x442eba));return{'isValid':![],'message':'Empty\x20path'};}return{'isValid':!![],'message':'Is\x20Valid'};};module[_0xb65d('0x74')]=Fax;
\ No newline at end of file