Built motion from commit 953226e6.|2.6.32
[motion2.git] / server / services / ami / trigger / integration / sugarcrm.js
index 36d2e07..d941d90 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe048=['version','trigger:browser:url','error','unmanaged','monitor_format','lastevent','toUpperCase','isNil','calleridname','Fields','Inbound','users','request-promise','bluebird','./util','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','POST','info','name','getString','Subjects','assigned_user_id','created_by','description','Descriptions','date_start','toISOString','slice','replace','duration_hours','duration_minutes','parent_type','Contacts','parent_name','length','push','idField','variableName','set_entry','JSON','Basic\x20%s','toString','base64','Getting\x20agent\x20with\x20name','get_entry_list','stringify','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','then','entry_list','name_value_list','user_name','value','Agent\x20found!','resolve','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','user_id','Searching\x20enduser\x20with\x20phone','format','phone_home','find','Enduser\x20found!','first_name','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','[HTTP]','map','forEach','type','customField','nameField','content','string','custom_fields','variable','customVariable','Variable','toLowerCase','password','xCALLY\x20Motion\x20integration','sessionID','Account\x20%d\x20is\x20not\x20valid','set_relationship','Calls','queue','remoteUri','stripTrailingSlash','serverUrl','uri','[QUEUE]','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','The\x20User\x20ID\x20is:','calleridnum','The\x20Enduser\x20ID\x20is:','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','contacts','charAt','%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','catch','%s/service/v4_1/rest.php','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','destcalleridname','destcalleridnum','Outbound'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xe048,0x1e4));var _0x8e04=function(_0x19a8fb,_0x3a831e){_0x19a8fb=_0x19a8fb-0x0;var _0x1a053b=_0xe048[_0x19a8fb];return _0x1a053b;};'use strict';var _=require('lodash');var rp=require(_0x8e04('0x0'));var BPromise=require(_0x8e04('0x1'));var md5=require('md5');var util=require('util');var Redis=require('ioredis');var intUtil=require(_0x8e04('0x2'));var config=require(_0x8e04('0x3'));var logger=require(_0x8e04('0x4'))('sugarcrm');config[_0x8e04('0x5')]=_[_0x8e04('0x6')](config['redis'],{'host':_0x8e04('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x8e04('0x5')]));var def={'method':_0x8e04('0x8'),'json':!![]};function emit(_0x547cad,_0xbec249,_0x4920e0){io['to'](_0x547cad)['emit'](_0xbec249,_0x4920e0);}function getTicket(_0x198cb1,_0x4344e5,_0x1fb848,_0x260971,_0x1b41bb,_0x346001,_0x5f065f,_0x591930){logger[_0x8e04('0x9')]('Creating\x20new\x20ticket...');var _0x454b38=new Date();var _0x45e083=[{'name':_0x8e04('0xa'),'value':intUtil[_0x8e04('0xb')](_0x260971[_0x8e04('0xc')],_0x1b41bb,'\x20')},{'name':_0x8e04('0xd'),'value':_0x4344e5['id']},{'name':_0x8e04('0xe'),'value':_0x4344e5['id']},{'name':_0x8e04('0xf'),'value':intUtil['getString'](_0x260971[_0x8e04('0x10')],_0x1b41bb,'\x0a')},{'name':_0x8e04('0x11'),'value':_0x454b38[_0x8e04('0x12')]()[_0x8e04('0x13')](0x0,0x13)[_0x8e04('0x14')]('T','\x20')},{'name':_0x8e04('0x15'),'value':'0'},{'name':_0x8e04('0x16'),'value':'15'},{'name':'parent_id','value':_0x1fb848['id']},{'name':_0x8e04('0x17'),'value':_0x8e04('0x18')},{'name':_0x8e04('0x19'),'value':_0x1fb848[_0x8e04('0xa')]},{'name':'direction','value':_0x591930}];if(_0x346001[_0x8e04('0x1a')]){_['forEach'](_0x346001,function(_0x455e8f){if(_0x1b41bb[_0x455e8f['variableName']]){_0x45e083[_0x8e04('0x1b')]({'name':_0x455e8f[_0x8e04('0x1c')],'value':_0x1b41bb[_0x455e8f[_0x8e04('0x1d')]]});}});}return request({'form':{'method':_0x8e04('0x1e'),'input_type':_0x8e04('0x1f'),'response_type':_0x8e04('0x1f'),'rest_data':JSON['stringify']({'session':_0x5f065f['id'],'module_name':'Calls','name_value_list':_0x45e083})}});}function getAuth(_0x130bfe){return util['format'](_0x8e04('0x20'),new Buffer(_0x130bfe['apiKey']+':X')[_0x8e04('0x21')](_0x8e04('0x22')));}function getServerInfo(_0x4c1077){return request({'form':{'method':'get_server_info','input_type':_0x8e04('0x1f'),'response_type':_0x8e04('0x1f'),'rest_data':JSON['stringify']({'session':_0x4c1077['id']})}});}function getUser(_0x2d0771,_0x56e644,_0x252ec6){if(!_['isNil'](_0x56e644)){logger['info'](_0x8e04('0x23'),_0x56e644);return request({'form':{'method':_0x8e04('0x24'),'input_type':_0x8e04('0x1f'),'response_type':_0x8e04('0x1f'),'rest_data':JSON[_0x8e04('0x25')]({'session':_0x252ec6['id'],'module_name':_0x8e04('0x26'),'query':util['format'](_0x8e04('0x27'),_0x56e644),'order_by':'','offset':'0','select_fields':['id',_0x8e04('0xa'),'user_name'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x8e04('0x28')](function(_0x31f570){if(_0x31f570['entry_list'][_0x8e04('0x1a')]){var _0x3238b0=_['find'](_0x31f570[_0x8e04('0x29')],function(_0x11e2e5){return _0x11e2e5[_0x8e04('0x2a')][_0x8e04('0x2b')][_0x8e04('0x2c')]===_0x56e644;});if(_0x3238b0){logger[_0x8e04('0x9')](_0x8e04('0x2d'));return BPromise[_0x8e04('0x2e')]({'id':_0x3238b0[_0x8e04('0x2a')]['id'][_0x8e04('0x2c')],'name':_0x3238b0[_0x8e04('0x2a')][_0x8e04('0xa')]['value']});}}logger[_0x8e04('0x9')]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return BPromise['resolve']({'id':_0x252ec6[_0x8e04('0x2a')]['user_id'][_0x8e04('0x2c')],'name':_0x252ec6['name_value_list']['user_name'][_0x8e04('0x2c')]});});}else{logger[_0x8e04('0x9')](_0x8e04('0x2f'));return BPromise[_0x8e04('0x2e')]({'id':_0x252ec6['name_value_list'][_0x8e04('0x30')][_0x8e04('0x2c')],'name':_0x252ec6[_0x8e04('0x2a')][_0x8e04('0x2b')][_0x8e04('0x2c')]});}}function getEndUser(_0x311f0f,_0x2a1fa9,_0x3eeac7,_0x469a02){logger['info'](_0x8e04('0x31'),_0x3eeac7);return request({'form':{'method':_0x8e04('0x24'),'input_type':_0x8e04('0x1f'),'response_type':'JSON','rest_data':JSON['stringify']({'session':_0x469a02['id'],'module_name':_0x8e04('0x18'),'query':util[_0x8e04('0x32')]('contacts.phone_home\x20=\x20\x22%s\x22',_0x3eeac7),'order_by':'','offset':'0','select_fields':['id','name',_0x8e04('0x33')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})['then'](function(_0x4e82b8){if(_0x4e82b8[_0x8e04('0x29')][_0x8e04('0x1a')]){var _0x5b69a1=_[_0x8e04('0x34')](_0x4e82b8[_0x8e04('0x29')],function(_0x3000b5){return _0x3000b5[_0x8e04('0x2a')]['phone_home'][_0x8e04('0x2c')]===_0x3eeac7;});if(_0x5b69a1){logger[_0x8e04('0x9')](_0x8e04('0x35'));return BPromise[_0x8e04('0x2e')]({'id':_0x5b69a1[_0x8e04('0x2a')]['id'][_0x8e04('0x2c')],'name':_0x5b69a1['name_value_list'][_0x8e04('0xa')]['value'],'phone':_0x5b69a1[_0x8e04('0x2a')][_0x8e04('0x33')]['value']});}}else{logger[_0x8e04('0x9')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');return request({'form':{'method':_0x8e04('0x1e'),'input_type':_0x8e04('0x1f'),'response_type':_0x8e04('0x1f'),'rest_data':JSON[_0x8e04('0x25')]({'session':_0x469a02['id'],'module_name':_0x8e04('0x18'),'name_value_list':[{'name':_0x8e04('0x36'),'value':_0x2a1fa9!==_0x8e04('0x37')?_0x2a1fa9:util[_0x8e04('0x32')](_0x8e04('0x38'),_0x3eeac7)},{'name':_0x8e04('0x33'),'value':_0x3eeac7}]})}})[_0x8e04('0x28')](function(_0x3e87fa){logger['info'](_0x8e04('0x39'));return BPromise[_0x8e04('0x2e')]({'id':_0x3e87fa['id'],'name':_0x3e87fa[_0x8e04('0x29')][_0x8e04('0x36')][_0x8e04('0x2c')],'phone':_0x3e87fa[_0x8e04('0x29')]['phone_home'][_0x8e04('0x2c')]});});}});}function request(_0x5921c2){logger['debug'](_0x8e04('0x3a'),JSON[_0x8e04('0x25')](_0x5921c2));return rp(_['merge'](def,_0x5921c2));}function getTags(_0x3c5e08,_0x401ba7){var _0x155f19=[];if(_0x3c5e08&&_0x3c5e08[_0x8e04('0x1a')]>0x0){_0x155f19=_[_0x8e04('0x3b')](_0x3c5e08,_0x401ba7);}return _0x155f19;}function getCustomFields(_0x504446,_0x1ac8c2){var _0x2572ff=[];var _0x1fd28a={'custom_fields':[]};if(_0x504446['length']>0x0){_[_0x8e04('0x3c')](_0x504446,function(_0x2a8b56){if(_0x2a8b56[_0x8e04('0x3d')]==='string'&&_0x2a8b56['nameField']&&!_0x2a8b56[_0x8e04('0x3e')]){_0x1fd28a[_0x2a8b56[_0x8e04('0x3f')]['toLowerCase']()]=_0x2a8b56[_0x8e04('0x40')][_0x8e04('0x21')]();}else if(_0x2a8b56['type']===_0x8e04('0x41')&&_0x2a8b56['idField']&&_0x2a8b56[_0x8e04('0x3e')]){_0x1fd28a[_0x8e04('0x42')][_0x8e04('0x1b')]({'id':_0x2a8b56['idField'],'value':_0x2a8b56[_0x8e04('0x40')]['toString']()});}else if(_0x2a8b56[_0x8e04('0x3d')]===_0x8e04('0x43')&&_0x2a8b56[_0x8e04('0x1d')]&&_0x2a8b56[_0x8e04('0x1c')]&&_0x2a8b56[_0x8e04('0x3e')]){_0x1ac8c2[_0x2a8b56[_0x8e04('0x1d')]]&&_0x1fd28a[_0x8e04('0x42')]['push']({'id':_0x2a8b56[_0x8e04('0x1c')],'value':_0x1ac8c2[_0x2a8b56[_0x8e04('0x1d')]][_0x8e04('0x21')]()});}else if(_0x2a8b56[_0x8e04('0x3d')]===_0x8e04('0x44')&&_0x2a8b56[_0x8e04('0x45')]&&_0x2a8b56[_0x8e04('0x45')][_0x8e04('0xa')]&&_0x2a8b56[_0x8e04('0x1c')]&&_0x2a8b56[_0x8e04('0x3e')]){_0x1ac8c2[_0x2a8b56[_0x8e04('0x45')]['name'][_0x8e04('0x46')]()]&&_0x1fd28a['custom_fields'][_0x8e04('0x1b')]({'id':_0x2a8b56['idField'],'value':_0x1ac8c2[_0x2a8b56[_0x8e04('0x45')][_0x8e04('0xa')][_0x8e04('0x46')]()][_0x8e04('0x21')]()});}});}return _0x1fd28a;}function getConnection(_0x3b0ab7){return request({'method':_0x8e04('0x8'),'form':{'method':'login','input_type':'JSON','response_type':_0x8e04('0x1f'),'rest_data':JSON[_0x8e04('0x25')]({'user_auth':{'user_name':_0x3b0ab7['username'],'password':_0x3b0ab7[_0x8e04('0x47')],'encryption':'PLAIN'},'application':_0x8e04('0x48')})}})[_0x8e04('0x28')](function(_0x9c2a30){var _0x2454a0=_0x9c2a30;if(_0x2454a0['id']){def[_0x8e04('0x49')]=_0x2454a0['id'];return BPromise[_0x8e04('0x2e')](_0x2454a0);}else{throw new Error(util[_0x8e04('0x32')](_0x8e04('0x4a'),_0x3b0ab7['id']));}});}function setRelationship(_0xa2b999,_0x2b9e1a,_0x240d1f,_0x265301){return request({'form':{'method':_0x8e04('0x4b'),'input_type':_0x8e04('0x1f'),'response_type':_0x8e04('0x1f'),'rest_data':JSON['stringify']({'session':_0xa2b999['id'],'module_name':_0x8e04('0x4c'),'module_id':_0x240d1f['id'],'link_field_name':_0x265301,'related_ids':[_0x2b9e1a['id']],'name_value_list':[],'delete':0x0})}});}exports[_0x8e04('0x4d')]=function(_0x56cba6,_0x481da4,_0x101907,_0x191fcf,_0x53b30e,_0x4e1500){var _0x4f78d2,_0x316d9b,_0x39282f,_0x32a95a;_0x4e1500[_0x8e04('0x4e')]=intUtil[_0x8e04('0x4f')](_0x4e1500['remoteUri']);_0x4e1500[_0x8e04('0x50')]=intUtil['stripTrailingSlash'](_0x4e1500[_0x8e04('0x50')]);def[_0x8e04('0x51')]=util[_0x8e04('0x32')]('%s/service/v4_1/rest.php',_0x4e1500[_0x8e04('0x4e')]);if(_0x53b30e&&_0x53b30e['monitor_format']){logger[_0x8e04('0x9')](_0x8e04('0x52'),'Recording\x20is\x20enabled!');_0x481da4[_0x8e04('0x53')]=util[_0x8e04('0x32')](_0x8e04('0x54'),_0x4e1500[_0x8e04('0x50')],_0x481da4['uniqueid'],md5(_0x481da4[_0x8e04('0x55')]));}else{_0x481da4[_0x8e04('0x53')]='';}return getConnection(_0x4e1500)['then'](function(_0x4d80bc){_0x32a95a=_0x4d80bc;return getUser(_0x4e1500,_0x191fcf[_0x8e04('0xa')],_0x32a95a);})[_0x8e04('0x28')](function(_0xcdddf1){_0x4f78d2=_0xcdddf1;logger[_0x8e04('0x9')](_0x8e04('0x56'),_0x4f78d2['id']);return getEndUser(_0x4e1500,_0x481da4['calleridname'],_0x481da4[_0x8e04('0x57')],_0x32a95a);})['then'](function(_0x118d00){_0x316d9b=_0x118d00;logger[_0x8e04('0x9')](_0x8e04('0x58'),_0x316d9b['id']);return getTicket(_0x4e1500,_0x4f78d2,_0x316d9b,_0x101907,_0x481da4,_0x101907['Fields'],_0x32a95a,'Inbound');})[_0x8e04('0x28')](function(_0x59c7eb){_0x39282f=_0x59c7eb;logger['info'](_0x8e04('0x59'));logger['info'](_0x8e04('0x5a'),_0x39282f['id']);return setRelationship(_0x32a95a,_0x4f78d2,_0x39282f,'users');})[_0x8e04('0x28')](function(){return setRelationship(_0x32a95a,_0x316d9b,_0x39282f,_0x8e04('0x5b'));})['then'](function(){return getServerInfo(_0x32a95a);})[_0x8e04('0x28')](function(_0x4a4f9f){var _0x35b4cb=parseInt(_0x4a4f9f['version'][_0x8e04('0x5c')](0x0));var _0x585ab6=util['format'](_0x8e04('0x5d'),_0x4e1500[_0x8e04('0x4e')],_0x39282f['id']);if(_0x35b4cb>0x6){_0x585ab6=util[_0x8e04('0x32')](_0x8e04('0x5e'),_0x4e1500[_0x8e04('0x4e')],_0x39282f['id']);}logger['info'](_0x8e04('0x52'),_0x8e04('0x5f'));emit(util['format'](_0x8e04('0x60'),_0x191fcf[_0x8e04('0xa')]),'trigger:browser:url',{'uri':_0x585ab6});})[_0x8e04('0x61')](function(_0x2f3e30){logger['error'](_0x8e04('0x52'),JSON[_0x8e04('0x25')](_0x2f3e30));});};exports['outbound']=function(_0x5800e5,_0x2db375,_0x454279,_0x25fe4f,_0x18f6eb,_0x14cc61,_0x4f4c99){var _0x32a89b,_0x338abe,_0x1a8484,_0x257706;_0x14cc61[_0x8e04('0x4e')]=intUtil[_0x8e04('0x4f')](_0x14cc61['remoteUri']);_0x14cc61[_0x8e04('0x50')]=intUtil['stripTrailingSlash'](_0x14cc61[_0x8e04('0x50')]);def[_0x8e04('0x51')]=util[_0x8e04('0x32')](_0x8e04('0x62'),_0x14cc61[_0x8e04('0x4e')]);if(_0x4f4c99&&_0x4f4c99[_0x8e04('0x63')]&&_0x4f4c99[_0x8e04('0x63')]!==_0x8e04('0x64')){logger[_0x8e04('0x9')](_0x8e04('0x65'),_0x8e04('0x66'));_0x2db375[_0x8e04('0x53')]=util[_0x8e04('0x32')](_0x8e04('0x54'),_0x14cc61['serverUrl'],_0x2db375['uniqueid'],md5(_0x2db375[_0x8e04('0x55')]));}return getConnection(_0x14cc61)[_0x8e04('0x28')](function(_0x5b2ad5){_0x257706=_0x5b2ad5;return getUser(_0x14cc61,_0x25fe4f[_0x8e04('0xa')],_0x257706);})[_0x8e04('0x28')](function(_0x5aced1){_0x32a89b=_0x5aced1;logger[_0x8e04('0x9')](_0x8e04('0x56'),_0x32a89b['id']);return getEndUser(_0x14cc61,_0x2db375[_0x8e04('0x67')],_0x2db375[_0x8e04('0x68')],_0x257706);})['then'](function(_0x5a5d6f){_0x338abe=_0x5a5d6f;logger[_0x8e04('0x9')](_0x8e04('0x58'),_0x338abe['id']);return getTicket(_0x14cc61,_0x32a89b,_0x338abe,_0x454279,_0x2db375,_0x454279['Fields'],_0x257706,_0x8e04('0x69'));})['then'](function(_0x27c4fa){_0x1a8484=_0x27c4fa;logger[_0x8e04('0x9')](_0x8e04('0x59'));logger[_0x8e04('0x9')](_0x8e04('0x5a'),_0x1a8484['id']);return setRelationship(_0x257706,_0x32a89b,_0x1a8484,'users');})[_0x8e04('0x28')](function(){return setRelationship(_0x257706,_0x338abe,_0x1a8484,_0x8e04('0x5b'));})[_0x8e04('0x28')](function(){return getServerInfo(_0x257706);})[_0x8e04('0x28')](function(_0x1092df){var _0x4d0f7d=parseInt(_0x1092df[_0x8e04('0x6a')][_0x8e04('0x5c')](0x0));var _0x3c6cc4=util['format']('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x14cc61[_0x8e04('0x4e')],_0x1a8484['id']);if(_0x4d0f7d>0x6){_0x3c6cc4=util['format'](_0x8e04('0x5e'),_0x14cc61['remoteUri'],_0x1a8484['id']);}logger[_0x8e04('0x9')]('[OUTBOUND]',_0x8e04('0x5f'));emit(util[_0x8e04('0x32')](_0x8e04('0x60'),_0x25fe4f[_0x8e04('0xa')]),_0x8e04('0x6b'),{'uri':_0x3c6cc4});})[_0x8e04('0x61')](function(_0x3440ab){logger[_0x8e04('0x6c')]('[OUTBOUND]',JSON[_0x8e04('0x25')](_0x3440ab));});};exports[_0x8e04('0x6d')]=function(_0x3ef58b,_0x42f715,_0x2fd111,_0x393764,_0x4ac281,_0x30051a){var _0x125dad,_0x3688f1,_0x414f5d,_0x67002d;_0x30051a[_0x8e04('0x4e')]=intUtil[_0x8e04('0x4f')](_0x30051a[_0x8e04('0x4e')]);_0x30051a[_0x8e04('0x50')]=intUtil['stripTrailingSlash'](_0x30051a[_0x8e04('0x50')]);def[_0x8e04('0x51')]=util[_0x8e04('0x32')](_0x8e04('0x62'),_0x30051a[_0x8e04('0x4e')]);if(_0x4ac281&&_0x4ac281[_0x8e04('0x6e')]){logger[_0x8e04('0x9')]('['+_0x42f715[_0x8e04('0x6f')][_0x8e04('0x70')]()+']','Recording\x20is\x20enabled!');_0x42f715[_0x8e04('0x53')]=util[_0x8e04('0x32')](_0x8e04('0x54'),_0x30051a[_0x8e04('0x50')],_0x42f715[_0x8e04('0x55')],md5(_0x42f715[_0x8e04('0x55')]));}else{_0x42f715[_0x8e04('0x53')]='';}return getConnection(_0x30051a)[_0x8e04('0x28')](function(_0x365308){_0x67002d=_0x365308;if(!_[_0x8e04('0x71')](_0x393764)){return getUser(_0x30051a,_0x393764[_0x8e04('0xa')],_0x67002d);}else{return getUser(_0x30051a,null,_0x67002d);}})[_0x8e04('0x28')](function(_0x55b8e7){_0x125dad=_0x55b8e7;logger['info'](_0x8e04('0x56'),_0x125dad['id']);return getEndUser(_0x30051a,_0x42f715[_0x8e04('0x72')],_0x42f715[_0x8e04('0x57')],_0x67002d);})['then'](function(_0x2d25a2){_0x3688f1=_0x2d25a2;logger[_0x8e04('0x9')]('The\x20Enduser\x20ID\x20is:',_0x3688f1['id']);return getTicket(_0x30051a,_0x125dad,_0x3688f1,_0x2fd111,_0x42f715,_0x2fd111[_0x8e04('0x73')],_0x67002d,_0x8e04('0x74'));})['then'](function(_0x53267d){_0x414f5d=_0x53267d;logger[_0x8e04('0x9')](_0x8e04('0x59'));logger[_0x8e04('0x9')]('The\x20Ticket\x20ID\x20is:',_0x414f5d['id']);return setRelationship(_0x67002d,_0x125dad,_0x414f5d,_0x8e04('0x75'));})[_0x8e04('0x28')](function(){return setRelationship(_0x67002d,_0x3688f1,_0x414f5d,_0x8e04('0x5b'));})[_0x8e04('0x28')](function(){return getServerInfo(_0x67002d);})[_0x8e04('0x61')](function(_0x3722ec){logger[_0x8e04('0x6c')]('['+_0x42f715[_0x8e04('0x6f')][_0x8e04('0x70')]()+']',JSON[_0x8e04('0x25')](_0x3722ec));});};
\ No newline at end of file
+var _0x3625=['[HTTP]','map','forEach','type','string','nameField','customField','content','idField','custom_fields','variable','customVariable','Variable','toLowerCase','login','username','password','PLAIN','xCALLY\x20Motion\x20integration','sessionID','remoteUri','stripTrailingSlash','serverUrl','uri','monitor_format','Recording\x20is\x20enabled!','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','recordingURL','The\x20User\x20ID\x20is:','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','Inbound','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','users','contacts','version','%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','[QUEUE]','catch','error','%s/service/v4_1/rest.php','recordingFormat','none','[OUTBOUND]','destcalleridnum','charAt','user:%s','trigger:browser:url','lastevent','toUpperCase','lodash','request-promise','md5','ioredis','../../../../config/environment','../../../../config/logger','defaults','socket.io-emitter','POST','info','Creating\x20new\x20ticket...','name','Subjects','assigned_user_id','created_by','description','getString','Descriptions','date_start','replace','parent_id','Contacts','parent_name','direction','length','variableName','push','set_entry','JSON','stringify','Calls','format','Basic\x20%s','apiKey','toString','base64','get_server_info','isNil','Getting\x20agent\x20with\x20name','get_entry_list','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','then','entry_list','find','name_value_list','user_name','value','Agent\x20found!','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','Searching\x20enduser\x20with\x20phone','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','first_name','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','debug'];(function(_0x31aa62,_0x1476f5){var _0x6bbfe8=function(_0xb1027a){while(--_0xb1027a){_0x31aa62['push'](_0x31aa62['shift']());}};_0x6bbfe8(++_0x1476f5);}(_0x3625,0xa9));var _0x5362=function(_0x2fad91,_0x25b0ec){_0x2fad91=_0x2fad91-0x0;var _0x58598f=_0x3625[_0x2fad91];return _0x58598f;};'use strict';var _=require(_0x5362('0x0'));var rp=require(_0x5362('0x1'));var BPromise=require('bluebird');var md5=require(_0x5362('0x2'));var util=require('util');var Redis=require(_0x5362('0x3'));var intUtil=require('./util');var config=require(_0x5362('0x4'));var logger=require(_0x5362('0x5'))('sugarcrm');config['redis']=_[_0x5362('0x6')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x5362('0x7'))(new Redis(config['redis']));var def={'method':_0x5362('0x8'),'json':!![]};function emit(_0x169ab5,_0x28ee8c,_0x52f839){io['to'](_0x169ab5)['emit'](_0x28ee8c,_0x52f839);}function getTicket(_0x377e9f,_0x4bae5a,_0x5a3cff,_0x3cb381,_0x2c6270,_0x86efe7,_0x177375,_0x1f5313){logger[_0x5362('0x9')](_0x5362('0xa'));var _0x54b80c=new Date();var _0x4714a3=[{'name':_0x5362('0xb'),'value':intUtil['getString'](_0x3cb381[_0x5362('0xc')],_0x2c6270,'\x20')},{'name':_0x5362('0xd'),'value':_0x4bae5a['id']},{'name':_0x5362('0xe'),'value':_0x4bae5a['id']},{'name':_0x5362('0xf'),'value':intUtil[_0x5362('0x10')](_0x3cb381[_0x5362('0x11')],_0x2c6270,'\x0a')},{'name':_0x5362('0x12'),'value':_0x54b80c['toISOString']()['slice'](0x0,0x13)[_0x5362('0x13')]('T','\x20')},{'name':'duration_hours','value':'0'},{'name':'duration_minutes','value':'15'},{'name':_0x5362('0x14'),'value':_0x5a3cff['id']},{'name':'parent_type','value':_0x5362('0x15')},{'name':_0x5362('0x16'),'value':_0x5a3cff[_0x5362('0xb')]},{'name':_0x5362('0x17'),'value':_0x1f5313}];if(_0x86efe7[_0x5362('0x18')]){_['forEach'](_0x86efe7,function(_0x407832){if(_0x2c6270[_0x407832[_0x5362('0x19')]]){_0x4714a3[_0x5362('0x1a')]({'name':_0x407832['idField'],'value':_0x2c6270[_0x407832[_0x5362('0x19')]]});}});}return request({'form':{'method':_0x5362('0x1b'),'input_type':_0x5362('0x1c'),'response_type':'JSON','rest_data':JSON[_0x5362('0x1d')]({'session':_0x177375['id'],'module_name':_0x5362('0x1e'),'name_value_list':_0x4714a3})}});}function getAuth(_0x601021){return util[_0x5362('0x1f')](_0x5362('0x20'),new Buffer(_0x601021[_0x5362('0x21')]+':X')[_0x5362('0x22')](_0x5362('0x23')));}function getServerInfo(_0x20491e){return request({'form':{'method':_0x5362('0x24'),'input_type':'JSON','response_type':'JSON','rest_data':JSON['stringify']({'session':_0x20491e['id']})}});}function getUser(_0x5f1996,_0x24c84f,_0x59cbe6){if(!_[_0x5362('0x25')](_0x24c84f)){logger['info'](_0x5362('0x26'),_0x24c84f);return request({'form':{'method':_0x5362('0x27'),'input_type':_0x5362('0x1c'),'response_type':'JSON','rest_data':JSON[_0x5362('0x1d')]({'session':_0x59cbe6['id'],'module_name':'Employees','query':util[_0x5362('0x1f')](_0x5362('0x28'),_0x24c84f),'order_by':'','offset':'0','select_fields':['id',_0x5362('0xb'),'user_name'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x5362('0x29')](function(_0x3c7da5){if(_0x3c7da5[_0x5362('0x2a')][_0x5362('0x18')]){var _0x23957e=_[_0x5362('0x2b')](_0x3c7da5[_0x5362('0x2a')],function(_0x1143b1){return _0x1143b1[_0x5362('0x2c')][_0x5362('0x2d')][_0x5362('0x2e')]===_0x24c84f;});if(_0x23957e){logger['info'](_0x5362('0x2f'));return BPromise['resolve']({'id':_0x23957e['name_value_list']['id'][_0x5362('0x2e')],'name':_0x23957e[_0x5362('0x2c')][_0x5362('0xb')][_0x5362('0x2e')]});}}logger['info'](_0x5362('0x30'));return BPromise['resolve']({'id':_0x59cbe6['name_value_list'][_0x5362('0x31')][_0x5362('0x2e')],'name':_0x59cbe6[_0x5362('0x2c')]['user_name'][_0x5362('0x2e')]});});}else{logger['info'](_0x5362('0x32'));return BPromise['resolve']({'id':_0x59cbe6[_0x5362('0x2c')][_0x5362('0x31')][_0x5362('0x2e')],'name':_0x59cbe6[_0x5362('0x2c')][_0x5362('0x2d')][_0x5362('0x2e')]});}}function getEndUser(_0x2781ea,_0xccce0e,_0x1ef531,_0x3b1310){logger['info'](_0x5362('0x33'),_0x1ef531);return request({'form':{'method':_0x5362('0x27'),'input_type':_0x5362('0x1c'),'response_type':_0x5362('0x1c'),'rest_data':JSON[_0x5362('0x1d')]({'session':_0x3b1310['id'],'module_name':_0x5362('0x15'),'query':util[_0x5362('0x1f')](_0x5362('0x34'),_0x1ef531),'order_by':'','offset':'0','select_fields':['id',_0x5362('0xb'),_0x5362('0x35')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x5362('0x29')](function(_0x3872d2){if(_0x3872d2[_0x5362('0x2a')][_0x5362('0x18')]){var _0x5f2555=_[_0x5362('0x2b')](_0x3872d2[_0x5362('0x2a')],function(_0x1b1d57){return _0x1b1d57['name_value_list']['phone_home'][_0x5362('0x2e')]===_0x1ef531;});if(_0x5f2555){logger[_0x5362('0x9')](_0x5362('0x36'));return BPromise['resolve']({'id':_0x5f2555[_0x5362('0x2c')]['id'][_0x5362('0x2e')],'name':_0x5f2555[_0x5362('0x2c')][_0x5362('0xb')][_0x5362('0x2e')],'phone':_0x5f2555[_0x5362('0x2c')]['phone_home'][_0x5362('0x2e')]});}}else{logger[_0x5362('0x9')](_0x5362('0x37'));return request({'form':{'method':'set_entry','input_type':'JSON','response_type':_0x5362('0x1c'),'rest_data':JSON[_0x5362('0x1d')]({'session':_0x3b1310['id'],'module_name':'Contacts','name_value_list':[{'name':_0x5362('0x38'),'value':_0xccce0e!==_0x5362('0x39')?_0xccce0e:util[_0x5362('0x1f')](_0x5362('0x3a'),_0x1ef531)},{'name':_0x5362('0x35'),'value':_0x1ef531}]})}})[_0x5362('0x29')](function(_0x7fe528){logger['info'](_0x5362('0x3b'));return BPromise['resolve']({'id':_0x7fe528['id'],'name':_0x7fe528[_0x5362('0x2a')]['first_name'][_0x5362('0x2e')],'phone':_0x7fe528[_0x5362('0x2a')]['phone_home']['value']});});}});}function request(_0xc9c14c){logger[_0x5362('0x3c')](_0x5362('0x3d'),JSON[_0x5362('0x1d')](_0xc9c14c));return rp(_['merge'](def,_0xc9c14c));}function getTags(_0x5cf7ce,_0x4a84c2){var _0x23d106=[];if(_0x5cf7ce&&_0x5cf7ce[_0x5362('0x18')]>0x0){_0x23d106=_[_0x5362('0x3e')](_0x5cf7ce,_0x4a84c2);}return _0x23d106;}function getCustomFields(_0x18ad95,_0x3ca815){var _0x5e9eae=[];var _0x3bdfb={'custom_fields':[]};if(_0x18ad95[_0x5362('0x18')]>0x0){_[_0x5362('0x3f')](_0x18ad95,function(_0x5db1e1){if(_0x5db1e1[_0x5362('0x40')]===_0x5362('0x41')&&_0x5db1e1[_0x5362('0x42')]&&!_0x5db1e1[_0x5362('0x43')]){_0x3bdfb[_0x5db1e1['nameField']['toLowerCase']()]=_0x5db1e1[_0x5362('0x44')]['toString']();}else if(_0x5db1e1[_0x5362('0x40')]===_0x5362('0x41')&&_0x5db1e1[_0x5362('0x45')]&&_0x5db1e1[_0x5362('0x43')]){_0x3bdfb[_0x5362('0x46')][_0x5362('0x1a')]({'id':_0x5db1e1[_0x5362('0x45')],'value':_0x5db1e1[_0x5362('0x44')]['toString']()});}else if(_0x5db1e1['type']===_0x5362('0x47')&&_0x5db1e1[_0x5362('0x19')]&&_0x5db1e1['idField']&&_0x5db1e1[_0x5362('0x43')]){_0x3ca815[_0x5db1e1[_0x5362('0x19')]]&&_0x3bdfb['custom_fields']['push']({'id':_0x5db1e1[_0x5362('0x45')],'value':_0x3ca815[_0x5db1e1['variableName']][_0x5362('0x22')]()});}else if(_0x5db1e1[_0x5362('0x40')]===_0x5362('0x48')&&_0x5db1e1[_0x5362('0x49')]&&_0x5db1e1[_0x5362('0x49')][_0x5362('0xb')]&&_0x5db1e1[_0x5362('0x45')]&&_0x5db1e1[_0x5362('0x43')]){_0x3ca815[_0x5db1e1[_0x5362('0x49')][_0x5362('0xb')]['toLowerCase']()]&&_0x3bdfb[_0x5362('0x46')][_0x5362('0x1a')]({'id':_0x5db1e1[_0x5362('0x45')],'value':_0x3ca815[_0x5db1e1[_0x5362('0x49')][_0x5362('0xb')][_0x5362('0x4a')]()][_0x5362('0x22')]()});}});}return _0x3bdfb;}function getConnection(_0x372f52){return request({'method':_0x5362('0x8'),'form':{'method':_0x5362('0x4b'),'input_type':'JSON','response_type':_0x5362('0x1c'),'rest_data':JSON[_0x5362('0x1d')]({'user_auth':{'user_name':_0x372f52[_0x5362('0x4c')],'password':_0x372f52[_0x5362('0x4d')],'encryption':_0x5362('0x4e')},'application':_0x5362('0x4f')})}})[_0x5362('0x29')](function(_0x358077){var _0x429a08=_0x358077;if(_0x429a08['id']){def[_0x5362('0x50')]=_0x429a08['id'];return BPromise['resolve'](_0x429a08);}else{throw new Error(util['format']('Account\x20%d\x20is\x20not\x20valid',_0x372f52['id']));}});}function setRelationship(_0x1e2f64,_0x4b183c,_0x1d04f5,_0x2c2295){return request({'form':{'method':'set_relationship','input_type':_0x5362('0x1c'),'response_type':_0x5362('0x1c'),'rest_data':JSON[_0x5362('0x1d')]({'session':_0x1e2f64['id'],'module_name':_0x5362('0x1e'),'module_id':_0x1d04f5['id'],'link_field_name':_0x2c2295,'related_ids':[_0x4b183c['id']],'name_value_list':[],'delete':0x0})}});}exports['queue']=function(_0x5d6f58,_0x425846,_0x353731,_0x1fdf55,_0x527f04,_0x492b78){var _0x420877,_0x3013d9,_0x369ecb,_0x6b8341;_0x492b78[_0x5362('0x51')]=intUtil[_0x5362('0x52')](_0x492b78[_0x5362('0x51')]);_0x492b78[_0x5362('0x53')]=intUtil['stripTrailingSlash'](_0x492b78[_0x5362('0x53')]);def[_0x5362('0x54')]=util['format']('%s/service/v4_1/rest.php',_0x492b78[_0x5362('0x51')]);if(_0x527f04&&_0x527f04[_0x5362('0x55')]){logger['info']('[QUEUE]',_0x5362('0x56'));_0x425846['recordingURL']=util[_0x5362('0x1f')](_0x5362('0x57'),_0x492b78[_0x5362('0x53')],_0x425846[_0x5362('0x58')],md5(_0x425846[_0x5362('0x58')]));}else{_0x425846[_0x5362('0x59')]='';}return getConnection(_0x492b78)['then'](function(_0x1d8314){_0x6b8341=_0x1d8314;return getUser(_0x492b78,_0x1fdf55['name'],_0x6b8341);})['then'](function(_0x2608ef){_0x420877=_0x2608ef;logger[_0x5362('0x9')](_0x5362('0x5a'),_0x420877['id']);return getEndUser(_0x492b78,_0x425846['calleridname'],_0x425846[_0x5362('0x5b')],_0x6b8341);})[_0x5362('0x29')](function(_0x20fdbb){_0x3013d9=_0x20fdbb;logger[_0x5362('0x9')](_0x5362('0x5c'),_0x3013d9['id']);return getTicket(_0x492b78,_0x420877,_0x3013d9,_0x353731,_0x425846,_0x353731[_0x5362('0x5d')],_0x6b8341,_0x5362('0x5e'));})['then'](function(_0x38f8c0){_0x369ecb=_0x38f8c0;logger[_0x5362('0x9')](_0x5362('0x5f'));logger[_0x5362('0x9')](_0x5362('0x60'),_0x369ecb['id']);return setRelationship(_0x6b8341,_0x420877,_0x369ecb,_0x5362('0x61'));})[_0x5362('0x29')](function(){return setRelationship(_0x6b8341,_0x3013d9,_0x369ecb,_0x5362('0x62'));})[_0x5362('0x29')](function(){return getServerInfo(_0x6b8341);})[_0x5362('0x29')](function(_0xacfd84){var _0x1dd0f2=parseInt(_0xacfd84[_0x5362('0x63')]['charAt'](0x0));var _0xb9f986=util[_0x5362('0x1f')](_0x5362('0x64'),_0x492b78['remoteUri'],_0x369ecb['id']);if(_0x1dd0f2>0x6){_0xb9f986=util[_0x5362('0x1f')](_0x5362('0x65'),_0x492b78[_0x5362('0x51')],_0x369ecb['id']);}logger['info'](_0x5362('0x66'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0x5362('0x1f')]('user:%s',_0x1fdf55[_0x5362('0xb')]),'trigger:browser:url',{'uri':_0xb9f986});})[_0x5362('0x67')](function(_0x9a2182){logger[_0x5362('0x68')]('[QUEUE]',JSON[_0x5362('0x1d')](_0x9a2182));});};exports['outbound']=function(_0x526731,_0x2a07ad,_0x3b8d3f,_0x5ddfdf,_0x46e4a6,_0x269506,_0x19ccfb){var _0x3205a9,_0x1aa66c,_0x56167c,_0x12d36b;_0x269506[_0x5362('0x51')]=intUtil[_0x5362('0x52')](_0x269506['remoteUri']);_0x269506['serverUrl']=intUtil[_0x5362('0x52')](_0x269506['serverUrl']);def[_0x5362('0x54')]=util['format'](_0x5362('0x69'),_0x269506[_0x5362('0x51')]);if(_0x19ccfb&&_0x19ccfb[_0x5362('0x6a')]&&_0x19ccfb[_0x5362('0x6a')]!==_0x5362('0x6b')){logger[_0x5362('0x9')](_0x5362('0x6c'),'Recording\x20is\x20enabled!');_0x2a07ad[_0x5362('0x59')]=util[_0x5362('0x1f')](_0x5362('0x57'),_0x269506[_0x5362('0x53')],_0x2a07ad[_0x5362('0x58')],md5(_0x2a07ad['uniqueid']));}return getConnection(_0x269506)[_0x5362('0x29')](function(_0x4de646){_0x12d36b=_0x4de646;return getUser(_0x269506,_0x5ddfdf[_0x5362('0xb')],_0x12d36b);})[_0x5362('0x29')](function(_0x3150ba){_0x3205a9=_0x3150ba;logger[_0x5362('0x9')](_0x5362('0x5a'),_0x3205a9['id']);return getEndUser(_0x269506,_0x2a07ad['destcalleridname'],_0x2a07ad[_0x5362('0x6d')],_0x12d36b);})[_0x5362('0x29')](function(_0x334fa5){_0x1aa66c=_0x334fa5;logger[_0x5362('0x9')]('The\x20Enduser\x20ID\x20is:',_0x1aa66c['id']);return getTicket(_0x269506,_0x3205a9,_0x1aa66c,_0x3b8d3f,_0x2a07ad,_0x3b8d3f['Fields'],_0x12d36b,'Outbound');})[_0x5362('0x29')](function(_0x208643){_0x56167c=_0x208643;logger[_0x5362('0x9')](_0x5362('0x5f'));logger[_0x5362('0x9')](_0x5362('0x60'),_0x56167c['id']);return setRelationship(_0x12d36b,_0x3205a9,_0x56167c,_0x5362('0x61'));})[_0x5362('0x29')](function(){return setRelationship(_0x12d36b,_0x1aa66c,_0x56167c,_0x5362('0x62'));})['then'](function(){return getServerInfo(_0x12d36b);})['then'](function(_0x56f89f){var _0x37fb1d=parseInt(_0x56f89f[_0x5362('0x63')][_0x5362('0x6e')](0x0));var _0x5aebcd=util[_0x5362('0x1f')](_0x5362('0x64'),_0x269506[_0x5362('0x51')],_0x56167c['id']);if(_0x37fb1d>0x6){_0x5aebcd=util[_0x5362('0x1f')]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x269506[_0x5362('0x51')],_0x56167c['id']);}logger[_0x5362('0x9')]('[OUTBOUND]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util['format'](_0x5362('0x6f'),_0x5ddfdf[_0x5362('0xb')]),_0x5362('0x70'),{'uri':_0x5aebcd});})[_0x5362('0x67')](function(_0x32f88e){logger[_0x5362('0x68')](_0x5362('0x6c'),JSON[_0x5362('0x1d')](_0x32f88e));});};exports['unmanaged']=function(_0xc1a1fb,_0x3a043c,_0x2686f4,_0x29c809,_0x13df6f,_0x371f7a){var _0x4fabd6,_0x3bb492,_0x173bcc,_0x468234;_0x371f7a[_0x5362('0x51')]=intUtil[_0x5362('0x52')](_0x371f7a[_0x5362('0x51')]);_0x371f7a[_0x5362('0x53')]=intUtil[_0x5362('0x52')](_0x371f7a['serverUrl']);def[_0x5362('0x54')]=util[_0x5362('0x1f')]('%s/service/v4_1/rest.php',_0x371f7a[_0x5362('0x51')]);if(_0x13df6f&&_0x13df6f[_0x5362('0x55')]){logger[_0x5362('0x9')]('['+_0x3a043c[_0x5362('0x71')][_0x5362('0x72')]()+']',_0x5362('0x56'));_0x3a043c['recordingURL']=util[_0x5362('0x1f')](_0x5362('0x57'),_0x371f7a[_0x5362('0x53')],_0x3a043c[_0x5362('0x58')],md5(_0x3a043c[_0x5362('0x58')]));}else{_0x3a043c[_0x5362('0x59')]='';}return getConnection(_0x371f7a)[_0x5362('0x29')](function(_0x73d278){_0x468234=_0x73d278;if(!_[_0x5362('0x25')](_0x29c809)){return getUser(_0x371f7a,_0x29c809[_0x5362('0xb')],_0x468234);}else{return getUser(_0x371f7a,null,_0x468234);}})['then'](function(_0x576564){_0x4fabd6=_0x576564;logger[_0x5362('0x9')](_0x5362('0x5a'),_0x4fabd6['id']);return getEndUser(_0x371f7a,_0x3a043c['calleridname'],_0x3a043c['calleridnum'],_0x468234);})[_0x5362('0x29')](function(_0x3817d9){_0x3bb492=_0x3817d9;logger[_0x5362('0x9')](_0x5362('0x5c'),_0x3bb492['id']);return getTicket(_0x371f7a,_0x4fabd6,_0x3bb492,_0x2686f4,_0x3a043c,_0x2686f4[_0x5362('0x5d')],_0x468234,'Inbound');})[_0x5362('0x29')](function(_0xa3f9e0){_0x173bcc=_0xa3f9e0;logger[_0x5362('0x9')](_0x5362('0x5f'));logger[_0x5362('0x9')](_0x5362('0x60'),_0x173bcc['id']);return setRelationship(_0x468234,_0x4fabd6,_0x173bcc,_0x5362('0x61'));})['then'](function(){return setRelationship(_0x468234,_0x3bb492,_0x173bcc,_0x5362('0x62'));})[_0x5362('0x29')](function(){return getServerInfo(_0x468234);})[_0x5362('0x67')](function(_0x5b483e){logger[_0x5362('0x68')]('['+_0x3a043c[_0x5362('0x71')][_0x5362('0x72')]()+']',JSON[_0x5362('0x1d')](_0x5b483e));});};
\ No newline at end of file