Built motion from commit (unavailable).|2.6.0
[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 _0xb332=['Subjects','Description','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','utc','format','answertime','endtime','diff','starttime','YYYY-MM-DDTHH:mm:ss','lastevent','Call_Result','Called','complete','connect','Answered','rejected','abandoned','Abandoned','timeout','Timeout','Call_Start_Time','outbound','agentcalledAt','Call_Type','Inbound','merge','/crm/v2/Calls','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','uniqueid','zoho.eu','email','The\x20User\x20ID\x20is:','calleridnum','The\x20Call\x20ID\x20is:','[QUEUE]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','[OUTBOUND]','/downloads?type=uniqueid&token=','com','destcalleridname','Outbound','user:%s','https://crm.','unmanaged','toUpperCase','lodash','md5','util','moment','bluebird','../../../../config/logger','redis','defaults','localhost','emit','debug','stringify','length','forEach','includes','string','picklist','type','idField','content','toString','variable','variableName','customVariable','Variable','name','toLowerCase','indexOf','split','isNil','access_token','expires_in','zone','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.eu','https://accounts.zoho.in','POST','/oauth/v2/token','clientId','refresh_token','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','then','isArrayLikeObject','users','findIndex','Using\x20the\x20admin\x20account!','profile','Administrator','user','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','The\x20failing\x20result\x20is','catch','data','enduserType','/crm/v2/','startCase','role','first_name','last_name','code','SUCCESS','details','log','CREATE\x20ERROR','GET','moduleSearch','contact_lead','uri','https://www.zohoapis.','moduleCreate','contact','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','lead','Leads','nothing','Creating\x20new\x20call...','Owner','administrator','Subject','getString'];(function(_0x5037ab,_0x43209e){var _0x512adb=function(_0x261783){while(--_0x261783){_0x5037ab['push'](_0x5037ab['shift']());}};_0x512adb(++_0x43209e);}(_0xb332,0xd9));var _0x2b33=function(_0xfcbcb8,_0x35bf6b){_0xfcbcb8=_0xfcbcb8-0x0;var _0x1b1f97=_0xb332[_0xfcbcb8];return _0x1b1f97;};'use strict';var _=require(_0x2b33('0x0'));var rp=require('request-promise');var md5=require(_0x2b33('0x1'));var util=require(_0x2b33('0x2'));var intUtil=require('./util');var moment=require(_0x2b33('0x3'));var Redis=require('ioredis');var BPromise=require(_0x2b33('0x4'));var config=require('../../../../config/environment');var logger=require(_0x2b33('0x5'))('zoho');config[_0x2b33('0x6')]=_[_0x2b33('0x7')](config[_0x2b33('0x6')],{'host':_0x2b33('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function emit(_0x4302b7,_0x5f29ab,_0xb3aeab){io['to'](_0x4302b7)[_0x2b33('0x9')](_0x5f29ab,_0xb3aeab);}function request(_0x2f2cb3){logger[_0x2b33('0xa')]('[HTTP]',JSON[_0x2b33('0xb')](_0x2f2cb3));return rp(_0x2f2cb3);}function getCustomFields(_0x1cefb1,_0x1be19d){var _0x1d83a6={};if(_0x1cefb1[_0x2b33('0xc')]>0x0){_[_0x2b33('0xd')](_0x1cefb1,function(_0x5251b){if(_[_0x2b33('0xe')]([_0x2b33('0xf'),_0x2b33('0x10')],_0x5251b[_0x2b33('0x11')])&&_0x5251b['idField']){_0x1d83a6[_0x5251b[_0x2b33('0x12')]]=_0x5251b[_0x2b33('0x13')][_0x2b33('0x14')]();}else if(_0x5251b['type']===_0x2b33('0x15')&&_0x5251b['variableName']&&_0x5251b[_0x2b33('0x12')]&&_0x1be19d[_0x5251b[_0x2b33('0x16')]]){_0x1d83a6[_0x5251b[_0x2b33('0x12')]]=_0x1be19d[_0x5251b['variableName']]['toString']();}else if(_0x5251b[_0x2b33('0x11')]===_0x2b33('0x17')&&_0x5251b[_0x2b33('0x18')]&&_0x5251b[_0x2b33('0x18')][_0x2b33('0x19')]&&_0x5251b['idField']&&_0x1be19d[_0x5251b['Variable']['name'][_0x2b33('0x1a')]()]){_0x1d83a6[_0x5251b['idField']]=_0x1be19d[_0x5251b['Variable'][_0x2b33('0x19')][_0x2b33('0x1a')]()][_0x2b33('0x14')]();}});}return _0x1d83a6;}function getName(_0x539c5f){if(_0x539c5f[_0x2b33('0x1b')]('\x20')>0x0){var _0x5e1795=_0x539c5f[_0x2b33('0x1c')](/ (.+)/);if(_0x5e1795[0x1]){return _0x5e1795;}}return[_0x539c5f,_0x539c5f];}var accountsTokens={};function getAccessToken(_0x2565be){return new Promise(function(_0x8c8dc2,_0x2998dd){if(!_[_0x2b33('0x1d')](accountsTokens[_0x2565be['id']])&&!_[_0x2b33('0x1d')](accountsTokens[_0x2565be['id']][_0x2b33('0x1e')])){if(moment()['isBefore'](accountsTokens[_0x2565be['id']][_0x2b33('0x1f')])){_0x8c8dc2(accountsTokens[_0x2565be['id']][_0x2b33('0x1e')]);}}var _0x100c8d;switch(_0x2565be[_0x2b33('0x20')]){case'US':_0x100c8d=_0x2b33('0x21');break;case'AU':_0x100c8d=_0x2b33('0x22');break;case'EU':_0x100c8d=_0x2b33('0x23');break;case'IN':_0x100c8d=_0x2b33('0x24');break;case'CN':_0x100c8d='https://accounts.zoho.com.cn';break;default:_0x100c8d=_0x2b33('0x23');break;}var _0x1b9a48={'method':_0x2b33('0x25'),'uri':_0x100c8d+_0x2b33('0x26'),'qs':{'refresh_token':_0x2565be['refreshToken'],'client_id':_0x2565be[_0x2b33('0x27')],'client_secret':_0x2565be['clientSecret'],'grant_type':_0x2b33('0x28')},'json':!![]};return rp(_0x1b9a48)['then'](function(_0x2e74d0){accountsTokens[_0x2565be['id']]={'access_token':_0x2e74d0[_0x2b33('0x1e')],'expires_in':moment()['add'](_0x2e74d0[_0x2b33('0x1f')],'seconds')};_0x8c8dc2(_0x2e74d0[_0x2b33('0x1e')]);})['catch'](function(_0x315ebd){logger[_0x2b33('0x29')](_0x2b33('0x2a'),_0x315ebd[_0x2b33('0x2b')]);_0x2998dd(_0x315ebd);});});}function getUser(_0xaa6643,_0x312d4d,_0x2be034,_0x1fadc5){logger[_0x2b33('0x2c')](_0x2b33('0x2d'));return request({'method':'GET','uri':util['format'](_0x2b33('0x2e'),_0x312d4d),'qs':{'type':_0x2b33('0x2f')},'headers':{'Authorization':_0x2b33('0x30')+_0xaa6643},'json':!![]})[_0x2b33('0x31')](function(_0x11d2aa){if(_0x11d2aa['users']){var _0x570765=-0x1;if(_[_0x2b33('0x32')](_0x11d2aa[_0x2b33('0x33')])){if(!_[_0x2b33('0x1d')](_0x1fadc5)){_0x570765=_[_0x2b33('0x34')](_0x11d2aa[_0x2b33('0x33')],function(_0x3e8f43){return _0x3e8f43['email']===_0x1fadc5;});}if(_0x570765>=0x0){logger[_0x2b33('0x2c')]('Agent\x20found!');}else{logger[_0x2b33('0x2c')](_0x2b33('0x35'));_0x570765=_[_0x2b33('0x34')](_0x11d2aa[_0x2b33('0x33')],function(_0x594d66){return _0x594d66[_0x2b33('0x36')][_0x2b33('0x19')]===_0x2b33('0x37');});}return _0x11d2aa[_0x2b33('0x33')][_0x570765];}else{if(_0x11d2aa[_0x2b33('0x38')][_0x2b33('0x36')][_0x2b33('0x19')]===_0x2b33('0x37')){logger[_0x2b33('0x2c')](_0x2b33('0x35'));user=_0x11d2aa[_0x2b33('0x38')];return user;}else{logger['error']('The\x20failing\x20result\x20is',JSON['stringify'](_0x11d2aa));throw new Error(_0x2b33('0x39')+JSON[_0x2b33('0xb')](_0x11d2aa));}}}else{logger[_0x2b33('0x29')](_0x2b33('0x3a'),JSON[_0x2b33('0xb')](_0x11d2aa));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON['stringify'](_0x11d2aa));}})[_0x2b33('0x3b')](function(_0x4c3997){console[_0x2b33('0x29')](_0x4c3997);});}function getZohoUser(_0x12cbb2,_0x1f7b14){return new BPromise(function(_0xa638d6,_0x308c50){request(_0x12cbb2)[_0x2b33('0x31')](function(_0x156e77){var _0x2594fd=null;if(_0x156e77){_0x2594fd=_0x156e77[_0x2b33('0x3c')][0x0];_0x2594fd[_0x2b33('0x3d')]=_0x1f7b14;}_0xa638d6(_0x2594fd);})['catch'](function(_0x3f117e){_0x308c50(_0x3f117e);});});}function createEndUser(_0x4661eb,_0x1f0160,_0x5b7c32,_0x5e0aba,_0x3afaa5,_0x4e4d54){var _0x5b7c32=getName(_0x5b7c32);return request({'method':_0x2b33('0x25'),'uri':'https://www.zohoapis.'+_0x1f0160+_0x2b33('0x3e')+_[_0x2b33('0x3f')](_0x4e4d54['moduleCreate'])+'s','body':{'data':[{'Last_Name':_0x5b7c32[0x1],'First_Name':_0x5b7c32[0x0],'Phone':_0x5e0aba,'Owner':{'name':!_[_0x2b33('0x1d')](_0x3afaa5[_0x2b33('0x40')]['name'])?_0x3afaa5[_0x2b33('0x40')][_0x2b33('0x19')]:!_[_0x2b33('0x1d')](_0x3afaa5['first_name'])?_0x3afaa5[_0x2b33('0x41')]+'\x20'+_0x3afaa5[_0x2b33('0x42')]:_0x3afaa5[_0x2b33('0x42')],'id':_0x3afaa5['id']}}]},'headers':{'Authorization':_0x2b33('0x30')+_0x4661eb},'json':!![]})[_0x2b33('0x31')](function(_0x4fa242){if(_0x4fa242&&_0x4fa242[_0x2b33('0x3c')][0x0][_0x2b33('0x43')]===_0x2b33('0x44')){var _0x5ad3b2=_0x4fa242[_0x2b33('0x3c')][0x0][_0x2b33('0x45')];_0x5ad3b2[_0x2b33('0x3d')]=_[_0x2b33('0x3f')](_0x4e4d54['moduleCreate'])+'s';return _0x5ad3b2;}logger[_0x2b33('0x29')](_0x2b33('0x3a'),JSON['stringify'](data));throw new Error('Error:\x20'+JSON['stringify'](data));})[_0x2b33('0x3b')](function(_0x49e28b){console[_0x2b33('0x46')](_0x2b33('0x47'),_0x49e28b);});}function getEndUser(_0x4ac79b,_0xaef4ff,_0x16e415,_0xd68bbd,_0x361b71,_0x13bb23,_0x56224a){var _0x34f947={'method':_0x2b33('0x48'),'uri':'','headers':{'Authorization':_0x2b33('0x30')+_0x4ac79b},'json':!![]};switch(_0x56224a[_0x2b33('0x49')]){case _0x2b33('0x4a'):_0x34f947[_0x2b33('0x4b')]='https://www.zohoapis.'+_0xaef4ff+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x361b71+'))';return getZohoUser(_0x34f947,'Contacts')['then'](function(_0x13a5d4){if(_0x13a5d4)return _0x13a5d4;_0x34f947['uri']=_0x2b33('0x4c')+_0xaef4ff+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x361b71+'))';return getZohoUser(_0x34f947,'Leads')[_0x2b33('0x31')](function(_0xd15da9){if(_0xd15da9)return _0xd15da9;if(_0x56224a[_0x2b33('0x4d')]!='nothing'){return createEndUser(_0x4ac79b,_0xaef4ff,_0xd68bbd,_0x361b71,_0x13bb23,_0x56224a);}else{return{};}});});break;case _0x2b33('0x4e'):_0x34f947['uri']=_0x2b33('0x4c')+_0xaef4ff+_0x2b33('0x4f')+_0x361b71+'))';return getZohoUser(_0x34f947,_0x2b33('0x50'))[_0x2b33('0x31')](function(_0x144435){if(_0x144435)return _0x144435;if(_0x56224a[_0x2b33('0x4d')]!='nothing'){return createEndUser(_0x4ac79b,_0xaef4ff,_0xd68bbd,_0x361b71,_0x13bb23,_0x56224a);}else{return{};}});break;case _0x2b33('0x51'):_0x34f947[_0x2b33('0x4b')]=_0x2b33('0x4c')+_0xaef4ff+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x361b71+'))';return getZohoUser(_0x34f947,_0x2b33('0x52'))[_0x2b33('0x31')](function(_0x434f0f){if(_0x434f0f)return _0x434f0f;if(_0x56224a['moduleCreate']!=_0x2b33('0x53')){return createEndUser(_0x4ac79b,_0xaef4ff,_0xd68bbd,_0x361b71,_0x13bb23,_0x56224a);}else{return{};}});break;}}function getCall(_0x4cffe9,_0x5efc74,_0x353224,_0x108d9a,_0x24dc4c,_0xae5ffe,_0x307370,_0x3022ca){logger[_0x2b33('0x2c')](_0x2b33('0x54'));var _0x486f74={};_0x486f74[_0x2b33('0x55')]={'name':!_[_0x2b33('0x1d')](_0x108d9a['role'][_0x2b33('0x19')])&&!_[_0x2b33('0x1d')](_0x108d9a['profile'][_0x2b33('0x19')])&&_0x108d9a[_0x2b33('0x36')][_0x2b33('0x19')]===_0x2b33('0x56')?_0x108d9a['role'][_0x2b33('0x19')]:!_[_0x2b33('0x1d')](_0x108d9a['first_name'])?_0x108d9a[_0x2b33('0x41')]+'\x20'+_0x108d9a[_0x2b33('0x42')]:_0x108d9a[_0x2b33('0x42')],'id':_0x108d9a['id']};_0x486f74[_0x2b33('0x57')]=intUtil[_0x2b33('0x58')](_0xae5ffe[_0x2b33('0x59')],_0x307370,'\x20');_0x486f74[_0x2b33('0x5a')]=intUtil['getString'](_0xae5ffe['Descriptions'],_0x307370,'\x0a');if(_0x24dc4c[_0x2b33('0x3d')]===_0x2b33('0x50')){_0x486f74['Who_Id']={'name':!_[_0x2b33('0x1d')](_0x24dc4c[_0x2b33('0x5b')])?_0x24dc4c[_0x2b33('0x5b')]:!_['isNil'](_0x24dc4c[_0x2b33('0x5c')])?_0x24dc4c[_0x2b33('0x5c')]+'\x20'+_0x24dc4c[_0x2b33('0x5d')]:_0x24dc4c[_0x2b33('0x5d')],'id':_0x24dc4c['id']};}if(_0x24dc4c[_0x2b33('0x3d')]===_0x2b33('0x52')){_0x486f74[_0x2b33('0x5e')]={'name':!_[_0x2b33('0x1d')](_0x24dc4c['Full_Name'])?_0x24dc4c['Full_Name']:!_[_0x2b33('0x1d')](_0x24dc4c[_0x2b33('0x5c')])?_0x24dc4c[_0x2b33('0x5c')]+'\x20'+_0x24dc4c[_0x2b33('0x5d')]:_0x24dc4c[_0x2b33('0x5d')],'id':_0x24dc4c['id']};_0x486f74[_0x2b33('0x5f')]=_['startCase'](_0x24dc4c[_0x2b33('0x3d')]);}if(_0x307370[_0x2b33('0x60')]){_0x486f74[_0x2b33('0x61')]=moment[_0x2b33('0x62')](parseInt(_0x307370[_0x2b33('0x60')])*0x3e8)[_0x2b33('0x63')]('mm:ss');}else if(_0x307370[_0x2b33('0x64')]&&_0x307370[_0x2b33('0x65')]){_0x486f74[_0x2b33('0x61')]=moment[_0x2b33('0x62')](moment(_0x307370[_0x2b33('0x65')],'YYYY-MM-DDTHH:mm:ss')[_0x2b33('0x66')](moment(_0x307370[_0x2b33('0x67')],_0x2b33('0x68'))))[_0x2b33('0x63')]('mm:ss');}switch(_0x307370[_0x2b33('0x69')]){case'called':_0x486f74[_0x2b33('0x6a')]=_0x2b33('0x6b');break;case _0x2b33('0x6c'):case _0x2b33('0x6d'):_0x486f74[_0x2b33('0x6a')]=_0x2b33('0x6e');break;case _0x2b33('0x6f'):_0x486f74[_0x2b33('0x6a')]='Rejected';break;case _0x2b33('0x70'):_0x486f74[_0x2b33('0x6a')]=_0x2b33('0x71');break;case _0x2b33('0x72'):_0x486f74[_0x2b33('0x6a')]=_0x2b33('0x73');default:}_0x486f74[_0x2b33('0x74')]=(_0x3022ca===_0x2b33('0x75')?moment(_0x307370[_0x2b33('0x67')])[_0x2b33('0x63')](_0x2b33('0x68')):moment(_0x307370[_0x2b33('0x76')])['format'](_0x2b33('0x68')))||moment()['format']('YYYY-MM-DDTHH:mm:ss');_0x486f74[_0x2b33('0x77')]=_0x3022ca||_0x2b33('0x78');_0x486f74=_[_0x2b33('0x79')](_0x486f74,getCustomFields(_0xae5ffe['Fields'],_0x307370));return request({'method':_0x2b33('0x25'),'uri':_0x2b33('0x4c')+_0x5efc74+_0x2b33('0x7a'),'headers':{'Authorization':_0x2b33('0x30')+_0x4cffe9},'body':{'data':[_0x486f74]},'json':!![]})['then'](function(_0x5c849f){if(_0x5c849f&&_0x5c849f['data'][0x0]['code']==='SUCCESS'){logger['info']('Call\x20created!');return{'id':_0x5c849f[_0x2b33('0x3c')][0x0][_0x2b33('0x45')]['id']};}})[_0x2b33('0x3b')](function(_0x5429d7){logger[_0x2b33('0x2c')](_0x2b33('0x7b'),_0x5429d7[_0x2b33('0x2b')]);console[_0x2b33('0x46')](_0x2b33('0x7b'),_0x5429d7);});}exports[_0x2b33('0x7c')]=function(_0x5e60b4,_0x4cc9ef,_0x57ef17,_0x594f75,_0x4ad71e,_0x4cd745){var _0x35a66b,_0x456c4b,_0x5c6399;_0x4cd745[_0x2b33('0x7d')]=intUtil[_0x2b33('0x7e')](_0x4cd745[_0x2b33('0x7d')]);_0x4cd745[_0x2b33('0x7f')]=intUtil[_0x2b33('0x7e')](_0x4cd745[_0x2b33('0x7f')]);if(_0x4ad71e&&_0x4ad71e[_0x2b33('0x80')]){logger['info']('[QUEUE]',_0x2b33('0x81'));_0x4cc9ef[_0x2b33('0x82')]=_0x4cd745[_0x2b33('0x7f')]+_0x2b33('0x83')+_0x4cc9ef[_0x2b33('0x84')]+'/downloads?type=uniqueid&token='+md5(_0x4cc9ef['uniqueid']);}else{_0x4cc9ef['recordingURL']='';}var _0x30a108=_0x4cd745[_0x2b33('0x7d')]===_0x2b33('0x85')?'eu':'com';return getAccessToken(_0x4cd745)['then'](function(_0x31d155){_0x5c6399=_0x31d155;return getUser(_0x5c6399,_0x30a108,_0x4cd745,_0x594f75[_0x2b33('0x86')]);})['then'](function(_0x29571e){_0x35a66b=_0x29571e;logger[_0x2b33('0x2c')](_0x2b33('0x87'),_0x35a66b['id']);return getEndUser(_0x5c6399,_0x30a108,_0x4cd745,_0x4cc9ef['calleridname'],_0x4cc9ef[_0x2b33('0x88')],_0x35a66b,_0x57ef17);})[_0x2b33('0x31')](function(_0x32c3c0){_0x456c4b=_0x32c3c0;return getCall(_0x5c6399,_0x30a108,_0x4cd745,_0x35a66b,_0x456c4b,_0x57ef17,_0x4cc9ef,_0x2b33('0x78'));})['then'](function(_0x3e0900){if(_0x3e0900){logger['info'](_0x2b33('0x89'),_0x3e0900['id']);logger[_0x2b33('0x2c')](_0x2b33('0x8a'),_0x2b33('0x8b'));emit(util[_0x2b33('0x63')]('user:%s',_0x594f75['name']),_0x2b33('0x8c'),{'uri':'https://crm.'+_0x4cd745['host']+_0x2b33('0x8d')+_0x3e0900['id']});}})[_0x2b33('0x3b')](function(_0x1e68ab){logger[_0x2b33('0x29')](_0x2b33('0x8a'),JSON[_0x2b33('0xb')](_0x1e68ab));});};exports[_0x2b33('0x75')]=function(_0x29364d,_0x4edbf6,_0x4f615a,_0x4fd85a,_0x301464,_0x2bc121,_0x589106){var _0xf15ebc,_0x7f70b6,_0x48fad3;_0x2bc121[_0x2b33('0x7d')]=intUtil['stripTrailingSlash'](_0x2bc121[_0x2b33('0x7d')]);_0x2bc121[_0x2b33('0x7f')]=intUtil['stripTrailingSlash'](_0x2bc121[_0x2b33('0x7f')]);if(_0x589106&&_0x589106[_0x2b33('0x8e')]&&_0x589106['recordingFormat']!==_0x2b33('0x8f')){logger['info'](_0x2b33('0x90'),'Recording\x20is\x20enabled!');_0x4edbf6['recordingURL']=_0x2bc121['serverUrl']+_0x2b33('0x83')+_0x4edbf6['uniqueid']+_0x2b33('0x91')+md5(_0x4edbf6[_0x2b33('0x84')]);}var _0xd33435=_0x2bc121[_0x2b33('0x7d')]===_0x2b33('0x85')?'eu':_0x2b33('0x92');return getAccessToken(_0x2bc121)[_0x2b33('0x31')](function(_0x3f8aaa){_0x48fad3=_0x3f8aaa;return getUser(_0x48fad3,_0xd33435,_0x2bc121,_0x4fd85a[_0x2b33('0x86')]);})[_0x2b33('0x31')](function(_0x355250){_0xf15ebc=_0x355250;logger['info'](_0x2b33('0x87'),_0xf15ebc['id']);return getEndUser(_0x48fad3,_0xd33435,_0x2bc121,_0x4edbf6[_0x2b33('0x93')],_0x4edbf6['destcalleridnum'],_0xf15ebc,_0x4f615a);})[_0x2b33('0x31')](function(_0x589725){_0x7f70b6=_0x589725;return getCall(_0x48fad3,_0xd33435,_0x2bc121,_0xf15ebc,_0x7f70b6,_0x4f615a,_0x4edbf6,_0x2b33('0x94'));})['then'](function(_0x2eefa1){if(_0x2eefa1){logger['info'](_0x2b33('0x89'),_0x2eefa1['id']);logger[_0x2b33('0x2c')](_0x2b33('0x90'),_0x2b33('0x8b'));emit(util['format'](_0x2b33('0x95'),_0x4fd85a[_0x2b33('0x19')]),'trigger:browser:url',{'uri':_0x2b33('0x96')+_0x2bc121[_0x2b33('0x7d')]+_0x2b33('0x8d')+_0x2eefa1['id']});}})[_0x2b33('0x3b')](function(_0x533045){logger[_0x2b33('0x29')](_0x2b33('0x90'),JSON[_0x2b33('0xb')](_0x533045));});};exports[_0x2b33('0x97')]=function(_0x4b0236,_0x1f39a9,_0x5ac8cb,_0xf8bc6f,_0x23fb69,_0x25ecd4){var _0x4dfb30,_0x591e1f,_0x1689e9;_0x25ecd4[_0x2b33('0x7d')]=intUtil[_0x2b33('0x7e')](_0x25ecd4[_0x2b33('0x7d')]);_0x25ecd4[_0x2b33('0x7f')]=intUtil['stripTrailingSlash'](_0x25ecd4[_0x2b33('0x7f')]);if(_0x23fb69&&_0x23fb69[_0x2b33('0x80')]){logger[_0x2b33('0x2c')]('['+_0x1f39a9[_0x2b33('0x69')][_0x2b33('0x98')]()+']','Recording\x20is\x20enabled!');_0x1f39a9[_0x2b33('0x82')]=_0x25ecd4[_0x2b33('0x7f')]+_0x2b33('0x83')+_0x1f39a9['uniqueid']+_0x2b33('0x91')+md5(_0x1f39a9['uniqueid']);}else{_0x1f39a9[_0x2b33('0x82')]='';}var _0x36be69=_0x25ecd4['host']===_0x2b33('0x85')?'eu':_0x2b33('0x92');return getAccessToken(_0x25ecd4)['then'](function(_0x5c1523){_0x1689e9=_0x5c1523;return getUser(_0x1689e9,_0x36be69,_0x25ecd4);})[_0x2b33('0x31')](function(_0x5bc4da){_0x4dfb30=_0x5bc4da;logger[_0x2b33('0x2c')](_0x2b33('0x87'),_0x4dfb30['id']);return getEndUser(_0x1689e9,_0x36be69,_0x25ecd4,_0x1f39a9['calleridname'],_0x1f39a9['calleridnum'],_0x4dfb30,_0x5ac8cb);})['then'](function(_0x3ddae6){_0x591e1f=_0x3ddae6;return getCall(_0x1689e9,_0x36be69,_0x25ecd4,_0x4dfb30,_0x591e1f,_0x5ac8cb,_0x1f39a9,_0x2b33('0x78'));})[_0x2b33('0x31')](function(_0x4a8ecf){if(_0x4a8ecf){logger['info'](_0x2b33('0x89'),_0x4a8ecf['id']);}})[_0x2b33('0x3b')](function(_0x387293){logger[_0x2b33('0x29')]('['+_0x1f39a9[_0x2b33('0x69')][_0x2b33('0x98')]()+']',JSON['stringify'](_0x387293));});};