Built motion from commit (unavailable).|2.5.30
[motion2.git] / server / services / ami / fax / index.js
index 8924f02..d3fff4b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xccbf=['message','Fax\x20received','[Fax][execOriginate][failure]','Fax\x20failed','checkTrunk','Trunk','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','%s/%s.tif','XMF-PATH','Convert\x20pdf\x20to\x20tif','variablesAction','Action','addVariables','ext','isTrunkReachable','isNil','active','SIP/%s','reachable','unmonitored','[Fax][checkTrunk][Trunk\x20not\x20work]','\x20Trunk\x20is\x20not\x20active','Empty\x20Fax','[Fax][checkTrunk][Empty\x20path]','Empty\x20path','Is\x20Valid','exports','bluebird','uuid','./util/gs','../../../config/logger','fax','../ami','./rpcDb','./channel','./util/util','./action','../rpc/faxAccount','../rpc/attachment','channels','faxAccounts','trunks','actions','newchannel','syncNewchannel','bind','syncVarSet','newstate','syncNewState','newexten','syncNewExten','faxstatus','syncFaxStatus','receivefax','syncReceiveFax','hangup','syncHangup','originateresponse','syncOriginateResponse','prototype','context','from-voip-provider','exten','localstationid','uniqueid','channel','name','\x20syncNewchannel\x20','info','variable','hasOwnProperty','value','channelstate','channelstatedesc','operation','status','filename','\x20syncFaxStatus\x20','remotestationid','pagestransferred','resolution','transferrate','calleridnum','\x20result\x20conversion\x20file\x20','create','parse','.pdf','application/pdf','then','notify','catch','stringify','\x20receiveFax\x20','merge','pick','response','AttachmentId','update','SENDING\x20FAILED\x20','logger','[Fax][Message][Error][Updated]','[Fax][Message][Error][NoUpdate1]','[Fax][Message][Error][NoUpdate2]','finally','\x20hangup\x20sendFile\x20','faxpages','updateStatus','SENDING\x20FAILED:\x20','faxstatusstring','send','execOriginate','[Fax][execOriginate][success]'];(function(_0x9c2427,_0x17c865){var _0x51984f=function(_0x177af6){while(--_0x177af6){_0x9c2427['push'](_0x9c2427['shift']());}};_0x51984f(++_0x17c865);}(_0xccbf,0x1ef));var _0xfccb=function(_0x2b9d11,_0x1e30cb){_0x2b9d11=_0x2b9d11-0x0;var _0x426720=_0xccbf[_0x2b9d11];return _0x426720;};'use strict';var util=require('util');var _=require('lodash');var BPromise=require(_0xfccb('0x0'));var uuid=require(_0xfccb('0x1'));var moment=require('moment');var path=require('path');var tiff2pdf=require('tiff2pdf');var gs=require(_0xfccb('0x2'));var logger=require(_0xfccb('0x3'))(_0xfccb('0x4'));var ami=require(_0xfccb('0x5'));var rpcDb=require(_0xfccb('0x6'));var Channel=require(_0xfccb('0x7'));var ut=require(_0xfccb('0x8'));var Action=require(_0xfccb('0x9'));var faxAccount=require(_0xfccb('0xa'));var attachment=require(_0xfccb('0xb'));var faxMessage=require('../rpc/faxMessage');function Fax(_0x48a3f0){this[_0xfccb('0xc')]={};this['faxAccounts']=_0x48a3f0[_0xfccb('0xd')];this[_0xfccb('0xe')]=_0x48a3f0[_0xfccb('0xe')];this[_0xfccb('0xf')]={};ami['on'](_0xfccb('0x10'),this[_0xfccb('0x11')][_0xfccb('0x12')](this));ami['on']('varset',this[_0xfccb('0x13')]['bind'](this));ami['on'](_0xfccb('0x14'),this[_0xfccb('0x15')][_0xfccb('0x12')](this));ami['on'](_0xfccb('0x16'),this[_0xfccb('0x17')]['bind'](this));ami['on'](_0xfccb('0x18'),this[_0xfccb('0x19')]['bind'](this));ami['on'](_0xfccb('0x1a'),this[_0xfccb('0x1b')][_0xfccb('0x12')](this));ami['on'](_0xfccb('0x1c'),this[_0xfccb('0x1d')]['bind'](this));ami['on'](_0xfccb('0x1e'),this[_0xfccb('0x1f')][_0xfccb('0x12')](this));}Fax[_0xfccb('0x20')]['syncNewchannel']=function(_0xe2305b){if(_0xe2305b[_0xfccb('0x21')]===_0xfccb('0x22')){for(var _0x3ccfaf in this[_0xfccb('0xd')]){if(this[_0xfccb('0xd')]['hasOwnProperty'](_0x3ccfaf)){if(_0xe2305b[_0xfccb('0x23')]===this['faxAccounts'][_0x3ccfaf][_0xfccb('0x24')]){this[_0xfccb('0xc')][_0xe2305b[_0xfccb('0x25')]]={};this['channels'][_0xe2305b[_0xfccb('0x25')]][_0xfccb('0x26')]=_0xe2305b[_0xfccb('0x26')];this[_0xfccb('0xc')][_0xe2305b[_0xfccb('0x25')]]['id']=this[_0xfccb('0xd')][_0x3ccfaf]['id'];this[_0xfccb('0xc')][_0xe2305b['uniqueid']]['name']=this[_0xfccb('0xd')][_0x3ccfaf][_0xfccb('0x27')];logger['info'](_0xe2305b[_0xfccb('0x25')],_0xfccb('0x28'));}}}}if(this[_0xfccb('0xf')][_0xe2305b[_0xfccb('0x25')]]){this[_0xfccb('0xc')][_0xe2305b['uniqueid']]={};this[_0xfccb('0xc')][_0xe2305b[_0xfccb('0x25')]][_0xfccb('0x26')]=_0xe2305b[_0xfccb('0x26')];logger[_0xfccb('0x29')](_0xe2305b[_0xfccb('0x25')],'\x20syncNewchannel\x20');}};Fax[_0xfccb('0x20')][_0xfccb('0x13')]=function(_0x5ca039){if(this[_0xfccb('0xc')][_0x5ca039['uniqueid']]){for(var _0x2e9e0a in _0x5ca039[_0xfccb('0x2a')]){if(_0x5ca039[_0xfccb('0x2a')][_0xfccb('0x2b')](_0x2e9e0a)){this[_0xfccb('0xc')][_0x5ca039[_0xfccb('0x25')]][_0x2e9e0a]=_0x5ca039[_0xfccb('0x2c')];}}}};Fax['prototype'][_0xfccb('0x15')]=function(_0x38df43){if(this[_0xfccb('0xc')][_0x38df43[_0xfccb('0x25')]]){this['channels'][_0x38df43[_0xfccb('0x25')]][_0xfccb('0x2d')]=_0x38df43[_0xfccb('0x2d')];this[_0xfccb('0xc')][_0x38df43[_0xfccb('0x25')]]['channelstatedesc']=_0x38df43[_0xfccb('0x2e')];}};Fax[_0xfccb('0x20')][_0xfccb('0x17')]=function(_0x41ba84){if(this[_0xfccb('0xc')][_0x41ba84[_0xfccb('0x25')]]){for(var _0x1faf93 in _0x41ba84[_0xfccb('0x2a')]){if(_0x41ba84[_0xfccb('0x2a')][_0xfccb('0x2b')](_0x1faf93)){this['channels'][_0x41ba84[_0xfccb('0x25')]][_0x1faf93]=_0x41ba84[_0xfccb('0x2c')];}}}};Fax[_0xfccb('0x20')][_0xfccb('0x19')]=function(_0x40800f){if(this['channels'][_0x40800f[_0xfccb('0x25')]]){this[_0xfccb('0xc')][_0x40800f[_0xfccb('0x25')]][_0xfccb('0x2f')]=_0x40800f[_0xfccb('0x2f')];this['channels'][_0x40800f[_0xfccb('0x25')]][_0xfccb('0x30')]=_0x40800f[_0xfccb('0x30')];this[_0xfccb('0xc')][_0x40800f[_0xfccb('0x25')]][_0xfccb('0x24')]=_0x40800f[_0xfccb('0x24')];this[_0xfccb('0xc')][_0x40800f[_0xfccb('0x25')]][_0xfccb('0x31')]=_0x40800f[_0xfccb('0x31')];logger[_0xfccb('0x29')](_0x40800f[_0xfccb('0x25')],_0xfccb('0x32'));}};Fax[_0xfccb('0x20')]['syncReceiveFax']=function(_0x1b7bbd){var _0x240ff8=this;if(this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]]){var _0x2d11dd=this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]]['id'];this['channels'][_0x1b7bbd[_0xfccb('0x25')]][_0xfccb('0x33')]=_0x1b7bbd[_0xfccb('0x33')];this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]]['pagestransferred']=_0x1b7bbd[_0xfccb('0x34')];this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]][_0xfccb('0x24')]=_0x1b7bbd[_0xfccb('0x24')];this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]][_0xfccb('0x35')]=_0x1b7bbd[_0xfccb('0x35')];this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]][_0xfccb('0x36')]=_0x1b7bbd[_0xfccb('0x36')];this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]][_0xfccb('0x31')]=_0x1b7bbd['filename'];this[_0xfccb('0xc')][_0x1b7bbd[_0xfccb('0x25')]][_0xfccb('0x37')]=_0x1b7bbd[_0xfccb('0x37')];if(this['channels'][_0x1b7bbd[_0xfccb('0x25')]][_0xfccb('0x34')]>0x0){tiff2pdf(_0x1b7bbd[_0xfccb('0x31')],'/var/opt/motion2/server/files/attachments/',function(_0x1181ff){logger['info'](_0x1b7bbd[_0xfccb('0x25')],_0xfccb('0x38'),_0x1181ff['message']);attachment[_0xfccb('0x39')]({'name':path[_0xfccb('0x3a')](_0x1b7bbd[_0xfccb('0x31')])[_0xfccb('0x27')],'basename':path[_0xfccb('0x3a')](_0x1b7bbd[_0xfccb('0x31')])[_0xfccb('0x27')]+_0xfccb('0x3b'),'type':_0xfccb('0x3c')})[_0xfccb('0x3d')](function(_0x50403e){faxAccount[_0xfccb('0x3e')](_0x2d11dd,{'from':_0x1b7bbd[_0xfccb('0x37')],'mapKey':_0xfccb('0x4'),'body':path['parse'](_0x1b7bbd[_0xfccb('0x31')])[_0xfccb('0x27')]+_0xfccb('0x3b'),'AttachmentId':_0x50403e['id']})[_0xfccb('0x3f')](function(_0x3863fb){logger['error'](_0x1b7bbd[_0xfccb('0x25')],'\x20notify\x20',JSON[_0xfccb('0x40')](_0x3863fb));});})['catch'](function(_0x3e06b4){logger['error'](_0x1b7bbd[_0xfccb('0x25')],_0xfccb('0x41'),JSON[_0xfccb('0x40')](_0x3e06b4));});});}logger['info'](_0x1b7bbd[_0xfccb('0x25')],'\x20receiveFax\x20');}};Fax['prototype'][_0xfccb('0x1f')]=function(_0x7bb37c){if(this[_0xfccb('0xf')][_0x7bb37c['uniqueid']]){_[_0xfccb('0x42')](this[_0xfccb('0xc')][_0x7bb37c[_0xfccb('0x25')]],_[_0xfccb('0x43')](_0x7bb37c,[_0xfccb('0x44'),'reason']));}};function updateStatus(_0x51d519){if(_0x51d519[_0xfccb('0x45')]){faxMessage[_0xfccb('0x46')](_0x51d519['AttachmentId'],{'failMessage':_0xfccb('0x47')})['then'](function(_0x16af15){ut[_0xfccb('0x48')](_0xfccb('0x49'),_0x16af15);})[_0xfccb('0x3f')](function(_0x38fb7a){ut[_0xfccb('0x48')](_0xfccb('0x4a'),_0x38fb7a);});}else{ut['logger'](_0xfccb('0x4b'));}}Fax['prototype']['updateStatus']=function(_0x1e2d43,_0x4e968c,_0x3d86ef){var _0x492482=this;var _0x3bf2c0={};if(_0x4e968c){_0x3bf2c0={'read':_0x4e968c};}else{_0x3bf2c0={'failMessage':_0x3d86ef};}if(this[_0xfccb('0xf')][_0x1e2d43][_0xfccb('0x45')]){faxMessage[_0xfccb('0x46')](this[_0xfccb('0xf')][_0x1e2d43][_0xfccb('0x45')],_0x3bf2c0)[_0xfccb('0x3d')](function(_0x4188c4){ut[_0xfccb('0x48')]('[Fax][Message][Updated]',_0x4188c4);})[_0xfccb('0x3f')](function(_0x27be7b){ut[_0xfccb('0x48')]('[Fax][Message][NoUpdate1]',_0x27be7b);})[_0xfccb('0x4c')](function(){delete _0x492482[_0xfccb('0xc')][_0x1e2d43];delete _0x492482[_0xfccb('0xf')][_0x1e2d43];});}else{ut[_0xfccb('0x48')]('[Fax][Message][NoUpdate2]');delete this[_0xfccb('0xc')][_0x1e2d43];delete this['actions'][_0x1e2d43];}};Fax[_0xfccb('0x20')][_0xfccb('0x1d')]=function(_0x5c8b47){var _0x5c664b=this;if(this[_0xfccb('0xc')][_0x5c8b47['uniqueid']]){if(this[_0xfccb('0xf')][_0x5c8b47[_0xfccb('0x25')]]){this[_0xfccb('0xc')][_0x5c8b47['uniqueid']]['id']=this[_0xfccb('0xf')][_0x5c8b47['uniqueid']]['id'];this[_0xfccb('0xc')][_0x5c8b47[_0xfccb('0x25')]][_0xfccb('0x27')]=this[_0xfccb('0xf')][_0x5c8b47['uniqueid']][_0xfccb('0x27')];}logger[_0xfccb('0x29')](_0x5c8b47[_0xfccb('0x25')],this[_0xfccb('0xf')][_0x5c8b47[_0xfccb('0x25')]]?_0xfccb('0x4d'):'\x20hangup\x20faxRiceive\x20',JSON[_0xfccb('0x40')](this[_0xfccb('0xc')][_0x5c8b47[_0xfccb('0x25')]]));if(this[_0xfccb('0xf')][_0x5c8b47['uniqueid']]){if(this[_0xfccb('0xc')][_0x5c8b47[_0xfccb('0x25')]][_0xfccb('0x4e')]>0x0&&this[_0xfccb('0xc')][_0x5c8b47[_0xfccb('0x25')]][_0xfccb('0x18')]==='SUCCESS'){this[_0xfccb('0x4f')](_0x5c8b47[_0xfccb('0x25')],!![]);}else{this[_0xfccb('0x4f')](_0x5c8b47['uniqueid'],![],this['channels'][_0x5c8b47['uniqueid']]['faxstatusstring']?_0xfccb('0x50')+this[_0xfccb('0xc')][_0x5c8b47['uniqueid']][_0xfccb('0x51')]:'SENDING\x20FAILED');}}}};Fax[_0xfccb('0x20')][_0xfccb('0x52')]=function(_0x251e58){var _0x526519=this;return new BPromise(function(_0x452117,_0x302b4b){_0x526519[_0xfccb('0x53')](_0x251e58,_0x526519[_0xfccb('0xd')][_0x251e58['FaxAccountId']])['then'](function(_0x2b543c){ut['logger'](_0xfccb('0x54'),_0x2b543c);_0x452117(ut[_0xfccb('0x55')](_0xfccb('0x56')));})[_0xfccb('0x3f')](function(_0x46e0cf){ut['logger'](_0xfccb('0x57'),_0x46e0cf);updateStatus(_0x251e58);_0x302b4b(ut[_0xfccb('0x55')](_0xfccb('0x58')));});});};Fax['prototype']['checkAfterSend']=function(_0x6a802){var _0x347ed7=this;return new BPromise(function(_0x121d6c,_0xbb6cdd){var _0x59d612=_0x347ed7[_0xfccb('0x59')](_0x347ed7[_0xfccb('0xd')][_0x6a802['FaxAccountId']][_0xfccb('0x5a')],_0x6a802);if(_0x59d612['isValid']){_0x121d6c(ut[_0xfccb('0x55')](_0xfccb('0x5b')));}else{_0xbb6cdd(ut[_0xfccb('0x55')](_0x59d612['message']));}});};function originate(_0x1d03e8,_0x2924e4,_0x5bde00){return new BPromise(function(_0x4fb7f0,_0x14e11f){if(_0x5bde00){var _0x579b6e=util[_0xfccb('0x5c')](_0xfccb('0x5d'),path['parse'](_0x1d03e8[_0xfccb('0x5e')])[_0xfccb('0x27')],_0x1d03e8[_0xfccb('0x5e')]);gs[_0xfccb('0x5f')](_0x579b6e)['then'](function(){_0x1d03e8[_0xfccb('0x5e')]=util['format'](_0xfccb('0x60'),path[_0xfccb('0x3a')](_0x1d03e8[_0xfccb('0x5e')])['dir'],path[_0xfccb('0x3a')](_0x1d03e8[_0xfccb('0x5e')])[_0xfccb('0x27')]);_0x2924e4[_0xfccb('0x61')]=_0x1d03e8[_0xfccb('0x5e')];ut[_0xfccb('0x48')](_0xfccb('0x62'),'');ami['Action'](ut[_0xfccb('0x63')](_0x1d03e8,_0x2924e4))['then'](function(_0x1a1c5){_0x4fb7f0(_0x1a1c5);})['catch'](function(_0x3e771e){_0x14e11f(_0x3e771e);});})[_0xfccb('0x3f')](function(_0x3ad1c4){_0x14e11f(_0x3ad1c4);});}else{ami[_0xfccb('0x64')](ut['variablesAction'](_0x1d03e8,_0x2924e4))['then'](function(_0x1c621b){_0x4fb7f0(_0x1c621b);})['catch'](function(_0x4a5935){_0x14e11f(_0x4a5935);});}});}Fax['prototype'][_0xfccb('0x53')]=function(_0x5cdcf9,_0x2ceb49){var _0x59c2f8=this;return new BPromise(function(_0x3dc775,_0x335b38){var _0x39201b=uuid['v4']();var _0x454e14=ut[_0xfccb('0x65')](_0x5cdcf9,_0x2ceb49);_0x59c2f8[_0xfccb('0xf')][_0x39201b]=new Action(_0x39201b,_0x2ceb49,_0x5cdcf9);var _0x15fe2a=_0x59c2f8['actions'][_0x39201b];if(path[_0xfccb('0x3a')](_0x5cdcf9['path'])[_0xfccb('0x66')]===_0xfccb('0x3b')){originate(_0x15fe2a,_0x454e14,!![])[_0xfccb('0x3d')](function(_0x5e7fc3){_0x3dc775(_0x5e7fc3);})['catch'](function(_0xb7a09d){_0x335b38(_0xb7a09d);});}else{originate(_0x15fe2a,_0x454e14,![])[_0xfccb('0x3d')](function(_0x215564){_0x3dc775(_0x215564);})[_0xfccb('0x3f')](function(_0x3c3053){_0x335b38(_0x3c3053);});}});};Fax[_0xfccb('0x20')][_0xfccb('0x67')]=function(_0x1b72c8){return!_[_0xfccb('0x68')](_0x1b72c8)&&!_[_0xfccb('0x68')](_0x1b72c8[_0xfccb('0x27')])&&!_[_0xfccb('0x68')](_0x1b72c8[_0xfccb('0x69')])&&_0x1b72c8['active']&&!_[_0xfccb('0x68')](this[_0xfccb('0xe')][util[_0xfccb('0x5c')](_0xfccb('0x6a'),_0x1b72c8[_0xfccb('0x27')])])&&!_[_0xfccb('0x68')](this[_0xfccb('0xe')][util[_0xfccb('0x5c')]('SIP/%s',_0x1b72c8['name'])][_0xfccb('0x30')])&&(this[_0xfccb('0xe')][util[_0xfccb('0x5c')](_0xfccb('0x6a'),_0x1b72c8[_0xfccb('0x27')])][_0xfccb('0x30')]===_0xfccb('0x6b')||this['trunks'][util[_0xfccb('0x5c')](_0xfccb('0x6a'),_0x1b72c8[_0xfccb('0x27')])][_0xfccb('0x30')]===_0xfccb('0x6c'));};Fax['prototype'][_0xfccb('0x59')]=function(_0x4195a1,_0x18c27e){if(!this[_0xfccb('0x67')](_0x4195a1)){ut['logger'](_0xfccb('0x6d'),_[_0xfccb('0x68')](_0x4195a1)?'':_0x4195a1['name']+_0xfccb('0x6e'));return{'isValid':![],'message':'Trunk\x20not\x20working'};}if(_[_0xfccb('0x68')](_0x18c27e['fax'])){ut['logger']('[Fax][checkTrunk][Empty\x20Fax]',JSON['stringify'](_0x18c27e));return{'isValid':![],'message':_0xfccb('0x6f')};}if(_[_0xfccb('0x68')](_0x18c27e[_0xfccb('0x5e')])){ut[_0xfccb('0x48')](_0xfccb('0x70'),JSON['stringify'](_0x18c27e));return{'isValid':![],'message':_0xfccb('0x71')};}return{'isValid':!![],'message':_0xfccb('0x72')};};module[_0xfccb('0x73')]=Fax;
\ No newline at end of file
+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