Built motion from commit c738b9ac.|2.6.25
[motion2.git] / server / services / ami / trigger / integration / zoho.js
index 57f4ffc..fbb74d9 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xde2a=['Call_Start_Time','agentcalledAt','Inbound','merge','Fields','/crm/v2/Calls','SUCCESS','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','uniqueid','/downloads?type=uniqueid&token=','com','email','The\x20User\x20ID\x20is:','calleridname','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','/crm/EntityInfo.do?module=Calls&id=','[QUEUE]','outbound','recordingFormat','none','zoho.eu','destcalleridname','Outbound','[OUTBOUND]','unmanaged','toUpperCase','calleridnum','lodash','md5','./util','ioredis','bluebird','../../../../config/environment','../../../../config/logger','zoho','defaults','redis','localhost','socket.io-emitter','emit','debug','stringify','length','forEach','includes','string','type','idField','content','toString','variable','variableName','customVariable','Variable','name','toLowerCase','indexOf','split','isNil','access_token','isBefore','expires_in','zone','https://accounts.zoho.com.au','https://accounts.zoho.eu','POST','/oauth/v2/token','refreshToken','clientId','refresh_token','then','add','seconds','error','Failing\x20creating\x20the\x20access_token','stack','Search\x20user','GET','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','users','findIndex','info','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','enduserType','https://www.zohoapis.','/crm/v2/','startCase','moduleCreate','role','first_name','last_name','Zoho-oauthtoken\x20','data','code','Error:\x20','log','CREATE\x20ERROR','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','contact','Contacts','lead','Creating\x20new\x20call...','Owner','Subject','getString','Subjects','Description','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','$se_module','talktime','Call_Duration','utc','format','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','starttime','mm:ss','lastevent','called','Call_Result','Called','complete','connect','rejected','abandoned','Abandoned','timeout'];(function(_0xdfaef5,_0x4c76ef){var _0x20286b=function(_0x51a2bc){while(--_0x51a2bc){_0xdfaef5['push'](_0xdfaef5['shift']());}};_0x20286b(++_0x4c76ef);}(_0xde2a,0x161));var _0xade2=function(_0x11ce46,_0x177a85){_0x11ce46=_0x11ce46-0x0;var _0x368a1e=_0xde2a[_0x11ce46];return _0x368a1e;};'use strict';var _=require(_0xade2('0x0'));var rp=require('request-promise');var md5=require(_0xade2('0x1'));var util=require('util');var intUtil=require(_0xade2('0x2'));var moment=require('moment');var Redis=require(_0xade2('0x3'));var BPromise=require(_0xade2('0x4'));var config=require(_0xade2('0x5'));var logger=require(_0xade2('0x6'))(_0xade2('0x7'));config['redis']=_[_0xade2('0x8')](config[_0xade2('0x9')],{'host':_0xade2('0xa'),'port':0x18eb});var io=require(_0xade2('0xb'))(new Redis(config[_0xade2('0x9')]));function emit(_0x534fc5,_0x53e8b8,_0x34e6f4){io['to'](_0x534fc5)[_0xade2('0xc')](_0x53e8b8,_0x34e6f4);}function request(_0x49a1ef){logger[_0xade2('0xd')]('[HTTP]',JSON[_0xade2('0xe')](_0x49a1ef));return rp(_0x49a1ef);}function getCustomFields(_0x519c23,_0xcf64aa){var _0x539eed={};if(_0x519c23[_0xade2('0xf')]>0x0){_[_0xade2('0x10')](_0x519c23,function(_0x2cf56c){if(_[_0xade2('0x11')]([_0xade2('0x12'),'picklist'],_0x2cf56c[_0xade2('0x13')])&&_0x2cf56c[_0xade2('0x14')]){_0x539eed[_0x2cf56c['idField']]=_0x2cf56c[_0xade2('0x15')][_0xade2('0x16')]();}else if(_0x2cf56c['type']===_0xade2('0x17')&&_0x2cf56c[_0xade2('0x18')]&&_0x2cf56c[_0xade2('0x14')]&&_0xcf64aa[_0x2cf56c[_0xade2('0x18')]]){_0x539eed[_0x2cf56c[_0xade2('0x14')]]=_0xcf64aa[_0x2cf56c['variableName']]['toString']();}else if(_0x2cf56c[_0xade2('0x13')]===_0xade2('0x19')&&_0x2cf56c[_0xade2('0x1a')]&&_0x2cf56c[_0xade2('0x1a')][_0xade2('0x1b')]&&_0x2cf56c[_0xade2('0x14')]&&_0xcf64aa[_0x2cf56c[_0xade2('0x1a')][_0xade2('0x1b')]['toLowerCase']()]){_0x539eed[_0x2cf56c['idField']]=_0xcf64aa[_0x2cf56c[_0xade2('0x1a')][_0xade2('0x1b')][_0xade2('0x1c')]()][_0xade2('0x16')]();}});}return _0x539eed;}function getName(_0x3fce3b){if(_0x3fce3b[_0xade2('0x1d')]('\x20')>0x0){var _0x53c288=_0x3fce3b[_0xade2('0x1e')](/ (.+)/);if(_0x53c288[0x1]){return _0x53c288;}}return[_0x3fce3b,_0x3fce3b];}var accountsTokens={};function getAccessToken(_0x55254b){return new Promise(function(_0x5aafd0,_0x3c5a1b){if(!_[_0xade2('0x1f')](accountsTokens[_0x55254b['id']])&&!_[_0xade2('0x1f')](accountsTokens[_0x55254b['id']][_0xade2('0x20')])){if(moment()[_0xade2('0x21')](accountsTokens[_0x55254b['id']][_0xade2('0x22')])){_0x5aafd0(accountsTokens[_0x55254b['id']][_0xade2('0x20')]);}}var _0x139d03;switch(_0x55254b[_0xade2('0x23')]){case'US':_0x139d03='https://accounts.zoho.com';break;case'AU':_0x139d03=_0xade2('0x24');break;case'EU':_0x139d03=_0xade2('0x25');break;case'IN':_0x139d03='https://accounts.zoho.in';break;case'CN':_0x139d03='https://accounts.zoho.com.cn';break;default:_0x139d03=_0xade2('0x25');break;}var _0x35b3aa={'method':_0xade2('0x26'),'uri':_0x139d03+_0xade2('0x27'),'qs':{'refresh_token':_0x55254b[_0xade2('0x28')],'client_id':_0x55254b[_0xade2('0x29')],'client_secret':_0x55254b['clientSecret'],'grant_type':_0xade2('0x2a')},'json':!![]};return rp(_0x35b3aa)[_0xade2('0x2b')](function(_0x52537f){accountsTokens[_0x55254b['id']]={'access_token':_0x52537f['access_token'],'expires_in':moment()[_0xade2('0x2c')](_0x52537f[_0xade2('0x22')],_0xade2('0x2d'))};_0x5aafd0(_0x52537f[_0xade2('0x20')]);})['catch'](function(_0x5f06a3){logger[_0xade2('0x2e')](_0xade2('0x2f'),_0x5f06a3[_0xade2('0x30')]);_0x3c5a1b(_0x5f06a3);});});}function getUser(_0x3210f2,_0x4cf222,_0x40b660,_0x42f715){logger['info'](_0xade2('0x31'));return request({'method':_0xade2('0x32'),'uri':util['format'](_0xade2('0x33'),_0x4cf222),'qs':{'type':_0xade2('0x34')},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x3210f2},'json':!![]})[_0xade2('0x2b')](function(_0x38725b){if(_0x38725b[_0xade2('0x35')]){var _0x460e7a=-0x1;if(_['isArrayLikeObject'](_0x38725b[_0xade2('0x35')])){if(!_[_0xade2('0x1f')](_0x42f715)){_0x460e7a=_[_0xade2('0x36')](_0x38725b[_0xade2('0x35')],function(_0x28aa12){return _0x28aa12['email']===_0x42f715;});}if(_0x460e7a>=0x0){logger[_0xade2('0x37')]('Agent\x20found!');}else{logger[_0xade2('0x37')](_0xade2('0x38'));_0x460e7a=_[_0xade2('0x36')](_0x38725b['users'],function(_0x3eb61d){return _0x3eb61d[_0xade2('0x39')][_0xade2('0x1b')]===_0xade2('0x3a');});}return _0x38725b[_0xade2('0x35')][_0x460e7a];}else{if(_0x38725b['user']['profile'][_0xade2('0x1b')]===_0xade2('0x3a')){logger[_0xade2('0x37')]('Using\x20the\x20admin\x20account!');user=_0x38725b[_0xade2('0x3b')];return user;}else{logger[_0xade2('0x2e')](_0xade2('0x3c'),JSON[_0xade2('0xe')](_0x38725b));throw new Error(_0xade2('0x3d')+JSON[_0xade2('0xe')](_0x38725b));}}}else{logger[_0xade2('0x2e')](_0xade2('0x3c'),JSON[_0xade2('0xe')](_0x38725b));throw new Error(_0xade2('0x3d')+JSON[_0xade2('0xe')](_0x38725b));}})[_0xade2('0x3e')](function(_0x340d79){console[_0xade2('0x2e')](_0x340d79);});}function getZohoUser(_0x100f4c,_0x51d9a0){return new BPromise(function(_0xc81149,_0x967bb0){request(_0x100f4c)[_0xade2('0x2b')](function(_0x3536f7){var _0x3d7079=null;if(_0x3536f7){_0x3d7079=_0x3536f7['data'][0x0];_0x3d7079[_0xade2('0x3f')]=_0x51d9a0;}_0xc81149(_0x3d7079);})[_0xade2('0x3e')](function(_0x291717){_0x967bb0(_0x291717);});});}function createEndUser(_0x430b2c,_0x5cffa6,_0x173d05,_0x5414cc,_0x5bb95a,_0x32ecce){var _0x173d05=getName(_0x173d05);return request({'method':'POST','uri':_0xade2('0x40')+_0x5cffa6+_0xade2('0x41')+_[_0xade2('0x42')](_0x32ecce[_0xade2('0x43')])+'s','body':{'data':[{'Last_Name':_0x173d05[0x1],'First_Name':_0x173d05[0x0],'Phone':_0x5414cc,'Owner':{'name':!_[_0xade2('0x1f')](_0x5bb95a[_0xade2('0x44')]['name'])?_0x5bb95a[_0xade2('0x44')][_0xade2('0x1b')]:!_['isNil'](_0x5bb95a[_0xade2('0x45')])?_0x5bb95a[_0xade2('0x45')]+'\x20'+_0x5bb95a['last_name']:_0x5bb95a[_0xade2('0x46')],'id':_0x5bb95a['id']}}]},'headers':{'Authorization':_0xade2('0x47')+_0x430b2c},'json':!![]})[_0xade2('0x2b')](function(_0x8e2fa){if(_0x8e2fa&&_0x8e2fa[_0xade2('0x48')][0x0][_0xade2('0x49')]==='SUCCESS'){var _0x223f5d=_0x8e2fa[_0xade2('0x48')][0x0]['details'];_0x223f5d[_0xade2('0x3f')]=_[_0xade2('0x42')](_0x32ecce[_0xade2('0x43')])+'s';return _0x223f5d;}logger[_0xade2('0x2e')](_0xade2('0x3c'),JSON['stringify'](data));throw new Error(_0xade2('0x4a')+JSON[_0xade2('0xe')](data));})[_0xade2('0x3e')](function(_0x469fa5){console[_0xade2('0x4b')](_0xade2('0x4c'),_0x469fa5);});}function getEndUser(_0x4d298f,_0x529e25,_0x287869,_0x448841,_0x332e3a,_0x23905f,_0x3be933){var _0x493d87={'method':'GET','uri':'','headers':{'Authorization':_0xade2('0x47')+_0x4d298f},'json':!![]};switch(_0x3be933['moduleSearch']){case _0xade2('0x4d'):_0x493d87[_0xade2('0x4e')]=_0xade2('0x40')+_0x529e25+_0xade2('0x4f')+_0x332e3a+'))';return getZohoUser(_0x493d87,'Contacts')[_0xade2('0x2b')](function(_0xf84b46){if(_0xf84b46)return _0xf84b46;_0x493d87['uri']='https://www.zohoapis.'+_0x529e25+_0xade2('0x50')+_0x332e3a+'))';return getZohoUser(_0x493d87,_0xade2('0x51'))[_0xade2('0x2b')](function(_0x54621a){if(_0x54621a)return _0x54621a;if(_0x3be933['moduleCreate']!=_0xade2('0x52')){return createEndUser(_0x4d298f,_0x529e25,_0x448841,_0x332e3a,_0x23905f,_0x3be933);}else{return{};}});});break;case _0xade2('0x53'):_0x493d87[_0xade2('0x4e')]=_0xade2('0x40')+_0x529e25+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x332e3a+'))';return getZohoUser(_0x493d87,_0xade2('0x54'))[_0xade2('0x2b')](function(_0x5bd9ef){if(_0x5bd9ef)return _0x5bd9ef;if(_0x3be933[_0xade2('0x43')]!='nothing'){return createEndUser(_0x4d298f,_0x529e25,_0x448841,_0x332e3a,_0x23905f,_0x3be933);}else{return{};}});break;case _0xade2('0x55'):_0x493d87[_0xade2('0x4e')]='https://www.zohoapis.'+_0x529e25+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x332e3a+'))';return getZohoUser(_0x493d87,'Leads')['then'](function(_0x2a7f94){if(_0x2a7f94)return _0x2a7f94;if(_0x3be933[_0xade2('0x43')]!=_0xade2('0x52')){return createEndUser(_0x4d298f,_0x529e25,_0x448841,_0x332e3a,_0x23905f,_0x3be933);}else{return{};}});break;}}function getCall(_0x574020,_0x39648e,_0x2e48b4,_0x3b3612,_0x36c72f,_0x11001a,_0x5c4862,_0x5ac90e){logger[_0xade2('0x37')](_0xade2('0x56'));var _0x67f441={};_0x67f441[_0xade2('0x57')]={'name':!_[_0xade2('0x1f')](_0x3b3612[_0xade2('0x44')][_0xade2('0x1b')])&&!_['isNil'](_0x3b3612[_0xade2('0x39')][_0xade2('0x1b')])&&_0x3b3612[_0xade2('0x39')][_0xade2('0x1b')]==='administrator'?_0x3b3612[_0xade2('0x44')][_0xade2('0x1b')]:!_[_0xade2('0x1f')](_0x3b3612['first_name'])?_0x3b3612[_0xade2('0x45')]+'\x20'+_0x3b3612['last_name']:_0x3b3612['last_name'],'id':_0x3b3612['id']};_0x67f441[_0xade2('0x58')]=intUtil[_0xade2('0x59')](_0x11001a[_0xade2('0x5a')],_0x5c4862,'\x20');_0x67f441[_0xade2('0x5b')]=intUtil[_0xade2('0x59')](_0x11001a[_0xade2('0x5c')],_0x5c4862,'\x0a');if(_0x36c72f['enduserType']==='Contacts'){_0x67f441[_0xade2('0x5d')]={'name':!_[_0xade2('0x1f')](_0x36c72f[_0xade2('0x5e')])?_0x36c72f[_0xade2('0x5e')]:!_[_0xade2('0x1f')](_0x36c72f[_0xade2('0x5f')])?_0x36c72f[_0xade2('0x5f')]+'\x20'+_0x36c72f[_0xade2('0x60')]:_0x36c72f[_0xade2('0x60')],'id':_0x36c72f['id']};}if(_0x36c72f['enduserType']==='Leads'){_0x67f441['What_Id']={'name':!_[_0xade2('0x1f')](_0x36c72f[_0xade2('0x5e')])?_0x36c72f[_0xade2('0x5e')]:!_['isNil'](_0x36c72f['First_Name'])?_0x36c72f[_0xade2('0x5f')]+'\x20'+_0x36c72f[_0xade2('0x60')]:_0x36c72f[_0xade2('0x60')],'id':_0x36c72f['id']};_0x67f441[_0xade2('0x61')]=_[_0xade2('0x42')](_0x36c72f[_0xade2('0x3f')]);}if(_0x5c4862[_0xade2('0x62')]){_0x67f441[_0xade2('0x63')]=moment[_0xade2('0x64')](parseInt(_0x5c4862[_0xade2('0x62')])*0x3e8)[_0xade2('0x65')]('mm:ss');}else if(_0x5c4862[_0xade2('0x66')]&&_0x5c4862[_0xade2('0x67')]){_0x67f441[_0xade2('0x63')]=moment[_0xade2('0x64')](moment(_0x5c4862[_0xade2('0x67')],_0xade2('0x68'))[_0xade2('0x69')](moment(_0x5c4862[_0xade2('0x6a')],_0xade2('0x68'))))[_0xade2('0x65')](_0xade2('0x6b'));}switch(_0x5c4862[_0xade2('0x6c')]){case _0xade2('0x6d'):_0x67f441[_0xade2('0x6e')]=_0xade2('0x6f');break;case _0xade2('0x70'):case _0xade2('0x71'):_0x67f441[_0xade2('0x6e')]='Answered';break;case _0xade2('0x72'):_0x67f441[_0xade2('0x6e')]='Rejected';break;case _0xade2('0x73'):_0x67f441[_0xade2('0x6e')]=_0xade2('0x74');break;case _0xade2('0x75'):_0x67f441[_0xade2('0x6e')]='Timeout';default:}_0x67f441[_0xade2('0x76')]=(_0x5ac90e==='outbound'?moment(_0x5c4862[_0xade2('0x6a')])[_0xade2('0x65')](_0xade2('0x68')):moment(_0x5c4862[_0xade2('0x77')])[_0xade2('0x65')](_0xade2('0x68')))||moment()[_0xade2('0x65')](_0xade2('0x68'));_0x67f441['Call_Type']=_0x5ac90e||_0xade2('0x78');_0x67f441=_[_0xade2('0x79')](_0x67f441,getCustomFields(_0x11001a[_0xade2('0x7a')],_0x5c4862));return request({'method':_0xade2('0x26'),'uri':_0xade2('0x40')+_0x39648e+_0xade2('0x7b'),'headers':{'Authorization':_0xade2('0x47')+_0x574020},'body':{'data':[_0x67f441]},'json':!![]})[_0xade2('0x2b')](function(_0x5d3498){if(_0x5d3498&&_0x5d3498[_0xade2('0x48')][0x0][_0xade2('0x49')]===_0xade2('0x7c')){logger[_0xade2('0x37')]('Call\x20created!');return{'id':_0x5d3498[_0xade2('0x48')][0x0]['details']['id']};}})[_0xade2('0x3e')](function(_0x4c392e){logger[_0xade2('0x37')](_0xade2('0x7d'),_0x4c392e[_0xade2('0x30')]);console['log']('err',_0x4c392e);});}exports[_0xade2('0x7e')]=function(_0x8e831,_0x14f537,_0x4e211f,_0x110477,_0x1a71b6,_0x4540c5){var _0x564b08,_0x3aa070,_0x2dc84e;_0x4540c5[_0xade2('0x7f')]=intUtil[_0xade2('0x80')](_0x4540c5[_0xade2('0x7f')]);_0x4540c5[_0xade2('0x81')]=intUtil[_0xade2('0x80')](_0x4540c5[_0xade2('0x81')]);if(_0x1a71b6&&_0x1a71b6[_0xade2('0x82')]){logger[_0xade2('0x37')]('[QUEUE]',_0xade2('0x83'));_0x14f537[_0xade2('0x84')]=_0x4540c5[_0xade2('0x81')]+_0xade2('0x85')+_0x14f537[_0xade2('0x86')]+_0xade2('0x87')+md5(_0x14f537[_0xade2('0x86')]);}else{_0x14f537['recordingURL']='';}var _0x21f863=_0x4540c5[_0xade2('0x7f')]==='zoho.eu'?'eu':_0xade2('0x88');return getAccessToken(_0x4540c5)[_0xade2('0x2b')](function(_0x520ba3){_0x2dc84e=_0x520ba3;return getUser(_0x2dc84e,_0x21f863,_0x4540c5,_0x110477[_0xade2('0x89')]);})[_0xade2('0x2b')](function(_0x4238e6){_0x564b08=_0x4238e6;logger[_0xade2('0x37')](_0xade2('0x8a'),_0x564b08['id']);return getEndUser(_0x2dc84e,_0x21f863,_0x4540c5,_0x14f537[_0xade2('0x8b')],_0x14f537['calleridnum'],_0x564b08,_0x4e211f);})[_0xade2('0x2b')](function(_0x2c12e8){_0x3aa070=_0x2c12e8;return getCall(_0x2dc84e,_0x21f863,_0x4540c5,_0x564b08,_0x3aa070,_0x4e211f,_0x14f537,'Inbound');})[_0xade2('0x2b')](function(_0x33e362){if(_0x33e362){logger[_0xade2('0x37')](_0xade2('0x8c'),_0x33e362['id']);logger[_0xade2('0x37')]('[QUEUE]',_0xade2('0x8d'));emit(util[_0xade2('0x65')](_0xade2('0x8e'),_0x110477[_0xade2('0x1b')]),_0xade2('0x8f'),{'uri':_0xade2('0x90')+_0x4540c5[_0xade2('0x7f')]+_0xade2('0x91')+_0x33e362['id']});}})[_0xade2('0x3e')](function(_0x3a552e){logger[_0xade2('0x2e')](_0xade2('0x92'),JSON[_0xade2('0xe')](_0x3a552e));});};exports[_0xade2('0x93')]=function(_0x20018b,_0x3ac976,_0x344122,_0xc6d452,_0x4bc29d,_0x19a6e2,_0x543cfc){var _0xe20bc9,_0xed1c24,_0x25c2ce;_0x19a6e2['host']=intUtil[_0xade2('0x80')](_0x19a6e2[_0xade2('0x7f')]);_0x19a6e2[_0xade2('0x81')]=intUtil[_0xade2('0x80')](_0x19a6e2['serverUrl']);if(_0x543cfc&&_0x543cfc[_0xade2('0x94')]&&_0x543cfc[_0xade2('0x94')]!==_0xade2('0x95')){logger['info']('[OUTBOUND]',_0xade2('0x83'));_0x3ac976[_0xade2('0x84')]=_0x19a6e2['serverUrl']+_0xade2('0x85')+_0x3ac976[_0xade2('0x86')]+_0xade2('0x87')+md5(_0x3ac976[_0xade2('0x86')]);}var _0x1e4320=_0x19a6e2[_0xade2('0x7f')]===_0xade2('0x96')?'eu':'com';return getAccessToken(_0x19a6e2)[_0xade2('0x2b')](function(_0x1d58e3){_0x25c2ce=_0x1d58e3;return getUser(_0x25c2ce,_0x1e4320,_0x19a6e2,_0xc6d452[_0xade2('0x89')]);})['then'](function(_0x8a75d2){_0xe20bc9=_0x8a75d2;logger[_0xade2('0x37')](_0xade2('0x8a'),_0xe20bc9['id']);return getEndUser(_0x25c2ce,_0x1e4320,_0x19a6e2,_0x3ac976[_0xade2('0x97')],_0x3ac976['destcalleridnum'],_0xe20bc9,_0x344122);})[_0xade2('0x2b')](function(_0x395668){_0xed1c24=_0x395668;return getCall(_0x25c2ce,_0x1e4320,_0x19a6e2,_0xe20bc9,_0xed1c24,_0x344122,_0x3ac976,_0xade2('0x98'));})[_0xade2('0x2b')](function(_0xf90eec){if(_0xf90eec){logger[_0xade2('0x37')](_0xade2('0x8c'),_0xf90eec['id']);logger[_0xade2('0x37')]('[OUTBOUND]',_0xade2('0x8d'));emit(util['format'](_0xade2('0x8e'),_0xc6d452['name']),_0xade2('0x8f'),{'uri':_0xade2('0x90')+_0x19a6e2[_0xade2('0x7f')]+'/crm/EntityInfo.do?module=Calls&id='+_0xf90eec['id']});}})['catch'](function(_0x2cbb4a){logger[_0xade2('0x2e')](_0xade2('0x99'),JSON['stringify'](_0x2cbb4a));});};exports[_0xade2('0x9a')]=function(_0x1564ff,_0x34cf84,_0x319fa9,_0x4039c5,_0xc842ea,_0x4629e9){var _0x4b07ac,_0xe2fbeb,_0x11af95;_0x4629e9['host']=intUtil['stripTrailingSlash'](_0x4629e9[_0xade2('0x7f')]);_0x4629e9[_0xade2('0x81')]=intUtil['stripTrailingSlash'](_0x4629e9[_0xade2('0x81')]);if(_0xc842ea&&_0xc842ea[_0xade2('0x82')]){logger[_0xade2('0x37')]('['+_0x34cf84[_0xade2('0x6c')][_0xade2('0x9b')]()+']','Recording\x20is\x20enabled!');_0x34cf84[_0xade2('0x84')]=_0x4629e9[_0xade2('0x81')]+_0xade2('0x85')+_0x34cf84[_0xade2('0x86')]+_0xade2('0x87')+md5(_0x34cf84[_0xade2('0x86')]);}else{_0x34cf84[_0xade2('0x84')]='';}var _0x5642f6=_0x4629e9[_0xade2('0x7f')]==='zoho.eu'?'eu':_0xade2('0x88');return getAccessToken(_0x4629e9)[_0xade2('0x2b')](function(_0x3e1ced){_0x11af95=_0x3e1ced;return getUser(_0x11af95,_0x5642f6,_0x4629e9);})['then'](function(_0x56cbb4){_0x4b07ac=_0x56cbb4;logger[_0xade2('0x37')](_0xade2('0x8a'),_0x4b07ac['id']);return getEndUser(_0x11af95,_0x5642f6,_0x4629e9,_0x34cf84[_0xade2('0x8b')],_0x34cf84[_0xade2('0x9c')],_0x4b07ac,_0x319fa9);})[_0xade2('0x2b')](function(_0x1c1644){_0xe2fbeb=_0x1c1644;return getCall(_0x11af95,_0x5642f6,_0x4629e9,_0x4b07ac,_0xe2fbeb,_0x319fa9,_0x34cf84,_0xade2('0x78'));})[_0xade2('0x2b')](function(_0xe6fa4c){if(_0xe6fa4c){logger[_0xade2('0x37')]('The\x20Call\x20ID\x20is:',_0xe6fa4c['id']);}})['catch'](function(_0x246977){logger[_0xade2('0x2e')]('['+_0x34cf84[_0xade2('0x6c')][_0xade2('0x9b')]()+']',JSON[_0xade2('0xe')](_0x246977));});};
\ No newline at end of file
+var _0x3ac6=['POST','https://www.zohoapis.','moduleCreate','role','first_name','last_name','code','SUCCESS','startCase','Error:\x20','log','CREATE\x20ERROR','GET','moduleSearch','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','uri','Leads','contact','nothing','Owner','administrator','Subject','getString','Description','enduserType','Who_Id','Full_Name','First_Name','Last_Name','What_Id','talktime','utc','answertime','endtime','Call_Duration','YYYY-MM-DDTHH:mm:ss','mm:ss','lastevent','called','Call_Result','Called','complete','Answered','Rejected','abandoned','Abandoned','timeout','Timeout','Call_Start_Time','agentcalledAt','Call_Type','Inbound','Fields','/crm/v2/Calls','Call\x20created!','details','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','/downloads?type=uniqueid&token=','uniqueid','calleridnum','The\x20Call\x20ID\x20is:','user:%s','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','[OUTBOUND]','zoho.eu','com','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','Outbound','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','unmanaged','calleridname','lodash','request-promise','md5','util','./util','moment','bluebird','../../../../config/environment','../../../../config/logger','zoho','defaults','localhost','redis','emit','debug','[HTTP]','stringify','length','string','picklist','type','idField','variableName','toString','customVariable','Variable','name','toLowerCase','indexOf','isNil','access_token','isBefore','expires_in','https://accounts.zoho.eu','https://accounts.zoho.in','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','then','add','catch','error','Failing\x20creating\x20the\x20access_token','stack','info','format','https://www.zohoapis.%s/crm/v2/users','Zoho-oauthtoken\x20','users','email','Agent\x20found!','findIndex','profile','Administrator','user','Using\x20the\x20admin\x20account!','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','data'];(function(_0x313878,_0x32bf43){var _0x32b3e3=function(_0x119938){while(--_0x119938){_0x313878['push'](_0x313878['shift']());}};_0x32b3e3(++_0x32bf43);}(_0x3ac6,0xeb));var _0x63ac=function(_0x568cbc,_0x29f300){_0x568cbc=_0x568cbc-0x0;var _0x1afca5=_0x3ac6[_0x568cbc];return _0x1afca5;};'use strict';var _=require(_0x63ac('0x0'));var rp=require(_0x63ac('0x1'));var md5=require(_0x63ac('0x2'));var util=require(_0x63ac('0x3'));var intUtil=require(_0x63ac('0x4'));var moment=require(_0x63ac('0x5'));var Redis=require('ioredis');var BPromise=require(_0x63ac('0x6'));var config=require(_0x63ac('0x7'));var logger=require(_0x63ac('0x8'))(_0x63ac('0x9'));config['redis']=_[_0x63ac('0xa')](config['redis'],{'host':_0x63ac('0xb'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x63ac('0xc')]));function emit(_0xf46973,_0x1ad039,_0x5c1583){io['to'](_0xf46973)[_0x63ac('0xd')](_0x1ad039,_0x5c1583);}function request(_0x2a0608){logger[_0x63ac('0xe')](_0x63ac('0xf'),JSON[_0x63ac('0x10')](_0x2a0608));return rp(_0x2a0608);}function getCustomFields(_0x4f01bf,_0x282425){var _0x25b2ec={};if(_0x4f01bf[_0x63ac('0x11')]>0x0){_['forEach'](_0x4f01bf,function(_0x2901e9){if(_['includes']([_0x63ac('0x12'),_0x63ac('0x13')],_0x2901e9[_0x63ac('0x14')])&&_0x2901e9[_0x63ac('0x15')]){_0x25b2ec[_0x2901e9[_0x63ac('0x15')]]=_0x2901e9['content']['toString']();}else if(_0x2901e9[_0x63ac('0x14')]==='variable'&&_0x2901e9[_0x63ac('0x16')]&&_0x2901e9[_0x63ac('0x15')]&&_0x282425[_0x2901e9[_0x63ac('0x16')]]){_0x25b2ec[_0x2901e9[_0x63ac('0x15')]]=_0x282425[_0x2901e9[_0x63ac('0x16')]][_0x63ac('0x17')]();}else if(_0x2901e9[_0x63ac('0x14')]===_0x63ac('0x18')&&_0x2901e9[_0x63ac('0x19')]&&_0x2901e9[_0x63ac('0x19')][_0x63ac('0x1a')]&&_0x2901e9[_0x63ac('0x15')]&&_0x282425[_0x2901e9[_0x63ac('0x19')][_0x63ac('0x1a')]['toLowerCase']()]){_0x25b2ec[_0x2901e9[_0x63ac('0x15')]]=_0x282425[_0x2901e9[_0x63ac('0x19')][_0x63ac('0x1a')][_0x63ac('0x1b')]()]['toString']();}});}return _0x25b2ec;}function getName(_0x45581d){if(_0x45581d[_0x63ac('0x1c')]('\x20')>0x0){var _0x3be7c6=_0x45581d['split'](/ (.+)/);if(_0x3be7c6[0x1]){return _0x3be7c6;}}return[_0x45581d,_0x45581d];}var accountsTokens={};function getAccessToken(_0x2ad379){return new Promise(function(_0x51d368,_0x1e9701){if(!_['isNil'](accountsTokens[_0x2ad379['id']])&&!_[_0x63ac('0x1d')](accountsTokens[_0x2ad379['id']][_0x63ac('0x1e')])){if(moment()[_0x63ac('0x1f')](accountsTokens[_0x2ad379['id']][_0x63ac('0x20')])){_0x51d368(accountsTokens[_0x2ad379['id']][_0x63ac('0x1e')]);}}var _0x591457;switch(_0x2ad379['zone']){case'US':_0x591457='https://accounts.zoho.com';break;case'AU':_0x591457='https://accounts.zoho.com.au';break;case'EU':_0x591457=_0x63ac('0x21');break;case'IN':_0x591457=_0x63ac('0x22');break;case'CN':_0x591457='https://accounts.zoho.com.cn';break;default:_0x591457=_0x63ac('0x21');break;}var _0x4f6fff={'method':'POST','uri':_0x591457+_0x63ac('0x23'),'qs':{'refresh_token':_0x2ad379[_0x63ac('0x24')],'client_id':_0x2ad379[_0x63ac('0x25')],'client_secret':_0x2ad379[_0x63ac('0x26')],'grant_type':_0x63ac('0x27')},'json':!![]};return rp(_0x4f6fff)[_0x63ac('0x28')](function(_0xe715f5){accountsTokens[_0x2ad379['id']]={'access_token':_0xe715f5[_0x63ac('0x1e')],'expires_in':moment()[_0x63ac('0x29')](_0xe715f5[_0x63ac('0x20')],'seconds')};_0x51d368(_0xe715f5[_0x63ac('0x1e')]);})[_0x63ac('0x2a')](function(_0x4018cf){logger[_0x63ac('0x2b')](_0x63ac('0x2c'),_0x4018cf[_0x63ac('0x2d')]);_0x1e9701(_0x4018cf);});});}function getUser(_0x3663b2,_0x5be36b,_0x268c7a,_0x34d9d1){logger[_0x63ac('0x2e')]('Search\x20user');return request({'method':'GET','uri':util[_0x63ac('0x2f')](_0x63ac('0x30'),_0x5be36b),'qs':{'type':'ActiveUsers'},'headers':{'Authorization':_0x63ac('0x31')+_0x3663b2},'json':!![]})['then'](function(_0x5caa2f){if(_0x5caa2f[_0x63ac('0x32')]){var _0x336b66=-0x1;if(_['isArrayLikeObject'](_0x5caa2f[_0x63ac('0x32')])){if(!_[_0x63ac('0x1d')](_0x34d9d1)){_0x336b66=_['findIndex'](_0x5caa2f[_0x63ac('0x32')],function(_0x2b320b){return _0x2b320b[_0x63ac('0x33')]===_0x34d9d1;});}if(_0x336b66>=0x0){logger[_0x63ac('0x2e')](_0x63ac('0x34'));}else{logger[_0x63ac('0x2e')]('Using\x20the\x20admin\x20account!');_0x336b66=_[_0x63ac('0x35')](_0x5caa2f['users'],function(_0x5411a3){return _0x5411a3[_0x63ac('0x36')]['name']===_0x63ac('0x37');});}return _0x5caa2f[_0x63ac('0x32')][_0x336b66];}else{if(_0x5caa2f[_0x63ac('0x38')][_0x63ac('0x36')][_0x63ac('0x1a')]===_0x63ac('0x37')){logger[_0x63ac('0x2e')](_0x63ac('0x39'));user=_0x5caa2f[_0x63ac('0x38')];return user;}else{logger[_0x63ac('0x2b')](_0x63ac('0x3a'),JSON['stringify'](_0x5caa2f));throw new Error(_0x63ac('0x3b')+JSON['stringify'](_0x5caa2f));}}}else{logger[_0x63ac('0x2b')](_0x63ac('0x3a'),JSON[_0x63ac('0x10')](_0x5caa2f));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON[_0x63ac('0x10')](_0x5caa2f));}})[_0x63ac('0x2a')](function(_0x3ff352){console['error'](_0x3ff352);});}function getZohoUser(_0x303c41,_0xb5254b){return new BPromise(function(_0x49a8d2,_0x53179b){request(_0x303c41)[_0x63ac('0x28')](function(_0x2b85ce){var _0x469f62=null;if(_0x2b85ce){_0x469f62=_0x2b85ce[_0x63ac('0x3c')][0x0];_0x469f62['enduserType']=_0xb5254b;}_0x49a8d2(_0x469f62);})[_0x63ac('0x2a')](function(_0x3ac804){_0x53179b(_0x3ac804);});});}function createEndUser(_0x229db1,_0x98bf86,_0x470414,_0x12f357,_0x3369c4,_0x599065){var _0x470414=getName(_0x470414);return request({'method':_0x63ac('0x3d'),'uri':_0x63ac('0x3e')+_0x98bf86+'/crm/v2/'+_['startCase'](_0x599065[_0x63ac('0x3f')])+'s','body':{'data':[{'Last_Name':_0x470414[0x1],'First_Name':_0x470414[0x0],'Phone':_0x12f357,'Owner':{'name':!_['isNil'](_0x3369c4[_0x63ac('0x40')][_0x63ac('0x1a')])?_0x3369c4[_0x63ac('0x40')][_0x63ac('0x1a')]:!_[_0x63ac('0x1d')](_0x3369c4['first_name'])?_0x3369c4[_0x63ac('0x41')]+'\x20'+_0x3369c4[_0x63ac('0x42')]:_0x3369c4['last_name'],'id':_0x3369c4['id']}}]},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x229db1},'json':!![]})[_0x63ac('0x28')](function(_0x49359c){if(_0x49359c&&_0x49359c[_0x63ac('0x3c')][0x0][_0x63ac('0x43')]===_0x63ac('0x44')){var _0x350e40=_0x49359c[_0x63ac('0x3c')][0x0]['details'];_0x350e40['enduserType']=_[_0x63ac('0x45')](_0x599065['moduleCreate'])+'s';return _0x350e40;}logger[_0x63ac('0x2b')](_0x63ac('0x3a'),JSON['stringify'](data));throw new Error(_0x63ac('0x46')+JSON[_0x63ac('0x10')](data));})[_0x63ac('0x2a')](function(_0x31a74e){console[_0x63ac('0x47')](_0x63ac('0x48'),_0x31a74e);});}function getEndUser(_0x2cd6ce,_0x334aee,_0x4aaa55,_0x478b26,_0x21b9d8,_0x2d5a95,_0xf5145a){var _0x282e98={'method':_0x63ac('0x49'),'uri':'','headers':{'Authorization':_0x63ac('0x31')+_0x2cd6ce},'json':!![]};switch(_0xf5145a[_0x63ac('0x4a')]){case'contact_lead':_0x282e98['uri']='https://www.zohoapis.'+_0x334aee+_0x63ac('0x4b')+_0x21b9d8+'))';return getZohoUser(_0x282e98,_0x63ac('0x4c'))[_0x63ac('0x28')](function(_0x282a19){if(_0x282a19)return _0x282a19;_0x282e98[_0x63ac('0x4d')]=_0x63ac('0x3e')+_0x334aee+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x21b9d8+'))';return getZohoUser(_0x282e98,_0x63ac('0x4e'))[_0x63ac('0x28')](function(_0x828bab){if(_0x828bab)return _0x828bab;if(_0xf5145a[_0x63ac('0x3f')]!='nothing'){return createEndUser(_0x2cd6ce,_0x334aee,_0x478b26,_0x21b9d8,_0x2d5a95,_0xf5145a);}else{return{};}});});break;case _0x63ac('0x4f'):_0x282e98[_0x63ac('0x4d')]=_0x63ac('0x3e')+_0x334aee+_0x63ac('0x4b')+_0x21b9d8+'))';return getZohoUser(_0x282e98,'Contacts')['then'](function(_0x550e70){if(_0x550e70)return _0x550e70;if(_0xf5145a[_0x63ac('0x3f')]!=_0x63ac('0x50')){return createEndUser(_0x2cd6ce,_0x334aee,_0x478b26,_0x21b9d8,_0x2d5a95,_0xf5145a);}else{return{};}});break;case'lead':_0x282e98[_0x63ac('0x4d')]='https://www.zohoapis.'+_0x334aee+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x21b9d8+'))';return getZohoUser(_0x282e98,'Leads')[_0x63ac('0x28')](function(_0x4a5f98){if(_0x4a5f98)return _0x4a5f98;if(_0xf5145a['moduleCreate']!='nothing'){return createEndUser(_0x2cd6ce,_0x334aee,_0x478b26,_0x21b9d8,_0x2d5a95,_0xf5145a);}else{return{};}});break;}}function getCall(_0x123a2e,_0x4a8174,_0x403f3b,_0xa9d0f8,_0x4bf198,_0x254790,_0x25d6a7,_0x5aec5c){logger[_0x63ac('0x2e')]('Creating\x20new\x20call...');var _0x2656fe={};_0x2656fe[_0x63ac('0x51')]={'name':!_['isNil'](_0xa9d0f8[_0x63ac('0x40')]['name'])&&!_[_0x63ac('0x1d')](_0xa9d0f8[_0x63ac('0x36')][_0x63ac('0x1a')])&&_0xa9d0f8['profile'][_0x63ac('0x1a')]===_0x63ac('0x52')?_0xa9d0f8[_0x63ac('0x40')][_0x63ac('0x1a')]:!_[_0x63ac('0x1d')](_0xa9d0f8[_0x63ac('0x41')])?_0xa9d0f8[_0x63ac('0x41')]+'\x20'+_0xa9d0f8[_0x63ac('0x42')]:_0xa9d0f8[_0x63ac('0x42')],'id':_0xa9d0f8['id']};_0x2656fe[_0x63ac('0x53')]=intUtil[_0x63ac('0x54')](_0x254790['Subjects'],_0x25d6a7,'\x20');_0x2656fe[_0x63ac('0x55')]=intUtil[_0x63ac('0x54')](_0x254790['Descriptions'],_0x25d6a7,'\x0a');if(_0x4bf198[_0x63ac('0x56')]===_0x63ac('0x4c')){_0x2656fe[_0x63ac('0x57')]={'name':!_['isNil'](_0x4bf198[_0x63ac('0x58')])?_0x4bf198['Full_Name']:!_[_0x63ac('0x1d')](_0x4bf198[_0x63ac('0x59')])?_0x4bf198[_0x63ac('0x59')]+'\x20'+_0x4bf198['Last_Name']:_0x4bf198[_0x63ac('0x5a')],'id':_0x4bf198['id']};}if(_0x4bf198[_0x63ac('0x56')]===_0x63ac('0x4e')){_0x2656fe[_0x63ac('0x5b')]={'name':!_['isNil'](_0x4bf198[_0x63ac('0x58')])?_0x4bf198[_0x63ac('0x58')]:!_[_0x63ac('0x1d')](_0x4bf198['First_Name'])?_0x4bf198[_0x63ac('0x59')]+'\x20'+_0x4bf198[_0x63ac('0x5a')]:_0x4bf198[_0x63ac('0x5a')],'id':_0x4bf198['id']};_0x2656fe['$se_module']=_[_0x63ac('0x45')](_0x4bf198[_0x63ac('0x56')]);}if(_0x25d6a7[_0x63ac('0x5c')]){_0x2656fe['Call_Duration']=moment[_0x63ac('0x5d')](parseInt(_0x25d6a7[_0x63ac('0x5c')])*0x3e8)['format']('mm:ss');}else if(_0x25d6a7[_0x63ac('0x5e')]&&_0x25d6a7[_0x63ac('0x5f')]){_0x2656fe[_0x63ac('0x60')]=moment[_0x63ac('0x5d')](moment(_0x25d6a7['endtime'],_0x63ac('0x61'))['diff'](moment(_0x25d6a7['starttime'],'YYYY-MM-DDTHH:mm:ss')))[_0x63ac('0x2f')](_0x63ac('0x62'));}switch(_0x25d6a7[_0x63ac('0x63')]){case _0x63ac('0x64'):_0x2656fe[_0x63ac('0x65')]=_0x63ac('0x66');break;case _0x63ac('0x67'):case'connect':_0x2656fe[_0x63ac('0x65')]=_0x63ac('0x68');break;case'rejected':_0x2656fe[_0x63ac('0x65')]=_0x63ac('0x69');break;case _0x63ac('0x6a'):_0x2656fe[_0x63ac('0x65')]=_0x63ac('0x6b');break;case _0x63ac('0x6c'):_0x2656fe[_0x63ac('0x65')]=_0x63ac('0x6d');default:}_0x2656fe[_0x63ac('0x6e')]=(_0x5aec5c==='outbound'?moment(_0x25d6a7['starttime'])[_0x63ac('0x2f')]('YYYY-MM-DDTHH:mm:ss'):moment(_0x25d6a7[_0x63ac('0x6f')])['format']('YYYY-MM-DDTHH:mm:ss'))||moment()[_0x63ac('0x2f')](_0x63ac('0x61'));_0x2656fe[_0x63ac('0x70')]=_0x5aec5c||_0x63ac('0x71');_0x2656fe=_['merge'](_0x2656fe,getCustomFields(_0x254790[_0x63ac('0x72')],_0x25d6a7));return request({'method':_0x63ac('0x3d'),'uri':_0x63ac('0x3e')+_0x4a8174+_0x63ac('0x73'),'headers':{'Authorization':_0x63ac('0x31')+_0x123a2e},'body':{'data':[_0x2656fe]},'json':!![]})[_0x63ac('0x28')](function(_0x2eb7b8){if(_0x2eb7b8&&_0x2eb7b8[_0x63ac('0x3c')][0x0][_0x63ac('0x43')]===_0x63ac('0x44')){logger[_0x63ac('0x2e')](_0x63ac('0x74'));return{'id':_0x2eb7b8[_0x63ac('0x3c')][0x0][_0x63ac('0x75')]['id']};}})[_0x63ac('0x2a')](function(_0xb0b82d){logger[_0x63ac('0x2e')](_0x63ac('0x76'),_0xb0b82d[_0x63ac('0x2d')]);console['log'](_0x63ac('0x76'),_0xb0b82d);});}exports[_0x63ac('0x77')]=function(_0xd9009a,_0x52639f,_0x29cbd5,_0x3b8a64,_0x47217f,_0x241ea0){var _0xa8d3b0,_0x571c8c,_0x3e8e3e;_0x241ea0[_0x63ac('0x78')]=intUtil[_0x63ac('0x79')](_0x241ea0[_0x63ac('0x78')]);_0x241ea0[_0x63ac('0x7a')]=intUtil[_0x63ac('0x79')](_0x241ea0['serverUrl']);if(_0x47217f&&_0x47217f[_0x63ac('0x7b')]){logger[_0x63ac('0x2e')](_0x63ac('0x7c'),_0x63ac('0x7d'));_0x52639f[_0x63ac('0x7e')]=_0x241ea0['serverUrl']+_0x63ac('0x7f')+_0x52639f['uniqueid']+_0x63ac('0x80')+md5(_0x52639f[_0x63ac('0x81')]);}else{_0x52639f['recordingURL']='';}var _0x1db7f9=_0x241ea0['host']==='zoho.eu'?'eu':'com';return getAccessToken(_0x241ea0)[_0x63ac('0x28')](function(_0x189393){_0x3e8e3e=_0x189393;return getUser(_0x3e8e3e,_0x1db7f9,_0x241ea0,_0x3b8a64[_0x63ac('0x33')]);})[_0x63ac('0x28')](function(_0x45f633){_0xa8d3b0=_0x45f633;logger[_0x63ac('0x2e')]('The\x20User\x20ID\x20is:',_0xa8d3b0['id']);return getEndUser(_0x3e8e3e,_0x1db7f9,_0x241ea0,_0x52639f['calleridname'],_0x52639f[_0x63ac('0x82')],_0xa8d3b0,_0x29cbd5);})[_0x63ac('0x28')](function(_0x46afeb){_0x571c8c=_0x46afeb;return getCall(_0x3e8e3e,_0x1db7f9,_0x241ea0,_0xa8d3b0,_0x571c8c,_0x29cbd5,_0x52639f,'Inbound');})['then'](function(_0x43368f){if(_0x43368f){logger[_0x63ac('0x2e')](_0x63ac('0x83'),_0x43368f['id']);logger['info'](_0x63ac('0x7c'),'Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0x63ac('0x2f')](_0x63ac('0x84'),_0x3b8a64[_0x63ac('0x1a')]),'trigger:browser:url',{'uri':_0x63ac('0x85')+_0x241ea0[_0x63ac('0x78')]+_0x63ac('0x86')+_0x43368f['id']});}})[_0x63ac('0x2a')](function(_0x4a00e6){logger['error'](_0x63ac('0x7c'),JSON[_0x63ac('0x10')](_0x4a00e6));});};exports['outbound']=function(_0x2e3546,_0x476540,_0x539f5e,_0xc4b7ae,_0x5273dd,_0x4a427b,_0x517afc){var _0x17511c,_0x5a1dc0,_0x1bfe77;_0x4a427b[_0x63ac('0x78')]=intUtil[_0x63ac('0x79')](_0x4a427b[_0x63ac('0x78')]);_0x4a427b[_0x63ac('0x7a')]=intUtil[_0x63ac('0x79')](_0x4a427b[_0x63ac('0x7a')]);if(_0x517afc&&_0x517afc[_0x63ac('0x87')]&&_0x517afc[_0x63ac('0x87')]!==_0x63ac('0x88')){logger[_0x63ac('0x2e')](_0x63ac('0x89'),_0x63ac('0x7d'));_0x476540['recordingURL']=_0x4a427b['serverUrl']+'/api/voice/recordings/'+_0x476540[_0x63ac('0x81')]+_0x63ac('0x80')+md5(_0x476540[_0x63ac('0x81')]);}var _0x2ce6a5=_0x4a427b[_0x63ac('0x78')]===_0x63ac('0x8a')?'eu':_0x63ac('0x8b');return getAccessToken(_0x4a427b)['then'](function(_0x3c8f15){_0x1bfe77=_0x3c8f15;return getUser(_0x1bfe77,_0x2ce6a5,_0x4a427b,_0xc4b7ae[_0x63ac('0x33')]);})[_0x63ac('0x28')](function(_0x1ed219){_0x17511c=_0x1ed219;logger[_0x63ac('0x2e')](_0x63ac('0x8c'),_0x17511c['id']);return getEndUser(_0x1bfe77,_0x2ce6a5,_0x4a427b,_0x476540[_0x63ac('0x8d')],_0x476540[_0x63ac('0x8e')],_0x17511c,_0x539f5e);})[_0x63ac('0x28')](function(_0x3aa840){_0x5a1dc0=_0x3aa840;return getCall(_0x1bfe77,_0x2ce6a5,_0x4a427b,_0x17511c,_0x5a1dc0,_0x539f5e,_0x476540,_0x63ac('0x8f'));})['then'](function(_0x36be89){if(_0x36be89){logger[_0x63ac('0x2e')](_0x63ac('0x83'),_0x36be89['id']);logger[_0x63ac('0x2e')](_0x63ac('0x89'),_0x63ac('0x90'));emit(util['format']('user:%s',_0xc4b7ae[_0x63ac('0x1a')]),_0x63ac('0x91'),{'uri':_0x63ac('0x85')+_0x4a427b['host']+_0x63ac('0x86')+_0x36be89['id']});}})['catch'](function(_0x12e28e){logger[_0x63ac('0x2b')](_0x63ac('0x89'),JSON[_0x63ac('0x10')](_0x12e28e));});};exports[_0x63ac('0x92')]=function(_0x1cdd37,_0x10b206,_0x4ab76d,_0x1322ff,_0x41779e,_0x45c1c3){var _0x54af10,_0xff33f3,_0x493bf6;_0x45c1c3['host']=intUtil[_0x63ac('0x79')](_0x45c1c3['host']);_0x45c1c3[_0x63ac('0x7a')]=intUtil['stripTrailingSlash'](_0x45c1c3[_0x63ac('0x7a')]);if(_0x41779e&&_0x41779e[_0x63ac('0x7b')]){logger['info']('['+_0x10b206[_0x63ac('0x63')]['toUpperCase']()+']','Recording\x20is\x20enabled!');_0x10b206[_0x63ac('0x7e')]=_0x45c1c3[_0x63ac('0x7a')]+_0x63ac('0x7f')+_0x10b206['uniqueid']+'/downloads?type=uniqueid&token='+md5(_0x10b206[_0x63ac('0x81')]);}else{_0x10b206[_0x63ac('0x7e')]='';}var _0x2fb7a7=_0x45c1c3['host']===_0x63ac('0x8a')?'eu':'com';return getAccessToken(_0x45c1c3)[_0x63ac('0x28')](function(_0x1c05d5){_0x493bf6=_0x1c05d5;return getUser(_0x493bf6,_0x2fb7a7,_0x45c1c3);})[_0x63ac('0x28')](function(_0x3c5231){_0x54af10=_0x3c5231;logger[_0x63ac('0x2e')](_0x63ac('0x8c'),_0x54af10['id']);return getEndUser(_0x493bf6,_0x2fb7a7,_0x45c1c3,_0x10b206[_0x63ac('0x93')],_0x10b206[_0x63ac('0x82')],_0x54af10,_0x4ab76d);})[_0x63ac('0x28')](function(_0x5c8f54){_0xff33f3=_0x5c8f54;return getCall(_0x493bf6,_0x2fb7a7,_0x45c1c3,_0x54af10,_0xff33f3,_0x4ab76d,_0x10b206,_0x63ac('0x71'));})[_0x63ac('0x28')](function(_0x288e14){if(_0x288e14){logger[_0x63ac('0x2e')](_0x63ac('0x83'),_0x288e14['id']);}})['catch'](function(_0x1e81c5){logger[_0x63ac('0x2b')]('['+_0x10b206[_0x63ac('0x63')]['toUpperCase']()+']',JSON[_0x63ac('0x10')](_0x1e81c5));});};
\ No newline at end of file