7519587feb5c34cfd495872d962994c51bc4ec68
[motion2.git] / server / services / ami / trigger / integration / salesforce.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 _0x3e5b=['moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','LastName','<unknown>','Caller\x20-\x20%s','format','Company','upperFirst','forEach','string','picklist','idField','content','toString','variable','variableName','customVariable','Variable','name','concat','securityToken','remoteUri','https://login.salesforce.com','login','username','Connection\x20established.','stripTrailingSlash','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','uniqueid','email','calleridname','calleridnum','Fields','queue','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','user:%s','trigger:salesforce:display','newTab','%s/%s/e','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','recordingFormat','none','[OUTBOUND]','destcalleridname','destcalleridnum','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','trigger:browser:url','instanceUrl','Salesforce\x20account\x20type\x20not\x20recognized','unmanaged','monitor_format','lastevent','toUpperCase',']\x20Integration\x20account\x20type\x20%s.','lodash','request-promise','bluebird','md5','jsforce','util','ioredis','../../../../config/environment','../../../../config/logger','salesforce','redis','defaults','localhost','socket.io-emitter','emit','Subjects','getString','Descriptions','Task','ActivityDate','utc','IsRecurrence','endUserType','lead','WhoId','account','WhatId','ticketType','contact','ContactId','AccountId','leadId','info','Association\x20between\x20Case\x20and\x20Lead\x20skipped','sobject','isNil','validateEmail','User','find','execute','then','length','Email','Agent\x20%s\x20found.','resolve','Name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','identity','user_id','display_name','moduleSearch','contact_lead','cloneDeep','additionalSearchContact','$or','additionalSearchLead','account_contact_lead','additionalSearchAccount','Account','merge','Contact','Lead','first','Phone','attributes','type','toLowerCase','Enduser\x20(%s)\x20with\x20phone\x20%s\x20found'];(function(_0x259927,_0x12a2c7){var _0xdc8e93=function(_0x4faf40){while(--_0x4faf40){_0x259927['push'](_0x259927['shift']());}};_0xdc8e93(++_0x12a2c7);}(_0x3e5b,0xbe));var _0xb3e5=function(_0x19e35c,_0x29cd1e){_0x19e35c=_0x19e35c-0x0;var _0x3e1fe8=_0x3e5b[_0x19e35c];return _0x3e1fe8;};'use strict';var _=require(_0xb3e5('0x0'));var rp=require(_0xb3e5('0x1'));var moment=require('moment');var BPromise=require(_0xb3e5('0x2'));var md5=require(_0xb3e5('0x3'));var jsforce=require(_0xb3e5('0x4'));var util=require(_0xb3e5('0x5'));var Redis=require(_0xb3e5('0x6'));var intUtil=require('./util');var config=require(_0xb3e5('0x7'));var logger=require(_0xb3e5('0x8'))(_0xb3e5('0x9'));config[_0xb3e5('0xa')]=_[_0xb3e5('0xb')](config[_0xb3e5('0xa')],{'host':_0xb3e5('0xc'),'port':0x18eb});var io=require(_0xb3e5('0xd'))(new Redis(config[_0xb3e5('0xa')]));function emit(_0xb08e88,_0x2d55bf,_0x1b09ab){io['to'](_0xb08e88)[_0xb3e5('0xe')](_0x2d55bf,_0x1b09ab);}function getTicket(_0x323a84,_0x30c4d5,_0x51e390,_0xca6eb6,_0x766982,_0x24be26,_0x27e988,_0x4cc81a){var _0x52e610=Object['assign']({},{'OwnerId':_0x30c4d5['id'],'Subject':intUtil['getString'](_0xca6eb6[_0xb3e5('0xf')],_0x766982,'\x20'),'Description':intUtil[_0xb3e5('0x10')](_0xca6eb6[_0xb3e5('0x11')],_0x766982,'\x0a')},getCustomFields(_0x24be26,_0x766982));if(_0x51e390){if(_0xca6eb6['ticketType']===_0xb3e5('0x12')){_0x52e610[_0xb3e5('0x13')]=moment[_0xb3e5('0x14')]();_0x52e610['IsReminderSet']=![];_0x52e610[_0xb3e5('0x15')]=![];if(_0x51e390[_0xb3e5('0x16')]==='contact'||_0x51e390[_0xb3e5('0x16')]===_0xb3e5('0x17')){_0x52e610[_0xb3e5('0x18')]=_0x51e390['id'];}else if(_0x51e390[_0xb3e5('0x16')]===_0xb3e5('0x19')){_0x52e610[_0xb3e5('0x1a')]=_0x51e390['id'];}}else if(_0xca6eb6[_0xb3e5('0x1b')]==='Case'){if(_0x51e390['endUserType']===_0xb3e5('0x1c')){_0x52e610[_0xb3e5('0x1d')]=_0x51e390['id'];}else if(_0x51e390[_0xb3e5('0x16')]==='account'){_0x52e610[_0xb3e5('0x1e')]=_0x51e390['id'];}else if(_0x51e390[_0xb3e5('0x16')]==='lead'&&_0xca6eb6[_0xb3e5('0x1f')]){_0x52e610[_0xca6eb6['leadId']]=_0x51e390['id'];}else{logger[_0xb3e5('0x20')](_0xb3e5('0x21'));}}}return _0x27e988[_0xb3e5('0x22')](_0xca6eb6[_0xb3e5('0x1b')])['create'](_0x52e610);}function getUser(_0x40fdec,_0x5dc04e,_0x4fbcfa){if(!_[_0xb3e5('0x23')](_0x5dc04e)&&intUtil[_0xb3e5('0x24')](_0x5dc04e)){var _0x494243={'Email':_0x5dc04e};var _0x50391d={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x4fbcfa[_0xb3e5('0x22')](_0xb3e5('0x25'))[_0xb3e5('0x26')](_0x494243,_0x50391d)[_0xb3e5('0x27')]()[_0xb3e5('0x28')](function(_0x524130){if(_0x524130[_0xb3e5('0x29')]){var _0x15ecf7=_[_0xb3e5('0x26')](_0x524130,function(_0x368e26){return _0x368e26[_0xb3e5('0x2a')]===_0x5dc04e;});if(_0x15ecf7){logger['info'](_0xb3e5('0x2b'),_0x5dc04e);return BPromise[_0xb3e5('0x2c')]({'id':_0x15ecf7['Id'],'name':_0x15ecf7[_0xb3e5('0x2d')]});}}else{logger[_0xb3e5('0x20')](_0xb3e5('0x2e'),_0x5dc04e);return _0x4fbcfa[_0xb3e5('0x2f')]()[_0xb3e5('0x28')](function(_0x1873f4){return BPromise['resolve']({'id':_0x1873f4[_0xb3e5('0x30')],'name':_0x1873f4['display_name']});});}});}else{logger[_0xb3e5('0x20')]('Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.',_0x5dc04e);return _0x4fbcfa[_0xb3e5('0x2f')]()[_0xb3e5('0x28')](function(_0x49f417){return BPromise[_0xb3e5('0x2c')]({'id':_0x49f417[_0xb3e5('0x30')],'name':_0x49f417[_0xb3e5('0x31')]});});}}function getEndUser(_0x30a9d1,_0x23be99,_0x581254,_0x3a4211,_0x4298ee){var _0x2a0baf={'$or':{'Phone':_0x3a4211}};var _0x5d3df3={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0xb3e5('0x2c')]()['then'](function(){logger[_0xb3e5('0x20')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x3a4211,_0x23be99[_0xb3e5('0x32')]);switch(_0x23be99[_0xb3e5('0x32')]){case _0xb3e5('0x33'):var _0x475711=_[_0xb3e5('0x34')](_0x2a0baf);if(_0x23be99[_0xb3e5('0x35')]){var _0x245ae4={};_0x245ae4[_0x23be99[_0xb3e5('0x35')]]=_0x3a4211;_['merge'](_0x475711[_0xb3e5('0x36')],_0x245ae4);}return _0x4298ee[_0xb3e5('0x22')]('Contact')[_0xb3e5('0x26')](_0x475711,_0x5d3df3)[_0xb3e5('0x27')]()[_0xb3e5('0x28')](function(_0x1d7996){if(_0x1d7996&&_0x1d7996['length']){return _0x1d7996;}else{var _0x141b0b=_[_0xb3e5('0x34')](_0x2a0baf);if(_0x23be99[_0xb3e5('0x37')]){var _0x2f996b={};_0x2f996b[_0x23be99['additionalSearchLead']]=_0x3a4211;_['merge'](_0x141b0b[_0xb3e5('0x36')],_0x2f996b);}return _0x4298ee[_0xb3e5('0x22')]('Lead')[_0xb3e5('0x26')](_0x141b0b,_0x5d3df3);}});case _0xb3e5('0x38'):var _0xab436=_[_0xb3e5('0x34')](_0x2a0baf);if(_0x23be99[_0xb3e5('0x39')]){var _0x245ae4={};_0x245ae4[_0x23be99[_0xb3e5('0x39')]]=_0x3a4211;_['merge'](_0xab436[_0xb3e5('0x36')],_0x245ae4);}return _0x4298ee[_0xb3e5('0x22')](_0xb3e5('0x3a'))[_0xb3e5('0x26')](_0xab436,_0x5d3df3)[_0xb3e5('0x27')]()[_0xb3e5('0x28')](function(_0x34f537){if(_0x34f537&&_0x34f537['length']){return _0x34f537;}else{var _0x51ae66=_[_0xb3e5('0x34')](_0x2a0baf);if(_0x23be99[_0xb3e5('0x35')]){var _0xe9a20c={};_0xe9a20c[_0x23be99[_0xb3e5('0x35')]]=_0x3a4211;_[_0xb3e5('0x3b')](_0x51ae66[_0xb3e5('0x36')],_0xe9a20c);}return _0x4298ee['sobject'](_0xb3e5('0x3c'))['find'](_0x51ae66,_0x5d3df3)['then'](function(_0x1580de){if(_0x1580de&&_0x1580de['length']){return _0x1580de;}else{var _0x53330c=_[_0xb3e5('0x34')](_0x2a0baf);if(_0x23be99[_0xb3e5('0x37')]){var _0x506c68={};_0x506c68[_0x23be99[_0xb3e5('0x37')]]=_0x3a4211;_[_0xb3e5('0x3b')](_0x53330c[_0xb3e5('0x36')],_0x506c68);}return _0x4298ee['sobject'](_0xb3e5('0x3d'))[_0xb3e5('0x26')](_0x53330c,_0x5d3df3);}});}});case _0xb3e5('0x1c'):var _0x475711=_[_0xb3e5('0x34')](_0x2a0baf);if(_0x23be99[_0xb3e5('0x35')]){var _0x245ae4={};_0x245ae4[_0x23be99[_0xb3e5('0x35')]]=_0x3a4211;_[_0xb3e5('0x3b')](_0x475711['$or'],_0x245ae4);}return _0x4298ee[_0xb3e5('0x22')](_0xb3e5('0x3c'))[_0xb3e5('0x26')](_0x475711,_0x5d3df3)[_0xb3e5('0x27')]();case _0xb3e5('0x17'):var _0x20f054=_[_0xb3e5('0x34')](_0x2a0baf);if(_0x23be99[_0xb3e5('0x37')]){var _0x245ae4={};_0x245ae4[_0x23be99['additionalSearchLead']]=_0x3a4211;_[_0xb3e5('0x3b')](_0x20f054[_0xb3e5('0x36')],_0x245ae4);}return _0x4298ee[_0xb3e5('0x22')](_0xb3e5('0x3d'))[_0xb3e5('0x26')](_0x20f054,_0x5d3df3);case _0xb3e5('0x19'):var _0xab436=_['cloneDeep'](_0x2a0baf);if(_0x23be99[_0xb3e5('0x39')]){var _0x245ae4={};_0x245ae4[_0x23be99[_0xb3e5('0x39')]]=_0x3a4211;_['merge'](_0xab436[_0xb3e5('0x36')],_0x245ae4);}return _0x4298ee[_0xb3e5('0x22')]('Account')[_0xb3e5('0x26')](_0xab436,_0x5d3df3);default:return null;}})[_0xb3e5('0x28')](function(_0x992159){if(_0x992159&&_0x992159[_0xb3e5('0x29')]){var _0x29e1e4=_[_0xb3e5('0x3e')](_0x992159);if(_0x29e1e4){return BPromise[_0xb3e5('0x2c')]({'id':_0x29e1e4['Id'],'name':_0x29e1e4[_0xb3e5('0x2d')],'phone':_0x29e1e4[_0xb3e5('0x3f')],'endUserType':_0x29e1e4[_0xb3e5('0x40')][_0xb3e5('0x41')][_0xb3e5('0x42')]()});}}})[_0xb3e5('0x28')](function(_0x404aab){if(_0x404aab){logger[_0xb3e5('0x20')](_0xb3e5('0x43'),_0x404aab[_0xb3e5('0x16')],_0x3a4211);return BPromise[_0xb3e5('0x2c')](_0x404aab);}else{logger[_0xb3e5('0x20')]('Enduser\x20with\x20phone\x20%s\x20not\x20found',_0x3a4211);var _0x2cca69={'Phone':_0x3a4211};if(_0x23be99[_0xb3e5('0x44')]){if(_0x23be99[_0xb3e5('0x44')]===_0xb3e5('0x1c')){logger[_0xb3e5('0x20')](_0xb3e5('0x45'),_0x3a4211,_0x23be99[_0xb3e5('0x44')]);_0x2cca69[_0xb3e5('0x46')]=_0x581254!==_0xb3e5('0x47')?_0x581254:util['format'](_0xb3e5('0x48'),_0x3a4211);}else if(_0x23be99[_0xb3e5('0x44')]===_0xb3e5('0x17')){logger[_0xb3e5('0x20')](_0xb3e5('0x45'),_0x3a4211,_0x23be99['moduleCreate']);_0x2cca69[_0xb3e5('0x46')]=_0x581254!=='<unknown>'?_0x581254:util[_0xb3e5('0x49')](_0xb3e5('0x48'),_0x3a4211);_0x2cca69[_0xb3e5('0x4a')]='No\x20Company';}else if(_0x23be99[_0xb3e5('0x44')]==='account'){logger[_0xb3e5('0x20')]('Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.',_0x3a4211,_0x23be99['moduleCreate']);_0x2cca69[_0xb3e5('0x2d')]=_0x581254!==_0xb3e5('0x47')?_0x581254:util[_0xb3e5('0x49')](_0xb3e5('0x48'),_0x3a4211);}else{return null;}}return _0x4298ee[_0xb3e5('0x22')](_[_0xb3e5('0x4b')](_0x23be99['moduleCreate']))['create'](_0x2cca69)['then'](function(_0x43e7f6){return BPromise[_0xb3e5('0x2c')]({'id':_0x43e7f6['id'],'endUserType':_0x23be99[_0xb3e5('0x44')]});});}});}function getCustomFields(_0x1afaf0,_0x1b6367){var _0x3b9127={};if(_0x1afaf0[_0xb3e5('0x29')]>0x0){_[_0xb3e5('0x4c')](_0x1afaf0,function(_0x4ba168){if(_['includes']([_0xb3e5('0x4d'),_0xb3e5('0x4e')],_0x4ba168[_0xb3e5('0x41')])&&_0x4ba168[_0xb3e5('0x4f')]){_0x3b9127[_0x4ba168[_0xb3e5('0x4f')]]=_0x4ba168[_0xb3e5('0x50')][_0xb3e5('0x51')]();}else if(_0x4ba168[_0xb3e5('0x41')]===_0xb3e5('0x52')&&_0x4ba168[_0xb3e5('0x53')]&&_0x4ba168[_0xb3e5('0x4f')]){_0x1b6367[_0x4ba168['variableName']]&&(_0x3b9127[_0x4ba168[_0xb3e5('0x4f')]]=_0x1b6367[_0x4ba168['variableName']]['toString']());}else if(_0x4ba168['type']===_0xb3e5('0x54')&&_0x4ba168[_0xb3e5('0x55')]&&_0x4ba168[_0xb3e5('0x55')]['name']&&_0x4ba168[_0xb3e5('0x4f')]){_0x1b6367[_0x4ba168[_0xb3e5('0x55')][_0xb3e5('0x56')][_0xb3e5('0x42')]()]&&(_0x3b9127[_0x4ba168[_0xb3e5('0x4f')]]=_0x1b6367[_0x4ba168[_0xb3e5('0x55')]['name'][_0xb3e5('0x42')]()][_0xb3e5('0x51')]());}});}return _0x3b9127;}function getConnection(_0x27983c){var _0x252b9d=_0x27983c['password'][_0xb3e5('0x57')](_0x27983c[_0xb3e5('0x58')]);var _0x283bfb=new jsforce['Connection']({'oauth2':{'loginUrl':_0x27983c[_0xb3e5('0x59')]||_0xb3e5('0x5a'),'clientId':_0x27983c['clientId'],'clientSecret':_0x27983c['clientSecret']}});return _0x283bfb[_0xb3e5('0x5b')](_0x27983c[_0xb3e5('0x5c')],_0x252b9d)[_0xb3e5('0x28')](function(){logger['info'](_0xb3e5('0x5d'));return _0x283bfb;});}exports['queue']=function(_0x50a3fd,_0x405e05,_0x5f46b2,_0x5d2f52,_0x1b1989,_0x5b6a50){var _0x236fb5,_0x56fd95,_0x2dce3d,_0x26e42d;_0x5b6a50['serverUrl']=intUtil[_0xb3e5('0x5e')](_0x5b6a50['serverUrl']);_0x5b6a50['remoteUri']=intUtil['stripTrailingSlash'](_0x5b6a50['remoteUri']);if(_0x1b1989&&_0x1b1989['monitor_format']){logger['info'](_0xb3e5('0x5f'),_0xb3e5('0x60'));_0x405e05[_0xb3e5('0x61')]=util[_0xb3e5('0x49')](_0xb3e5('0x62'),_0x5b6a50[_0xb3e5('0x63')],_0x405e05[_0xb3e5('0x64')],md5(_0x405e05['uniqueid']));}else{_0x405e05['recordingURL']='';}return getConnection(_0x5b6a50)[_0xb3e5('0x28')](function(_0xd20004){_0x26e42d=_0xd20004;return getUser(_0x5b6a50,_0x5d2f52[_0xb3e5('0x65')],_0x26e42d);})[_0xb3e5('0x28')](function(_0x22fcfa){_0x236fb5=_0x22fcfa;return getEndUser(_0x5b6a50,_0x5f46b2,_0x405e05[_0xb3e5('0x66')],_0x405e05[_0xb3e5('0x67')],_0x26e42d);})[_0xb3e5('0x28')](function(_0x5f2035){_0x56fd95=_0x5f2035;return getTicket(_0x5b6a50,_0x236fb5,_0x56fd95,_0x5f46b2,_0x405e05,_0x5f46b2[_0xb3e5('0x68')],_0x26e42d,_0xb3e5('0x69'));})['then'](function(_0xeb6f4b){_0x2dce3d=_0xeb6f4b;logger[_0xb3e5('0x20')]('[QUEUE]\x20Ticket\x20%s\x20created',_0x2dce3d['id']);logger[_0xb3e5('0x20')](_0xb3e5('0x6a'),_0x2dce3d['id'],_0x5d2f52[_0xb3e5('0x56')],_0x5b6a50[_0xb3e5('0x41')]);switch(_0x5b6a50[_0xb3e5('0x41')]){case'integrationTab':emit(util['format'](_0xb3e5('0x6b'),_0x5d2f52[_0xb3e5('0x56')]),_0xb3e5('0x6c'),{'recordId':_0x2dce3d['id']});break;case _0xb3e5('0x6d'):emit(util[_0xb3e5('0x49')](_0xb3e5('0x6b'),_0x5d2f52[_0xb3e5('0x56')]),'trigger:browser:url',{'uri':util[_0xb3e5('0x49')](_0xb3e5('0x6e'),_0x26e42d['instanceUrl'],_0x2dce3d['id'])});break;default:logger[_0xb3e5('0x6f')](_0xb3e5('0x70'));}})[_0xb3e5('0x71')](function(_0x454fa0){logger[_0xb3e5('0x6f')](_0xb3e5('0x5f'),_0x454fa0);});};exports['outbound']=function(_0x558740,_0x3ae9a9,_0x8527ef,_0x515acf,_0x26db9f,_0x587844,_0x29be67){var _0x2be70b,_0x241476,_0x1f9c33,_0x47f3a4;_0x587844['serverUrl']=intUtil['stripTrailingSlash'](_0x587844[_0xb3e5('0x63')]);_0x587844[_0xb3e5('0x59')]=intUtil[_0xb3e5('0x5e')](_0x587844['remoteUri']);if(_0x29be67&&_0x29be67[_0xb3e5('0x72')]&&_0x29be67[_0xb3e5('0x72')]!==_0xb3e5('0x73')){logger[_0xb3e5('0x20')](_0xb3e5('0x74'),'Recording\x20is\x20enabled!');_0x3ae9a9[_0xb3e5('0x61')]=util[_0xb3e5('0x49')](_0xb3e5('0x62'),_0x587844[_0xb3e5('0x63')],_0x3ae9a9[_0xb3e5('0x64')],md5(_0x3ae9a9[_0xb3e5('0x64')]));}return getConnection(_0x587844)['then'](function(_0x35be5d){_0x47f3a4=_0x35be5d;return getUser(_0x587844,_0x515acf[_0xb3e5('0x65')],_0x47f3a4);})['then'](function(_0x321914){_0x2be70b=_0x321914;return getEndUser(_0x587844,_0x8527ef,_0x3ae9a9[_0xb3e5('0x75')],_0x3ae9a9[_0xb3e5('0x76')],_0x47f3a4);})[_0xb3e5('0x28')](function(_0x3f6559){_0x241476=_0x3f6559;return getTicket(_0x587844,_0x2be70b,_0x241476,_0x8527ef,_0x3ae9a9,_0x8527ef['Fields'],_0x47f3a4,'outbound');})[_0xb3e5('0x28')](function(_0x260c7b){_0x1f9c33=_0x260c7b;logger[_0xb3e5('0x20')]('[OUTBOUND]\x20Ticket\x20%s\x20created.',_0x1f9c33['id']);logger['info'](_0xb3e5('0x77'),_0x1f9c33['id'],_0x515acf[_0xb3e5('0x56')],_0x587844['type']);switch(_0x587844[_0xb3e5('0x41')]){case _0xb3e5('0x78'):emit(util[_0xb3e5('0x49')](_0xb3e5('0x6b'),_0x515acf[_0xb3e5('0x56')]),'trigger:salesforce:display',{'recordId':_0x1f9c33['id']});break;case _0xb3e5('0x6d'):emit(util['format'](_0xb3e5('0x6b'),_0x515acf['name']),_0xb3e5('0x79'),{'uri':util[_0xb3e5('0x49')]('%s/%s/e',_0x47f3a4[_0xb3e5('0x7a')],_0x1f9c33['id'])});break;default:logger[_0xb3e5('0x6f')]('[OUTBOUND]',_0xb3e5('0x7b'));}})[_0xb3e5('0x71')](function(_0x535c5b){logger['error']('[OUTBOUND]',_0x535c5b);});};exports[_0xb3e5('0x7c')]=function(_0x4edf76,_0x3b8b7a,_0x4161fe,_0x9e7bb0,_0x41f245,_0x270722){var _0x1df076,_0x3ae40c,_0x21ff0d,_0x12163a;_0x270722[_0xb3e5('0x63')]=intUtil['stripTrailingSlash'](_0x270722[_0xb3e5('0x63')]);_0x270722[_0xb3e5('0x59')]=intUtil['stripTrailingSlash'](_0x270722[_0xb3e5('0x59')]);if(_0x41f245&&_0x41f245[_0xb3e5('0x7d')]){logger[_0xb3e5('0x20')]('['+_0x3b8b7a[_0xb3e5('0x7e')][_0xb3e5('0x7f')]()+']','Recording\x20is\x20enabled!');_0x3b8b7a[_0xb3e5('0x61')]=util[_0xb3e5('0x49')](_0xb3e5('0x62'),_0x270722['serverUrl'],_0x3b8b7a[_0xb3e5('0x64')],md5(_0x3b8b7a[_0xb3e5('0x64')]));}else{_0x3b8b7a[_0xb3e5('0x61')]='';}return getConnection(_0x270722)[_0xb3e5('0x28')](function(_0x491df5){_0x12163a=_0x491df5;if(!_[_0xb3e5('0x23')](_0x9e7bb0)){return getUser(_0x270722,_0x9e7bb0['name'],_0x12163a);}else{return getUser(_0x270722,null,_0x12163a);}})[_0xb3e5('0x28')](function(_0x41af22){_0x1df076=_0x41af22;return getEndUser(_0x270722,_0x4161fe,_0x3b8b7a['calleridname'],_0x3b8b7a['calleridnum'],_0x12163a);})[_0xb3e5('0x28')](function(_0x2b26b0){_0x3ae40c=_0x2b26b0;return getTicket(_0x270722,_0x1df076,_0x3ae40c,_0x4161fe,_0x3b8b7a,_0x4161fe[_0xb3e5('0x68')],_0x12163a);})[_0xb3e5('0x28')](function(_0x4919c5){_0x21ff0d=_0x4919c5;logger[_0xb3e5('0x20')]('['+_0x3b8b7a[_0xb3e5('0x7e')][_0xb3e5('0x7f')]()+']\x20Ticket\x20%s\x20created.',_0x21ff0d['id']);logger[_0xb3e5('0x20')]('['+_0x3b8b7a['lastevent'][_0xb3e5('0x7f')]()+_0xb3e5('0x80'),_0x270722[_0xb3e5('0x41')]);})[_0xb3e5('0x71')](function(_0x409e41){logger['error']('['+_0x3b8b7a['lastevent']['toUpperCase']()+']',_0x409e41);});};