80dee1d53188ff6dfb2ae99f5c73e5ee0f061948
[motion2.git] / server / services / ami / trigger / integration / zoho.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xe630=['Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','[OUTBOUND]','The\x20User\x20ID\x20is:','destcalleridnum','Outbound','trigger:browser:url','toUpperCase','com','Inbound','The\x20Call\x20ID\x20is:','lodash','request-promise','util','./util','moment','bluebird','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','emit','debug','[HTTP]','stringify','forEach','includes','string','picklist','type','idField','content','variable','variableName','Variable','name','toLowerCase','toString','split','isNil','isBefore','expires_in','access_token','zone','https://accounts.zoho.eu','https://accounts.zoho.in','https://accounts.zoho.com.cn','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','then','add','seconds','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','GET','format','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','users','isArrayLikeObject','findIndex','email','Agent\x20found!','Using\x20the\x20admin\x20account!','Administrator','user','profile','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','enduserType','POST','https://www.zohoapis.','/crm/v2/','startCase','moduleCreate','role','first_name','last_name','data','code','SUCCESS','details','CREATE\x20ERROR','moduleSearch','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','Leads','nothing','contact','lead','/crm/v2/Leads/search?criteria=((Phone:equals:','Creating\x20new\x20call...','Owner','administrator','Subject','getString','Subjects','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','utc','answertime','YYYY-MM-DDTHH:mm:ss','diff','starttime','mm:ss','lastevent','Call_Result','Called','rejected','Rejected','abandoned','Abandoned','timeout','Timeout','Call_Start_Time','outbound','agentcalledAt','Call_Type','merge','/crm/v2/Calls','Call\x20created!','err','stripTrailingSlash','host','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','calleridname','calleridnum','[QUEUE]'];(function(_0x11b1f9,_0x4888ef){var _0x3e4340=function(_0x17526c){while(--_0x17526c){_0x11b1f9['push'](_0x11b1f9['shift']());}};_0x3e4340(++_0x4888ef);}(_0xe630,0x149));var _0x0e63=function(_0x25e214,_0x42a13e){_0x25e214=_0x25e214-0x0;var _0x48ca06=_0xe630[_0x25e214];return _0x48ca06;};'use strict';var _=require(_0x0e63('0x0'));var rp=require(_0x0e63('0x1'));var md5=require('md5');var util=require(_0x0e63('0x2'));var intUtil=require(_0x0e63('0x3'));var moment=require(_0x0e63('0x4'));var Redis=require('ioredis');var BPromise=require(_0x0e63('0x5'));var config=require(_0x0e63('0x6'));var logger=require(_0x0e63('0x7'))('zoho');config[_0x0e63('0x8')]=_[_0x0e63('0x9')](config[_0x0e63('0x8')],{'host':_0x0e63('0xa'),'port':0x18eb});var io=require(_0x0e63('0xb'))(new Redis(config['redis']));function emit(_0x35e304,_0x2db49a,_0xf04128){io['to'](_0x35e304)[_0x0e63('0xc')](_0x2db49a,_0xf04128);}function request(_0x5efeea){logger[_0x0e63('0xd')](_0x0e63('0xe'),JSON[_0x0e63('0xf')](_0x5efeea));return rp(_0x5efeea);}function getCustomFields(_0x3307f3,_0x329d30){var _0x407033={};if(_0x3307f3['length']>0x0){_[_0x0e63('0x10')](_0x3307f3,function(_0x35ded0){if(_[_0x0e63('0x11')]([_0x0e63('0x12'),_0x0e63('0x13')],_0x35ded0[_0x0e63('0x14')])&&_0x35ded0[_0x0e63('0x15')]){_0x407033[_0x35ded0[_0x0e63('0x15')]]=_0x35ded0[_0x0e63('0x16')]['toString']();}else if(_0x35ded0['type']===_0x0e63('0x17')&&_0x35ded0[_0x0e63('0x18')]&&_0x35ded0[_0x0e63('0x15')]&&_0x329d30[_0x35ded0[_0x0e63('0x18')]]){_0x407033[_0x35ded0[_0x0e63('0x15')]]=_0x329d30[_0x35ded0[_0x0e63('0x18')]]['toString']();}else if(_0x35ded0['type']==='customVariable'&&_0x35ded0['Variable']&&_0x35ded0[_0x0e63('0x19')][_0x0e63('0x1a')]&&_0x35ded0[_0x0e63('0x15')]&&_0x329d30[_0x35ded0['Variable']['name'][_0x0e63('0x1b')]()]){_0x407033[_0x35ded0['idField']]=_0x329d30[_0x35ded0['Variable'][_0x0e63('0x1a')]['toLowerCase']()][_0x0e63('0x1c')]();}});}return _0x407033;}function getName(_0x44e74a){if(_0x44e74a['indexOf']('\x20')>0x0){var _0x51263d=_0x44e74a[_0x0e63('0x1d')](/ (.+)/);if(_0x51263d[0x1]){return _0x51263d;}}return[_0x44e74a,_0x44e74a];}var accountsTokens={};function getAccessToken(_0x1dfd60){return new Promise(function(_0x16f166,_0xb0cc2){if(!_[_0x0e63('0x1e')](accountsTokens[_0x1dfd60['id']])&&!_[_0x0e63('0x1e')](accountsTokens[_0x1dfd60['id']]['access_token'])){if(moment()[_0x0e63('0x1f')](accountsTokens[_0x1dfd60['id']][_0x0e63('0x20')])){_0x16f166(accountsTokens[_0x1dfd60['id']][_0x0e63('0x21')]);}}var _0x3fe4b1;switch(_0x1dfd60[_0x0e63('0x22')]){case'US':_0x3fe4b1='https://accounts.zoho.com';break;case'AU':_0x3fe4b1='https://accounts.zoho.com.au';break;case'EU':_0x3fe4b1=_0x0e63('0x23');break;case'IN':_0x3fe4b1=_0x0e63('0x24');break;case'CN':_0x3fe4b1=_0x0e63('0x25');break;default:_0x3fe4b1=_0x0e63('0x23');break;}var _0x412500={'method':'POST','uri':_0x3fe4b1+_0x0e63('0x26'),'qs':{'refresh_token':_0x1dfd60[_0x0e63('0x27')],'client_id':_0x1dfd60[_0x0e63('0x28')],'client_secret':_0x1dfd60[_0x0e63('0x29')],'grant_type':_0x0e63('0x2a')},'json':!![]};return rp(_0x412500)[_0x0e63('0x2b')](function(_0x686f37){accountsTokens[_0x1dfd60['id']]={'access_token':_0x686f37[_0x0e63('0x21')],'expires_in':moment()[_0x0e63('0x2c')](_0x686f37[_0x0e63('0x20')],_0x0e63('0x2d'))};_0x16f166(_0x686f37['access_token']);})['catch'](function(_0x595753){logger[_0x0e63('0x2e')](_0x0e63('0x2f'),_0x595753[_0x0e63('0x30')]);_0xb0cc2(_0x595753);});});}function getUser(_0x188326,_0x2ea651,_0x816b25,_0x3ce92c){logger[_0x0e63('0x31')](_0x0e63('0x32'));return request({'method':_0x0e63('0x33'),'uri':util[_0x0e63('0x34')](_0x0e63('0x35'),_0x2ea651),'qs':{'type':_0x0e63('0x36')},'headers':{'Authorization':_0x0e63('0x37')+_0x188326},'json':!![]})[_0x0e63('0x2b')](function(_0xddb682){if(_0xddb682[_0x0e63('0x38')]){var _0x5e34ae=-0x1;if(_[_0x0e63('0x39')](_0xddb682[_0x0e63('0x38')])){if(!_['isNil'](_0x3ce92c)){_0x5e34ae=_[_0x0e63('0x3a')](_0xddb682[_0x0e63('0x38')],function(_0x144759){return _0x144759[_0x0e63('0x3b')]===_0x3ce92c;});}if(_0x5e34ae>=0x0){logger['info'](_0x0e63('0x3c'));}else{logger[_0x0e63('0x31')](_0x0e63('0x3d'));_0x5e34ae=_[_0x0e63('0x3a')](_0xddb682[_0x0e63('0x38')],function(_0x2161ce){return _0x2161ce['profile'][_0x0e63('0x1a')]===_0x0e63('0x3e');});}return _0xddb682[_0x0e63('0x38')][_0x5e34ae];}else{if(_0xddb682[_0x0e63('0x3f')][_0x0e63('0x40')][_0x0e63('0x1a')]==='Administrator'){logger[_0x0e63('0x31')](_0x0e63('0x3d'));user=_0xddb682[_0x0e63('0x3f')];return user;}else{logger[_0x0e63('0x2e')](_0x0e63('0x41'),JSON[_0x0e63('0xf')](_0xddb682));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON[_0x0e63('0xf')](_0xddb682));}}}else{logger['error'](_0x0e63('0x41'),JSON[_0x0e63('0xf')](_0xddb682));throw new Error(_0x0e63('0x42')+JSON[_0x0e63('0xf')](_0xddb682));}})[_0x0e63('0x43')](function(_0x53d96b){console['error'](_0x53d96b);});}function getZohoUser(_0x5e9f0f,_0x162fe3){return new BPromise(function(_0x150b45,_0x5aebcc){request(_0x5e9f0f)[_0x0e63('0x2b')](function(_0x2fddf7){var _0x4b02aa=null;if(_0x2fddf7){_0x4b02aa=_0x2fddf7['data'][0x0];_0x4b02aa[_0x0e63('0x44')]=_0x162fe3;}_0x150b45(_0x4b02aa);})['catch'](function(_0x26e386){_0x5aebcc(_0x26e386);});});}function createEndUser(_0x5486a5,_0xeb2a78,_0x4813df,_0x4a822b,_0x198b04,_0x19b608){var _0x4813df=getName(_0x4813df);return request({'method':_0x0e63('0x45'),'uri':_0x0e63('0x46')+_0xeb2a78+_0x0e63('0x47')+_[_0x0e63('0x48')](_0x19b608[_0x0e63('0x49')])+'s','body':{'data':[{'Last_Name':_0x4813df[0x1],'First_Name':_0x4813df[0x0],'Phone':_0x4a822b,'Owner':{'name':!_[_0x0e63('0x1e')](_0x198b04['role']['name'])?_0x198b04[_0x0e63('0x4a')]['name']:!_[_0x0e63('0x1e')](_0x198b04[_0x0e63('0x4b')])?_0x198b04[_0x0e63('0x4b')]+'\x20'+_0x198b04[_0x0e63('0x4c')]:_0x198b04['last_name'],'id':_0x198b04['id']}}]},'headers':{'Authorization':_0x0e63('0x37')+_0x5486a5},'json':!![]})[_0x0e63('0x2b')](function(_0xbd0a64){if(_0xbd0a64&&_0xbd0a64[_0x0e63('0x4d')][0x0][_0x0e63('0x4e')]===_0x0e63('0x4f')){var _0x32d6a5=_0xbd0a64[_0x0e63('0x4d')][0x0][_0x0e63('0x50')];_0x32d6a5[_0x0e63('0x44')]=_['startCase'](_0x19b608[_0x0e63('0x49')])+'s';return _0x32d6a5;}logger[_0x0e63('0x2e')](_0x0e63('0x41'),JSON[_0x0e63('0xf')](data));throw new Error('Error:\x20'+JSON[_0x0e63('0xf')](data));})[_0x0e63('0x43')](function(_0x847a34){console['log'](_0x0e63('0x51'),_0x847a34);});}function getEndUser(_0x38d2b8,_0x187474,_0x5c7243,_0x8314b1,_0x110917,_0x124acb,_0x17bdc9){var _0x5e6db2={'method':_0x0e63('0x33'),'uri':'','headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x38d2b8},'json':!![]};switch(_0x17bdc9[_0x0e63('0x52')]){case _0x0e63('0x53'):_0x5e6db2[_0x0e63('0x54')]=_0x0e63('0x46')+_0x187474+_0x0e63('0x55')+_0x110917+'))';return getZohoUser(_0x5e6db2,_0x0e63('0x56'))[_0x0e63('0x2b')](function(_0x1f36a1){if(_0x1f36a1)return _0x1f36a1;_0x5e6db2['uri']='https://www.zohoapis.'+_0x187474+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x110917+'))';return getZohoUser(_0x5e6db2,_0x0e63('0x57'))[_0x0e63('0x2b')](function(_0xe3f5b7){if(_0xe3f5b7)return _0xe3f5b7;if(_0x17bdc9['moduleCreate']!=_0x0e63('0x58')){return createEndUser(_0x38d2b8,_0x187474,_0x8314b1,_0x110917,_0x124acb,_0x17bdc9);}else{return{};}});});break;case _0x0e63('0x59'):_0x5e6db2[_0x0e63('0x54')]=_0x0e63('0x46')+_0x187474+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x110917+'))';return getZohoUser(_0x5e6db2,'Contacts')[_0x0e63('0x2b')](function(_0x39b246){if(_0x39b246)return _0x39b246;if(_0x17bdc9['moduleCreate']!=_0x0e63('0x58')){return createEndUser(_0x38d2b8,_0x187474,_0x8314b1,_0x110917,_0x124acb,_0x17bdc9);}else{return{};}});break;case _0x0e63('0x5a'):_0x5e6db2[_0x0e63('0x54')]='https://www.zohoapis.'+_0x187474+_0x0e63('0x5b')+_0x110917+'))';return getZohoUser(_0x5e6db2,_0x0e63('0x57'))[_0x0e63('0x2b')](function(_0x54b482){if(_0x54b482)return _0x54b482;if(_0x17bdc9[_0x0e63('0x49')]!=_0x0e63('0x58')){return createEndUser(_0x38d2b8,_0x187474,_0x8314b1,_0x110917,_0x124acb,_0x17bdc9);}else{return{};}});break;}}function getCall(_0x452d76,_0x43389e,_0x1b0c5c,_0x443c44,_0x7f4f0b,_0x118418,_0x39ba10,_0x1978b1){logger['info'](_0x0e63('0x5c'));var _0x1c4b58={};_0x1c4b58[_0x0e63('0x5d')]={'name':!_[_0x0e63('0x1e')](_0x443c44[_0x0e63('0x4a')][_0x0e63('0x1a')])&&!_[_0x0e63('0x1e')](_0x443c44[_0x0e63('0x40')]['name'])&&_0x443c44[_0x0e63('0x40')][_0x0e63('0x1a')]===_0x0e63('0x5e')?_0x443c44[_0x0e63('0x4a')][_0x0e63('0x1a')]:!_[_0x0e63('0x1e')](_0x443c44[_0x0e63('0x4b')])?_0x443c44[_0x0e63('0x4b')]+'\x20'+_0x443c44[_0x0e63('0x4c')]:_0x443c44[_0x0e63('0x4c')],'id':_0x443c44['id']};_0x1c4b58[_0x0e63('0x5f')]=intUtil[_0x0e63('0x60')](_0x118418[_0x0e63('0x61')],_0x39ba10,'\x20');_0x1c4b58['Description']=intUtil[_0x0e63('0x60')](_0x118418[_0x0e63('0x62')],_0x39ba10,'\x0a');if(_0x7f4f0b['enduserType']===_0x0e63('0x56')){_0x1c4b58[_0x0e63('0x63')]={'name':!_['isNil'](_0x7f4f0b['Full_Name'])?_0x7f4f0b[_0x0e63('0x64')]:!_[_0x0e63('0x1e')](_0x7f4f0b[_0x0e63('0x65')])?_0x7f4f0b[_0x0e63('0x65')]+'\x20'+_0x7f4f0b[_0x0e63('0x66')]:_0x7f4f0b[_0x0e63('0x66')],'id':_0x7f4f0b['id']};}if(_0x7f4f0b[_0x0e63('0x44')]===_0x0e63('0x57')){_0x1c4b58[_0x0e63('0x67')]={'name':!_[_0x0e63('0x1e')](_0x7f4f0b[_0x0e63('0x64')])?_0x7f4f0b[_0x0e63('0x64')]:!_[_0x0e63('0x1e')](_0x7f4f0b[_0x0e63('0x65')])?_0x7f4f0b[_0x0e63('0x65')]+'\x20'+_0x7f4f0b[_0x0e63('0x66')]:_0x7f4f0b[_0x0e63('0x66')],'id':_0x7f4f0b['id']};_0x1c4b58[_0x0e63('0x68')]=_[_0x0e63('0x48')](_0x7f4f0b[_0x0e63('0x44')]);}if(_0x39ba10[_0x0e63('0x69')]){_0x1c4b58[_0x0e63('0x6a')]=moment[_0x0e63('0x6b')](parseInt(_0x39ba10[_0x0e63('0x69')])*0x3e8)[_0x0e63('0x34')]('mm:ss');}else if(_0x39ba10[_0x0e63('0x6c')]&&_0x39ba10['endtime']){_0x1c4b58[_0x0e63('0x6a')]=moment['utc'](moment(_0x39ba10['endtime'],_0x0e63('0x6d'))[_0x0e63('0x6e')](moment(_0x39ba10[_0x0e63('0x6f')],'YYYY-MM-DDTHH:mm:ss')))[_0x0e63('0x34')](_0x0e63('0x70'));}switch(_0x39ba10[_0x0e63('0x71')]){case'called':_0x1c4b58[_0x0e63('0x72')]=_0x0e63('0x73');break;case'complete':case'connect':_0x1c4b58[_0x0e63('0x72')]='Answered';break;case _0x0e63('0x74'):_0x1c4b58['Call_Result']=_0x0e63('0x75');break;case _0x0e63('0x76'):_0x1c4b58[_0x0e63('0x72')]=_0x0e63('0x77');break;case _0x0e63('0x78'):_0x1c4b58['Call_Result']=_0x0e63('0x79');default:}_0x1c4b58[_0x0e63('0x7a')]=(_0x1978b1===_0x0e63('0x7b')?moment(_0x39ba10['starttime'])[_0x0e63('0x34')](_0x0e63('0x6d')):moment(_0x39ba10[_0x0e63('0x7c')])[_0x0e63('0x34')]('YYYY-MM-DDTHH:mm:ss'))||moment()[_0x0e63('0x34')](_0x0e63('0x6d'));_0x1c4b58[_0x0e63('0x7d')]=_0x1978b1||'Inbound';_0x1c4b58=_[_0x0e63('0x7e')](_0x1c4b58,getCustomFields(_0x118418['Fields'],_0x39ba10));return request({'method':'POST','uri':_0x0e63('0x46')+_0x43389e+_0x0e63('0x7f'),'headers':{'Authorization':_0x0e63('0x37')+_0x452d76},'body':{'data':[_0x1c4b58]},'json':!![]})['then'](function(_0x56b9f8){if(_0x56b9f8&&_0x56b9f8[_0x0e63('0x4d')][0x0][_0x0e63('0x4e')]===_0x0e63('0x4f')){logger[_0x0e63('0x31')](_0x0e63('0x80'));return{'id':_0x56b9f8[_0x0e63('0x4d')][0x0]['details']['id']};}})['catch'](function(_0x305e4d){logger['info'](_0x0e63('0x81'),_0x305e4d['stack']);console['log']('err',_0x305e4d);});}exports['queue']=function(_0x248c97,_0x2153a2,_0x2bbeed,_0x3b641f,_0x170c5e,_0x343be1){var _0x3d42c8,_0x2af0a2,_0x118e71;_0x343be1['host']=intUtil[_0x0e63('0x82')](_0x343be1[_0x0e63('0x83')]);_0x343be1[_0x0e63('0x84')]=intUtil[_0x0e63('0x82')](_0x343be1[_0x0e63('0x84')]);if(_0x170c5e&&_0x170c5e[_0x0e63('0x85')]){logger[_0x0e63('0x31')]('[QUEUE]',_0x0e63('0x86'));_0x2153a2[_0x0e63('0x87')]=_0x343be1[_0x0e63('0x84')]+'/api/voice/recordings/'+_0x2153a2[_0x0e63('0x88')]+_0x0e63('0x89')+md5(_0x2153a2['uniqueid']);}else{_0x2153a2[_0x0e63('0x87')]='';}var _0x106c46=_0x343be1[_0x0e63('0x83')]===_0x0e63('0x8a')?'eu':'com';return getAccessToken(_0x343be1)[_0x0e63('0x2b')](function(_0x2c0786){_0x118e71=_0x2c0786;return getUser(_0x118e71,_0x106c46,_0x343be1,_0x3b641f['email']);})[_0x0e63('0x2b')](function(_0x18ca2c){_0x3d42c8=_0x18ca2c;logger[_0x0e63('0x31')]('The\x20User\x20ID\x20is:',_0x3d42c8['id']);return getEndUser(_0x118e71,_0x106c46,_0x343be1,_0x2153a2[_0x0e63('0x8b')],_0x2153a2[_0x0e63('0x8c')],_0x3d42c8,_0x2bbeed);})['then'](function(_0x291e49){_0x2af0a2=_0x291e49;return getCall(_0x118e71,_0x106c46,_0x343be1,_0x3d42c8,_0x2af0a2,_0x2bbeed,_0x2153a2,'Inbound');})['then'](function(_0x4933e0){if(_0x4933e0){logger['info']('The\x20Call\x20ID\x20is:',_0x4933e0['id']);logger[_0x0e63('0x31')](_0x0e63('0x8d'),_0x0e63('0x8e'));emit(util[_0x0e63('0x34')](_0x0e63('0x8f'),_0x3b641f[_0x0e63('0x1a')]),'trigger:browser:url',{'uri':_0x0e63('0x90')+_0x343be1['host']+_0x0e63('0x91')+_0x4933e0['id']});}})[_0x0e63('0x43')](function(_0x1ca441){logger['error'](_0x0e63('0x8d'),JSON['stringify'](_0x1ca441));});};exports[_0x0e63('0x7b')]=function(_0x3e6835,_0x3bcd3d,_0x521b11,_0x411d36,_0x4d70a0,_0x5021fa,_0x1bb055){var _0x25332d,_0x5c5421,_0x5bcce7;_0x5021fa[_0x0e63('0x83')]=intUtil[_0x0e63('0x82')](_0x5021fa[_0x0e63('0x83')]);_0x5021fa['serverUrl']=intUtil[_0x0e63('0x82')](_0x5021fa[_0x0e63('0x84')]);if(_0x1bb055&&_0x1bb055[_0x0e63('0x92')]&&_0x1bb055['recordingFormat']!==_0x0e63('0x93')){logger['info'](_0x0e63('0x94'),_0x0e63('0x86'));_0x3bcd3d[_0x0e63('0x87')]=_0x5021fa[_0x0e63('0x84')]+'/api/voice/recordings/'+_0x3bcd3d[_0x0e63('0x88')]+_0x0e63('0x89')+md5(_0x3bcd3d[_0x0e63('0x88')]);}var _0x120ea4=_0x5021fa[_0x0e63('0x83')]===_0x0e63('0x8a')?'eu':'com';return getAccessToken(_0x5021fa)[_0x0e63('0x2b')](function(_0x2ca6a8){_0x5bcce7=_0x2ca6a8;return getUser(_0x5bcce7,_0x120ea4,_0x5021fa,_0x411d36['email']);})[_0x0e63('0x2b')](function(_0x50c5a5){_0x25332d=_0x50c5a5;logger[_0x0e63('0x31')](_0x0e63('0x95'),_0x25332d['id']);return getEndUser(_0x5bcce7,_0x120ea4,_0x5021fa,_0x3bcd3d['destcalleridname'],_0x3bcd3d[_0x0e63('0x96')],_0x25332d,_0x521b11);})[_0x0e63('0x2b')](function(_0x4410d3){_0x5c5421=_0x4410d3;return getCall(_0x5bcce7,_0x120ea4,_0x5021fa,_0x25332d,_0x5c5421,_0x521b11,_0x3bcd3d,_0x0e63('0x97'));})[_0x0e63('0x2b')](function(_0x33ead9){if(_0x33ead9){logger[_0x0e63('0x31')]('The\x20Call\x20ID\x20is:',_0x33ead9['id']);logger[_0x0e63('0x31')](_0x0e63('0x94'),_0x0e63('0x8e'));emit(util[_0x0e63('0x34')](_0x0e63('0x8f'),_0x411d36[_0x0e63('0x1a')]),_0x0e63('0x98'),{'uri':_0x0e63('0x90')+_0x5021fa['host']+_0x0e63('0x91')+_0x33ead9['id']});}})['catch'](function(_0x4abb27){logger['error'](_0x0e63('0x94'),JSON[_0x0e63('0xf')](_0x4abb27));});};exports['unmanaged']=function(_0x4333d8,_0x274a00,_0x11ce89,_0x3833d6,_0x4add8c,_0x25c868){var _0xe8bc58,_0x478995,_0x3a91ea;_0x25c868[_0x0e63('0x83')]=intUtil[_0x0e63('0x82')](_0x25c868[_0x0e63('0x83')]);_0x25c868[_0x0e63('0x84')]=intUtil['stripTrailingSlash'](_0x25c868[_0x0e63('0x84')]);if(_0x4add8c&&_0x4add8c[_0x0e63('0x85')]){logger[_0x0e63('0x31')]('['+_0x274a00[_0x0e63('0x71')][_0x0e63('0x99')]()+']',_0x0e63('0x86'));_0x274a00[_0x0e63('0x87')]=_0x25c868['serverUrl']+'/api/voice/recordings/'+_0x274a00[_0x0e63('0x88')]+_0x0e63('0x89')+md5(_0x274a00[_0x0e63('0x88')]);}else{_0x274a00[_0x0e63('0x87')]='';}var _0x152c2d=_0x25c868[_0x0e63('0x83')]===_0x0e63('0x8a')?'eu':_0x0e63('0x9a');return getAccessToken(_0x25c868)[_0x0e63('0x2b')](function(_0x18ca1e){_0x3a91ea=_0x18ca1e;return getUser(_0x3a91ea,_0x152c2d,_0x25c868);})[_0x0e63('0x2b')](function(_0x1fdc54){_0xe8bc58=_0x1fdc54;logger[_0x0e63('0x31')](_0x0e63('0x95'),_0xe8bc58['id']);return getEndUser(_0x3a91ea,_0x152c2d,_0x25c868,_0x274a00['calleridname'],_0x274a00['calleridnum'],_0xe8bc58,_0x11ce89);})[_0x0e63('0x2b')](function(_0x3e61b5){_0x478995=_0x3e61b5;return getCall(_0x3a91ea,_0x152c2d,_0x25c868,_0xe8bc58,_0x478995,_0x11ce89,_0x274a00,_0x0e63('0x9b'));})[_0x0e63('0x2b')](function(_0x540437){if(_0x540437){logger[_0x0e63('0x31')](_0x0e63('0x9c'),_0x540437['id']);}})[_0x0e63('0x43')](function(_0x231fe0){logger[_0x0e63('0x2e')]('['+_0x274a00[_0x0e63('0x71')][_0x0e63('0x99')]()+']',JSON[_0x0e63('0xf')](_0x231fe0));});};