66023fc9a7f73313ff899144e1683fb48845b9cf
[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 _0x2323=['calleridname','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','/crm/EntityInfo.do?module=Calls&id=','[OUTBOUND]','/api/voice/recordings/','destcalleridname','destcalleridnum','Outbound','unmanaged','Recording\x20is\x20enabled!','calleridnum','The\x20Call\x20ID\x20is:','toUpperCase','lodash','request-promise','moment','ioredis','bluebird','../../../../config/logger','zoho','redis','defaults','localhost','socket.io-emitter','emit','[HTTP]','stringify','length','forEach','includes','picklist','type','idField','content','toString','variableName','customVariable','Variable','name','toLowerCase','indexOf','split','isNil','isBefore','expires_in','access_token','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.eu','https://accounts.zoho.in','https://accounts.zoho.com.cn','POST','refreshToken','clientId','clientSecret','refresh_token','then','add','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','info','GET','format','https://www.zohoapis.%s/crm/v2/users','Zoho-oauthtoken\x20','users','findIndex','email','Agent\x20found!','profile','Administrator','user','Using\x20the\x20admin\x20account!','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','data','enduserType','https://www.zohoapis.','/crm/v2/','startCase','role','first_name','code','SUCCESS','details','Error:\x20','log','CREATE\x20ERROR','moduleSearch','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','moduleCreate','nothing','contact','lead','Creating\x20new\x20call...','Owner','administrator','last_name','Subjects','Description','Descriptions','Who_Id','Full_Name','Last_Name','What_Id','First_Name','$se_module','talktime','Call_Duration','utc','mm:ss','endtime','YYYY-MM-DDTHH:mm:ss','diff','starttime','lastevent','called','Call_Result','Called','complete','Answered','Rejected','Abandoned','timeout','Timeout','Call_Start_Time','outbound','agentcalledAt','Inbound','merge','Fields','/crm/v2/Calls','Call\x20created!','queue','host','stripTrailingSlash','serverUrl','[QUEUE]','recordingURL','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','com','The\x20User\x20ID\x20is:'];(function(_0x314bf2,_0x978901){var _0x636694=function(_0x9c3243){while(--_0x9c3243){_0x314bf2['push'](_0x314bf2['shift']());}};_0x636694(++_0x978901);}(_0x2323,0x146));var _0x3232=function(_0x347dda,_0x3dd6df){_0x347dda=_0x347dda-0x0;var _0x5d0df3=_0x2323[_0x347dda];return _0x5d0df3;};'use strict';var _=require(_0x3232('0x0'));var rp=require(_0x3232('0x1'));var md5=require('md5');var util=require('util');var intUtil=require('./util');var moment=require(_0x3232('0x2'));var Redis=require(_0x3232('0x3'));var BPromise=require(_0x3232('0x4'));var config=require('../../../../config/environment');var logger=require(_0x3232('0x5'))(_0x3232('0x6'));config[_0x3232('0x7')]=_[_0x3232('0x8')](config[_0x3232('0x7')],{'host':_0x3232('0x9'),'port':0x18eb});var io=require(_0x3232('0xa'))(new Redis(config[_0x3232('0x7')]));function emit(_0xb874fd,_0x4e0d57,_0x1648ed){io['to'](_0xb874fd)[_0x3232('0xb')](_0x4e0d57,_0x1648ed);}function request(_0x1988d8){logger['debug'](_0x3232('0xc'),JSON[_0x3232('0xd')](_0x1988d8));return rp(_0x1988d8);}function getCustomFields(_0x39c59d,_0x109cf8){var _0x3c5284={};if(_0x39c59d[_0x3232('0xe')]>0x0){_[_0x3232('0xf')](_0x39c59d,function(_0x5ec534){if(_[_0x3232('0x10')](['string',_0x3232('0x11')],_0x5ec534[_0x3232('0x12')])&&_0x5ec534[_0x3232('0x13')]){_0x3c5284[_0x5ec534['idField']]=_0x5ec534[_0x3232('0x14')][_0x3232('0x15')]();}else if(_0x5ec534[_0x3232('0x12')]==='variable'&&_0x5ec534[_0x3232('0x16')]&&_0x5ec534[_0x3232('0x13')]&&_0x109cf8[_0x5ec534[_0x3232('0x16')]]){_0x3c5284[_0x5ec534['idField']]=_0x109cf8[_0x5ec534['variableName']][_0x3232('0x15')]();}else if(_0x5ec534[_0x3232('0x12')]===_0x3232('0x17')&&_0x5ec534[_0x3232('0x18')]&&_0x5ec534[_0x3232('0x18')][_0x3232('0x19')]&&_0x5ec534[_0x3232('0x13')]&&_0x109cf8[_0x5ec534[_0x3232('0x18')][_0x3232('0x19')][_0x3232('0x1a')]()]){_0x3c5284[_0x5ec534['idField']]=_0x109cf8[_0x5ec534[_0x3232('0x18')][_0x3232('0x19')][_0x3232('0x1a')]()]['toString']();}});}return _0x3c5284;}function getName(_0x4eddee){if(_0x4eddee[_0x3232('0x1b')]('\x20')>0x0){var _0x56e295=_0x4eddee[_0x3232('0x1c')](/ (.+)/);if(_0x56e295[0x1]){return _0x56e295;}}return[_0x4eddee,_0x4eddee];}var accountsTokens={};function getAccessToken(_0x32c385){return new Promise(function(_0x5cbdf2,_0x44b864){if(!_[_0x3232('0x1d')](accountsTokens[_0x32c385['id']])&&!_[_0x3232('0x1d')](accountsTokens[_0x32c385['id']]['access_token'])){if(moment()[_0x3232('0x1e')](accountsTokens[_0x32c385['id']][_0x3232('0x1f')])){_0x5cbdf2(accountsTokens[_0x32c385['id']][_0x3232('0x20')]);}}var _0x15b3f4;switch(_0x32c385['zone']){case'US':_0x15b3f4=_0x3232('0x21');break;case'AU':_0x15b3f4=_0x3232('0x22');break;case'EU':_0x15b3f4=_0x3232('0x23');break;case'IN':_0x15b3f4=_0x3232('0x24');break;case'CN':_0x15b3f4=_0x3232('0x25');break;default:_0x15b3f4='https://accounts.zoho.eu';break;}var _0x59a91d={'method':_0x3232('0x26'),'uri':_0x15b3f4+'/oauth/v2/token','qs':{'refresh_token':_0x32c385[_0x3232('0x27')],'client_id':_0x32c385[_0x3232('0x28')],'client_secret':_0x32c385[_0x3232('0x29')],'grant_type':_0x3232('0x2a')},'json':!![]};return rp(_0x59a91d)[_0x3232('0x2b')](function(_0x40fc96){accountsTokens[_0x32c385['id']]={'access_token':_0x40fc96[_0x3232('0x20')],'expires_in':moment()[_0x3232('0x2c')](_0x40fc96[_0x3232('0x1f')],_0x3232('0x2d'))};_0x5cbdf2(_0x40fc96[_0x3232('0x20')]);})[_0x3232('0x2e')](function(_0x1b5255){logger[_0x3232('0x2f')](_0x3232('0x30'),_0x1b5255[_0x3232('0x31')]);_0x44b864(_0x1b5255);});});}function getUser(_0x4568e1,_0x2b26c8,_0x360252,_0x5c8430){logger[_0x3232('0x32')]('Search\x20user');return request({'method':_0x3232('0x33'),'uri':util[_0x3232('0x34')](_0x3232('0x35'),_0x2b26c8),'qs':{'type':'ActiveUsers'},'headers':{'Authorization':_0x3232('0x36')+_0x4568e1},'json':!![]})[_0x3232('0x2b')](function(_0x3d1960){if(_0x3d1960[_0x3232('0x37')]){var _0x1aed50=-0x1;if(_['isArrayLikeObject'](_0x3d1960[_0x3232('0x37')])){if(!_[_0x3232('0x1d')](_0x5c8430)){_0x1aed50=_[_0x3232('0x38')](_0x3d1960['users'],function(_0x3d2565){return _0x3d2565[_0x3232('0x39')]===_0x5c8430;});}if(_0x1aed50>=0x0){logger['info'](_0x3232('0x3a'));}else{logger['info']('Using\x20the\x20admin\x20account!');_0x1aed50=_[_0x3232('0x38')](_0x3d1960[_0x3232('0x37')],function(_0x2c5fff){return _0x2c5fff[_0x3232('0x3b')][_0x3232('0x19')]===_0x3232('0x3c');});}return _0x3d1960[_0x3232('0x37')][_0x1aed50];}else{if(_0x3d1960[_0x3232('0x3d')][_0x3232('0x3b')][_0x3232('0x19')]===_0x3232('0x3c')){logger['info'](_0x3232('0x3e'));user=_0x3d1960[_0x3232('0x3d')];return user;}else{logger[_0x3232('0x2f')](_0x3232('0x3f'),JSON[_0x3232('0xd')](_0x3d1960));throw new Error(_0x3232('0x40')+JSON[_0x3232('0xd')](_0x3d1960));}}}else{logger[_0x3232('0x2f')]('The\x20failing\x20result\x20is',JSON[_0x3232('0xd')](_0x3d1960));throw new Error(_0x3232('0x40')+JSON[_0x3232('0xd')](_0x3d1960));}})[_0x3232('0x2e')](function(_0x1416c3){console['error'](_0x1416c3);});}function getZohoUser(_0x34ecce,_0x2629fe){return new BPromise(function(_0x5d892b,_0x3b6304){request(_0x34ecce)[_0x3232('0x2b')](function(_0x601ba4){var _0x407f1a=null;if(_0x601ba4){_0x407f1a=_0x601ba4[_0x3232('0x41')][0x0];_0x407f1a[_0x3232('0x42')]=_0x2629fe;}_0x5d892b(_0x407f1a);})['catch'](function(_0x1d1e24){_0x3b6304(_0x1d1e24);});});}function createEndUser(_0x399c4b,_0x440aa9,_0x392f30,_0x33e8b0,_0x3e3076,_0x55390e){var _0x392f30=getName(_0x392f30);return request({'method':_0x3232('0x26'),'uri':_0x3232('0x43')+_0x440aa9+_0x3232('0x44')+_[_0x3232('0x45')](_0x55390e['moduleCreate'])+'s','body':{'data':[{'Last_Name':_0x392f30[0x1],'First_Name':_0x392f30[0x0],'Phone':_0x33e8b0,'Owner':{'name':!_[_0x3232('0x1d')](_0x3e3076['role']['name'])?_0x3e3076[_0x3232('0x46')][_0x3232('0x19')]:!_[_0x3232('0x1d')](_0x3e3076[_0x3232('0x47')])?_0x3e3076[_0x3232('0x47')]+'\x20'+_0x3e3076['last_name']:_0x3e3076['last_name'],'id':_0x3e3076['id']}}]},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x399c4b},'json':!![]})['then'](function(_0x8dfd66){if(_0x8dfd66&&_0x8dfd66[_0x3232('0x41')][0x0][_0x3232('0x48')]===_0x3232('0x49')){var _0x1b4ec8=_0x8dfd66[_0x3232('0x41')][0x0][_0x3232('0x4a')];_0x1b4ec8[_0x3232('0x42')]=_[_0x3232('0x45')](_0x55390e['moduleCreate'])+'s';return _0x1b4ec8;}logger[_0x3232('0x2f')](_0x3232('0x3f'),JSON[_0x3232('0xd')](data));throw new Error(_0x3232('0x4b')+JSON[_0x3232('0xd')](data));})[_0x3232('0x2e')](function(_0x13bbcd){console[_0x3232('0x4c')](_0x3232('0x4d'),_0x13bbcd);});}function getEndUser(_0x1e34dc,_0x415f05,_0x860e71,_0x1fe11a,_0x4ce3fe,_0x31e786,_0x126c4b){var _0x44ad4c={'method':_0x3232('0x33'),'uri':'','headers':{'Authorization':_0x3232('0x36')+_0x1e34dc},'json':!![]};switch(_0x126c4b[_0x3232('0x4e')]){case _0x3232('0x4f'):_0x44ad4c[_0x3232('0x50')]=_0x3232('0x43')+_0x415f05+_0x3232('0x51')+_0x4ce3fe+'))';return getZohoUser(_0x44ad4c,_0x3232('0x52'))[_0x3232('0x2b')](function(_0x282bc3){if(_0x282bc3)return _0x282bc3;_0x44ad4c[_0x3232('0x50')]=_0x3232('0x43')+_0x415f05+_0x3232('0x53')+_0x4ce3fe+'))';return getZohoUser(_0x44ad4c,_0x3232('0x54'))[_0x3232('0x2b')](function(_0x593a02){if(_0x593a02)return _0x593a02;if(_0x126c4b[_0x3232('0x55')]!=_0x3232('0x56')){return createEndUser(_0x1e34dc,_0x415f05,_0x1fe11a,_0x4ce3fe,_0x31e786,_0x126c4b);}else{return{};}});});break;case _0x3232('0x57'):_0x44ad4c[_0x3232('0x50')]=_0x3232('0x43')+_0x415f05+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x4ce3fe+'))';return getZohoUser(_0x44ad4c,_0x3232('0x52'))[_0x3232('0x2b')](function(_0x48fa3e){if(_0x48fa3e)return _0x48fa3e;if(_0x126c4b[_0x3232('0x55')]!=_0x3232('0x56')){return createEndUser(_0x1e34dc,_0x415f05,_0x1fe11a,_0x4ce3fe,_0x31e786,_0x126c4b);}else{return{};}});break;case _0x3232('0x58'):_0x44ad4c[_0x3232('0x50')]=_0x3232('0x43')+_0x415f05+_0x3232('0x53')+_0x4ce3fe+'))';return getZohoUser(_0x44ad4c,'Leads')[_0x3232('0x2b')](function(_0x4659f3){if(_0x4659f3)return _0x4659f3;if(_0x126c4b[_0x3232('0x55')]!=_0x3232('0x56')){return createEndUser(_0x1e34dc,_0x415f05,_0x1fe11a,_0x4ce3fe,_0x31e786,_0x126c4b);}else{return{};}});break;}}function getCall(_0x190f65,_0x4b2d8a,_0x1ac0b2,_0x5841c4,_0x5765d7,_0x5cc016,_0x258c10,_0x1a4e84){logger['info'](_0x3232('0x59'));var _0x43c376={};_0x43c376[_0x3232('0x5a')]={'name':!_[_0x3232('0x1d')](_0x5841c4[_0x3232('0x46')][_0x3232('0x19')])&&!_[_0x3232('0x1d')](_0x5841c4['profile']['name'])&&_0x5841c4[_0x3232('0x3b')][_0x3232('0x19')]===_0x3232('0x5b')?_0x5841c4[_0x3232('0x46')][_0x3232('0x19')]:!_[_0x3232('0x1d')](_0x5841c4[_0x3232('0x47')])?_0x5841c4[_0x3232('0x47')]+'\x20'+_0x5841c4[_0x3232('0x5c')]:_0x5841c4['last_name'],'id':_0x5841c4['id']};_0x43c376['Subject']=intUtil['getString'](_0x5cc016[_0x3232('0x5d')],_0x258c10,'\x20');_0x43c376[_0x3232('0x5e')]=intUtil['getString'](_0x5cc016[_0x3232('0x5f')],_0x258c10,'\x0a');if(_0x5765d7[_0x3232('0x42')]===_0x3232('0x52')){_0x43c376[_0x3232('0x60')]={'name':!_[_0x3232('0x1d')](_0x5765d7[_0x3232('0x61')])?_0x5765d7[_0x3232('0x61')]:!_[_0x3232('0x1d')](_0x5765d7['First_Name'])?_0x5765d7['First_Name']+'\x20'+_0x5765d7[_0x3232('0x62')]:_0x5765d7[_0x3232('0x62')],'id':_0x5765d7['id']};}if(_0x5765d7['enduserType']===_0x3232('0x54')){_0x43c376[_0x3232('0x63')]={'name':!_['isNil'](_0x5765d7[_0x3232('0x61')])?_0x5765d7[_0x3232('0x61')]:!_[_0x3232('0x1d')](_0x5765d7[_0x3232('0x64')])?_0x5765d7[_0x3232('0x64')]+'\x20'+_0x5765d7[_0x3232('0x62')]:_0x5765d7[_0x3232('0x62')],'id':_0x5765d7['id']};_0x43c376[_0x3232('0x65')]=_[_0x3232('0x45')](_0x5765d7[_0x3232('0x42')]);}if(_0x258c10[_0x3232('0x66')]){_0x43c376[_0x3232('0x67')]=moment[_0x3232('0x68')](parseInt(_0x258c10['talktime'])*0x3e8)[_0x3232('0x34')](_0x3232('0x69'));}else if(_0x258c10['answertime']&&_0x258c10['endtime']){_0x43c376[_0x3232('0x67')]=moment[_0x3232('0x68')](moment(_0x258c10[_0x3232('0x6a')],_0x3232('0x6b'))[_0x3232('0x6c')](moment(_0x258c10[_0x3232('0x6d')],_0x3232('0x6b'))))['format'](_0x3232('0x69'));}switch(_0x258c10[_0x3232('0x6e')]){case _0x3232('0x6f'):_0x43c376[_0x3232('0x70')]=_0x3232('0x71');break;case _0x3232('0x72'):case'connect':_0x43c376[_0x3232('0x70')]=_0x3232('0x73');break;case'rejected':_0x43c376[_0x3232('0x70')]=_0x3232('0x74');break;case'abandoned':_0x43c376['Call_Result']=_0x3232('0x75');break;case _0x3232('0x76'):_0x43c376['Call_Result']=_0x3232('0x77');default:}_0x43c376[_0x3232('0x78')]=(_0x1a4e84===_0x3232('0x79')?moment(_0x258c10['starttime'])[_0x3232('0x34')]('YYYY-MM-DDTHH:mm:ss'):moment(_0x258c10[_0x3232('0x7a')])[_0x3232('0x34')]('YYYY-MM-DDTHH:mm:ss'))||moment()[_0x3232('0x34')]('YYYY-MM-DDTHH:mm:ss');_0x43c376['Call_Type']=_0x1a4e84||_0x3232('0x7b');_0x43c376=_[_0x3232('0x7c')](_0x43c376,getCustomFields(_0x5cc016[_0x3232('0x7d')],_0x258c10));return request({'method':_0x3232('0x26'),'uri':'https://www.zohoapis.'+_0x4b2d8a+_0x3232('0x7e'),'headers':{'Authorization':_0x3232('0x36')+_0x190f65},'body':{'data':[_0x43c376]},'json':!![]})[_0x3232('0x2b')](function(_0x5bc8ff){if(_0x5bc8ff&&_0x5bc8ff['data'][0x0][_0x3232('0x48')]==='SUCCESS'){logger[_0x3232('0x32')](_0x3232('0x7f'));return{'id':_0x5bc8ff[_0x3232('0x41')][0x0]['details']['id']};}})[_0x3232('0x2e')](function(_0x355f14){logger[_0x3232('0x32')]('err',_0x355f14['stack']);console[_0x3232('0x4c')]('err',_0x355f14);});}exports[_0x3232('0x80')]=function(_0x324f82,_0x9548c7,_0x84b59a,_0x3381da,_0x17d01e,_0x19fcde){var _0x31b89b,_0x2ef60e,_0xb35c2b;_0x19fcde[_0x3232('0x81')]=intUtil[_0x3232('0x82')](_0x19fcde['host']);_0x19fcde['serverUrl']=intUtil[_0x3232('0x82')](_0x19fcde[_0x3232('0x83')]);if(_0x17d01e&&_0x17d01e['monitor_format']){logger[_0x3232('0x32')](_0x3232('0x84'),'Recording\x20is\x20enabled!');_0x9548c7[_0x3232('0x85')]=_0x19fcde[_0x3232('0x83')]+'/api/voice/recordings/'+_0x9548c7[_0x3232('0x86')]+_0x3232('0x87')+md5(_0x9548c7[_0x3232('0x86')]);}else{_0x9548c7[_0x3232('0x85')]='';}var _0x1f9075=_0x19fcde[_0x3232('0x81')]===_0x3232('0x88')?'eu':_0x3232('0x89');return getAccessToken(_0x19fcde)[_0x3232('0x2b')](function(_0x247c7c){_0xb35c2b=_0x247c7c;return getUser(_0xb35c2b,_0x1f9075,_0x19fcde,_0x3381da[_0x3232('0x39')]);})['then'](function(_0x1533ae){_0x31b89b=_0x1533ae;logger[_0x3232('0x32')](_0x3232('0x8a'),_0x31b89b['id']);return getEndUser(_0xb35c2b,_0x1f9075,_0x19fcde,_0x9548c7[_0x3232('0x8b')],_0x9548c7['calleridnum'],_0x31b89b,_0x84b59a);})[_0x3232('0x2b')](function(_0x3504aa){_0x2ef60e=_0x3504aa;return getCall(_0xb35c2b,_0x1f9075,_0x19fcde,_0x31b89b,_0x2ef60e,_0x84b59a,_0x9548c7,'Inbound');})[_0x3232('0x2b')](function(_0x4f1aa9){if(_0x4f1aa9){logger[_0x3232('0x32')]('The\x20Call\x20ID\x20is:',_0x4f1aa9['id']);logger[_0x3232('0x32')](_0x3232('0x84'),_0x3232('0x8c'));emit(util[_0x3232('0x34')](_0x3232('0x8d'),_0x3381da[_0x3232('0x19')]),_0x3232('0x8e'),{'uri':_0x3232('0x8f')+_0x19fcde[_0x3232('0x81')]+_0x3232('0x90')+_0x4f1aa9['id']});}})[_0x3232('0x2e')](function(_0x437ba9){logger[_0x3232('0x2f')](_0x3232('0x84'),JSON[_0x3232('0xd')](_0x437ba9));});};exports[_0x3232('0x79')]=function(_0x2d1a65,_0x42e0a4,_0x112361,_0x11b7f6,_0x3fb911,_0x2a8ba8,_0x56cdc8){var _0x32f090,_0x47a7af,_0x32b788;_0x2a8ba8['host']=intUtil[_0x3232('0x82')](_0x2a8ba8[_0x3232('0x81')]);_0x2a8ba8[_0x3232('0x83')]=intUtil['stripTrailingSlash'](_0x2a8ba8[_0x3232('0x83')]);if(_0x56cdc8&&_0x56cdc8['recordingFormat']&&_0x56cdc8['recordingFormat']!=='none'){logger[_0x3232('0x32')](_0x3232('0x91'),'Recording\x20is\x20enabled!');_0x42e0a4[_0x3232('0x85')]=_0x2a8ba8[_0x3232('0x83')]+_0x3232('0x92')+_0x42e0a4['uniqueid']+_0x3232('0x87')+md5(_0x42e0a4['uniqueid']);}var _0x122078=_0x2a8ba8[_0x3232('0x81')]==='zoho.eu'?'eu':'com';return getAccessToken(_0x2a8ba8)[_0x3232('0x2b')](function(_0x5530f4){_0x32b788=_0x5530f4;return getUser(_0x32b788,_0x122078,_0x2a8ba8,_0x11b7f6[_0x3232('0x39')]);})[_0x3232('0x2b')](function(_0x30e248){_0x32f090=_0x30e248;logger[_0x3232('0x32')](_0x3232('0x8a'),_0x32f090['id']);return getEndUser(_0x32b788,_0x122078,_0x2a8ba8,_0x42e0a4[_0x3232('0x93')],_0x42e0a4[_0x3232('0x94')],_0x32f090,_0x112361);})[_0x3232('0x2b')](function(_0x52a1e0){_0x47a7af=_0x52a1e0;return getCall(_0x32b788,_0x122078,_0x2a8ba8,_0x32f090,_0x47a7af,_0x112361,_0x42e0a4,_0x3232('0x95'));})['then'](function(_0x2b1a85){if(_0x2b1a85){logger[_0x3232('0x32')]('The\x20Call\x20ID\x20is:',_0x2b1a85['id']);logger[_0x3232('0x32')](_0x3232('0x91'),'Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0x3232('0x34')]('user:%s',_0x11b7f6['name']),_0x3232('0x8e'),{'uri':_0x3232('0x8f')+_0x2a8ba8['host']+_0x3232('0x90')+_0x2b1a85['id']});}})[_0x3232('0x2e')](function(_0x7a1fcf){logger[_0x3232('0x2f')](_0x3232('0x91'),JSON[_0x3232('0xd')](_0x7a1fcf));});};exports[_0x3232('0x96')]=function(_0x487ffe,_0x33d7b7,_0xfc281b,_0xc0703c,_0x155e38,_0x53afb0){var _0x279018,_0x36c119,_0xe023c0;_0x53afb0['host']=intUtil[_0x3232('0x82')](_0x53afb0[_0x3232('0x81')]);_0x53afb0[_0x3232('0x83')]=intUtil[_0x3232('0x82')](_0x53afb0[_0x3232('0x83')]);if(_0x155e38&&_0x155e38['monitor_format']){logger[_0x3232('0x32')]('['+_0x33d7b7[_0x3232('0x6e')]['toUpperCase']()+']',_0x3232('0x97'));_0x33d7b7['recordingURL']=_0x53afb0[_0x3232('0x83')]+'/api/voice/recordings/'+_0x33d7b7[_0x3232('0x86')]+'/downloads?type=uniqueid&token='+md5(_0x33d7b7[_0x3232('0x86')]);}else{_0x33d7b7[_0x3232('0x85')]='';}var _0x48ff95=_0x53afb0['host']===_0x3232('0x88')?'eu':_0x3232('0x89');return getAccessToken(_0x53afb0)[_0x3232('0x2b')](function(_0x2097d9){_0xe023c0=_0x2097d9;return getUser(_0xe023c0,_0x48ff95,_0x53afb0);})[_0x3232('0x2b')](function(_0x2e31e5){_0x279018=_0x2e31e5;logger['info'](_0x3232('0x8a'),_0x279018['id']);return getEndUser(_0xe023c0,_0x48ff95,_0x53afb0,_0x33d7b7[_0x3232('0x8b')],_0x33d7b7[_0x3232('0x98')],_0x279018,_0xfc281b);})[_0x3232('0x2b')](function(_0x84ff0b){_0x36c119=_0x84ff0b;return getCall(_0xe023c0,_0x48ff95,_0x53afb0,_0x279018,_0x36c119,_0xfc281b,_0x33d7b7,_0x3232('0x7b'));})[_0x3232('0x2b')](function(_0x218871){if(_0x218871){logger['info'](_0x3232('0x99'),_0x218871['id']);}})[_0x3232('0x2e')](function(_0x1a9fa5){logger[_0x3232('0x2f')]('['+_0x33d7b7['lastevent'][_0x3232('0x9a')]()+']',JSON[_0x3232('0xd')](_0x1a9fa5));});};