Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / ami / trigger / integration / zoho.js
index 72a9a52..3d575fb 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7ae6=['calleridname','request-promise','util','./util','moment','ioredis','bluebird','../../../../config/environment','zoho','redis','defaults','localhost','emit','debug','[HTTP]','stringify','length','forEach','type','string','idField','content','toString','variable','variableName','customVariable','name','indexOf','split','isNil','access_token','expires_in','https://accounts.zoho.com.au','https://accounts.zoho.eu','https://accounts.zoho.in','refreshToken','clientId','clientSecret','refresh_token','then','add','error','Failing\x20creating\x20the\x20access_token','stack','https://www.zohoapis.%s/crm/v2/users','users','info','Agent\x20found!','Using\x20the\x20admin\x20account!','findIndex','profile','Administrator','user','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','data','enduserType','/crm/v2/','startCase','first_name','last_name','Zoho-oauthtoken\x20','code','CREATE\x20ERROR','GET','contact_lead','uri','https://www.zohoapis.','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','/crm/v2/Contacts/search?criteria=((Phone:equals:','moduleCreate','lead','Owner','role','administrator','Subject','getString','Description','Descriptions','Full_Name','First_Name','Last_Name','What_Id','$se_module','Call_Duration','utc','talktime','mm:ss','answertime','endtime','diff','starttime','YYYY-MM-DDTHH:mm:ss','format','lastevent','called','Called','complete','connect','Call_Result','rejected','abandoned','Abandoned','timeout','Timeout','Call_Start_Time','outbound','agentcalledAt','Call_Type','Inbound','Fields','/crm/v2/Calls','Call\x20created!','details','err','log','queue','host','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','email','The\x20User\x20ID\x20is:','calleridnum','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','[OUTBOUND]','com','user:%s','trigger:browser:url','unmanaged','toUpperCase'];(function(_0x3755f3,_0xcce3d5){var _0x551500=function(_0x448fb4){while(--_0x448fb4){_0x3755f3['push'](_0x3755f3['shift']());}};_0x551500(++_0xcce3d5);}(_0x7ae6,0x94));var _0x67ae=function(_0x503a8c,_0x46d5d1){_0x503a8c=_0x503a8c-0x0;var _0x493b8a=_0x7ae6[_0x503a8c];return _0x493b8a;};'use strict';var _=require('lodash');var rp=require(_0x67ae('0x0'));var md5=require('md5');var util=require(_0x67ae('0x1'));var intUtil=require(_0x67ae('0x2'));var moment=require(_0x67ae('0x3'));var Redis=require(_0x67ae('0x4'));var BPromise=require(_0x67ae('0x5'));var config=require(_0x67ae('0x6'));var logger=require('../../../../config/logger')(_0x67ae('0x7'));config[_0x67ae('0x8')]=_[_0x67ae('0x9')](config[_0x67ae('0x8')],{'host':_0x67ae('0xa'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x67ae('0x8')]));function emit(_0x460304,_0x2591a1,_0x20b931){io['to'](_0x460304)[_0x67ae('0xb')](_0x2591a1,_0x20b931);}function request(_0x11c49a){logger[_0x67ae('0xc')](_0x67ae('0xd'),JSON[_0x67ae('0xe')](_0x11c49a));return rp(_0x11c49a);}function getCustomFields(_0x28d20a,_0x3143cb){var _0x109d16={};if(_0x28d20a[_0x67ae('0xf')]>0x0){_[_0x67ae('0x10')](_0x28d20a,function(_0x16b364){if(_0x16b364[_0x67ae('0x11')]===_0x67ae('0x12')&&_0x16b364[_0x67ae('0x13')]){_0x109d16[_0x16b364[_0x67ae('0x13')]]=_0x16b364[_0x67ae('0x14')][_0x67ae('0x15')]();}else if(_0x16b364[_0x67ae('0x11')]===_0x67ae('0x16')&&_0x16b364[_0x67ae('0x17')]&&_0x16b364['idField']&&_0x3143cb[_0x16b364[_0x67ae('0x17')]]){_0x109d16[_0x16b364[_0x67ae('0x13')]]=_0x3143cb[_0x16b364[_0x67ae('0x17')]]['toString']();}else if(_0x16b364['type']===_0x67ae('0x18')&&_0x16b364['Variable']&&_0x16b364['Variable'][_0x67ae('0x19')]&&_0x16b364[_0x67ae('0x13')]&&_0x3143cb[_0x16b364['Variable']['name']['toLowerCase']()]){_0x109d16[_0x16b364[_0x67ae('0x13')]]=_0x3143cb[_0x16b364['Variable'][_0x67ae('0x19')]['toLowerCase']()][_0x67ae('0x15')]();}});}return _0x109d16;}function getName(_0x415e37){if(_0x415e37[_0x67ae('0x1a')]('\x20')>0x0){var _0x5d63fe=_0x415e37[_0x67ae('0x1b')](/ (.+)/);if(_0x5d63fe[0x1]){return _0x5d63fe;}}return[_0x415e37,_0x415e37];}var accountsTokens={};function getAccessToken(_0x18876d){return new Promise(function(_0x23ca2c,_0xbe6112){if(!_[_0x67ae('0x1c')](accountsTokens[_0x18876d['id']])&&!_[_0x67ae('0x1c')](accountsTokens[_0x18876d['id']][_0x67ae('0x1d')])){if(moment()['isBefore'](accountsTokens[_0x18876d['id']][_0x67ae('0x1e')])){_0x23ca2c(accountsTokens[_0x18876d['id']][_0x67ae('0x1d')]);}}var _0x54163c;switch(_0x18876d['zone']){case'US':_0x54163c='https://accounts.zoho.com';break;case'AU':_0x54163c=_0x67ae('0x1f');break;case'EU':_0x54163c=_0x67ae('0x20');break;case'IN':_0x54163c=_0x67ae('0x21');break;case'CN':_0x54163c='https://accounts.zoho.com.cn';break;default:_0x54163c=_0x67ae('0x20');break;}var _0x5ac25d={'method':'POST','uri':_0x54163c+'/oauth/v2/token','qs':{'refresh_token':_0x18876d[_0x67ae('0x22')],'client_id':_0x18876d[_0x67ae('0x23')],'client_secret':_0x18876d[_0x67ae('0x24')],'grant_type':_0x67ae('0x25')},'json':!![]};return rp(_0x5ac25d)[_0x67ae('0x26')](function(_0x4000e5){accountsTokens[_0x18876d['id']]={'access_token':_0x4000e5[_0x67ae('0x1d')],'expires_in':moment()[_0x67ae('0x27')](_0x4000e5[_0x67ae('0x1e')],'seconds')};_0x23ca2c(_0x4000e5[_0x67ae('0x1d')]);})['catch'](function(_0xe7fce1){logger[_0x67ae('0x28')](_0x67ae('0x29'),_0xe7fce1[_0x67ae('0x2a')]);_0xbe6112(_0xe7fce1);});});}function getUser(_0xf5b101,_0x320274,_0x13d219,_0x361f98){logger['info']('Search\x20user');return request({'method':'GET','uri':util['format'](_0x67ae('0x2b'),_0x320274),'qs':{'type':'ActiveUsers'},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0xf5b101},'json':!![]})[_0x67ae('0x26')](function(_0x4b9962){if(_0x4b9962[_0x67ae('0x2c')]){var _0x4f204d=-0x1;if(_['isArrayLikeObject'](_0x4b9962[_0x67ae('0x2c')])){if(!_[_0x67ae('0x1c')](_0x361f98)){_0x4f204d=_['findIndex'](_0x4b9962['users'],function(_0x416e23){return _0x416e23['email']===_0x361f98;});}if(_0x4f204d>=0x0){logger[_0x67ae('0x2d')](_0x67ae('0x2e'));}else{logger[_0x67ae('0x2d')](_0x67ae('0x2f'));_0x4f204d=_[_0x67ae('0x30')](_0x4b9962['users'],function(_0x1c4fd6){return _0x1c4fd6[_0x67ae('0x31')][_0x67ae('0x19')]===_0x67ae('0x32');});}return _0x4b9962[_0x67ae('0x2c')][_0x4f204d];}else{if(_0x4b9962[_0x67ae('0x33')]['profile'][_0x67ae('0x19')]==='Administrator'){logger[_0x67ae('0x2d')](_0x67ae('0x2f'));user=_0x4b9962[_0x67ae('0x33')];return user;}else{logger['error'](_0x67ae('0x34'),JSON[_0x67ae('0xe')](_0x4b9962));throw new Error(_0x67ae('0x35')+JSON[_0x67ae('0xe')](_0x4b9962));}}}else{logger[_0x67ae('0x28')](_0x67ae('0x34'),JSON[_0x67ae('0xe')](_0x4b9962));throw new Error(_0x67ae('0x35')+JSON['stringify'](_0x4b9962));}})[_0x67ae('0x36')](function(_0x4e6083){console[_0x67ae('0x28')](_0x4e6083);});}function getZohoUser(_0x3834ce,_0x82ba8c){return new BPromise(function(_0x6439d,_0x4f5681){request(_0x3834ce)['then'](function(_0x567f10){var _0x9d3d6=null;if(_0x567f10){_0x9d3d6=_0x567f10[_0x67ae('0x37')][0x0];_0x9d3d6[_0x67ae('0x38')]=_0x82ba8c;}_0x6439d(_0x9d3d6);})['catch'](function(_0x59f336){_0x4f5681(_0x59f336);});});}function createEndUser(_0x26a6d7,_0x188ec0,_0x4440c5,_0x4d140f,_0x39268e,_0x24b0df){var _0x4440c5=getName(_0x4440c5);return request({'method':'POST','uri':'https://www.zohoapis.'+_0x188ec0+_0x67ae('0x39')+_[_0x67ae('0x3a')](_0x24b0df['moduleCreate'])+'s','body':{'data':[{'Last_Name':_0x4440c5[0x1],'First_Name':_0x4440c5[0x0],'Phone':_0x4d140f,'Owner':{'name':!_[_0x67ae('0x1c')](_0x39268e['role'][_0x67ae('0x19')])?_0x39268e['role'][_0x67ae('0x19')]:!_['isNil'](_0x39268e['first_name'])?_0x39268e[_0x67ae('0x3b')]+'\x20'+_0x39268e[_0x67ae('0x3c')]:_0x39268e[_0x67ae('0x3c')],'id':_0x39268e['id']}}]},'headers':{'Authorization':_0x67ae('0x3d')+_0x26a6d7},'json':!![]})[_0x67ae('0x26')](function(_0x58bb2c){if(_0x58bb2c&&_0x58bb2c[_0x67ae('0x37')][0x0][_0x67ae('0x3e')]==='SUCCESS'){var _0x1253bf=_0x58bb2c[_0x67ae('0x37')][0x0]['details'];_0x1253bf[_0x67ae('0x38')]=_[_0x67ae('0x3a')](_0x24b0df['moduleCreate'])+'s';return _0x1253bf;}logger['error'](_0x67ae('0x34'),JSON[_0x67ae('0xe')](data));throw new Error('Error:\x20'+JSON[_0x67ae('0xe')](data));})['catch'](function(_0x3e8760){console['log'](_0x67ae('0x3f'),_0x3e8760);});}function getEndUser(_0x4868a5,_0x3edcaa,_0x5bc221,_0xe1d058,_0x15e414,_0x39f232,_0xe4b971){var _0x4424b3={'method':_0x67ae('0x40'),'uri':'','headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x4868a5},'json':!![]};switch(_0xe4b971['moduleSearch']){case _0x67ae('0x41'):_0x4424b3[_0x67ae('0x42')]=_0x67ae('0x43')+_0x3edcaa+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x15e414+'))';return getZohoUser(_0x4424b3,_0x67ae('0x44'))['then'](function(_0x11046e){if(_0x11046e)return _0x11046e;_0x4424b3[_0x67ae('0x42')]=_0x67ae('0x43')+_0x3edcaa+_0x67ae('0x45')+_0x15e414+'))';return getZohoUser(_0x4424b3,_0x67ae('0x46'))[_0x67ae('0x26')](function(_0x91a770){if(_0x91a770)return _0x91a770;if(_0xe4b971['moduleCreate']!=_0x67ae('0x47')){return createEndUser(_0x4868a5,_0x3edcaa,_0xe1d058,_0x15e414,_0x39f232,_0xe4b971);}else{return{};}});});break;case'contact':_0x4424b3[_0x67ae('0x42')]=_0x67ae('0x43')+_0x3edcaa+_0x67ae('0x48')+_0x15e414+'))';return getZohoUser(_0x4424b3,'Contacts')[_0x67ae('0x26')](function(_0xc65ec3){if(_0xc65ec3)return _0xc65ec3;if(_0xe4b971[_0x67ae('0x49')]!=_0x67ae('0x47')){return createEndUser(_0x4868a5,_0x3edcaa,_0xe1d058,_0x15e414,_0x39f232,_0xe4b971);}else{return{};}});break;case _0x67ae('0x4a'):_0x4424b3[_0x67ae('0x42')]='https://www.zohoapis.'+_0x3edcaa+_0x67ae('0x45')+_0x15e414+'))';return getZohoUser(_0x4424b3,_0x67ae('0x46'))[_0x67ae('0x26')](function(_0x3b66dc){if(_0x3b66dc)return _0x3b66dc;if(_0xe4b971[_0x67ae('0x49')]!=_0x67ae('0x47')){return createEndUser(_0x4868a5,_0x3edcaa,_0xe1d058,_0x15e414,_0x39f232,_0xe4b971);}else{return{};}});break;}}function getCall(_0x3a730c,_0x498adf,_0x21f4ce,_0x31d96c,_0x4da3f3,_0xa8569e,_0x266aef,_0x3a3ac6){logger[_0x67ae('0x2d')]('Creating\x20new\x20call...');var _0x36b39b={};_0x36b39b[_0x67ae('0x4b')]={'name':!_[_0x67ae('0x1c')](_0x31d96c[_0x67ae('0x4c')]['name'])&&!_['isNil'](_0x31d96c[_0x67ae('0x31')][_0x67ae('0x19')])&&_0x31d96c[_0x67ae('0x31')][_0x67ae('0x19')]===_0x67ae('0x4d')?_0x31d96c[_0x67ae('0x4c')]['name']:!_['isNil'](_0x31d96c[_0x67ae('0x3b')])?_0x31d96c['first_name']+'\x20'+_0x31d96c['last_name']:_0x31d96c['last_name'],'id':_0x31d96c['id']};_0x36b39b[_0x67ae('0x4e')]=intUtil[_0x67ae('0x4f')](_0xa8569e['Subjects'],_0x266aef,'\x20');_0x36b39b[_0x67ae('0x50')]=intUtil[_0x67ae('0x4f')](_0xa8569e[_0x67ae('0x51')],_0x266aef,'\x0a');if(_0x4da3f3['enduserType']==='Contacts'){_0x36b39b['Who_Id']={'name':!_[_0x67ae('0x1c')](_0x4da3f3[_0x67ae('0x52')])?_0x4da3f3[_0x67ae('0x52')]:!_[_0x67ae('0x1c')](_0x4da3f3['First_Name'])?_0x4da3f3[_0x67ae('0x53')]+'\x20'+_0x4da3f3[_0x67ae('0x54')]:_0x4da3f3[_0x67ae('0x54')],'id':_0x4da3f3['id']};}if(_0x4da3f3[_0x67ae('0x38')]===_0x67ae('0x46')){_0x36b39b[_0x67ae('0x55')]={'name':!_[_0x67ae('0x1c')](_0x4da3f3[_0x67ae('0x52')])?_0x4da3f3[_0x67ae('0x52')]:!_[_0x67ae('0x1c')](_0x4da3f3[_0x67ae('0x53')])?_0x4da3f3['First_Name']+'\x20'+_0x4da3f3[_0x67ae('0x54')]:_0x4da3f3['Last_Name'],'id':_0x4da3f3['id']};_0x36b39b[_0x67ae('0x56')]=_[_0x67ae('0x3a')](_0x4da3f3[_0x67ae('0x38')]);}if(_0x266aef['talktime']){_0x36b39b[_0x67ae('0x57')]=moment[_0x67ae('0x58')](parseInt(_0x266aef[_0x67ae('0x59')])*0x3e8)['format'](_0x67ae('0x5a'));}else if(_0x266aef[_0x67ae('0x5b')]&&_0x266aef[_0x67ae('0x5c')]){_0x36b39b[_0x67ae('0x57')]=moment['utc'](moment(_0x266aef[_0x67ae('0x5c')],'YYYY-MM-DDTHH:mm:ss')[_0x67ae('0x5d')](moment(_0x266aef[_0x67ae('0x5e')],_0x67ae('0x5f'))))[_0x67ae('0x60')](_0x67ae('0x5a'));}switch(_0x266aef[_0x67ae('0x61')]){case _0x67ae('0x62'):_0x36b39b['Call_Result']=_0x67ae('0x63');break;case _0x67ae('0x64'):case _0x67ae('0x65'):_0x36b39b[_0x67ae('0x66')]='Answered';break;case _0x67ae('0x67'):_0x36b39b[_0x67ae('0x66')]='Rejected';break;case _0x67ae('0x68'):_0x36b39b[_0x67ae('0x66')]=_0x67ae('0x69');break;case _0x67ae('0x6a'):_0x36b39b[_0x67ae('0x66')]=_0x67ae('0x6b');default:}_0x36b39b[_0x67ae('0x6c')]=(_0x3a3ac6===_0x67ae('0x6d')?moment(_0x266aef[_0x67ae('0x5e')])['format']('YYYY-MM-DDTHH:mm:ss'):moment(_0x266aef[_0x67ae('0x6e')])[_0x67ae('0x60')](_0x67ae('0x5f')))||moment()[_0x67ae('0x60')]('YYYY-MM-DDTHH:mm:ss');_0x36b39b[_0x67ae('0x6f')]=_0x3a3ac6||_0x67ae('0x70');_0x36b39b=_['merge'](_0x36b39b,getCustomFields(_0xa8569e[_0x67ae('0x71')],_0x266aef));return request({'method':'POST','uri':'https://www.zohoapis.'+_0x498adf+_0x67ae('0x72'),'headers':{'Authorization':_0x67ae('0x3d')+_0x3a730c},'body':{'data':[_0x36b39b]},'json':!![]})['then'](function(_0x4cce71){if(_0x4cce71&&_0x4cce71[_0x67ae('0x37')][0x0]['code']==='SUCCESS'){logger['info'](_0x67ae('0x73'));return{'id':_0x4cce71['data'][0x0][_0x67ae('0x74')]['id']};}})[_0x67ae('0x36')](function(_0x401a92){logger[_0x67ae('0x2d')](_0x67ae('0x75'),_0x401a92['stack']);console[_0x67ae('0x76')]('err',_0x401a92);});}exports[_0x67ae('0x77')]=function(_0x2d6f38,_0x50c7bb,_0x103834,_0x594418,_0x39ad02,_0xa0a90a){var _0xbc7f0,_0x5e0d6a,_0x440188;_0xa0a90a[_0x67ae('0x78')]=intUtil[_0x67ae('0x79')](_0xa0a90a[_0x67ae('0x78')]);_0xa0a90a[_0x67ae('0x7a')]=intUtil['stripTrailingSlash'](_0xa0a90a['serverUrl']);if(_0x39ad02&&_0x39ad02[_0x67ae('0x7b')]){logger['info'](_0x67ae('0x7c'),_0x67ae('0x7d'));_0x50c7bb[_0x67ae('0x7e')]=_0xa0a90a[_0x67ae('0x7a')]+_0x67ae('0x7f')+_0x50c7bb[_0x67ae('0x80')]+_0x67ae('0x81')+md5(_0x50c7bb[_0x67ae('0x80')]);}else{_0x50c7bb[_0x67ae('0x7e')]='';}var _0x49563a=_0xa0a90a[_0x67ae('0x78')]===_0x67ae('0x82')?'eu':'com';return getAccessToken(_0xa0a90a)[_0x67ae('0x26')](function(_0x3e6bfa){_0x440188=_0x3e6bfa;return getUser(_0x440188,_0x49563a,_0xa0a90a,_0x594418[_0x67ae('0x83')]);})['then'](function(_0x3d80d5){_0xbc7f0=_0x3d80d5;logger[_0x67ae('0x2d')](_0x67ae('0x84'),_0xbc7f0['id']);return getEndUser(_0x440188,_0x49563a,_0xa0a90a,_0x50c7bb['calleridname'],_0x50c7bb[_0x67ae('0x85')],_0xbc7f0,_0x103834);})[_0x67ae('0x26')](function(_0x37ee65){_0x5e0d6a=_0x37ee65;return getCall(_0x440188,_0x49563a,_0xa0a90a,_0xbc7f0,_0x5e0d6a,_0x103834,_0x50c7bb,_0x67ae('0x70'));})[_0x67ae('0x26')](function(_0x29012a){if(_0x29012a){logger[_0x67ae('0x2d')](_0x67ae('0x86'),_0x29012a['id']);logger['info'](_0x67ae('0x7c'),_0x67ae('0x87'));emit(util[_0x67ae('0x60')]('user:%s',_0x594418[_0x67ae('0x19')]),'trigger:browser:url',{'uri':_0x67ae('0x88')+_0xa0a90a[_0x67ae('0x78')]+_0x67ae('0x89')+_0x29012a['id']});}})[_0x67ae('0x36')](function(_0x3bf393){logger['error'](_0x67ae('0x7c'),JSON[_0x67ae('0xe')](_0x3bf393));});};exports[_0x67ae('0x6d')]=function(_0x175ad7,_0x12a9fc,_0x4ff10d,_0x34c4c0,_0x20a938,_0x11a5c9,_0x42ab3d){var _0x50fec1,_0x4bc91d,_0x8573b6;_0x11a5c9[_0x67ae('0x78')]=intUtil[_0x67ae('0x79')](_0x11a5c9[_0x67ae('0x78')]);_0x11a5c9[_0x67ae('0x7a')]=intUtil[_0x67ae('0x79')](_0x11a5c9['serverUrl']);if(_0x42ab3d&&_0x42ab3d[_0x67ae('0x8a')]&&_0x42ab3d['recordingFormat']!==_0x67ae('0x8b')){logger['info'](_0x67ae('0x8c'),_0x67ae('0x7d'));_0x12a9fc['recordingURL']=_0x11a5c9[_0x67ae('0x7a')]+'/api/voice/recordings/'+_0x12a9fc[_0x67ae('0x80')]+_0x67ae('0x81')+md5(_0x12a9fc[_0x67ae('0x80')]);}var _0x283c00=_0x11a5c9[_0x67ae('0x78')]===_0x67ae('0x82')?'eu':_0x67ae('0x8d');return getAccessToken(_0x11a5c9)['then'](function(_0x53a670){_0x8573b6=_0x53a670;return getUser(_0x8573b6,_0x283c00,_0x11a5c9,_0x34c4c0[_0x67ae('0x83')]);})[_0x67ae('0x26')](function(_0x1f88e1){_0x50fec1=_0x1f88e1;logger[_0x67ae('0x2d')](_0x67ae('0x84'),_0x50fec1['id']);return getEndUser(_0x8573b6,_0x283c00,_0x11a5c9,_0x12a9fc['destcalleridname'],_0x12a9fc['destcalleridnum'],_0x50fec1,_0x4ff10d);})[_0x67ae('0x26')](function(_0x4ebdd0){_0x4bc91d=_0x4ebdd0;return getCall(_0x8573b6,_0x283c00,_0x11a5c9,_0x50fec1,_0x4bc91d,_0x4ff10d,_0x12a9fc,'Outbound');})['then'](function(_0x2df164){if(_0x2df164){logger[_0x67ae('0x2d')]('The\x20Call\x20ID\x20is:',_0x2df164['id']);logger[_0x67ae('0x2d')](_0x67ae('0x8c'),_0x67ae('0x87'));emit(util[_0x67ae('0x60')](_0x67ae('0x8e'),_0x34c4c0[_0x67ae('0x19')]),_0x67ae('0x8f'),{'uri':_0x67ae('0x88')+_0x11a5c9[_0x67ae('0x78')]+'/crm/EntityInfo.do?module=Calls&id='+_0x2df164['id']});}})['catch'](function(_0x45fa47){logger[_0x67ae('0x28')](_0x67ae('0x8c'),JSON['stringify'](_0x45fa47));});};exports[_0x67ae('0x90')]=function(_0x20f286,_0x18835e,_0x17a306,_0x58781c,_0x3c9b6d,_0xada10f){var _0x558d77,_0x3f25bf,_0x4f83ca;_0xada10f[_0x67ae('0x78')]=intUtil[_0x67ae('0x79')](_0xada10f[_0x67ae('0x78')]);_0xada10f[_0x67ae('0x7a')]=intUtil['stripTrailingSlash'](_0xada10f[_0x67ae('0x7a')]);if(_0x3c9b6d&&_0x3c9b6d[_0x67ae('0x7b')]){logger[_0x67ae('0x2d')]('['+_0x18835e[_0x67ae('0x61')][_0x67ae('0x91')]()+']',_0x67ae('0x7d'));_0x18835e[_0x67ae('0x7e')]=_0xada10f[_0x67ae('0x7a')]+_0x67ae('0x7f')+_0x18835e['uniqueid']+_0x67ae('0x81')+md5(_0x18835e[_0x67ae('0x80')]);}else{_0x18835e[_0x67ae('0x7e')]='';}var _0x41b07c=_0xada10f['host']===_0x67ae('0x82')?'eu':_0x67ae('0x8d');return getAccessToken(_0xada10f)[_0x67ae('0x26')](function(_0x483005){_0x4f83ca=_0x483005;return getUser(_0x4f83ca,_0x41b07c,_0xada10f);})[_0x67ae('0x26')](function(_0x295139){_0x558d77=_0x295139;logger[_0x67ae('0x2d')](_0x67ae('0x84'),_0x558d77['id']);return getEndUser(_0x4f83ca,_0x41b07c,_0xada10f,_0x18835e[_0x67ae('0x92')],_0x18835e['calleridnum'],_0x558d77,_0x17a306);})[_0x67ae('0x26')](function(_0x28167c){_0x3f25bf=_0x28167c;return getCall(_0x4f83ca,_0x41b07c,_0xada10f,_0x558d77,_0x3f25bf,_0x17a306,_0x18835e,_0x67ae('0x70'));})[_0x67ae('0x26')](function(_0x2c7902){if(_0x2c7902){logger[_0x67ae('0x2d')](_0x67ae('0x86'),_0x2c7902['id']);}})[_0x67ae('0x36')](function(_0xbefed0){logger['error']('['+_0x18835e[_0x67ae('0x61')][_0x67ae('0x91')]()+']',JSON[_0x67ae('0xe')](_0xbefed0));});};
\ No newline at end of file
+var _0x2cf5=['length','type','string','idField','content','variable','variableName','toString','Variable','name','toLowerCase','indexOf','isNil','expires_in','access_token','zone','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.eu','https://accounts.zoho.in','https://accounts.zoho.com.cn','/oauth/v2/token','refreshToken','clientId','clientSecret','add','seconds','catch','error','Search\x20user','GET','format','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','users','isArrayLikeObject','findIndex','email','info','Agent\x20found!','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','then','data','POST','https://www.zohoapis.','/crm/v2/','startCase','moduleCreate','role','first_name','last_name','code','details','log','CREATE\x20ERROR','moduleSearch','contact_lead','Contacts','uri','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','/crm/v2/Contacts/search?criteria=((Phone:equals:','getString','Description','Who_Id','Full_Name','First_Name','Last_Name','enduserType','What_Id','$se_module','Call_Duration','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','starttime','lastevent','Call_Result','Called','connect','Answered','Rejected','Abandoned','timeout','Timeout','Call_Start_Time','outbound','agentcalledAt','Fields','err','stack','queue','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','uniqueid','/downloads?type=uniqueid&token=','host','zoho.eu','The\x20User\x20ID\x20is:','calleridname','Inbound','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','com','destcalleridname','destcalleridnum','The\x20Call\x20ID\x20is:','[OUTBOUND]','toUpperCase','calleridnum','lodash','request-promise','util','moment','ioredis','../../../../config/logger','zoho','redis','defaults','localhost','socket.io-emitter','debug','[HTTP]','stringify'];(function(_0x142669,_0xc273d8){var _0x13dac5=function(_0x4b6fef){while(--_0x4b6fef){_0x142669['push'](_0x142669['shift']());}};_0x13dac5(++_0xc273d8);}(_0x2cf5,0x19f));var _0x52cf=function(_0x1943be,_0x4d8990){_0x1943be=_0x1943be-0x0;var _0x1b0e3b=_0x2cf5[_0x1943be];return _0x1b0e3b;};'use strict';var _=require(_0x52cf('0x0'));var rp=require(_0x52cf('0x1'));var md5=require('md5');var util=require(_0x52cf('0x2'));var intUtil=require('./util');var moment=require(_0x52cf('0x3'));var Redis=require(_0x52cf('0x4'));var BPromise=require('bluebird');var config=require('../../../../config/environment');var logger=require(_0x52cf('0x5'))(_0x52cf('0x6'));config[_0x52cf('0x7')]=_[_0x52cf('0x8')](config[_0x52cf('0x7')],{'host':_0x52cf('0x9'),'port':0x18eb});var io=require(_0x52cf('0xa'))(new Redis(config[_0x52cf('0x7')]));function emit(_0x41d874,_0x23b2ab,_0x17e1b0){io['to'](_0x41d874)['emit'](_0x23b2ab,_0x17e1b0);}function request(_0x46d7ac){logger[_0x52cf('0xb')](_0x52cf('0xc'),JSON[_0x52cf('0xd')](_0x46d7ac));return rp(_0x46d7ac);}function getCustomFields(_0x4e5b19,_0xadb2a6){var _0x154197={};if(_0x4e5b19[_0x52cf('0xe')]>0x0){_['forEach'](_0x4e5b19,function(_0x18167b){if(_0x18167b[_0x52cf('0xf')]===_0x52cf('0x10')&&_0x18167b[_0x52cf('0x11')]){_0x154197[_0x18167b[_0x52cf('0x11')]]=_0x18167b[_0x52cf('0x12')]['toString']();}else if(_0x18167b['type']===_0x52cf('0x13')&&_0x18167b[_0x52cf('0x14')]&&_0x18167b[_0x52cf('0x11')]&&_0xadb2a6[_0x18167b[_0x52cf('0x14')]]){_0x154197[_0x18167b[_0x52cf('0x11')]]=_0xadb2a6[_0x18167b[_0x52cf('0x14')]][_0x52cf('0x15')]();}else if(_0x18167b[_0x52cf('0xf')]==='customVariable'&&_0x18167b[_0x52cf('0x16')]&&_0x18167b[_0x52cf('0x16')][_0x52cf('0x17')]&&_0x18167b['idField']&&_0xadb2a6[_0x18167b[_0x52cf('0x16')]['name'][_0x52cf('0x18')]()]){_0x154197[_0x18167b[_0x52cf('0x11')]]=_0xadb2a6[_0x18167b[_0x52cf('0x16')][_0x52cf('0x17')]['toLowerCase']()][_0x52cf('0x15')]();}});}return _0x154197;}function getName(_0x1ce14a){if(_0x1ce14a[_0x52cf('0x19')]('\x20')>0x0){var _0x180df8=_0x1ce14a['split'](/ (.+)/);if(_0x180df8[0x1]){return _0x180df8;}}return[_0x1ce14a,_0x1ce14a];}var accountsTokens={};function getAccessToken(_0x326311){return new Promise(function(_0x5f5200,_0x1d9fdd){if(!_[_0x52cf('0x1a')](accountsTokens[_0x326311['id']])&&!_[_0x52cf('0x1a')](accountsTokens[_0x326311['id']]['access_token'])){if(moment()['isBefore'](accountsTokens[_0x326311['id']][_0x52cf('0x1b')])){_0x5f5200(accountsTokens[_0x326311['id']][_0x52cf('0x1c')]);}}var _0x1676e6;switch(_0x326311[_0x52cf('0x1d')]){case'US':_0x1676e6=_0x52cf('0x1e');break;case'AU':_0x1676e6=_0x52cf('0x1f');break;case'EU':_0x1676e6=_0x52cf('0x20');break;case'IN':_0x1676e6=_0x52cf('0x21');break;case'CN':_0x1676e6=_0x52cf('0x22');break;default:_0x1676e6=_0x52cf('0x20');break;}var _0x57e910={'method':'POST','uri':_0x1676e6+_0x52cf('0x23'),'qs':{'refresh_token':_0x326311[_0x52cf('0x24')],'client_id':_0x326311[_0x52cf('0x25')],'client_secret':_0x326311[_0x52cf('0x26')],'grant_type':'refresh_token'},'json':!![]};return rp(_0x57e910)['then'](function(_0x40eec3){accountsTokens[_0x326311['id']]={'access_token':_0x40eec3[_0x52cf('0x1c')],'expires_in':moment()[_0x52cf('0x27')](_0x40eec3[_0x52cf('0x1b')],_0x52cf('0x28'))};_0x5f5200(_0x40eec3[_0x52cf('0x1c')]);})[_0x52cf('0x29')](function(_0x1f6b75){logger[_0x52cf('0x2a')]('Failing\x20creating\x20the\x20access_token',_0x1f6b75['stack']);_0x1d9fdd(_0x1f6b75);});});}function getUser(_0x3dee68,_0x8b859d,_0x38ad05,_0x1e1318){logger['info'](_0x52cf('0x2b'));return request({'method':_0x52cf('0x2c'),'uri':util[_0x52cf('0x2d')](_0x52cf('0x2e'),_0x8b859d),'qs':{'type':_0x52cf('0x2f')},'headers':{'Authorization':_0x52cf('0x30')+_0x3dee68},'json':!![]})['then'](function(_0x30bf56){if(_0x30bf56[_0x52cf('0x31')]){var _0x386fef=-0x1;if(_[_0x52cf('0x32')](_0x30bf56['users'])){if(!_[_0x52cf('0x1a')](_0x1e1318)){_0x386fef=_[_0x52cf('0x33')](_0x30bf56[_0x52cf('0x31')],function(_0x141871){return _0x141871[_0x52cf('0x34')]===_0x1e1318;});}if(_0x386fef>=0x0){logger[_0x52cf('0x35')](_0x52cf('0x36'));}else{logger[_0x52cf('0x35')](_0x52cf('0x37'));_0x386fef=_[_0x52cf('0x33')](_0x30bf56['users'],function(_0x5f2c33){return _0x5f2c33[_0x52cf('0x38')][_0x52cf('0x17')]===_0x52cf('0x39');});}return _0x30bf56[_0x52cf('0x31')][_0x386fef];}else{if(_0x30bf56['user']['profile'][_0x52cf('0x17')]===_0x52cf('0x39')){logger[_0x52cf('0x35')](_0x52cf('0x37'));user=_0x30bf56[_0x52cf('0x3a')];return user;}else{logger[_0x52cf('0x2a')](_0x52cf('0x3b'),JSON[_0x52cf('0xd')](_0x30bf56));throw new Error(_0x52cf('0x3c')+JSON[_0x52cf('0xd')](_0x30bf56));}}}else{logger[_0x52cf('0x2a')](_0x52cf('0x3b'),JSON[_0x52cf('0xd')](_0x30bf56));throw new Error(_0x52cf('0x3c')+JSON[_0x52cf('0xd')](_0x30bf56));}})['catch'](function(_0x3f8420){console[_0x52cf('0x2a')](_0x3f8420);});}function getZohoUser(_0x3424d0,_0x2f9a0a){return new BPromise(function(_0x46e014,_0x158f7d){request(_0x3424d0)[_0x52cf('0x3d')](function(_0x57895a){var _0x3f04dd=null;if(_0x57895a){_0x3f04dd=_0x57895a[_0x52cf('0x3e')][0x0];_0x3f04dd['enduserType']=_0x2f9a0a;}_0x46e014(_0x3f04dd);})['catch'](function(_0x1e1303){_0x158f7d(_0x1e1303);});});}function createEndUser(_0x4fccf2,_0x50d45f,_0x12f43d,_0x32be3a,_0x180fe5,_0x8853ed){var _0x12f43d=getName(_0x12f43d);return request({'method':_0x52cf('0x3f'),'uri':_0x52cf('0x40')+_0x50d45f+_0x52cf('0x41')+_[_0x52cf('0x42')](_0x8853ed[_0x52cf('0x43')])+'s','body':{'data':[{'Last_Name':_0x12f43d[0x1],'First_Name':_0x12f43d[0x0],'Phone':_0x32be3a,'Owner':{'name':!_[_0x52cf('0x1a')](_0x180fe5[_0x52cf('0x44')][_0x52cf('0x17')])?_0x180fe5[_0x52cf('0x44')][_0x52cf('0x17')]:!_[_0x52cf('0x1a')](_0x180fe5['first_name'])?_0x180fe5[_0x52cf('0x45')]+'\x20'+_0x180fe5['last_name']:_0x180fe5[_0x52cf('0x46')],'id':_0x180fe5['id']}}]},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x4fccf2},'json':!![]})[_0x52cf('0x3d')](function(_0x160d32){if(_0x160d32&&_0x160d32['data'][0x0][_0x52cf('0x47')]==='SUCCESS'){var _0xaab554=_0x160d32[_0x52cf('0x3e')][0x0][_0x52cf('0x48')];_0xaab554['enduserType']=_[_0x52cf('0x42')](_0x8853ed['moduleCreate'])+'s';return _0xaab554;}logger['error']('The\x20failing\x20result\x20is',JSON['stringify'](data));throw new Error('Error:\x20'+JSON[_0x52cf('0xd')](data));})[_0x52cf('0x29')](function(_0x516ca1){console[_0x52cf('0x49')](_0x52cf('0x4a'),_0x516ca1);});}function getEndUser(_0x39b56a,_0x2bd68c,_0x2fa1c9,_0x4e765b,_0x297887,_0x1094da,_0x303759){var _0x3dff2d={'method':_0x52cf('0x2c'),'uri':'','headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x39b56a},'json':!![]};switch(_0x303759[_0x52cf('0x4b')]){case _0x52cf('0x4c'):_0x3dff2d['uri']=_0x52cf('0x40')+_0x2bd68c+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x297887+'))';return getZohoUser(_0x3dff2d,_0x52cf('0x4d'))[_0x52cf('0x3d')](function(_0x3f8e85){if(_0x3f8e85)return _0x3f8e85;_0x3dff2d[_0x52cf('0x4e')]=_0x52cf('0x40')+_0x2bd68c+_0x52cf('0x4f')+_0x297887+'))';return getZohoUser(_0x3dff2d,_0x52cf('0x50'))['then'](function(_0x4a60d6){if(_0x4a60d6)return _0x4a60d6;if(_0x303759['moduleCreate']!=_0x52cf('0x51')){return createEndUser(_0x39b56a,_0x2bd68c,_0x4e765b,_0x297887,_0x1094da,_0x303759);}else{return{};}});});break;case'contact':_0x3dff2d['uri']=_0x52cf('0x40')+_0x2bd68c+_0x52cf('0x52')+_0x297887+'))';return getZohoUser(_0x3dff2d,'Contacts')['then'](function(_0x30f142){if(_0x30f142)return _0x30f142;if(_0x303759[_0x52cf('0x43')]!=_0x52cf('0x51')){return createEndUser(_0x39b56a,_0x2bd68c,_0x4e765b,_0x297887,_0x1094da,_0x303759);}else{return{};}});break;case'lead':_0x3dff2d[_0x52cf('0x4e')]=_0x52cf('0x40')+_0x2bd68c+_0x52cf('0x4f')+_0x297887+'))';return getZohoUser(_0x3dff2d,_0x52cf('0x50'))[_0x52cf('0x3d')](function(_0x4eef8f){if(_0x4eef8f)return _0x4eef8f;if(_0x303759[_0x52cf('0x43')]!=_0x52cf('0x51')){return createEndUser(_0x39b56a,_0x2bd68c,_0x4e765b,_0x297887,_0x1094da,_0x303759);}else{return{};}});break;}}function getCall(_0x2f6310,_0x3b4114,_0x59fb6d,_0x56289c,_0x302510,_0x4c526d,_0x153fe3,_0x38e6d2){logger[_0x52cf('0x35')]('Creating\x20new\x20call...');var _0x45a3a9={};_0x45a3a9['Owner']={'name':!_[_0x52cf('0x1a')](_0x56289c[_0x52cf('0x44')][_0x52cf('0x17')])&&!_['isNil'](_0x56289c[_0x52cf('0x38')][_0x52cf('0x17')])&&_0x56289c[_0x52cf('0x38')]['name']==='administrator'?_0x56289c[_0x52cf('0x44')][_0x52cf('0x17')]:!_[_0x52cf('0x1a')](_0x56289c[_0x52cf('0x45')])?_0x56289c['first_name']+'\x20'+_0x56289c['last_name']:_0x56289c[_0x52cf('0x46')],'id':_0x56289c['id']};_0x45a3a9['Subject']=intUtil[_0x52cf('0x53')](_0x4c526d['Subjects'],_0x153fe3,'\x20');_0x45a3a9[_0x52cf('0x54')]=intUtil[_0x52cf('0x53')](_0x4c526d['Descriptions'],_0x153fe3,'\x0a');if(_0x302510['enduserType']===_0x52cf('0x4d')){_0x45a3a9[_0x52cf('0x55')]={'name':!_[_0x52cf('0x1a')](_0x302510[_0x52cf('0x56')])?_0x302510[_0x52cf('0x56')]:!_['isNil'](_0x302510[_0x52cf('0x57')])?_0x302510[_0x52cf('0x57')]+'\x20'+_0x302510[_0x52cf('0x58')]:_0x302510[_0x52cf('0x58')],'id':_0x302510['id']};}if(_0x302510[_0x52cf('0x59')]===_0x52cf('0x50')){_0x45a3a9[_0x52cf('0x5a')]={'name':!_[_0x52cf('0x1a')](_0x302510[_0x52cf('0x56')])?_0x302510[_0x52cf('0x56')]:!_[_0x52cf('0x1a')](_0x302510[_0x52cf('0x57')])?_0x302510[_0x52cf('0x57')]+'\x20'+_0x302510[_0x52cf('0x58')]:_0x302510[_0x52cf('0x58')],'id':_0x302510['id']};_0x45a3a9[_0x52cf('0x5b')]=_[_0x52cf('0x42')](_0x302510['enduserType']);}if(_0x153fe3['talktime']){_0x45a3a9[_0x52cf('0x5c')]=moment['utc'](parseInt(_0x153fe3['talktime'])*0x3e8)[_0x52cf('0x2d')](_0x52cf('0x5d'));}else if(_0x153fe3[_0x52cf('0x5e')]&&_0x153fe3[_0x52cf('0x5f')]){_0x45a3a9[_0x52cf('0x5c')]=moment['utc'](moment(_0x153fe3[_0x52cf('0x5f')],_0x52cf('0x60'))[_0x52cf('0x61')](moment(_0x153fe3[_0x52cf('0x62')],'YYYY-MM-DDTHH:mm:ss')))['format'](_0x52cf('0x5d'));}switch(_0x153fe3[_0x52cf('0x63')]){case'called':_0x45a3a9[_0x52cf('0x64')]=_0x52cf('0x65');break;case'complete':case _0x52cf('0x66'):_0x45a3a9[_0x52cf('0x64')]=_0x52cf('0x67');break;case'rejected':_0x45a3a9[_0x52cf('0x64')]=_0x52cf('0x68');break;case'abandoned':_0x45a3a9[_0x52cf('0x64')]=_0x52cf('0x69');break;case _0x52cf('0x6a'):_0x45a3a9[_0x52cf('0x64')]=_0x52cf('0x6b');default:}_0x45a3a9[_0x52cf('0x6c')]=(_0x38e6d2===_0x52cf('0x6d')?moment(_0x153fe3[_0x52cf('0x62')])[_0x52cf('0x2d')](_0x52cf('0x60')):moment(_0x153fe3[_0x52cf('0x6e')])[_0x52cf('0x2d')](_0x52cf('0x60')))||moment()['format'](_0x52cf('0x60'));_0x45a3a9['Call_Type']=_0x38e6d2||'Inbound';_0x45a3a9=_['merge'](_0x45a3a9,getCustomFields(_0x4c526d[_0x52cf('0x6f')],_0x153fe3));return request({'method':'POST','uri':_0x52cf('0x40')+_0x3b4114+'/crm/v2/Calls','headers':{'Authorization':_0x52cf('0x30')+_0x2f6310},'body':{'data':[_0x45a3a9]},'json':!![]})[_0x52cf('0x3d')](function(_0x21f3b5){if(_0x21f3b5&&_0x21f3b5[_0x52cf('0x3e')][0x0][_0x52cf('0x47')]==='SUCCESS'){logger['info']('Call\x20created!');return{'id':_0x21f3b5['data'][0x0][_0x52cf('0x48')]['id']};}})[_0x52cf('0x29')](function(_0x17bf31){logger[_0x52cf('0x35')](_0x52cf('0x70'),_0x17bf31[_0x52cf('0x71')]);console[_0x52cf('0x49')](_0x52cf('0x70'),_0x17bf31);});}exports[_0x52cf('0x72')]=function(_0x3eff6a,_0x23649a,_0x5b51b3,_0x249bda,_0x5b54cf,_0x14d5fc){var _0x1cd38a,_0x166b0f,_0x1a6789;_0x14d5fc['host']=intUtil[_0x52cf('0x73')](_0x14d5fc['host']);_0x14d5fc[_0x52cf('0x74')]=intUtil[_0x52cf('0x73')](_0x14d5fc[_0x52cf('0x74')]);if(_0x5b54cf&&_0x5b54cf[_0x52cf('0x75')]){logger[_0x52cf('0x35')](_0x52cf('0x76'),_0x52cf('0x77'));_0x23649a[_0x52cf('0x78')]=_0x14d5fc[_0x52cf('0x74')]+_0x52cf('0x79')+_0x23649a[_0x52cf('0x7a')]+_0x52cf('0x7b')+md5(_0x23649a['uniqueid']);}else{_0x23649a['recordingURL']='';}var _0x80f692=_0x14d5fc[_0x52cf('0x7c')]===_0x52cf('0x7d')?'eu':'com';return getAccessToken(_0x14d5fc)[_0x52cf('0x3d')](function(_0x530dae){_0x1a6789=_0x530dae;return getUser(_0x1a6789,_0x80f692,_0x14d5fc,_0x249bda[_0x52cf('0x34')]);})[_0x52cf('0x3d')](function(_0x32dc36){_0x1cd38a=_0x32dc36;logger['info'](_0x52cf('0x7e'),_0x1cd38a['id']);return getEndUser(_0x1a6789,_0x80f692,_0x14d5fc,_0x23649a[_0x52cf('0x7f')],_0x23649a['calleridnum'],_0x1cd38a,_0x5b51b3);})[_0x52cf('0x3d')](function(_0x1fe3fc){_0x166b0f=_0x1fe3fc;return getCall(_0x1a6789,_0x80f692,_0x14d5fc,_0x1cd38a,_0x166b0f,_0x5b51b3,_0x23649a,_0x52cf('0x80'));})[_0x52cf('0x3d')](function(_0x576e1f){if(_0x576e1f){logger[_0x52cf('0x35')]('The\x20Call\x20ID\x20is:',_0x576e1f['id']);logger[_0x52cf('0x35')](_0x52cf('0x76'),_0x52cf('0x81'));emit(util[_0x52cf('0x2d')](_0x52cf('0x82'),_0x249bda[_0x52cf('0x17')]),_0x52cf('0x83'),{'uri':_0x52cf('0x84')+_0x14d5fc['host']+_0x52cf('0x85')+_0x576e1f['id']});}})[_0x52cf('0x29')](function(_0x29ee77){logger['error']('[QUEUE]',JSON[_0x52cf('0xd')](_0x29ee77));});};exports['outbound']=function(_0x497326,_0x12d9ca,_0x54efc2,_0x418ffb,_0x46b916,_0x46e6e6,_0x36de0e){var _0x1eb1fc,_0x45cecf,_0x45e3be;_0x46e6e6['host']=intUtil[_0x52cf('0x73')](_0x46e6e6['host']);_0x46e6e6[_0x52cf('0x74')]=intUtil[_0x52cf('0x73')](_0x46e6e6[_0x52cf('0x74')]);if(_0x36de0e&&_0x36de0e['recordingFormat']&&_0x36de0e[_0x52cf('0x86')]!==_0x52cf('0x87')){logger[_0x52cf('0x35')]('[OUTBOUND]',_0x52cf('0x77'));_0x12d9ca['recordingURL']=_0x46e6e6[_0x52cf('0x74')]+_0x52cf('0x79')+_0x12d9ca[_0x52cf('0x7a')]+_0x52cf('0x7b')+md5(_0x12d9ca['uniqueid']);}var _0x688ee0=_0x46e6e6[_0x52cf('0x7c')]===_0x52cf('0x7d')?'eu':_0x52cf('0x88');return getAccessToken(_0x46e6e6)['then'](function(_0x14acd1){_0x45e3be=_0x14acd1;return getUser(_0x45e3be,_0x688ee0,_0x46e6e6,_0x418ffb['email']);})[_0x52cf('0x3d')](function(_0x2956dd){_0x1eb1fc=_0x2956dd;logger[_0x52cf('0x35')](_0x52cf('0x7e'),_0x1eb1fc['id']);return getEndUser(_0x45e3be,_0x688ee0,_0x46e6e6,_0x12d9ca[_0x52cf('0x89')],_0x12d9ca[_0x52cf('0x8a')],_0x1eb1fc,_0x54efc2);})[_0x52cf('0x3d')](function(_0x5572df){_0x45cecf=_0x5572df;return getCall(_0x45e3be,_0x688ee0,_0x46e6e6,_0x1eb1fc,_0x45cecf,_0x54efc2,_0x12d9ca,'Outbound');})[_0x52cf('0x3d')](function(_0x28d1b4){if(_0x28d1b4){logger['info'](_0x52cf('0x8b'),_0x28d1b4['id']);logger[_0x52cf('0x35')](_0x52cf('0x8c'),_0x52cf('0x81'));emit(util[_0x52cf('0x2d')]('user:%s',_0x418ffb[_0x52cf('0x17')]),_0x52cf('0x83'),{'uri':_0x52cf('0x84')+_0x46e6e6[_0x52cf('0x7c')]+_0x52cf('0x85')+_0x28d1b4['id']});}})['catch'](function(_0xc38732){logger[_0x52cf('0x2a')](_0x52cf('0x8c'),JSON[_0x52cf('0xd')](_0xc38732));});};exports['unmanaged']=function(_0x581a03,_0x3b2427,_0x4b2d05,_0x28bf80,_0x5c5663,_0x218db8){var _0x33427c,_0x4c3fde,_0x19201d;_0x218db8[_0x52cf('0x7c')]=intUtil['stripTrailingSlash'](_0x218db8['host']);_0x218db8[_0x52cf('0x74')]=intUtil[_0x52cf('0x73')](_0x218db8[_0x52cf('0x74')]);if(_0x5c5663&&_0x5c5663[_0x52cf('0x75')]){logger[_0x52cf('0x35')]('['+_0x3b2427[_0x52cf('0x63')][_0x52cf('0x8d')]()+']',_0x52cf('0x77'));_0x3b2427['recordingURL']=_0x218db8[_0x52cf('0x74')]+_0x52cf('0x79')+_0x3b2427[_0x52cf('0x7a')]+_0x52cf('0x7b')+md5(_0x3b2427[_0x52cf('0x7a')]);}else{_0x3b2427[_0x52cf('0x78')]='';}var _0x1e09ca=_0x218db8[_0x52cf('0x7c')]===_0x52cf('0x7d')?'eu':_0x52cf('0x88');return getAccessToken(_0x218db8)[_0x52cf('0x3d')](function(_0x11b556){_0x19201d=_0x11b556;return getUser(_0x19201d,_0x1e09ca,_0x218db8);})[_0x52cf('0x3d')](function(_0x25e065){_0x33427c=_0x25e065;logger[_0x52cf('0x35')]('The\x20User\x20ID\x20is:',_0x33427c['id']);return getEndUser(_0x19201d,_0x1e09ca,_0x218db8,_0x3b2427[_0x52cf('0x7f')],_0x3b2427[_0x52cf('0x8e')],_0x33427c,_0x4b2d05);})[_0x52cf('0x3d')](function(_0x27361e){_0x4c3fde=_0x27361e;return getCall(_0x19201d,_0x1e09ca,_0x218db8,_0x33427c,_0x4c3fde,_0x4b2d05,_0x3b2427,_0x52cf('0x80'));})[_0x52cf('0x3d')](function(_0x4b3a51){if(_0x4b3a51){logger[_0x52cf('0x35')](_0x52cf('0x8b'),_0x4b3a51['id']);}})[_0x52cf('0x29')](function(_0x4c141e){logger[_0x52cf('0x2a')]('['+_0x3b2427[_0x52cf('0x63')]['toUpperCase']()+']',JSON['stringify'](_0x4c141e));});};
\ No newline at end of file