Built motion from commit 10af8726.|2.6.34
[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 _0x2666=['contact_lead','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','contact','uri','lead','Creating\x20new\x20call...','Owner','administrator','Subject','getString','Subjects','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','format','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','starttime','lastevent','called','Call_Result','Called','connect','rejected','abandoned','Abandoned','timeout','Timeout','outbound','agentcalledAt','Inbound','Fields','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','zoho.eu','com','The\x20User\x20ID\x20is:','calleridname','calleridnum','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','[OUTBOUND]','uniqueid','/downloads?type=uniqueid&token=','email','destcalleridname','destcalleridnum','Outbound','https://crm.','unmanaged','toUpperCase','lodash','request-promise','md5','util','./util','moment','ioredis','bluebird','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','emit','debug','[HTTP]','stringify','length','includes','string','type','idField','toString','variable','variableName','customVariable','Variable','name','toLowerCase','indexOf','split','isNil','access_token','isBefore','expires_in','zone','https://accounts.zoho.com.au','https://accounts.zoho.com.cn','POST','refreshToken','clientSecret','refresh_token','then','seconds','error','Failing\x20creating\x20the\x20access_token','stack','info','GET','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','users','isArrayLikeObject','findIndex','Agent\x20found!','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','data','enduserType','https://www.zohoapis.','startCase','moduleCreate','role','first_name','last_name','SUCCESS','details','Error:\x20','log','CREATE\x20ERROR','moduleSearch'];(function(_0x7d0066,_0x1462bd){var _0x124bd6=function(_0x47ab17){while(--_0x47ab17){_0x7d0066['push'](_0x7d0066['shift']());}};_0x124bd6(++_0x1462bd);}(_0x2666,0xe3));var _0x6266=function(_0x8a9b4e,_0x2680d7){_0x8a9b4e=_0x8a9b4e-0x0;var _0x539218=_0x2666[_0x8a9b4e];return _0x539218;};'use strict';var _=require(_0x6266('0x0'));var rp=require(_0x6266('0x1'));var md5=require(_0x6266('0x2'));var util=require(_0x6266('0x3'));var intUtil=require(_0x6266('0x4'));var moment=require(_0x6266('0x5'));var Redis=require(_0x6266('0x6'));var BPromise=require(_0x6266('0x7'));var config=require(_0x6266('0x8'));var logger=require(_0x6266('0x9'))(_0x6266('0xa'));config[_0x6266('0xb')]=_[_0x6266('0xc')](config[_0x6266('0xb')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x6266('0xb')]));function emit(_0x5c8131,_0x329582,_0x2fc044){io['to'](_0x5c8131)[_0x6266('0xd')](_0x329582,_0x2fc044);}function request(_0x43241b){logger[_0x6266('0xe')](_0x6266('0xf'),JSON[_0x6266('0x10')](_0x43241b));return rp(_0x43241b);}function getCustomFields(_0xbc7c2b,_0xe6ff42){var _0x9964ed={};if(_0xbc7c2b[_0x6266('0x11')]>0x0){_['forEach'](_0xbc7c2b,function(_0x49ac03){if(_[_0x6266('0x12')]([_0x6266('0x13'),'picklist'],_0x49ac03[_0x6266('0x14')])&&_0x49ac03['idField']){_0x9964ed[_0x49ac03[_0x6266('0x15')]]=_0x49ac03['content'][_0x6266('0x16')]();}else if(_0x49ac03[_0x6266('0x14')]===_0x6266('0x17')&&_0x49ac03[_0x6266('0x18')]&&_0x49ac03[_0x6266('0x15')]&&_0xe6ff42[_0x49ac03[_0x6266('0x18')]]){_0x9964ed[_0x49ac03['idField']]=_0xe6ff42[_0x49ac03[_0x6266('0x18')]][_0x6266('0x16')]();}else if(_0x49ac03[_0x6266('0x14')]===_0x6266('0x19')&&_0x49ac03['Variable']&&_0x49ac03[_0x6266('0x1a')][_0x6266('0x1b')]&&_0x49ac03[_0x6266('0x15')]&&_0xe6ff42[_0x49ac03[_0x6266('0x1a')]['name'][_0x6266('0x1c')]()]){_0x9964ed[_0x49ac03['idField']]=_0xe6ff42[_0x49ac03['Variable'][_0x6266('0x1b')]['toLowerCase']()][_0x6266('0x16')]();}});}return _0x9964ed;}function getName(_0x4deec1){if(_0x4deec1[_0x6266('0x1d')]('\x20')>0x0){var _0x208b10=_0x4deec1[_0x6266('0x1e')](/ (.+)/);if(_0x208b10[0x1]){return _0x208b10;}}return[_0x4deec1,_0x4deec1];}var accountsTokens={};function getAccessToken(_0x1ab1c6){return new Promise(function(_0x2d7720,_0x359417){if(!_[_0x6266('0x1f')](accountsTokens[_0x1ab1c6['id']])&&!_[_0x6266('0x1f')](accountsTokens[_0x1ab1c6['id']][_0x6266('0x20')])){if(moment()[_0x6266('0x21')](accountsTokens[_0x1ab1c6['id']][_0x6266('0x22')])){_0x2d7720(accountsTokens[_0x1ab1c6['id']][_0x6266('0x20')]);}}var _0x75e10b;switch(_0x1ab1c6[_0x6266('0x23')]){case'US':_0x75e10b='https://accounts.zoho.com';break;case'AU':_0x75e10b=_0x6266('0x24');break;case'EU':_0x75e10b='https://accounts.zoho.eu';break;case'IN':_0x75e10b='https://accounts.zoho.in';break;case'CN':_0x75e10b=_0x6266('0x25');break;default:_0x75e10b='https://accounts.zoho.eu';break;}var _0x44fcde={'method':_0x6266('0x26'),'uri':_0x75e10b+'/oauth/v2/token','qs':{'refresh_token':_0x1ab1c6[_0x6266('0x27')],'client_id':_0x1ab1c6['clientId'],'client_secret':_0x1ab1c6[_0x6266('0x28')],'grant_type':_0x6266('0x29')},'json':!![]};return rp(_0x44fcde)[_0x6266('0x2a')](function(_0x4a3064){accountsTokens[_0x1ab1c6['id']]={'access_token':_0x4a3064[_0x6266('0x20')],'expires_in':moment()['add'](_0x4a3064[_0x6266('0x22')],_0x6266('0x2b'))};_0x2d7720(_0x4a3064['access_token']);})['catch'](function(_0x355e37){logger[_0x6266('0x2c')](_0x6266('0x2d'),_0x355e37[_0x6266('0x2e')]);_0x359417(_0x355e37);});});}function getUser(_0x4963be,_0x50f69f,_0x4ed1c9,_0x21673f){logger[_0x6266('0x2f')]('Search\x20user');return request({'method':_0x6266('0x30'),'uri':util['format'](_0x6266('0x31'),_0x50f69f),'qs':{'type':_0x6266('0x32')},'headers':{'Authorization':_0x6266('0x33')+_0x4963be},'json':!![]})[_0x6266('0x2a')](function(_0x355075){if(_0x355075[_0x6266('0x34')]){var _0x340b97=-0x1;if(_[_0x6266('0x35')](_0x355075[_0x6266('0x34')])){if(!_[_0x6266('0x1f')](_0x21673f)){_0x340b97=_[_0x6266('0x36')](_0x355075[_0x6266('0x34')],function(_0x1d0f35){return _0x1d0f35['email']===_0x21673f;});}if(_0x340b97>=0x0){logger['info'](_0x6266('0x37'));}else{logger['info'](_0x6266('0x38'));_0x340b97=_['findIndex'](_0x355075['users'],function(_0x5e716f){return _0x5e716f[_0x6266('0x39')][_0x6266('0x1b')]===_0x6266('0x3a');});}return _0x355075[_0x6266('0x34')][_0x340b97];}else{if(_0x355075[_0x6266('0x3b')]['profile'][_0x6266('0x1b')]==='Administrator'){logger[_0x6266('0x2f')](_0x6266('0x38'));user=_0x355075[_0x6266('0x3b')];return user;}else{logger[_0x6266('0x2c')](_0x6266('0x3c'),JSON[_0x6266('0x10')](_0x355075));throw new Error(_0x6266('0x3d')+JSON['stringify'](_0x355075));}}}else{logger[_0x6266('0x2c')](_0x6266('0x3c'),JSON['stringify'](_0x355075));throw new Error(_0x6266('0x3d')+JSON[_0x6266('0x10')](_0x355075));}})[_0x6266('0x3e')](function(_0x4f4d4f){console[_0x6266('0x2c')](_0x4f4d4f);});}function getZohoUser(_0x1ac7c4,_0x5c135f){return new BPromise(function(_0x516079,_0x28c9be){request(_0x1ac7c4)['then'](function(_0x47a844){var _0x56c187=null;if(_0x47a844){_0x56c187=_0x47a844[_0x6266('0x3f')][0x0];_0x56c187[_0x6266('0x40')]=_0x5c135f;}_0x516079(_0x56c187);})['catch'](function(_0xce2f9){_0x28c9be(_0xce2f9);});});}function createEndUser(_0x1e0a9c,_0x37a59a,_0x2cbc48,_0x2b5e74,_0x189b29,_0x1ccc3c){var _0x2cbc48=getName(_0x2cbc48);return request({'method':'POST','uri':_0x6266('0x41')+_0x37a59a+'/crm/v2/'+_[_0x6266('0x42')](_0x1ccc3c[_0x6266('0x43')])+'s','body':{'data':[{'Last_Name':_0x2cbc48[0x1],'First_Name':_0x2cbc48[0x0],'Phone':_0x2b5e74,'Owner':{'name':!_[_0x6266('0x1f')](_0x189b29[_0x6266('0x44')][_0x6266('0x1b')])?_0x189b29['role'][_0x6266('0x1b')]:!_[_0x6266('0x1f')](_0x189b29['first_name'])?_0x189b29[_0x6266('0x45')]+'\x20'+_0x189b29[_0x6266('0x46')]:_0x189b29['last_name'],'id':_0x189b29['id']}}]},'headers':{'Authorization':_0x6266('0x33')+_0x1e0a9c},'json':!![]})['then'](function(_0x2fb77f){if(_0x2fb77f&&_0x2fb77f[_0x6266('0x3f')][0x0]['code']===_0x6266('0x47')){var _0x26b71c=_0x2fb77f['data'][0x0][_0x6266('0x48')];_0x26b71c[_0x6266('0x40')]=_[_0x6266('0x42')](_0x1ccc3c['moduleCreate'])+'s';return _0x26b71c;}logger[_0x6266('0x2c')](_0x6266('0x3c'),JSON['stringify'](data));throw new Error(_0x6266('0x49')+JSON[_0x6266('0x10')](data));})[_0x6266('0x3e')](function(_0x239e4a){console[_0x6266('0x4a')](_0x6266('0x4b'),_0x239e4a);});}function getEndUser(_0x3173f4,_0x29e20b,_0x5494a9,_0x27290c,_0x1d8e15,_0x1674ed,_0x2306e1){var _0x4dfda6={'method':_0x6266('0x30'),'uri':'','headers':{'Authorization':_0x6266('0x33')+_0x3173f4},'json':!![]};switch(_0x2306e1[_0x6266('0x4c')]){case _0x6266('0x4d'):_0x4dfda6['uri']=_0x6266('0x41')+_0x29e20b+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x1d8e15+'))';return getZohoUser(_0x4dfda6,_0x6266('0x4e'))[_0x6266('0x2a')](function(_0x1ae708){if(_0x1ae708)return _0x1ae708;_0x4dfda6['uri']=_0x6266('0x41')+_0x29e20b+_0x6266('0x4f')+_0x1d8e15+'))';return getZohoUser(_0x4dfda6,_0x6266('0x50'))['then'](function(_0x465f00){if(_0x465f00)return _0x465f00;if(_0x2306e1[_0x6266('0x43')]!=_0x6266('0x51')){return createEndUser(_0x3173f4,_0x29e20b,_0x27290c,_0x1d8e15,_0x1674ed,_0x2306e1);}else{return{};}});});break;case _0x6266('0x52'):_0x4dfda6[_0x6266('0x53')]='https://www.zohoapis.'+_0x29e20b+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x1d8e15+'))';return getZohoUser(_0x4dfda6,_0x6266('0x4e'))[_0x6266('0x2a')](function(_0x23207d){if(_0x23207d)return _0x23207d;if(_0x2306e1[_0x6266('0x43')]!=_0x6266('0x51')){return createEndUser(_0x3173f4,_0x29e20b,_0x27290c,_0x1d8e15,_0x1674ed,_0x2306e1);}else{return{};}});break;case _0x6266('0x54'):_0x4dfda6[_0x6266('0x53')]=_0x6266('0x41')+_0x29e20b+_0x6266('0x4f')+_0x1d8e15+'))';return getZohoUser(_0x4dfda6,_0x6266('0x50'))['then'](function(_0x412cf){if(_0x412cf)return _0x412cf;if(_0x2306e1['moduleCreate']!=_0x6266('0x51')){return createEndUser(_0x3173f4,_0x29e20b,_0x27290c,_0x1d8e15,_0x1674ed,_0x2306e1);}else{return{};}});break;}}function getCall(_0x264c92,_0x3f4ab6,_0xc87779,_0xe95851,_0x3db1cb,_0x3df8c4,_0x4cbf5f,_0x1f35d0){logger['info'](_0x6266('0x55'));var _0x261954={};_0x261954[_0x6266('0x56')]={'name':!_[_0x6266('0x1f')](_0xe95851[_0x6266('0x44')]['name'])&&!_[_0x6266('0x1f')](_0xe95851['profile']['name'])&&_0xe95851[_0x6266('0x39')][_0x6266('0x1b')]===_0x6266('0x57')?_0xe95851['role'][_0x6266('0x1b')]:!_['isNil'](_0xe95851[_0x6266('0x45')])?_0xe95851[_0x6266('0x45')]+'\x20'+_0xe95851[_0x6266('0x46')]:_0xe95851['last_name'],'id':_0xe95851['id']};_0x261954[_0x6266('0x58')]=intUtil[_0x6266('0x59')](_0x3df8c4[_0x6266('0x5a')],_0x4cbf5f,'\x20');_0x261954['Description']=intUtil[_0x6266('0x59')](_0x3df8c4[_0x6266('0x5b')],_0x4cbf5f,'\x0a');if(_0x3db1cb[_0x6266('0x40')]===_0x6266('0x4e')){_0x261954[_0x6266('0x5c')]={'name':!_[_0x6266('0x1f')](_0x3db1cb['Full_Name'])?_0x3db1cb[_0x6266('0x5d')]:!_[_0x6266('0x1f')](_0x3db1cb[_0x6266('0x5e')])?_0x3db1cb['First_Name']+'\x20'+_0x3db1cb[_0x6266('0x5f')]:_0x3db1cb[_0x6266('0x5f')],'id':_0x3db1cb['id']};}if(_0x3db1cb[_0x6266('0x40')]==='Leads'){_0x261954[_0x6266('0x60')]={'name':!_[_0x6266('0x1f')](_0x3db1cb[_0x6266('0x5d')])?_0x3db1cb['Full_Name']:!_['isNil'](_0x3db1cb[_0x6266('0x5e')])?_0x3db1cb[_0x6266('0x5e')]+'\x20'+_0x3db1cb[_0x6266('0x5f')]:_0x3db1cb[_0x6266('0x5f')],'id':_0x3db1cb['id']};_0x261954[_0x6266('0x61')]=_[_0x6266('0x42')](_0x3db1cb['enduserType']);}if(_0x4cbf5f[_0x6266('0x62')]){_0x261954[_0x6266('0x63')]=moment['utc'](parseInt(_0x4cbf5f[_0x6266('0x62')])*0x3e8)[_0x6266('0x64')](_0x6266('0x65'));}else if(_0x4cbf5f[_0x6266('0x66')]&&_0x4cbf5f[_0x6266('0x67')]){_0x261954[_0x6266('0x63')]=moment['utc'](moment(_0x4cbf5f[_0x6266('0x67')],_0x6266('0x68'))[_0x6266('0x69')](moment(_0x4cbf5f[_0x6266('0x6a')],_0x6266('0x68'))))[_0x6266('0x64')](_0x6266('0x65'));}switch(_0x4cbf5f[_0x6266('0x6b')]){case _0x6266('0x6c'):_0x261954[_0x6266('0x6d')]=_0x6266('0x6e');break;case'complete':case _0x6266('0x6f'):_0x261954['Call_Result']='Answered';break;case _0x6266('0x70'):_0x261954[_0x6266('0x6d')]='Rejected';break;case _0x6266('0x71'):_0x261954[_0x6266('0x6d')]=_0x6266('0x72');break;case _0x6266('0x73'):_0x261954[_0x6266('0x6d')]=_0x6266('0x74');default:}_0x261954['Call_Start_Time']=(_0x1f35d0===_0x6266('0x75')?moment(_0x4cbf5f[_0x6266('0x6a')])[_0x6266('0x64')](_0x6266('0x68')):moment(_0x4cbf5f[_0x6266('0x76')])['format'](_0x6266('0x68')))||moment()[_0x6266('0x64')](_0x6266('0x68'));_0x261954['Call_Type']=_0x1f35d0||_0x6266('0x77');_0x261954=_['merge'](_0x261954,getCustomFields(_0x3df8c4[_0x6266('0x78')],_0x4cbf5f));return request({'method':'POST','uri':'https://www.zohoapis.'+_0x3f4ab6+'/crm/v2/Calls','headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x264c92},'body':{'data':[_0x261954]},'json':!![]})['then'](function(_0x1e7cd4){if(_0x1e7cd4&&_0x1e7cd4[_0x6266('0x3f')][0x0]['code']==='SUCCESS'){logger['info']('Call\x20created!');return{'id':_0x1e7cd4[_0x6266('0x3f')][0x0][_0x6266('0x48')]['id']};}})[_0x6266('0x3e')](function(_0x5d2f57){logger[_0x6266('0x2f')](_0x6266('0x79'),_0x5d2f57[_0x6266('0x2e')]);console[_0x6266('0x4a')]('err',_0x5d2f57);});}exports[_0x6266('0x7a')]=function(_0x2b1d64,_0x186dbb,_0x3c8c34,_0x924bd3,_0x4b9205,_0x253b80){var _0x1518bb,_0x23f58a,_0x27b5f3;_0x253b80[_0x6266('0x7b')]=intUtil[_0x6266('0x7c')](_0x253b80[_0x6266('0x7b')]);_0x253b80[_0x6266('0x7d')]=intUtil['stripTrailingSlash'](_0x253b80[_0x6266('0x7d')]);if(_0x4b9205&&_0x4b9205[_0x6266('0x7e')]){logger[_0x6266('0x2f')](_0x6266('0x7f'),_0x6266('0x80'));_0x186dbb[_0x6266('0x81')]=_0x253b80[_0x6266('0x7d')]+_0x6266('0x82')+_0x186dbb['uniqueid']+'/downloads?type=uniqueid&token='+md5(_0x186dbb['uniqueid']);}else{_0x186dbb['recordingURL']='';}var _0x2bdcc0=_0x253b80[_0x6266('0x7b')]===_0x6266('0x83')?'eu':_0x6266('0x84');return getAccessToken(_0x253b80)[_0x6266('0x2a')](function(_0x1bfc62){_0x27b5f3=_0x1bfc62;return getUser(_0x27b5f3,_0x2bdcc0,_0x253b80,_0x924bd3['email']);})['then'](function(_0x313100){_0x1518bb=_0x313100;logger[_0x6266('0x2f')](_0x6266('0x85'),_0x1518bb['id']);return getEndUser(_0x27b5f3,_0x2bdcc0,_0x253b80,_0x186dbb[_0x6266('0x86')],_0x186dbb[_0x6266('0x87')],_0x1518bb,_0x3c8c34);})[_0x6266('0x2a')](function(_0x291424){_0x23f58a=_0x291424;return getCall(_0x27b5f3,_0x2bdcc0,_0x253b80,_0x1518bb,_0x23f58a,_0x3c8c34,_0x186dbb,_0x6266('0x77'));})[_0x6266('0x2a')](function(_0x2ad67f){if(_0x2ad67f){logger[_0x6266('0x2f')]('The\x20Call\x20ID\x20is:',_0x2ad67f['id']);logger[_0x6266('0x2f')]('[QUEUE]',_0x6266('0x88'));emit(util['format'](_0x6266('0x89'),_0x924bd3[_0x6266('0x1b')]),_0x6266('0x8a'),{'uri':'https://crm.'+_0x253b80[_0x6266('0x7b')]+_0x6266('0x8b')+_0x2ad67f['id']});}})[_0x6266('0x3e')](function(_0x19f7d8){logger['error']('[QUEUE]',JSON[_0x6266('0x10')](_0x19f7d8));});};exports[_0x6266('0x75')]=function(_0xbf0f7c,_0x3c1f43,_0x3fa311,_0xe666b8,_0x4f223b,_0x4a53c9,_0xeec637){var _0x128e26,_0x164e71,_0x11528b;_0x4a53c9[_0x6266('0x7b')]=intUtil[_0x6266('0x7c')](_0x4a53c9[_0x6266('0x7b')]);_0x4a53c9[_0x6266('0x7d')]=intUtil['stripTrailingSlash'](_0x4a53c9['serverUrl']);if(_0xeec637&&_0xeec637[_0x6266('0x8c')]&&_0xeec637['recordingFormat']!==_0x6266('0x8d')){logger[_0x6266('0x2f')](_0x6266('0x8e'),_0x6266('0x80'));_0x3c1f43['recordingURL']=_0x4a53c9['serverUrl']+'/api/voice/recordings/'+_0x3c1f43[_0x6266('0x8f')]+_0x6266('0x90')+md5(_0x3c1f43['uniqueid']);}var _0x93a818=_0x4a53c9[_0x6266('0x7b')]===_0x6266('0x83')?'eu':'com';return getAccessToken(_0x4a53c9)['then'](function(_0x1b5692){_0x11528b=_0x1b5692;return getUser(_0x11528b,_0x93a818,_0x4a53c9,_0xe666b8[_0x6266('0x91')]);})[_0x6266('0x2a')](function(_0x17efc6){_0x128e26=_0x17efc6;logger[_0x6266('0x2f')](_0x6266('0x85'),_0x128e26['id']);return getEndUser(_0x11528b,_0x93a818,_0x4a53c9,_0x3c1f43[_0x6266('0x92')],_0x3c1f43[_0x6266('0x93')],_0x128e26,_0x3fa311);})[_0x6266('0x2a')](function(_0x595576){_0x164e71=_0x595576;return getCall(_0x11528b,_0x93a818,_0x4a53c9,_0x128e26,_0x164e71,_0x3fa311,_0x3c1f43,_0x6266('0x94'));})[_0x6266('0x2a')](function(_0x5ae121){if(_0x5ae121){logger[_0x6266('0x2f')]('The\x20Call\x20ID\x20is:',_0x5ae121['id']);logger['info'](_0x6266('0x8e'),_0x6266('0x88'));emit(util[_0x6266('0x64')](_0x6266('0x89'),_0xe666b8[_0x6266('0x1b')]),_0x6266('0x8a'),{'uri':_0x6266('0x95')+_0x4a53c9[_0x6266('0x7b')]+_0x6266('0x8b')+_0x5ae121['id']});}})[_0x6266('0x3e')](function(_0x200e46){logger['error'](_0x6266('0x8e'),JSON[_0x6266('0x10')](_0x200e46));});};exports[_0x6266('0x96')]=function(_0x242fc7,_0x3af8ce,_0x7aa28b,_0x3de5c5,_0x5ab242,_0x230c09){var _0x269b74,_0x1ffb0c,_0x472961;_0x230c09['host']=intUtil['stripTrailingSlash'](_0x230c09[_0x6266('0x7b')]);_0x230c09[_0x6266('0x7d')]=intUtil['stripTrailingSlash'](_0x230c09[_0x6266('0x7d')]);if(_0x5ab242&&_0x5ab242[_0x6266('0x7e')]){logger[_0x6266('0x2f')]('['+_0x3af8ce['lastevent'][_0x6266('0x97')]()+']',_0x6266('0x80'));_0x3af8ce[_0x6266('0x81')]=_0x230c09[_0x6266('0x7d')]+'/api/voice/recordings/'+_0x3af8ce['uniqueid']+_0x6266('0x90')+md5(_0x3af8ce[_0x6266('0x8f')]);}else{_0x3af8ce[_0x6266('0x81')]='';}var _0x1fdba0=_0x230c09[_0x6266('0x7b')]===_0x6266('0x83')?'eu':_0x6266('0x84');return getAccessToken(_0x230c09)[_0x6266('0x2a')](function(_0x1112c8){_0x472961=_0x1112c8;return getUser(_0x472961,_0x1fdba0,_0x230c09);})['then'](function(_0x12c127){_0x269b74=_0x12c127;logger[_0x6266('0x2f')]('The\x20User\x20ID\x20is:',_0x269b74['id']);return getEndUser(_0x472961,_0x1fdba0,_0x230c09,_0x3af8ce[_0x6266('0x86')],_0x3af8ce[_0x6266('0x87')],_0x269b74,_0x7aa28b);})[_0x6266('0x2a')](function(_0x1cfb86){_0x1ffb0c=_0x1cfb86;return getCall(_0x472961,_0x1fdba0,_0x230c09,_0x269b74,_0x1ffb0c,_0x7aa28b,_0x3af8ce,_0x6266('0x77'));})['then'](function(_0x58c0c9){if(_0x58c0c9){logger[_0x6266('0x2f')]('The\x20Call\x20ID\x20is:',_0x58c0c9['id']);}})[_0x6266('0x3e')](function(_0x32f4aa){logger[_0x6266('0x2c')]('['+_0x3af8ce[_0x6266('0x6b')][_0x6266('0x97')]()+']',JSON[_0x6266('0x10')](_0x32f4aa));});};