Built motion from commit c738b9ac.|2.6.25
[motion2.git] / server / services / ami / trigger / integration / zoho.js
index 8dc7e2f..0349f35 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xee39=['The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','[OUTBOUND]','zoho.eu','com','destcalleridname','destcalleridnum','Outbound','user:%s','monitor_format','toUpperCase','lodash','request-promise','md5','./util','moment','ioredis','bluebird','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','socket.io-emitter','[HTTP]','length','includes','string','picklist','type','idField','toString','variable','variableName','customVariable','Variable','name','toLowerCase','indexOf','split','isNil','access_token','isBefore','expires_in','zone','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.com.cn','https://accounts.zoho.eu','POST','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','then','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','format','https://www.zohoapis.%s/crm/v2/users','Zoho-oauthtoken\x20','findIndex','users','Agent\x20found!','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','stringify','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','enduserType','https://www.zohoapis.','/crm/v2/','startCase','moduleCreate','role','first_name','last_name','data','code','SUCCESS','details','Error:\x20','log','GET','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','contact','lead','Creating\x20new\x20call...','Owner','administrator','Subject','getString','Subjects','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','$se_module','talktime','Call_Duration','utc','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','lastevent','called','Call_Result','connect','Answered','rejected','Rejected','abandoned','timeout','Timeout','Call_Start_Time','outbound','starttime','Call_Type','Inbound','Fields','/crm/v2/Calls','Call\x20created!','err','queue','stripTrailingSlash','host','serverUrl','[QUEUE]','Recording\x20is\x20enabled!','/api/voice/recordings/','/downloads?type=uniqueid&token=','uniqueid','recordingURL','email','The\x20User\x20ID\x20is:','calleridname','calleridnum'];(function(_0xa06aa1,_0x23c659){var _0x471e0a=function(_0x3d8ca3){while(--_0x3d8ca3){_0xa06aa1['push'](_0xa06aa1['shift']());}};_0x471e0a(++_0x23c659);}(_0xee39,0x1e6));var _0x9ee3=function(_0x354cfc,_0x54f2d4){_0x354cfc=_0x354cfc-0x0;var _0x351f3c=_0xee39[_0x354cfc];return _0x351f3c;};'use strict';var _=require(_0x9ee3('0x0'));var rp=require(_0x9ee3('0x1'));var md5=require(_0x9ee3('0x2'));var util=require('util');var intUtil=require(_0x9ee3('0x3'));var moment=require(_0x9ee3('0x4'));var Redis=require(_0x9ee3('0x5'));var BPromise=require(_0x9ee3('0x6'));var config=require(_0x9ee3('0x7'));var logger=require(_0x9ee3('0x8'))(_0x9ee3('0x9'));config[_0x9ee3('0xa')]=_[_0x9ee3('0xb')](config[_0x9ee3('0xa')],{'host':'localhost','port':0x18eb});var io=require(_0x9ee3('0xc'))(new Redis(config[_0x9ee3('0xa')]));function emit(_0x22c8fc,_0x4d1a57,_0x206442){io['to'](_0x22c8fc)['emit'](_0x4d1a57,_0x206442);}function request(_0x1bde67){logger['debug'](_0x9ee3('0xd'),JSON['stringify'](_0x1bde67));return rp(_0x1bde67);}function getCustomFields(_0x577593,_0x3e89a0){var _0x5d3644={};if(_0x577593[_0x9ee3('0xe')]>0x0){_['forEach'](_0x577593,function(_0x1d5549){if(_[_0x9ee3('0xf')]([_0x9ee3('0x10'),_0x9ee3('0x11')],_0x1d5549[_0x9ee3('0x12')])&&_0x1d5549[_0x9ee3('0x13')]){_0x5d3644[_0x1d5549[_0x9ee3('0x13')]]=_0x1d5549['content'][_0x9ee3('0x14')]();}else if(_0x1d5549[_0x9ee3('0x12')]===_0x9ee3('0x15')&&_0x1d5549['variableName']&&_0x1d5549[_0x9ee3('0x13')]&&_0x3e89a0[_0x1d5549[_0x9ee3('0x16')]]){_0x5d3644[_0x1d5549[_0x9ee3('0x13')]]=_0x3e89a0[_0x1d5549[_0x9ee3('0x16')]]['toString']();}else if(_0x1d5549['type']===_0x9ee3('0x17')&&_0x1d5549[_0x9ee3('0x18')]&&_0x1d5549[_0x9ee3('0x18')][_0x9ee3('0x19')]&&_0x1d5549[_0x9ee3('0x13')]&&_0x3e89a0[_0x1d5549[_0x9ee3('0x18')]['name']['toLowerCase']()]){_0x5d3644[_0x1d5549[_0x9ee3('0x13')]]=_0x3e89a0[_0x1d5549[_0x9ee3('0x18')][_0x9ee3('0x19')][_0x9ee3('0x1a')]()][_0x9ee3('0x14')]();}});}return _0x5d3644;}function getName(_0x25fad6){if(_0x25fad6[_0x9ee3('0x1b')]('\x20')>0x0){var _0x173362=_0x25fad6[_0x9ee3('0x1c')](/ (.+)/);if(_0x173362[0x1]){return _0x173362;}}return[_0x25fad6,_0x25fad6];}var accountsTokens={};function getAccessToken(_0x80671d){return new Promise(function(_0x506040,_0x40f553){if(!_[_0x9ee3('0x1d')](accountsTokens[_0x80671d['id']])&&!_[_0x9ee3('0x1d')](accountsTokens[_0x80671d['id']][_0x9ee3('0x1e')])){if(moment()[_0x9ee3('0x1f')](accountsTokens[_0x80671d['id']][_0x9ee3('0x20')])){_0x506040(accountsTokens[_0x80671d['id']]['access_token']);}}var _0xa34734;switch(_0x80671d[_0x9ee3('0x21')]){case'US':_0xa34734=_0x9ee3('0x22');break;case'AU':_0xa34734=_0x9ee3('0x23');break;case'EU':_0xa34734='https://accounts.zoho.eu';break;case'IN':_0xa34734='https://accounts.zoho.in';break;case'CN':_0xa34734=_0x9ee3('0x24');break;default:_0xa34734=_0x9ee3('0x25');break;}var _0x44f93f={'method':_0x9ee3('0x26'),'uri':_0xa34734+_0x9ee3('0x27'),'qs':{'refresh_token':_0x80671d[_0x9ee3('0x28')],'client_id':_0x80671d[_0x9ee3('0x29')],'client_secret':_0x80671d[_0x9ee3('0x2a')],'grant_type':_0x9ee3('0x2b')},'json':!![]};return rp(_0x44f93f)[_0x9ee3('0x2c')](function(_0x3b17d8){accountsTokens[_0x80671d['id']]={'access_token':_0x3b17d8['access_token'],'expires_in':moment()['add'](_0x3b17d8[_0x9ee3('0x20')],_0x9ee3('0x2d'))};_0x506040(_0x3b17d8[_0x9ee3('0x1e')]);})[_0x9ee3('0x2e')](function(_0x40f06c){logger[_0x9ee3('0x2f')](_0x9ee3('0x30'),_0x40f06c[_0x9ee3('0x31')]);_0x40f553(_0x40f06c);});});}function getUser(_0xe64e6c,_0x5633a3,_0x41037f,_0x182f21){logger[_0x9ee3('0x32')](_0x9ee3('0x33'));return request({'method':'GET','uri':util[_0x9ee3('0x34')](_0x9ee3('0x35'),_0x5633a3),'qs':{'type':'ActiveUsers'},'headers':{'Authorization':_0x9ee3('0x36')+_0xe64e6c},'json':!![]})[_0x9ee3('0x2c')](function(_0x3613b0){if(_0x3613b0['users']){var _0x1af6ae=-0x1;if(_['isArrayLikeObject'](_0x3613b0['users'])){if(!_[_0x9ee3('0x1d')](_0x182f21)){_0x1af6ae=_[_0x9ee3('0x37')](_0x3613b0[_0x9ee3('0x38')],function(_0x279cc4){return _0x279cc4['email']===_0x182f21;});}if(_0x1af6ae>=0x0){logger[_0x9ee3('0x32')](_0x9ee3('0x39'));}else{logger[_0x9ee3('0x32')](_0x9ee3('0x3a'));_0x1af6ae=_['findIndex'](_0x3613b0['users'],function(_0x29c6be){return _0x29c6be[_0x9ee3('0x3b')]['name']===_0x9ee3('0x3c');});}return _0x3613b0[_0x9ee3('0x38')][_0x1af6ae];}else{if(_0x3613b0['user'][_0x9ee3('0x3b')][_0x9ee3('0x19')]===_0x9ee3('0x3c')){logger[_0x9ee3('0x32')]('Using\x20the\x20admin\x20account!');user=_0x3613b0[_0x9ee3('0x3d')];return user;}else{logger[_0x9ee3('0x2f')](_0x9ee3('0x3e'),JSON[_0x9ee3('0x3f')](_0x3613b0));throw new Error(_0x9ee3('0x40')+JSON[_0x9ee3('0x3f')](_0x3613b0));}}}else{logger[_0x9ee3('0x2f')](_0x9ee3('0x3e'),JSON[_0x9ee3('0x3f')](_0x3613b0));throw new Error(_0x9ee3('0x40')+JSON[_0x9ee3('0x3f')](_0x3613b0));}})[_0x9ee3('0x2e')](function(_0xc41207){console[_0x9ee3('0x2f')](_0xc41207);});}function getZohoUser(_0x2d0494,_0x59eb2b){return new BPromise(function(_0x1735e5,_0x25eff4){request(_0x2d0494)['then'](function(_0xc2c10a){var _0x2bbc04=null;if(_0xc2c10a){_0x2bbc04=_0xc2c10a['data'][0x0];_0x2bbc04[_0x9ee3('0x41')]=_0x59eb2b;}_0x1735e5(_0x2bbc04);})[_0x9ee3('0x2e')](function(_0x57b92a){_0x25eff4(_0x57b92a);});});}function createEndUser(_0x3ffe98,_0x330a07,_0x12dcca,_0x5a3acb,_0xa3c974,_0x140797){var _0x12dcca=getName(_0x12dcca);return request({'method':_0x9ee3('0x26'),'uri':_0x9ee3('0x42')+_0x330a07+_0x9ee3('0x43')+_[_0x9ee3('0x44')](_0x140797[_0x9ee3('0x45')])+'s','body':{'data':[{'Last_Name':_0x12dcca[0x1],'First_Name':_0x12dcca[0x0],'Phone':_0x5a3acb,'Owner':{'name':!_[_0x9ee3('0x1d')](_0xa3c974[_0x9ee3('0x46')]['name'])?_0xa3c974[_0x9ee3('0x46')][_0x9ee3('0x19')]:!_[_0x9ee3('0x1d')](_0xa3c974[_0x9ee3('0x47')])?_0xa3c974[_0x9ee3('0x47')]+'\x20'+_0xa3c974[_0x9ee3('0x48')]:_0xa3c974[_0x9ee3('0x48')],'id':_0xa3c974['id']}}]},'headers':{'Authorization':_0x9ee3('0x36')+_0x3ffe98},'json':!![]})[_0x9ee3('0x2c')](function(_0x7b854d){if(_0x7b854d&&_0x7b854d[_0x9ee3('0x49')][0x0][_0x9ee3('0x4a')]===_0x9ee3('0x4b')){var _0xcdf6f6=_0x7b854d['data'][0x0][_0x9ee3('0x4c')];_0xcdf6f6['enduserType']=_[_0x9ee3('0x44')](_0x140797[_0x9ee3('0x45')])+'s';return _0xcdf6f6;}logger[_0x9ee3('0x2f')](_0x9ee3('0x3e'),JSON['stringify'](data));throw new Error(_0x9ee3('0x4d')+JSON['stringify'](data));})['catch'](function(_0x2f4e9e){console[_0x9ee3('0x4e')]('CREATE\x20ERROR',_0x2f4e9e);});}function getEndUser(_0x37a0af,_0x514d15,_0x2ca2be,_0x56a224,_0x116b36,_0x4a3923,_0x4a3a80){var _0x3c9d79={'method':_0x9ee3('0x4f'),'uri':'','headers':{'Authorization':_0x9ee3('0x36')+_0x37a0af},'json':!![]};switch(_0x4a3a80['moduleSearch']){case _0x9ee3('0x50'):_0x3c9d79[_0x9ee3('0x51')]=_0x9ee3('0x42')+_0x514d15+_0x9ee3('0x52')+_0x116b36+'))';return getZohoUser(_0x3c9d79,_0x9ee3('0x53'))[_0x9ee3('0x2c')](function(_0x38d43f){if(_0x38d43f)return _0x38d43f;_0x3c9d79['uri']=_0x9ee3('0x42')+_0x514d15+_0x9ee3('0x54')+_0x116b36+'))';return getZohoUser(_0x3c9d79,_0x9ee3('0x55'))[_0x9ee3('0x2c')](function(_0x4ca2a7){if(_0x4ca2a7)return _0x4ca2a7;if(_0x4a3a80[_0x9ee3('0x45')]!=_0x9ee3('0x56')){return createEndUser(_0x37a0af,_0x514d15,_0x56a224,_0x116b36,_0x4a3923,_0x4a3a80);}else{return{};}});});break;case _0x9ee3('0x57'):_0x3c9d79['uri']=_0x9ee3('0x42')+_0x514d15+_0x9ee3('0x52')+_0x116b36+'))';return getZohoUser(_0x3c9d79,'Contacts')[_0x9ee3('0x2c')](function(_0x1bc694){if(_0x1bc694)return _0x1bc694;if(_0x4a3a80[_0x9ee3('0x45')]!=_0x9ee3('0x56')){return createEndUser(_0x37a0af,_0x514d15,_0x56a224,_0x116b36,_0x4a3923,_0x4a3a80);}else{return{};}});break;case _0x9ee3('0x58'):_0x3c9d79[_0x9ee3('0x51')]='https://www.zohoapis.'+_0x514d15+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x116b36+'))';return getZohoUser(_0x3c9d79,_0x9ee3('0x55'))['then'](function(_0x61279c){if(_0x61279c)return _0x61279c;if(_0x4a3a80[_0x9ee3('0x45')]!='nothing'){return createEndUser(_0x37a0af,_0x514d15,_0x56a224,_0x116b36,_0x4a3923,_0x4a3a80);}else{return{};}});break;}}function getCall(_0x485090,_0xbc5fa5,_0x4e2aac,_0xeb05c1,_0x27def9,_0x1116c0,_0x2643bc,_0x5bae59){logger['info'](_0x9ee3('0x59'));var _0xda4d1d={};_0xda4d1d[_0x9ee3('0x5a')]={'name':!_[_0x9ee3('0x1d')](_0xeb05c1[_0x9ee3('0x46')][_0x9ee3('0x19')])&&!_[_0x9ee3('0x1d')](_0xeb05c1['profile'][_0x9ee3('0x19')])&&_0xeb05c1[_0x9ee3('0x3b')][_0x9ee3('0x19')]===_0x9ee3('0x5b')?_0xeb05c1[_0x9ee3('0x46')][_0x9ee3('0x19')]:!_['isNil'](_0xeb05c1[_0x9ee3('0x47')])?_0xeb05c1['first_name']+'\x20'+_0xeb05c1[_0x9ee3('0x48')]:_0xeb05c1[_0x9ee3('0x48')],'id':_0xeb05c1['id']};_0xda4d1d[_0x9ee3('0x5c')]=intUtil[_0x9ee3('0x5d')](_0x1116c0[_0x9ee3('0x5e')],_0x2643bc,'\x20');_0xda4d1d['Description']=intUtil[_0x9ee3('0x5d')](_0x1116c0[_0x9ee3('0x5f')],_0x2643bc,'\x0a');if(_0x27def9[_0x9ee3('0x41')]==='Contacts'){_0xda4d1d[_0x9ee3('0x60')]={'name':!_[_0x9ee3('0x1d')](_0x27def9['Full_Name'])?_0x27def9[_0x9ee3('0x61')]:!_[_0x9ee3('0x1d')](_0x27def9['First_Name'])?_0x27def9[_0x9ee3('0x62')]+'\x20'+_0x27def9[_0x9ee3('0x63')]:_0x27def9['Last_Name'],'id':_0x27def9['id']};}if(_0x27def9[_0x9ee3('0x41')]===_0x9ee3('0x55')){_0xda4d1d['What_Id']={'name':!_[_0x9ee3('0x1d')](_0x27def9[_0x9ee3('0x61')])?_0x27def9['Full_Name']:!_[_0x9ee3('0x1d')](_0x27def9[_0x9ee3('0x62')])?_0x27def9[_0x9ee3('0x62')]+'\x20'+_0x27def9[_0x9ee3('0x63')]:_0x27def9[_0x9ee3('0x63')],'id':_0x27def9['id']};_0xda4d1d[_0x9ee3('0x64')]=_[_0x9ee3('0x44')](_0x27def9[_0x9ee3('0x41')]);}if(_0x2643bc[_0x9ee3('0x65')]){_0xda4d1d[_0x9ee3('0x66')]=moment[_0x9ee3('0x67')](parseInt(_0x2643bc[_0x9ee3('0x65')])*0x3e8)[_0x9ee3('0x34')](_0x9ee3('0x68'));}else if(_0x2643bc[_0x9ee3('0x69')]&&_0x2643bc['endtime']){_0xda4d1d[_0x9ee3('0x66')]=moment[_0x9ee3('0x67')](moment(_0x2643bc[_0x9ee3('0x6a')],_0x9ee3('0x6b'))[_0x9ee3('0x6c')](moment(_0x2643bc['starttime'],_0x9ee3('0x6b'))))['format'](_0x9ee3('0x68'));}switch(_0x2643bc[_0x9ee3('0x6d')]){case _0x9ee3('0x6e'):_0xda4d1d[_0x9ee3('0x6f')]='Called';break;case'complete':case _0x9ee3('0x70'):_0xda4d1d[_0x9ee3('0x6f')]=_0x9ee3('0x71');break;case _0x9ee3('0x72'):_0xda4d1d['Call_Result']=_0x9ee3('0x73');break;case _0x9ee3('0x74'):_0xda4d1d['Call_Result']='Abandoned';break;case _0x9ee3('0x75'):_0xda4d1d[_0x9ee3('0x6f')]=_0x9ee3('0x76');default:}_0xda4d1d[_0x9ee3('0x77')]=(_0x5bae59===_0x9ee3('0x78')?moment(_0x2643bc[_0x9ee3('0x79')])[_0x9ee3('0x34')]('YYYY-MM-DDTHH:mm:ss'):moment(_0x2643bc['agentcalledAt'])['format'](_0x9ee3('0x6b')))||moment()['format'](_0x9ee3('0x6b'));_0xda4d1d[_0x9ee3('0x7a')]=_0x5bae59||_0x9ee3('0x7b');_0xda4d1d=_['merge'](_0xda4d1d,getCustomFields(_0x1116c0[_0x9ee3('0x7c')],_0x2643bc));return request({'method':_0x9ee3('0x26'),'uri':_0x9ee3('0x42')+_0xbc5fa5+_0x9ee3('0x7d'),'headers':{'Authorization':_0x9ee3('0x36')+_0x485090},'body':{'data':[_0xda4d1d]},'json':!![]})[_0x9ee3('0x2c')](function(_0x3a2a82){if(_0x3a2a82&&_0x3a2a82['data'][0x0][_0x9ee3('0x4a')]===_0x9ee3('0x4b')){logger['info'](_0x9ee3('0x7e'));return{'id':_0x3a2a82[_0x9ee3('0x49')][0x0][_0x9ee3('0x4c')]['id']};}})[_0x9ee3('0x2e')](function(_0x3ba7d6){logger['info'](_0x9ee3('0x7f'),_0x3ba7d6[_0x9ee3('0x31')]);console['log'](_0x9ee3('0x7f'),_0x3ba7d6);});}exports[_0x9ee3('0x80')]=function(_0x5ae68d,_0x281719,_0x29efd6,_0x938cc7,_0x5c7852,_0x1fec98){var _0x26e860,_0x1c2223,_0x169311;_0x1fec98['host']=intUtil[_0x9ee3('0x81')](_0x1fec98[_0x9ee3('0x82')]);_0x1fec98['serverUrl']=intUtil[_0x9ee3('0x81')](_0x1fec98[_0x9ee3('0x83')]);if(_0x5c7852&&_0x5c7852['monitor_format']){logger[_0x9ee3('0x32')](_0x9ee3('0x84'),_0x9ee3('0x85'));_0x281719['recordingURL']=_0x1fec98[_0x9ee3('0x83')]+_0x9ee3('0x86')+_0x281719['uniqueid']+_0x9ee3('0x87')+md5(_0x281719[_0x9ee3('0x88')]);}else{_0x281719[_0x9ee3('0x89')]='';}var _0x59b3d8=_0x1fec98[_0x9ee3('0x82')]==='zoho.eu'?'eu':'com';return getAccessToken(_0x1fec98)[_0x9ee3('0x2c')](function(_0xceab14){_0x169311=_0xceab14;return getUser(_0x169311,_0x59b3d8,_0x1fec98,_0x938cc7[_0x9ee3('0x8a')]);})[_0x9ee3('0x2c')](function(_0x388d3c){_0x26e860=_0x388d3c;logger[_0x9ee3('0x32')](_0x9ee3('0x8b'),_0x26e860['id']);return getEndUser(_0x169311,_0x59b3d8,_0x1fec98,_0x281719[_0x9ee3('0x8c')],_0x281719[_0x9ee3('0x8d')],_0x26e860,_0x29efd6);})[_0x9ee3('0x2c')](function(_0x2abd20){_0x1c2223=_0x2abd20;return getCall(_0x169311,_0x59b3d8,_0x1fec98,_0x26e860,_0x1c2223,_0x29efd6,_0x281719,_0x9ee3('0x7b'));})['then'](function(_0x22eee6){if(_0x22eee6){logger[_0x9ee3('0x32')](_0x9ee3('0x8e'),_0x22eee6['id']);logger[_0x9ee3('0x32')](_0x9ee3('0x84'),_0x9ee3('0x8f'));emit(util[_0x9ee3('0x34')]('user:%s',_0x938cc7[_0x9ee3('0x19')]),_0x9ee3('0x90'),{'uri':_0x9ee3('0x91')+_0x1fec98[_0x9ee3('0x82')]+_0x9ee3('0x92')+_0x22eee6['id']});}})[_0x9ee3('0x2e')](function(_0x44dfe5){logger[_0x9ee3('0x2f')](_0x9ee3('0x84'),JSON['stringify'](_0x44dfe5));});};exports['outbound']=function(_0x4a1c8,_0xc06799,_0xf28980,_0x306d4a,_0x42d540,_0x5debe4,_0x1a8dc8){var _0x492e6d,_0x443fe4,_0x1107ab;_0x5debe4[_0x9ee3('0x82')]=intUtil[_0x9ee3('0x81')](_0x5debe4[_0x9ee3('0x82')]);_0x5debe4[_0x9ee3('0x83')]=intUtil[_0x9ee3('0x81')](_0x5debe4['serverUrl']);if(_0x1a8dc8&&_0x1a8dc8[_0x9ee3('0x93')]&&_0x1a8dc8[_0x9ee3('0x93')]!=='none'){logger['info'](_0x9ee3('0x94'),_0x9ee3('0x85'));_0xc06799['recordingURL']=_0x5debe4[_0x9ee3('0x83')]+'/api/voice/recordings/'+_0xc06799[_0x9ee3('0x88')]+'/downloads?type=uniqueid&token='+md5(_0xc06799[_0x9ee3('0x88')]);}var _0xc93c9=_0x5debe4[_0x9ee3('0x82')]===_0x9ee3('0x95')?'eu':_0x9ee3('0x96');return getAccessToken(_0x5debe4)['then'](function(_0x3b83cf){_0x1107ab=_0x3b83cf;return getUser(_0x1107ab,_0xc93c9,_0x5debe4,_0x306d4a[_0x9ee3('0x8a')]);})[_0x9ee3('0x2c')](function(_0xeb204d){_0x492e6d=_0xeb204d;logger[_0x9ee3('0x32')](_0x9ee3('0x8b'),_0x492e6d['id']);return getEndUser(_0x1107ab,_0xc93c9,_0x5debe4,_0xc06799[_0x9ee3('0x97')],_0xc06799[_0x9ee3('0x98')],_0x492e6d,_0xf28980);})['then'](function(_0x41026e){_0x443fe4=_0x41026e;return getCall(_0x1107ab,_0xc93c9,_0x5debe4,_0x492e6d,_0x443fe4,_0xf28980,_0xc06799,_0x9ee3('0x99'));})[_0x9ee3('0x2c')](function(_0x666e9d){if(_0x666e9d){logger[_0x9ee3('0x32')](_0x9ee3('0x8e'),_0x666e9d['id']);logger['info']('[OUTBOUND]',_0x9ee3('0x8f'));emit(util[_0x9ee3('0x34')](_0x9ee3('0x9a'),_0x306d4a[_0x9ee3('0x19')]),_0x9ee3('0x90'),{'uri':'https://crm.'+_0x5debe4[_0x9ee3('0x82')]+_0x9ee3('0x92')+_0x666e9d['id']});}})[_0x9ee3('0x2e')](function(_0x5ef0f8){logger['error'](_0x9ee3('0x94'),JSON[_0x9ee3('0x3f')](_0x5ef0f8));});};exports['unmanaged']=function(_0x349d54,_0x2d987e,_0x3f511e,_0x5535fa,_0x3e4ec3,_0x4d0bb7){var _0x44c9a1,_0x3558c6,_0x45a05d;_0x4d0bb7[_0x9ee3('0x82')]=intUtil[_0x9ee3('0x81')](_0x4d0bb7[_0x9ee3('0x82')]);_0x4d0bb7[_0x9ee3('0x83')]=intUtil[_0x9ee3('0x81')](_0x4d0bb7['serverUrl']);if(_0x3e4ec3&&_0x3e4ec3[_0x9ee3('0x9b')]){logger[_0x9ee3('0x32')]('['+_0x2d987e[_0x9ee3('0x6d')]['toUpperCase']()+']',_0x9ee3('0x85'));_0x2d987e[_0x9ee3('0x89')]=_0x4d0bb7[_0x9ee3('0x83')]+_0x9ee3('0x86')+_0x2d987e[_0x9ee3('0x88')]+_0x9ee3('0x87')+md5(_0x2d987e[_0x9ee3('0x88')]);}else{_0x2d987e[_0x9ee3('0x89')]='';}var _0x188ad2=_0x4d0bb7['host']==='zoho.eu'?'eu':_0x9ee3('0x96');return getAccessToken(_0x4d0bb7)['then'](function(_0x544284){_0x45a05d=_0x544284;return getUser(_0x45a05d,_0x188ad2,_0x4d0bb7);})[_0x9ee3('0x2c')](function(_0x2edee4){_0x44c9a1=_0x2edee4;logger[_0x9ee3('0x32')](_0x9ee3('0x8b'),_0x44c9a1['id']);return getEndUser(_0x45a05d,_0x188ad2,_0x4d0bb7,_0x2d987e['calleridname'],_0x2d987e[_0x9ee3('0x8d')],_0x44c9a1,_0x3f511e);})[_0x9ee3('0x2c')](function(_0xaa24a2){_0x3558c6=_0xaa24a2;return getCall(_0x45a05d,_0x188ad2,_0x4d0bb7,_0x44c9a1,_0x3558c6,_0x3f511e,_0x2d987e,_0x9ee3('0x7b'));})[_0x9ee3('0x2c')](function(_0x3c6cd0){if(_0x3c6cd0){logger[_0x9ee3('0x32')](_0x9ee3('0x8e'),_0x3c6cd0['id']);}})[_0x9ee3('0x2e')](function(_0x523bea){logger[_0x9ee3('0x2f')]('['+_0x2d987e[_0x9ee3('0x6d')][_0x9ee3('0x9c')]()+']',JSON[_0x9ee3('0x3f')](_0x523bea));});};
\ No newline at end of file
+var _0xa4e9=['/api/voice/recordings/','uniqueid','zoho.eu','com','calleridname','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','[OUTBOUND]','/downloads?type=uniqueid&token=','The\x20User\x20ID\x20is:','destcalleridnum','Outbound','user:%s','unmanaged','toUpperCase','calleridnum','lodash','request-promise','./util','ioredis','../../../../config/logger','zoho','socket.io-emitter','[HTTP]','length','forEach','picklist','type','idField','toString','variable','variableName','Variable','name','toLowerCase','indexOf','split','isNil','access_token','expires_in','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','https://accounts.zoho.eu','/oauth/v2/token','refreshToken','clientId','clientSecret','then','add','seconds','error','Failing\x20creating\x20the\x20access_token','stack','info','GET','format','users','findIndex','email','Agent\x20found!','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','stringify','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','data','POST','https://www.zohoapis.','/crm/v2/','moduleCreate','role','last_name','Zoho-oauthtoken\x20','code','SUCCESS','details','enduserType','startCase','Error:\x20','log','CREATE\x20ERROR','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','contact','Owner','administrator','first_name','Subject','Subjects','Description','getString','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','utc','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','starttime','lastevent','called','Call_Result','Called','complete','Answered','rejected','abandoned','timeout','Timeout','Call_Type','Inbound','merge','Fields','/crm/v2/Calls','Call\x20created!','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL'];(function(_0x5da1c6,_0x36e363){var _0x1e7b10=function(_0x256fc0){while(--_0x256fc0){_0x5da1c6['push'](_0x5da1c6['shift']());}};_0x1e7b10(++_0x36e363);}(_0xa4e9,0x1c6));var _0x9a4e=function(_0x5f5dd3,_0x2ce595){_0x5f5dd3=_0x5f5dd3-0x0;var _0x7ec6bf=_0xa4e9[_0x5f5dd3];return _0x7ec6bf;};'use strict';var _=require(_0x9a4e('0x0'));var rp=require(_0x9a4e('0x1'));var md5=require('md5');var util=require('util');var intUtil=require(_0x9a4e('0x2'));var moment=require('moment');var Redis=require(_0x9a4e('0x3'));var BPromise=require('bluebird');var config=require('../../../../config/environment');var logger=require(_0x9a4e('0x4'))(_0x9a4e('0x5'));config['redis']=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x9a4e('0x6'))(new Redis(config['redis']));function emit(_0x2c4483,_0x231eff,_0x30b4fe){io['to'](_0x2c4483)['emit'](_0x231eff,_0x30b4fe);}function request(_0xfec7bb){logger['debug'](_0x9a4e('0x7'),JSON['stringify'](_0xfec7bb));return rp(_0xfec7bb);}function getCustomFields(_0x766fd6,_0x462f72){var _0xfbea11={};if(_0x766fd6[_0x9a4e('0x8')]>0x0){_[_0x9a4e('0x9')](_0x766fd6,function(_0x2fd7bb){if(_['includes'](['string',_0x9a4e('0xa')],_0x2fd7bb[_0x9a4e('0xb')])&&_0x2fd7bb[_0x9a4e('0xc')]){_0xfbea11[_0x2fd7bb['idField']]=_0x2fd7bb['content'][_0x9a4e('0xd')]();}else if(_0x2fd7bb[_0x9a4e('0xb')]===_0x9a4e('0xe')&&_0x2fd7bb['variableName']&&_0x2fd7bb['idField']&&_0x462f72[_0x2fd7bb[_0x9a4e('0xf')]]){_0xfbea11[_0x2fd7bb['idField']]=_0x462f72[_0x2fd7bb[_0x9a4e('0xf')]]['toString']();}else if(_0x2fd7bb[_0x9a4e('0xb')]==='customVariable'&&_0x2fd7bb['Variable']&&_0x2fd7bb[_0x9a4e('0x10')]['name']&&_0x2fd7bb[_0x9a4e('0xc')]&&_0x462f72[_0x2fd7bb[_0x9a4e('0x10')][_0x9a4e('0x11')][_0x9a4e('0x12')]()]){_0xfbea11[_0x2fd7bb[_0x9a4e('0xc')]]=_0x462f72[_0x2fd7bb['Variable'][_0x9a4e('0x11')]['toLowerCase']()][_0x9a4e('0xd')]();}});}return _0xfbea11;}function getName(_0x56bf6e){if(_0x56bf6e[_0x9a4e('0x13')]('\x20')>0x0){var _0x498671=_0x56bf6e[_0x9a4e('0x14')](/ (.+)/);if(_0x498671[0x1]){return _0x498671;}}return[_0x56bf6e,_0x56bf6e];}var accountsTokens={};function getAccessToken(_0x315bda){return new Promise(function(_0x4b231b,_0x5af1c2){if(!_['isNil'](accountsTokens[_0x315bda['id']])&&!_[_0x9a4e('0x15')](accountsTokens[_0x315bda['id']][_0x9a4e('0x16')])){if(moment()['isBefore'](accountsTokens[_0x315bda['id']][_0x9a4e('0x17')])){_0x4b231b(accountsTokens[_0x315bda['id']][_0x9a4e('0x16')]);}}var _0x3b10f0;switch(_0x315bda['zone']){case'US':_0x3b10f0=_0x9a4e('0x18');break;case'AU':_0x3b10f0=_0x9a4e('0x19');break;case'EU':_0x3b10f0='https://accounts.zoho.eu';break;case'IN':_0x3b10f0=_0x9a4e('0x1a');break;case'CN':_0x3b10f0=_0x9a4e('0x1b');break;default:_0x3b10f0=_0x9a4e('0x1c');break;}var _0x336994={'method':'POST','uri':_0x3b10f0+_0x9a4e('0x1d'),'qs':{'refresh_token':_0x315bda[_0x9a4e('0x1e')],'client_id':_0x315bda[_0x9a4e('0x1f')],'client_secret':_0x315bda[_0x9a4e('0x20')],'grant_type':'refresh_token'},'json':!![]};return rp(_0x336994)[_0x9a4e('0x21')](function(_0x6f453a){accountsTokens[_0x315bda['id']]={'access_token':_0x6f453a[_0x9a4e('0x16')],'expires_in':moment()[_0x9a4e('0x22')](_0x6f453a[_0x9a4e('0x17')],_0x9a4e('0x23'))};_0x4b231b(_0x6f453a[_0x9a4e('0x16')]);})['catch'](function(_0x57634e){logger[_0x9a4e('0x24')](_0x9a4e('0x25'),_0x57634e[_0x9a4e('0x26')]);_0x5af1c2(_0x57634e);});});}function getUser(_0x3540ac,_0xd45add,_0x3a2b77,_0x53ad39){logger[_0x9a4e('0x27')]('Search\x20user');return request({'method':_0x9a4e('0x28'),'uri':util[_0x9a4e('0x29')]('https://www.zohoapis.%s/crm/v2/users',_0xd45add),'qs':{'type':'ActiveUsers'},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x3540ac},'json':!![]})[_0x9a4e('0x21')](function(_0x23d691){if(_0x23d691['users']){var _0x158c85=-0x1;if(_['isArrayLikeObject'](_0x23d691[_0x9a4e('0x2a')])){if(!_[_0x9a4e('0x15')](_0x53ad39)){_0x158c85=_[_0x9a4e('0x2b')](_0x23d691[_0x9a4e('0x2a')],function(_0x19e611){return _0x19e611[_0x9a4e('0x2c')]===_0x53ad39;});}if(_0x158c85>=0x0){logger[_0x9a4e('0x27')](_0x9a4e('0x2d'));}else{logger[_0x9a4e('0x27')](_0x9a4e('0x2e'));_0x158c85=_[_0x9a4e('0x2b')](_0x23d691[_0x9a4e('0x2a')],function(_0x31addd){return _0x31addd[_0x9a4e('0x2f')][_0x9a4e('0x11')]===_0x9a4e('0x30');});}return _0x23d691[_0x9a4e('0x2a')][_0x158c85];}else{if(_0x23d691[_0x9a4e('0x31')]['profile'][_0x9a4e('0x11')]===_0x9a4e('0x30')){logger[_0x9a4e('0x27')]('Using\x20the\x20admin\x20account!');user=_0x23d691[_0x9a4e('0x31')];return user;}else{logger[_0x9a4e('0x24')](_0x9a4e('0x32'),JSON[_0x9a4e('0x33')](_0x23d691));throw new Error(_0x9a4e('0x34')+JSON[_0x9a4e('0x33')](_0x23d691));}}}else{logger[_0x9a4e('0x24')](_0x9a4e('0x32'),JSON[_0x9a4e('0x33')](_0x23d691));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON['stringify'](_0x23d691));}})[_0x9a4e('0x35')](function(_0x5ca614){console[_0x9a4e('0x24')](_0x5ca614);});}function getZohoUser(_0x1936ee,_0x2017f2){return new BPromise(function(_0x144ec0,_0x4004b9){request(_0x1936ee)[_0x9a4e('0x21')](function(_0x3cce83){var _0x357ccf=null;if(_0x3cce83){_0x357ccf=_0x3cce83[_0x9a4e('0x36')][0x0];_0x357ccf['enduserType']=_0x2017f2;}_0x144ec0(_0x357ccf);})['catch'](function(_0x45e954){_0x4004b9(_0x45e954);});});}function createEndUser(_0x205156,_0x419cca,_0x2bcf9a,_0x59caa4,_0x10fdcf,_0x40b5c5){var _0x2bcf9a=getName(_0x2bcf9a);return request({'method':_0x9a4e('0x37'),'uri':_0x9a4e('0x38')+_0x419cca+_0x9a4e('0x39')+_['startCase'](_0x40b5c5[_0x9a4e('0x3a')])+'s','body':{'data':[{'Last_Name':_0x2bcf9a[0x1],'First_Name':_0x2bcf9a[0x0],'Phone':_0x59caa4,'Owner':{'name':!_[_0x9a4e('0x15')](_0x10fdcf[_0x9a4e('0x3b')][_0x9a4e('0x11')])?_0x10fdcf[_0x9a4e('0x3b')][_0x9a4e('0x11')]:!_[_0x9a4e('0x15')](_0x10fdcf['first_name'])?_0x10fdcf['first_name']+'\x20'+_0x10fdcf[_0x9a4e('0x3c')]:_0x10fdcf[_0x9a4e('0x3c')],'id':_0x10fdcf['id']}}]},'headers':{'Authorization':_0x9a4e('0x3d')+_0x205156},'json':!![]})[_0x9a4e('0x21')](function(_0x179598){if(_0x179598&&_0x179598[_0x9a4e('0x36')][0x0][_0x9a4e('0x3e')]===_0x9a4e('0x3f')){var _0x33f5a2=_0x179598[_0x9a4e('0x36')][0x0][_0x9a4e('0x40')];_0x33f5a2[_0x9a4e('0x41')]=_[_0x9a4e('0x42')](_0x40b5c5[_0x9a4e('0x3a')])+'s';return _0x33f5a2;}logger[_0x9a4e('0x24')](_0x9a4e('0x32'),JSON['stringify'](data));throw new Error(_0x9a4e('0x43')+JSON['stringify'](data));})['catch'](function(_0x2d669e){console[_0x9a4e('0x44')](_0x9a4e('0x45'),_0x2d669e);});}function getEndUser(_0x15755c,_0x8553e,_0xef4a58,_0x5a0890,_0xc4f87c,_0x2eb5fc,_0x28a3b0){var _0x1363a1={'method':_0x9a4e('0x28'),'uri':'','headers':{'Authorization':_0x9a4e('0x3d')+_0x15755c},'json':!![]};switch(_0x28a3b0['moduleSearch']){case _0x9a4e('0x46'):_0x1363a1[_0x9a4e('0x47')]='https://www.zohoapis.'+_0x8553e+_0x9a4e('0x48')+_0xc4f87c+'))';return getZohoUser(_0x1363a1,_0x9a4e('0x49'))['then'](function(_0x6ba719){if(_0x6ba719)return _0x6ba719;_0x1363a1[_0x9a4e('0x47')]=_0x9a4e('0x38')+_0x8553e+_0x9a4e('0x4a')+_0xc4f87c+'))';return getZohoUser(_0x1363a1,_0x9a4e('0x4b'))[_0x9a4e('0x21')](function(_0x4f0d7f){if(_0x4f0d7f)return _0x4f0d7f;if(_0x28a3b0['moduleCreate']!=_0x9a4e('0x4c')){return createEndUser(_0x15755c,_0x8553e,_0x5a0890,_0xc4f87c,_0x2eb5fc,_0x28a3b0);}else{return{};}});});break;case _0x9a4e('0x4d'):_0x1363a1[_0x9a4e('0x47')]='https://www.zohoapis.'+_0x8553e+_0x9a4e('0x48')+_0xc4f87c+'))';return getZohoUser(_0x1363a1,_0x9a4e('0x49'))[_0x9a4e('0x21')](function(_0x49157f){if(_0x49157f)return _0x49157f;if(_0x28a3b0[_0x9a4e('0x3a')]!='nothing'){return createEndUser(_0x15755c,_0x8553e,_0x5a0890,_0xc4f87c,_0x2eb5fc,_0x28a3b0);}else{return{};}});break;case'lead':_0x1363a1['uri']=_0x9a4e('0x38')+_0x8553e+_0x9a4e('0x4a')+_0xc4f87c+'))';return getZohoUser(_0x1363a1,_0x9a4e('0x4b'))[_0x9a4e('0x21')](function(_0x21a294){if(_0x21a294)return _0x21a294;if(_0x28a3b0[_0x9a4e('0x3a')]!=_0x9a4e('0x4c')){return createEndUser(_0x15755c,_0x8553e,_0x5a0890,_0xc4f87c,_0x2eb5fc,_0x28a3b0);}else{return{};}});break;}}function getCall(_0x3d4546,_0x2a4526,_0x903c01,_0x1dde34,_0x372242,_0x3a814d,_0x267053,_0x5776aa){logger[_0x9a4e('0x27')]('Creating\x20new\x20call...');var _0x2011c4={};_0x2011c4[_0x9a4e('0x4e')]={'name':!_['isNil'](_0x1dde34[_0x9a4e('0x3b')][_0x9a4e('0x11')])&&!_[_0x9a4e('0x15')](_0x1dde34[_0x9a4e('0x2f')][_0x9a4e('0x11')])&&_0x1dde34[_0x9a4e('0x2f')][_0x9a4e('0x11')]===_0x9a4e('0x4f')?_0x1dde34['role'][_0x9a4e('0x11')]:!_['isNil'](_0x1dde34['first_name'])?_0x1dde34[_0x9a4e('0x50')]+'\x20'+_0x1dde34[_0x9a4e('0x3c')]:_0x1dde34[_0x9a4e('0x3c')],'id':_0x1dde34['id']};_0x2011c4[_0x9a4e('0x51')]=intUtil['getString'](_0x3a814d[_0x9a4e('0x52')],_0x267053,'\x20');_0x2011c4[_0x9a4e('0x53')]=intUtil[_0x9a4e('0x54')](_0x3a814d[_0x9a4e('0x55')],_0x267053,'\x0a');if(_0x372242[_0x9a4e('0x41')]===_0x9a4e('0x49')){_0x2011c4[_0x9a4e('0x56')]={'name':!_[_0x9a4e('0x15')](_0x372242['Full_Name'])?_0x372242[_0x9a4e('0x57')]:!_[_0x9a4e('0x15')](_0x372242[_0x9a4e('0x58')])?_0x372242[_0x9a4e('0x58')]+'\x20'+_0x372242[_0x9a4e('0x59')]:_0x372242[_0x9a4e('0x59')],'id':_0x372242['id']};}if(_0x372242[_0x9a4e('0x41')]==='Leads'){_0x2011c4[_0x9a4e('0x5a')]={'name':!_['isNil'](_0x372242[_0x9a4e('0x57')])?_0x372242[_0x9a4e('0x57')]:!_[_0x9a4e('0x15')](_0x372242['First_Name'])?_0x372242[_0x9a4e('0x58')]+'\x20'+_0x372242[_0x9a4e('0x59')]:_0x372242[_0x9a4e('0x59')],'id':_0x372242['id']};_0x2011c4[_0x9a4e('0x5b')]=_['startCase'](_0x372242['enduserType']);}if(_0x267053[_0x9a4e('0x5c')]){_0x2011c4[_0x9a4e('0x5d')]=moment[_0x9a4e('0x5e')](parseInt(_0x267053[_0x9a4e('0x5c')])*0x3e8)[_0x9a4e('0x29')](_0x9a4e('0x5f'));}else if(_0x267053[_0x9a4e('0x60')]&&_0x267053[_0x9a4e('0x61')]){_0x2011c4[_0x9a4e('0x5d')]=moment[_0x9a4e('0x5e')](moment(_0x267053['endtime'],_0x9a4e('0x62'))[_0x9a4e('0x63')](moment(_0x267053[_0x9a4e('0x64')],'YYYY-MM-DDTHH:mm:ss')))['format'](_0x9a4e('0x5f'));}switch(_0x267053[_0x9a4e('0x65')]){case _0x9a4e('0x66'):_0x2011c4[_0x9a4e('0x67')]=_0x9a4e('0x68');break;case _0x9a4e('0x69'):case'connect':_0x2011c4['Call_Result']=_0x9a4e('0x6a');break;case _0x9a4e('0x6b'):_0x2011c4[_0x9a4e('0x67')]='Rejected';break;case _0x9a4e('0x6c'):_0x2011c4[_0x9a4e('0x67')]='Abandoned';break;case _0x9a4e('0x6d'):_0x2011c4[_0x9a4e('0x67')]=_0x9a4e('0x6e');default:}_0x2011c4['Call_Start_Time']=(_0x5776aa==='outbound'?moment(_0x267053[_0x9a4e('0x64')])['format'](_0x9a4e('0x62')):moment(_0x267053['agentcalledAt'])['format'](_0x9a4e('0x62')))||moment()['format'](_0x9a4e('0x62'));_0x2011c4[_0x9a4e('0x6f')]=_0x5776aa||_0x9a4e('0x70');_0x2011c4=_[_0x9a4e('0x71')](_0x2011c4,getCustomFields(_0x3a814d[_0x9a4e('0x72')],_0x267053));return request({'method':_0x9a4e('0x37'),'uri':_0x9a4e('0x38')+_0x2a4526+_0x9a4e('0x73'),'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x3d4546},'body':{'data':[_0x2011c4]},'json':!![]})[_0x9a4e('0x21')](function(_0x101135){if(_0x101135&&_0x101135[_0x9a4e('0x36')][0x0][_0x9a4e('0x3e')]===_0x9a4e('0x3f')){logger['info'](_0x9a4e('0x74'));return{'id':_0x101135[_0x9a4e('0x36')][0x0][_0x9a4e('0x40')]['id']};}})['catch'](function(_0x397486){logger[_0x9a4e('0x27')](_0x9a4e('0x75'),_0x397486[_0x9a4e('0x26')]);console['log']('err',_0x397486);});}exports[_0x9a4e('0x76')]=function(_0x317c42,_0x1e0560,_0x5b45ec,_0x91071c,_0x262622,_0x1999b5){var _0x732178,_0x19a8fc,_0xadef92;_0x1999b5[_0x9a4e('0x77')]=intUtil[_0x9a4e('0x78')](_0x1999b5[_0x9a4e('0x77')]);_0x1999b5['serverUrl']=intUtil[_0x9a4e('0x78')](_0x1999b5[_0x9a4e('0x79')]);if(_0x262622&&_0x262622[_0x9a4e('0x7a')]){logger[_0x9a4e('0x27')](_0x9a4e('0x7b'),_0x9a4e('0x7c'));_0x1e0560[_0x9a4e('0x7d')]=_0x1999b5[_0x9a4e('0x79')]+_0x9a4e('0x7e')+_0x1e0560[_0x9a4e('0x7f')]+'/downloads?type=uniqueid&token='+md5(_0x1e0560[_0x9a4e('0x7f')]);}else{_0x1e0560[_0x9a4e('0x7d')]='';}var _0x2a691e=_0x1999b5[_0x9a4e('0x77')]===_0x9a4e('0x80')?'eu':_0x9a4e('0x81');return getAccessToken(_0x1999b5)[_0x9a4e('0x21')](function(_0xf2e7a4){_0xadef92=_0xf2e7a4;return getUser(_0xadef92,_0x2a691e,_0x1999b5,_0x91071c[_0x9a4e('0x2c')]);})['then'](function(_0x1e025d){_0x732178=_0x1e025d;logger[_0x9a4e('0x27')]('The\x20User\x20ID\x20is:',_0x732178['id']);return getEndUser(_0xadef92,_0x2a691e,_0x1999b5,_0x1e0560[_0x9a4e('0x82')],_0x1e0560['calleridnum'],_0x732178,_0x5b45ec);})[_0x9a4e('0x21')](function(_0x6c513d){_0x19a8fc=_0x6c513d;return getCall(_0xadef92,_0x2a691e,_0x1999b5,_0x732178,_0x19a8fc,_0x5b45ec,_0x1e0560,_0x9a4e('0x70'));})[_0x9a4e('0x21')](function(_0x459090){if(_0x459090){logger[_0x9a4e('0x27')](_0x9a4e('0x83'),_0x459090['id']);logger[_0x9a4e('0x27')](_0x9a4e('0x7b'),_0x9a4e('0x84'));emit(util['format']('user:%s',_0x91071c['name']),_0x9a4e('0x85'),{'uri':'https://crm.'+_0x1999b5[_0x9a4e('0x77')]+_0x9a4e('0x86')+_0x459090['id']});}})[_0x9a4e('0x35')](function(_0x5c194f){logger[_0x9a4e('0x24')](_0x9a4e('0x7b'),JSON['stringify'](_0x5c194f));});};exports['outbound']=function(_0x5b015c,_0x57294c,_0xbabb5f,_0x2ba019,_0x37e970,_0x18081e,_0x3fda34){var _0x3c6ebc,_0x47607d,_0x425c51;_0x18081e[_0x9a4e('0x77')]=intUtil[_0x9a4e('0x78')](_0x18081e['host']);_0x18081e[_0x9a4e('0x79')]=intUtil[_0x9a4e('0x78')](_0x18081e[_0x9a4e('0x79')]);if(_0x3fda34&&_0x3fda34[_0x9a4e('0x87')]&&_0x3fda34[_0x9a4e('0x87')]!=='none'){logger['info'](_0x9a4e('0x88'),_0x9a4e('0x7c'));_0x57294c[_0x9a4e('0x7d')]=_0x18081e['serverUrl']+_0x9a4e('0x7e')+_0x57294c[_0x9a4e('0x7f')]+_0x9a4e('0x89')+md5(_0x57294c[_0x9a4e('0x7f')]);}var _0x585502=_0x18081e[_0x9a4e('0x77')]===_0x9a4e('0x80')?'eu':'com';return getAccessToken(_0x18081e)[_0x9a4e('0x21')](function(_0x4a6867){_0x425c51=_0x4a6867;return getUser(_0x425c51,_0x585502,_0x18081e,_0x2ba019[_0x9a4e('0x2c')]);})[_0x9a4e('0x21')](function(_0x58c1a5){_0x3c6ebc=_0x58c1a5;logger['info'](_0x9a4e('0x8a'),_0x3c6ebc['id']);return getEndUser(_0x425c51,_0x585502,_0x18081e,_0x57294c['destcalleridname'],_0x57294c[_0x9a4e('0x8b')],_0x3c6ebc,_0xbabb5f);})[_0x9a4e('0x21')](function(_0x1d6910){_0x47607d=_0x1d6910;return getCall(_0x425c51,_0x585502,_0x18081e,_0x3c6ebc,_0x47607d,_0xbabb5f,_0x57294c,_0x9a4e('0x8c'));})[_0x9a4e('0x21')](function(_0x5f3d99){if(_0x5f3d99){logger[_0x9a4e('0x27')](_0x9a4e('0x83'),_0x5f3d99['id']);logger[_0x9a4e('0x27')](_0x9a4e('0x88'),_0x9a4e('0x84'));emit(util['format'](_0x9a4e('0x8d'),_0x2ba019[_0x9a4e('0x11')]),_0x9a4e('0x85'),{'uri':'https://crm.'+_0x18081e[_0x9a4e('0x77')]+_0x9a4e('0x86')+_0x5f3d99['id']});}})[_0x9a4e('0x35')](function(_0x1858c2){logger['error'](_0x9a4e('0x88'),JSON['stringify'](_0x1858c2));});};exports[_0x9a4e('0x8e')]=function(_0x2f9d54,_0x34c0a1,_0x2a66ce,_0x5823ff,_0xe44ba3,_0x5659d6){var _0xbee9b5,_0x38446e,_0x567153;_0x5659d6['host']=intUtil[_0x9a4e('0x78')](_0x5659d6['host']);_0x5659d6[_0x9a4e('0x79')]=intUtil[_0x9a4e('0x78')](_0x5659d6[_0x9a4e('0x79')]);if(_0xe44ba3&&_0xe44ba3['monitor_format']){logger[_0x9a4e('0x27')]('['+_0x34c0a1[_0x9a4e('0x65')][_0x9a4e('0x8f')]()+']',_0x9a4e('0x7c'));_0x34c0a1[_0x9a4e('0x7d')]=_0x5659d6['serverUrl']+_0x9a4e('0x7e')+_0x34c0a1[_0x9a4e('0x7f')]+_0x9a4e('0x89')+md5(_0x34c0a1[_0x9a4e('0x7f')]);}else{_0x34c0a1[_0x9a4e('0x7d')]='';}var _0x499c99=_0x5659d6[_0x9a4e('0x77')]===_0x9a4e('0x80')?'eu':_0x9a4e('0x81');return getAccessToken(_0x5659d6)[_0x9a4e('0x21')](function(_0x41411c){_0x567153=_0x41411c;return getUser(_0x567153,_0x499c99,_0x5659d6);})[_0x9a4e('0x21')](function(_0x25afde){_0xbee9b5=_0x25afde;logger[_0x9a4e('0x27')](_0x9a4e('0x8a'),_0xbee9b5['id']);return getEndUser(_0x567153,_0x499c99,_0x5659d6,_0x34c0a1[_0x9a4e('0x82')],_0x34c0a1[_0x9a4e('0x90')],_0xbee9b5,_0x2a66ce);})[_0x9a4e('0x21')](function(_0x5b03f1){_0x38446e=_0x5b03f1;return getCall(_0x567153,_0x499c99,_0x5659d6,_0xbee9b5,_0x38446e,_0x2a66ce,_0x34c0a1,_0x9a4e('0x70'));})[_0x9a4e('0x21')](function(_0x49e1f8){if(_0x49e1f8){logger['info'](_0x9a4e('0x83'),_0x49e1f8['id']);}})['catch'](function(_0xce0e){logger['error']('['+_0x34c0a1[_0x9a4e('0x65')]['toUpperCase']()+']',JSON[_0x9a4e('0x33')](_0xce0e));});};
\ No newline at end of file