Built motion from commit 7158bc59.|2.5.42
[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 _0x5af7=['destcalleridnum','Outbound','user:%s','/crm/EntityInfo.do?module=Calls&id=','unmanaged','lastevent','toUpperCase','calleridname','lodash','md5','moment','bluebird','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','emit','stringify','forEach','includes','string','picklist','type','idField','content','toString','variableName','customVariable','Variable','name','indexOf','split','isNil','access_token','isBefore','expires_in','https://accounts.zoho.com.au','https://accounts.zoho.eu','POST','refreshToken','clientId','clientSecret','refresh_token','then','add','catch','error','Failing\x20creating\x20the\x20access_token','stack','GET','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','users','findIndex','email','info','Agent\x20found!','Using\x20the\x20admin\x20account!','user','Administrator','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','The\x20failing\x20result\x20is','data','https://www.zohoapis.','/crm/v2/','startCase','moduleCreate','role','first_name','last_name','Zoho-oauthtoken\x20','code','SUCCESS','enduserType','log','moduleSearch','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','lead','Creating\x20new\x20call...','profile','administrator','Subject','getString','Subjects','Description','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','What_Id','talktime','Call_Duration','utc','format','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','starttime','called','Called','complete','connect','Answered','Rejected','abandoned','Call_Result','Abandoned','timeout','Timeout','Call_Start_Time','Inbound','Fields','/crm/v2/Calls','Call\x20created!','details','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','uniqueid','/downloads?type=uniqueid&token=','com','calleridnum','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','https://crm.','[QUEUE]','outbound','none','[OUTBOUND]','zoho.eu','The\x20User\x20ID\x20is:','destcalleridname'];(function(_0x45df63,_0x21d54a){var _0x5904a1=function(_0x3bf2f9){while(--_0x3bf2f9){_0x45df63['push'](_0x45df63['shift']());}};_0x5904a1(++_0x21d54a);}(_0x5af7,0x9c));var _0x75af=function(_0x257b0e,_0x563d7e){_0x257b0e=_0x257b0e-0x0;var _0x27ac2a=_0x5af7[_0x257b0e];return _0x27ac2a;};'use strict';var _=require(_0x75af('0x0'));var rp=require('request-promise');var md5=require(_0x75af('0x1'));var util=require('util');var intUtil=require('./util');var moment=require(_0x75af('0x2'));var Redis=require('ioredis');var BPromise=require(_0x75af('0x3'));var config=require(_0x75af('0x4'));var logger=require(_0x75af('0x5'))('zoho');config[_0x75af('0x6')]=_[_0x75af('0x7')](config[_0x75af('0x6')],{'host':_0x75af('0x8'),'port':0x18eb});var io=require(_0x75af('0x9'))(new Redis(config[_0x75af('0x6')]));function emit(_0x2b0c9d,_0x239700,_0x4ee7de){io['to'](_0x2b0c9d)[_0x75af('0xa')](_0x239700,_0x4ee7de);}function request(_0x58bf3e){logger['debug']('[HTTP]',JSON[_0x75af('0xb')](_0x58bf3e));return rp(_0x58bf3e);}function getCustomFields(_0x4d0609,_0x4817dd){var _0x4a1e11={};if(_0x4d0609['length']>0x0){_[_0x75af('0xc')](_0x4d0609,function(_0x5c70d7){if(_[_0x75af('0xd')]([_0x75af('0xe'),_0x75af('0xf')],_0x5c70d7[_0x75af('0x10')])&&_0x5c70d7[_0x75af('0x11')]){_0x4a1e11[_0x5c70d7['idField']]=_0x5c70d7[_0x75af('0x12')][_0x75af('0x13')]();}else if(_0x5c70d7[_0x75af('0x10')]==='variable'&&_0x5c70d7[_0x75af('0x14')]&&_0x5c70d7[_0x75af('0x11')]&&_0x4817dd[_0x5c70d7[_0x75af('0x14')]]){_0x4a1e11[_0x5c70d7[_0x75af('0x11')]]=_0x4817dd[_0x5c70d7[_0x75af('0x14')]]['toString']();}else if(_0x5c70d7[_0x75af('0x10')]===_0x75af('0x15')&&_0x5c70d7['Variable']&&_0x5c70d7[_0x75af('0x16')][_0x75af('0x17')]&&_0x5c70d7[_0x75af('0x11')]&&_0x4817dd[_0x5c70d7[_0x75af('0x16')][_0x75af('0x17')]['toLowerCase']()]){_0x4a1e11[_0x5c70d7['idField']]=_0x4817dd[_0x5c70d7[_0x75af('0x16')][_0x75af('0x17')]['toLowerCase']()][_0x75af('0x13')]();}});}return _0x4a1e11;}function getName(_0x1bb986){if(_0x1bb986[_0x75af('0x18')]('\x20')>0x0){var _0xaa8ac7=_0x1bb986[_0x75af('0x19')](/ (.+)/);if(_0xaa8ac7[0x1]){return _0xaa8ac7;}}return[_0x1bb986,_0x1bb986];}var accountsTokens={};function getAccessToken(_0x579b34){return new Promise(function(_0x55a6ea,_0x13d5de){if(!_[_0x75af('0x1a')](accountsTokens[_0x579b34['id']])&&!_[_0x75af('0x1a')](accountsTokens[_0x579b34['id']][_0x75af('0x1b')])){if(moment()[_0x75af('0x1c')](accountsTokens[_0x579b34['id']][_0x75af('0x1d')])){_0x55a6ea(accountsTokens[_0x579b34['id']][_0x75af('0x1b')]);}}var _0x411962;switch(_0x579b34['zone']){case'US':_0x411962='https://accounts.zoho.com';break;case'AU':_0x411962=_0x75af('0x1e');break;case'EU':_0x411962=_0x75af('0x1f');break;case'IN':_0x411962='https://accounts.zoho.in';break;case'CN':_0x411962='https://accounts.zoho.com.cn';break;default:_0x411962=_0x75af('0x1f');break;}var _0x3f91bf={'method':_0x75af('0x20'),'uri':_0x411962+'/oauth/v2/token','qs':{'refresh_token':_0x579b34[_0x75af('0x21')],'client_id':_0x579b34[_0x75af('0x22')],'client_secret':_0x579b34[_0x75af('0x23')],'grant_type':_0x75af('0x24')},'json':!![]};return rp(_0x3f91bf)[_0x75af('0x25')](function(_0x5786c1){accountsTokens[_0x579b34['id']]={'access_token':_0x5786c1[_0x75af('0x1b')],'expires_in':moment()[_0x75af('0x26')](_0x5786c1[_0x75af('0x1d')],'seconds')};_0x55a6ea(_0x5786c1['access_token']);})[_0x75af('0x27')](function(_0x190f01){logger[_0x75af('0x28')](_0x75af('0x29'),_0x190f01[_0x75af('0x2a')]);_0x13d5de(_0x190f01);});});}function getUser(_0x3d2268,_0x28839b,_0x4d6e93,_0x361b58){logger['info']('Search\x20user');return request({'method':_0x75af('0x2b'),'uri':util['format'](_0x75af('0x2c'),_0x28839b),'qs':{'type':_0x75af('0x2d')},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x3d2268},'json':!![]})[_0x75af('0x25')](function(_0x2ab0c3){if(_0x2ab0c3[_0x75af('0x2e')]){var _0x3d57dd=-0x1;if(_['isArrayLikeObject'](_0x2ab0c3[_0x75af('0x2e')])){if(!_[_0x75af('0x1a')](_0x361b58)){_0x3d57dd=_[_0x75af('0x2f')](_0x2ab0c3[_0x75af('0x2e')],function(_0x3c36f7){return _0x3c36f7[_0x75af('0x30')]===_0x361b58;});}if(_0x3d57dd>=0x0){logger[_0x75af('0x31')](_0x75af('0x32'));}else{logger[_0x75af('0x31')](_0x75af('0x33'));_0x3d57dd=_[_0x75af('0x2f')](_0x2ab0c3['users'],function(_0x29a938){return _0x29a938['profile'][_0x75af('0x17')]==='Administrator';});}return _0x2ab0c3[_0x75af('0x2e')][_0x3d57dd];}else{if(_0x2ab0c3[_0x75af('0x34')]['profile'][_0x75af('0x17')]===_0x75af('0x35')){logger['info'](_0x75af('0x33'));user=_0x2ab0c3[_0x75af('0x34')];return user;}else{logger[_0x75af('0x28')]('The\x20failing\x20result\x20is',JSON['stringify'](_0x2ab0c3));throw new Error(_0x75af('0x36')+JSON[_0x75af('0xb')](_0x2ab0c3));}}}else{logger[_0x75af('0x28')](_0x75af('0x37'),JSON[_0x75af('0xb')](_0x2ab0c3));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON[_0x75af('0xb')](_0x2ab0c3));}})[_0x75af('0x27')](function(_0x547e33){console['error'](_0x547e33);});}function getZohoUser(_0xe13409,_0x2a4f9d){return new BPromise(function(_0x26c314,_0x14eb5b){request(_0xe13409)[_0x75af('0x25')](function(_0x474951){var _0x4109e6=null;if(_0x474951){_0x4109e6=_0x474951[_0x75af('0x38')][0x0];_0x4109e6['enduserType']=_0x2a4f9d;}_0x26c314(_0x4109e6);})[_0x75af('0x27')](function(_0x5e3d00){_0x14eb5b(_0x5e3d00);});});}function createEndUser(_0x55b996,_0x4a0681,_0x25dbd2,_0x2729ce,_0x1e72ed,_0x152f20){var _0x25dbd2=getName(_0x25dbd2);return request({'method':_0x75af('0x20'),'uri':_0x75af('0x39')+_0x4a0681+_0x75af('0x3a')+_[_0x75af('0x3b')](_0x152f20[_0x75af('0x3c')])+'s','body':{'data':[{'Last_Name':_0x25dbd2[0x1],'First_Name':_0x25dbd2[0x0],'Phone':_0x2729ce,'Owner':{'name':!_[_0x75af('0x1a')](_0x1e72ed[_0x75af('0x3d')][_0x75af('0x17')])?_0x1e72ed['role']['name']:!_['isNil'](_0x1e72ed[_0x75af('0x3e')])?_0x1e72ed['first_name']+'\x20'+_0x1e72ed['last_name']:_0x1e72ed[_0x75af('0x3f')],'id':_0x1e72ed['id']}}]},'headers':{'Authorization':_0x75af('0x40')+_0x55b996},'json':!![]})[_0x75af('0x25')](function(_0x527c4a){if(_0x527c4a&&_0x527c4a[_0x75af('0x38')][0x0][_0x75af('0x41')]===_0x75af('0x42')){var _0x1fbc0c=_0x527c4a[_0x75af('0x38')][0x0]['details'];_0x1fbc0c[_0x75af('0x43')]=_['startCase'](_0x152f20[_0x75af('0x3c')])+'s';return _0x1fbc0c;}logger[_0x75af('0x28')](_0x75af('0x37'),JSON[_0x75af('0xb')](data));throw new Error('Error:\x20'+JSON[_0x75af('0xb')](data));})[_0x75af('0x27')](function(_0x387195){console[_0x75af('0x44')]('CREATE\x20ERROR',_0x387195);});}function getEndUser(_0x423b8b,_0x1948af,_0x3661cc,_0x28a051,_0x429013,_0x4652ed,_0x3c2b3c){var _0x44c345={'method':'GET','uri':'','headers':{'Authorization':_0x75af('0x40')+_0x423b8b},'json':!![]};switch(_0x3c2b3c[_0x75af('0x45')]){case _0x75af('0x46'):_0x44c345[_0x75af('0x47')]=_0x75af('0x39')+_0x1948af+_0x75af('0x48')+_0x429013+'))';return getZohoUser(_0x44c345,_0x75af('0x49'))[_0x75af('0x25')](function(_0x591230){if(_0x591230)return _0x591230;_0x44c345[_0x75af('0x47')]=_0x75af('0x39')+_0x1948af+_0x75af('0x4a')+_0x429013+'))';return getZohoUser(_0x44c345,_0x75af('0x4b'))[_0x75af('0x25')](function(_0x1560c3){if(_0x1560c3)return _0x1560c3;if(_0x3c2b3c['moduleCreate']!=_0x75af('0x4c')){return createEndUser(_0x423b8b,_0x1948af,_0x28a051,_0x429013,_0x4652ed,_0x3c2b3c);}else{return{};}});});break;case'contact':_0x44c345[_0x75af('0x47')]=_0x75af('0x39')+_0x1948af+_0x75af('0x48')+_0x429013+'))';return getZohoUser(_0x44c345,_0x75af('0x49'))[_0x75af('0x25')](function(_0x1dfafa){if(_0x1dfafa)return _0x1dfafa;if(_0x3c2b3c[_0x75af('0x3c')]!='nothing'){return createEndUser(_0x423b8b,_0x1948af,_0x28a051,_0x429013,_0x4652ed,_0x3c2b3c);}else{return{};}});break;case _0x75af('0x4d'):_0x44c345[_0x75af('0x47')]=_0x75af('0x39')+_0x1948af+_0x75af('0x4a')+_0x429013+'))';return getZohoUser(_0x44c345,_0x75af('0x4b'))['then'](function(_0x5d807d){if(_0x5d807d)return _0x5d807d;if(_0x3c2b3c['moduleCreate']!=_0x75af('0x4c')){return createEndUser(_0x423b8b,_0x1948af,_0x28a051,_0x429013,_0x4652ed,_0x3c2b3c);}else{return{};}});break;}}function getCall(_0x3ccf82,_0x349449,_0x3d37b8,_0xe3e338,_0x4d5bae,_0x3583dd,_0x58be5f,_0x4c1837){logger['info'](_0x75af('0x4e'));var _0x367de0={};_0x367de0['Owner']={'name':!_['isNil'](_0xe3e338['role'][_0x75af('0x17')])&&!_['isNil'](_0xe3e338[_0x75af('0x4f')][_0x75af('0x17')])&&_0xe3e338[_0x75af('0x4f')][_0x75af('0x17')]===_0x75af('0x50')?_0xe3e338['role'][_0x75af('0x17')]:!_[_0x75af('0x1a')](_0xe3e338[_0x75af('0x3e')])?_0xe3e338['first_name']+'\x20'+_0xe3e338[_0x75af('0x3f')]:_0xe3e338[_0x75af('0x3f')],'id':_0xe3e338['id']};_0x367de0[_0x75af('0x51')]=intUtil[_0x75af('0x52')](_0x3583dd[_0x75af('0x53')],_0x58be5f,'\x20');_0x367de0[_0x75af('0x54')]=intUtil[_0x75af('0x52')](_0x3583dd[_0x75af('0x55')],_0x58be5f,'\x0a');if(_0x4d5bae[_0x75af('0x43')]===_0x75af('0x49')){_0x367de0[_0x75af('0x56')]={'name':!_['isNil'](_0x4d5bae[_0x75af('0x57')])?_0x4d5bae[_0x75af('0x57')]:!_[_0x75af('0x1a')](_0x4d5bae[_0x75af('0x58')])?_0x4d5bae[_0x75af('0x58')]+'\x20'+_0x4d5bae[_0x75af('0x59')]:_0x4d5bae['Last_Name'],'id':_0x4d5bae['id']};}if(_0x4d5bae[_0x75af('0x43')]===_0x75af('0x4b')){_0x367de0[_0x75af('0x5a')]={'name':!_[_0x75af('0x1a')](_0x4d5bae[_0x75af('0x57')])?_0x4d5bae[_0x75af('0x57')]:!_[_0x75af('0x1a')](_0x4d5bae[_0x75af('0x58')])?_0x4d5bae[_0x75af('0x58')]+'\x20'+_0x4d5bae[_0x75af('0x59')]:_0x4d5bae[_0x75af('0x59')],'id':_0x4d5bae['id']};_0x367de0['$se_module']=_[_0x75af('0x3b')](_0x4d5bae[_0x75af('0x43')]);}if(_0x58be5f[_0x75af('0x5b')]){_0x367de0[_0x75af('0x5c')]=moment[_0x75af('0x5d')](parseInt(_0x58be5f[_0x75af('0x5b')])*0x3e8)[_0x75af('0x5e')](_0x75af('0x5f'));}else if(_0x58be5f[_0x75af('0x60')]&&_0x58be5f['endtime']){_0x367de0[_0x75af('0x5c')]=moment[_0x75af('0x5d')](moment(_0x58be5f[_0x75af('0x61')],_0x75af('0x62'))['diff'](moment(_0x58be5f[_0x75af('0x63')],_0x75af('0x62'))))['format'](_0x75af('0x5f'));}switch(_0x58be5f['lastevent']){case _0x75af('0x64'):_0x367de0['Call_Result']=_0x75af('0x65');break;case _0x75af('0x66'):case _0x75af('0x67'):_0x367de0['Call_Result']=_0x75af('0x68');break;case'rejected':_0x367de0['Call_Result']=_0x75af('0x69');break;case _0x75af('0x6a'):_0x367de0[_0x75af('0x6b')]=_0x75af('0x6c');break;case _0x75af('0x6d'):_0x367de0[_0x75af('0x6b')]=_0x75af('0x6e');default:}_0x367de0[_0x75af('0x6f')]=(_0x4c1837==='outbound'?moment(_0x58be5f[_0x75af('0x63')])[_0x75af('0x5e')](_0x75af('0x62')):moment(_0x58be5f['agentcalledAt'])[_0x75af('0x5e')](_0x75af('0x62')))||moment()[_0x75af('0x5e')]('YYYY-MM-DDTHH:mm:ss');_0x367de0['Call_Type']=_0x4c1837||_0x75af('0x70');_0x367de0=_['merge'](_0x367de0,getCustomFields(_0x3583dd[_0x75af('0x71')],_0x58be5f));return request({'method':_0x75af('0x20'),'uri':_0x75af('0x39')+_0x349449+_0x75af('0x72'),'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x3ccf82},'body':{'data':[_0x367de0]},'json':!![]})[_0x75af('0x25')](function(_0x105742){if(_0x105742&&_0x105742[_0x75af('0x38')][0x0][_0x75af('0x41')]===_0x75af('0x42')){logger[_0x75af('0x31')](_0x75af('0x73'));return{'id':_0x105742[_0x75af('0x38')][0x0][_0x75af('0x74')]['id']};}})['catch'](function(_0x5d071c){logger['info'](_0x75af('0x75'),_0x5d071c['stack']);console[_0x75af('0x44')]('err',_0x5d071c);});}exports[_0x75af('0x76')]=function(_0x119a13,_0x5b004f,_0x4d2a0c,_0x2752cf,_0x5a36fa,_0x5e23e3){var _0x25a800,_0x267879,_0xb08433;_0x5e23e3[_0x75af('0x77')]=intUtil[_0x75af('0x78')](_0x5e23e3[_0x75af('0x77')]);_0x5e23e3[_0x75af('0x79')]=intUtil[_0x75af('0x78')](_0x5e23e3['serverUrl']);if(_0x5a36fa&&_0x5a36fa[_0x75af('0x7a')]){logger['info']('[QUEUE]',_0x75af('0x7b'));_0x5b004f[_0x75af('0x7c')]=_0x5e23e3['serverUrl']+'/api/voice/recordings/'+_0x5b004f[_0x75af('0x7d')]+_0x75af('0x7e')+md5(_0x5b004f[_0x75af('0x7d')]);}else{_0x5b004f['recordingURL']='';}var _0xd66e0e=_0x5e23e3[_0x75af('0x77')]==='zoho.eu'?'eu':_0x75af('0x7f');return getAccessToken(_0x5e23e3)['then'](function(_0x29dd05){_0xb08433=_0x29dd05;return getUser(_0xb08433,_0xd66e0e,_0x5e23e3,_0x2752cf[_0x75af('0x30')]);})['then'](function(_0x3ad7e4){_0x25a800=_0x3ad7e4;logger[_0x75af('0x31')]('The\x20User\x20ID\x20is:',_0x25a800['id']);return getEndUser(_0xb08433,_0xd66e0e,_0x5e23e3,_0x5b004f['calleridname'],_0x5b004f[_0x75af('0x80')],_0x25a800,_0x4d2a0c);})[_0x75af('0x25')](function(_0x5f5318){_0x267879=_0x5f5318;return getCall(_0xb08433,_0xd66e0e,_0x5e23e3,_0x25a800,_0x267879,_0x4d2a0c,_0x5b004f,'Inbound');})[_0x75af('0x25')](function(_0x9a435c){if(_0x9a435c){logger[_0x75af('0x31')](_0x75af('0x81'),_0x9a435c['id']);logger[_0x75af('0x31')]('[QUEUE]',_0x75af('0x82'));emit(util[_0x75af('0x5e')]('user:%s',_0x2752cf[_0x75af('0x17')]),_0x75af('0x83'),{'uri':_0x75af('0x84')+_0x5e23e3['host']+'/crm/EntityInfo.do?module=Calls&id='+_0x9a435c['id']});}})[_0x75af('0x27')](function(_0x34e384){logger[_0x75af('0x28')](_0x75af('0x85'),JSON[_0x75af('0xb')](_0x34e384));});};exports[_0x75af('0x86')]=function(_0x4e67c5,_0x184064,_0x27338b,_0x38133e,_0x4bb395,_0x111e33,_0x38444b){var _0x28553c,_0x2e5977,_0x594235;_0x111e33[_0x75af('0x77')]=intUtil[_0x75af('0x78')](_0x111e33[_0x75af('0x77')]);_0x111e33[_0x75af('0x79')]=intUtil[_0x75af('0x78')](_0x111e33['serverUrl']);if(_0x38444b&&_0x38444b['recordingFormat']&&_0x38444b['recordingFormat']!==_0x75af('0x87')){logger[_0x75af('0x31')](_0x75af('0x88'),_0x75af('0x7b'));_0x184064[_0x75af('0x7c')]=_0x111e33['serverUrl']+'/api/voice/recordings/'+_0x184064[_0x75af('0x7d')]+'/downloads?type=uniqueid&token='+md5(_0x184064['uniqueid']);}var _0x3b8b17=_0x111e33[_0x75af('0x77')]===_0x75af('0x89')?'eu':'com';return getAccessToken(_0x111e33)[_0x75af('0x25')](function(_0x26fd1e){_0x594235=_0x26fd1e;return getUser(_0x594235,_0x3b8b17,_0x111e33,_0x38133e[_0x75af('0x30')]);})[_0x75af('0x25')](function(_0x2ae6f5){_0x28553c=_0x2ae6f5;logger[_0x75af('0x31')](_0x75af('0x8a'),_0x28553c['id']);return getEndUser(_0x594235,_0x3b8b17,_0x111e33,_0x184064[_0x75af('0x8b')],_0x184064[_0x75af('0x8c')],_0x28553c,_0x27338b);})['then'](function(_0x9a47f6){_0x2e5977=_0x9a47f6;return getCall(_0x594235,_0x3b8b17,_0x111e33,_0x28553c,_0x2e5977,_0x27338b,_0x184064,_0x75af('0x8d'));})[_0x75af('0x25')](function(_0x39bb65){if(_0x39bb65){logger[_0x75af('0x31')](_0x75af('0x81'),_0x39bb65['id']);logger[_0x75af('0x31')]('[OUTBOUND]',_0x75af('0x82'));emit(util[_0x75af('0x5e')](_0x75af('0x8e'),_0x38133e[_0x75af('0x17')]),_0x75af('0x83'),{'uri':_0x75af('0x84')+_0x111e33[_0x75af('0x77')]+_0x75af('0x8f')+_0x39bb65['id']});}})['catch'](function(_0x2c6428){logger[_0x75af('0x28')](_0x75af('0x88'),JSON[_0x75af('0xb')](_0x2c6428));});};exports[_0x75af('0x90')]=function(_0xdb3193,_0xc8a35c,_0x5cf8db,_0x4ee274,_0x3699dd,_0x3e17bf){var _0x1c7ab2,_0x9161c0,_0x8b6207;_0x3e17bf['host']=intUtil[_0x75af('0x78')](_0x3e17bf['host']);_0x3e17bf[_0x75af('0x79')]=intUtil[_0x75af('0x78')](_0x3e17bf['serverUrl']);if(_0x3699dd&&_0x3699dd[_0x75af('0x7a')]){logger[_0x75af('0x31')]('['+_0xc8a35c[_0x75af('0x91')][_0x75af('0x92')]()+']','Recording\x20is\x20enabled!');_0xc8a35c['recordingURL']=_0x3e17bf[_0x75af('0x79')]+'/api/voice/recordings/'+_0xc8a35c['uniqueid']+_0x75af('0x7e')+md5(_0xc8a35c[_0x75af('0x7d')]);}else{_0xc8a35c[_0x75af('0x7c')]='';}var _0x24e07b=_0x3e17bf[_0x75af('0x77')]===_0x75af('0x89')?'eu':_0x75af('0x7f');return getAccessToken(_0x3e17bf)[_0x75af('0x25')](function(_0x4802a8){_0x8b6207=_0x4802a8;return getUser(_0x8b6207,_0x24e07b,_0x3e17bf);})[_0x75af('0x25')](function(_0x1086db){_0x1c7ab2=_0x1086db;logger[_0x75af('0x31')]('The\x20User\x20ID\x20is:',_0x1c7ab2['id']);return getEndUser(_0x8b6207,_0x24e07b,_0x3e17bf,_0xc8a35c[_0x75af('0x93')],_0xc8a35c[_0x75af('0x80')],_0x1c7ab2,_0x5cf8db);})[_0x75af('0x25')](function(_0x51c3bc){_0x9161c0=_0x51c3bc;return getCall(_0x8b6207,_0x24e07b,_0x3e17bf,_0x1c7ab2,_0x9161c0,_0x5cf8db,_0xc8a35c,_0x75af('0x70'));})[_0x75af('0x25')](function(_0x32b819){if(_0x32b819){logger[_0x75af('0x31')](_0x75af('0x81'),_0x32b819['id']);}})[_0x75af('0x27')](function(_0x99164d){logger[_0x75af('0x28')]('['+_0xc8a35c[_0x75af('0x91')][_0x75af('0x92')]()+']',JSON[_0x75af('0xb')](_0x99164d));});};