Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / ami / trigger / integration / sugarcrm.js
index 8d41868..549b994 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x44ff=['redis','localhost','socket.io-emitter','POST','emit','info','name','getString','Subjects','assigned_user_id','created_by','Descriptions','replace','duration_hours','duration_minutes','parent_id','Contacts','direction','length','forEach','variableName','JSON','stringify','Calls','format','Basic\x20%s','toString','get_server_info','isNil','Getting\x20agent\x20with\x20name','get_entry_list','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','user_name','then','entry_list','name_value_list','Agent\x20found!','resolve','value','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','Searching\x20enduser\x20with\x20phone','phone_home','find','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','set_entry','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','first_name','debug','merge','map','type','nameField','customField','content','string','idField','custom_fields','push','variable','Variable','toLowerCase','login','username','password','xCALLY\x20Motion\x20integration','set_relationship','queue','remoteUri','stripTrailingSlash','serverUrl','uri','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','The\x20User\x20ID\x20is:','The\x20Enduser\x20ID\x20is:','Fields','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','users','version','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','user:%s','trigger:browser:url','error','%s/service/v4_1/rest.php','recordingFormat','none','[OUTBOUND]','destcalleridname','catch','unmanaged','lastevent','toUpperCase','calleridname','calleridnum','Inbound','contacts','request-promise','bluebird','md5','../../../../config/logger','sugarcrm'];(function(_0x467cb0,_0x303070){var _0x2153f7=function(_0x51775a){while(--_0x51775a){_0x467cb0['push'](_0x467cb0['shift']());}};_0x2153f7(++_0x303070);}(_0x44ff,0x1c3));var _0xf44f=function(_0x23c02b,_0x411b4d){_0x23c02b=_0x23c02b-0x0;var _0x25efc5=_0x44ff[_0x23c02b];return _0x25efc5;};'use strict';var _=require('lodash');var rp=require(_0xf44f('0x0'));var BPromise=require(_0xf44f('0x1'));var md5=require(_0xf44f('0x2'));var util=require('util');var Redis=require('ioredis');var intUtil=require('./util');var config=require('../../../../config/environment');var logger=require(_0xf44f('0x3'))(_0xf44f('0x4'));config['redis']=_['defaults'](config[_0xf44f('0x5')],{'host':_0xf44f('0x6'),'port':0x18eb});var io=require(_0xf44f('0x7'))(new Redis(config['redis']));var def={'method':_0xf44f('0x8'),'json':!![]};function emit(_0x2dae46,_0x1a1b8a,_0x4cce53){io['to'](_0x2dae46)[_0xf44f('0x9')](_0x1a1b8a,_0x4cce53);}function getTicket(_0x1f12d7,_0x1db73f,_0x1c132f,_0x278017,_0x21fb0e,_0x22531e,_0x2fdf76,_0x1acdc4){logger[_0xf44f('0xa')]('Creating\x20new\x20ticket...');var _0x349f3b=new Date();var _0x1c5c57=[{'name':_0xf44f('0xb'),'value':intUtil[_0xf44f('0xc')](_0x278017[_0xf44f('0xd')],_0x21fb0e,'\x20')},{'name':_0xf44f('0xe'),'value':_0x1db73f['id']},{'name':_0xf44f('0xf'),'value':_0x1db73f['id']},{'name':'description','value':intUtil['getString'](_0x278017[_0xf44f('0x10')],_0x21fb0e,'\x0a')},{'name':'date_start','value':_0x349f3b['toISOString']()['slice'](0x0,0x13)[_0xf44f('0x11')]('T','\x20')},{'name':_0xf44f('0x12'),'value':'0'},{'name':_0xf44f('0x13'),'value':'15'},{'name':_0xf44f('0x14'),'value':_0x1c132f['id']},{'name':'parent_type','value':_0xf44f('0x15')},{'name':'parent_name','value':_0x1c132f[_0xf44f('0xb')]},{'name':_0xf44f('0x16'),'value':_0x1acdc4}];if(_0x22531e[_0xf44f('0x17')]){_[_0xf44f('0x18')](_0x22531e,function(_0x542786){if(_0x21fb0e[_0x542786['variableName']]){_0x1c5c57['push']({'name':_0x542786['idField'],'value':_0x21fb0e[_0x542786[_0xf44f('0x19')]]});}});}return request({'form':{'method':'set_entry','input_type':'JSON','response_type':_0xf44f('0x1a'),'rest_data':JSON[_0xf44f('0x1b')]({'session':_0x2fdf76['id'],'module_name':_0xf44f('0x1c'),'name_value_list':_0x1c5c57})}});}function getAuth(_0x515ea6){return util[_0xf44f('0x1d')](_0xf44f('0x1e'),new Buffer(_0x515ea6['apiKey']+':X')[_0xf44f('0x1f')]('base64'));}function getServerInfo(_0x1cc24e){return request({'form':{'method':_0xf44f('0x20'),'input_type':_0xf44f('0x1a'),'response_type':'JSON','rest_data':JSON[_0xf44f('0x1b')]({'session':_0x1cc24e['id']})}});}function getUser(_0x1b9dc9,_0x329ed3,_0x58d4af){if(!_[_0xf44f('0x21')](_0x329ed3)){logger[_0xf44f('0xa')](_0xf44f('0x22'),_0x329ed3);return request({'form':{'method':_0xf44f('0x23'),'input_type':_0xf44f('0x1a'),'response_type':'JSON','rest_data':JSON[_0xf44f('0x1b')]({'session':_0x58d4af['id'],'module_name':_0xf44f('0x24'),'query':util[_0xf44f('0x1d')](_0xf44f('0x25'),_0x329ed3),'order_by':'','offset':'0','select_fields':['id','name',_0xf44f('0x26')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xf44f('0x27')](function(_0x36e7a9){if(_0x36e7a9[_0xf44f('0x28')][_0xf44f('0x17')]){var _0x21bcc2=_['find'](_0x36e7a9[_0xf44f('0x28')],function(_0x5255eb){return _0x5255eb[_0xf44f('0x29')][_0xf44f('0x26')]['value']===_0x329ed3;});if(_0x21bcc2){logger['info'](_0xf44f('0x2a'));return BPromise[_0xf44f('0x2b')]({'id':_0x21bcc2[_0xf44f('0x29')]['id'][_0xf44f('0x2c')],'name':_0x21bcc2['name_value_list'][_0xf44f('0xb')][_0xf44f('0x2c')]});}}logger['info'](_0xf44f('0x2d'));return BPromise[_0xf44f('0x2b')]({'id':_0x58d4af[_0xf44f('0x29')][_0xf44f('0x2e')][_0xf44f('0x2c')],'name':_0x58d4af[_0xf44f('0x29')][_0xf44f('0x26')][_0xf44f('0x2c')]});});}else{logger[_0xf44f('0xa')](_0xf44f('0x2f'));return BPromise['resolve']({'id':_0x58d4af[_0xf44f('0x29')][_0xf44f('0x2e')]['value'],'name':_0x58d4af[_0xf44f('0x29')][_0xf44f('0x26')][_0xf44f('0x2c')]});}}function getEndUser(_0x15beb7,_0x2cf878,_0x583fa2,_0x1678ed){logger[_0xf44f('0xa')](_0xf44f('0x30'),_0x583fa2);return request({'form':{'method':_0xf44f('0x23'),'input_type':_0xf44f('0x1a'),'response_type':_0xf44f('0x1a'),'rest_data':JSON[_0xf44f('0x1b')]({'session':_0x1678ed['id'],'module_name':_0xf44f('0x15'),'query':util[_0xf44f('0x1d')]('contacts.phone_home\x20=\x20\x22%s\x22',_0x583fa2),'order_by':'','offset':'0','select_fields':['id',_0xf44f('0xb'),_0xf44f('0x31')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xf44f('0x27')](function(_0x3abb6e){if(_0x3abb6e[_0xf44f('0x28')][_0xf44f('0x17')]){var _0x2936f4=_[_0xf44f('0x32')](_0x3abb6e[_0xf44f('0x28')],function(_0x4e1bfe){return _0x4e1bfe[_0xf44f('0x29')][_0xf44f('0x31')][_0xf44f('0x2c')]===_0x583fa2;});if(_0x2936f4){logger[_0xf44f('0xa')](_0xf44f('0x33'));return BPromise[_0xf44f('0x2b')]({'id':_0x2936f4[_0xf44f('0x29')]['id'][_0xf44f('0x2c')],'name':_0x2936f4[_0xf44f('0x29')][_0xf44f('0xb')][_0xf44f('0x2c')],'phone':_0x2936f4[_0xf44f('0x29')][_0xf44f('0x31')]['value']});}}else{logger[_0xf44f('0xa')](_0xf44f('0x34'));return request({'form':{'method':_0xf44f('0x35'),'input_type':_0xf44f('0x1a'),'response_type':'JSON','rest_data':JSON[_0xf44f('0x1b')]({'session':_0x1678ed['id'],'module_name':'Contacts','name_value_list':[{'name':'first_name','value':_0x2cf878!==_0xf44f('0x36')?_0x2cf878:util[_0xf44f('0x1d')](_0xf44f('0x37'),_0x583fa2)},{'name':_0xf44f('0x31'),'value':_0x583fa2}]})}})[_0xf44f('0x27')](function(_0x5f390d){logger[_0xf44f('0xa')](_0xf44f('0x38'));return BPromise['resolve']({'id':_0x5f390d['id'],'name':_0x5f390d[_0xf44f('0x28')][_0xf44f('0x39')][_0xf44f('0x2c')],'phone':_0x5f390d['entry_list'][_0xf44f('0x31')]['value']});});}});}function request(_0x28717a){logger[_0xf44f('0x3a')]('[HTTP]',JSON[_0xf44f('0x1b')](_0x28717a));return rp(_[_0xf44f('0x3b')](def,_0x28717a));}function getTags(_0x39b23d,_0x9f0204){var _0x37330c=[];if(_0x39b23d&&_0x39b23d[_0xf44f('0x17')]>0x0){_0x37330c=_[_0xf44f('0x3c')](_0x39b23d,_0x9f0204);}return _0x37330c;}function getCustomFields(_0x464638,_0x5c4933){var _0x142dd9=[];var _0x3d9acc={'custom_fields':[]};if(_0x464638[_0xf44f('0x17')]>0x0){_[_0xf44f('0x18')](_0x464638,function(_0x3c52e7){if(_0x3c52e7[_0xf44f('0x3d')]==='string'&&_0x3c52e7[_0xf44f('0x3e')]&&!_0x3c52e7[_0xf44f('0x3f')]){_0x3d9acc[_0x3c52e7[_0xf44f('0x3e')]['toLowerCase']()]=_0x3c52e7[_0xf44f('0x40')]['toString']();}else if(_0x3c52e7[_0xf44f('0x3d')]===_0xf44f('0x41')&&_0x3c52e7[_0xf44f('0x42')]&&_0x3c52e7['customField']){_0x3d9acc[_0xf44f('0x43')][_0xf44f('0x44')]({'id':_0x3c52e7[_0xf44f('0x42')],'value':_0x3c52e7['content']['toString']()});}else if(_0x3c52e7[_0xf44f('0x3d')]===_0xf44f('0x45')&&_0x3c52e7[_0xf44f('0x19')]&&_0x3c52e7[_0xf44f('0x42')]&&_0x3c52e7[_0xf44f('0x3f')]){_0x5c4933[_0x3c52e7[_0xf44f('0x19')]]&&_0x3d9acc[_0xf44f('0x43')]['push']({'id':_0x3c52e7[_0xf44f('0x42')],'value':_0x5c4933[_0x3c52e7[_0xf44f('0x19')]]['toString']()});}else if(_0x3c52e7['type']==='customVariable'&&_0x3c52e7[_0xf44f('0x46')]&&_0x3c52e7[_0xf44f('0x46')][_0xf44f('0xb')]&&_0x3c52e7['idField']&&_0x3c52e7['customField']){_0x5c4933[_0x3c52e7[_0xf44f('0x46')][_0xf44f('0xb')][_0xf44f('0x47')]()]&&_0x3d9acc[_0xf44f('0x43')][_0xf44f('0x44')]({'id':_0x3c52e7['idField'],'value':_0x5c4933[_0x3c52e7[_0xf44f('0x46')][_0xf44f('0xb')]['toLowerCase']()][_0xf44f('0x1f')]()});}});}return _0x3d9acc;}function getConnection(_0x5105b4){return request({'method':_0xf44f('0x8'),'form':{'method':_0xf44f('0x48'),'input_type':_0xf44f('0x1a'),'response_type':_0xf44f('0x1a'),'rest_data':JSON[_0xf44f('0x1b')]({'user_auth':{'user_name':_0x5105b4[_0xf44f('0x49')],'password':_0x5105b4[_0xf44f('0x4a')],'encryption':'PLAIN'},'application':_0xf44f('0x4b')})}})[_0xf44f('0x27')](function(_0x3b2210){var _0x3eefc8=_0x3b2210;if(_0x3eefc8['id']){def['sessionID']=_0x3eefc8['id'];return BPromise['resolve'](_0x3eefc8);}else{throw new Error(util['format']('Account\x20%d\x20is\x20not\x20valid',_0x5105b4['id']));}});}function setRelationship(_0x1604ac,_0x427ffc,_0x41f47a,_0x4bfaa5){return request({'form':{'method':_0xf44f('0x4c'),'input_type':_0xf44f('0x1a'),'response_type':'JSON','rest_data':JSON[_0xf44f('0x1b')]({'session':_0x1604ac['id'],'module_name':'Calls','module_id':_0x41f47a['id'],'link_field_name':_0x4bfaa5,'related_ids':[_0x427ffc['id']]})}});}exports[_0xf44f('0x4d')]=function(_0x3c330,_0xf4501f,_0x432fdc,_0x177098,_0x333926,_0xfb6d00){var _0xb89065,_0x3fdaac,_0x3d3f07,_0x46e3cf;_0xfb6d00[_0xf44f('0x4e')]=intUtil['stripTrailingSlash'](_0xfb6d00[_0xf44f('0x4e')]);_0xfb6d00['serverUrl']=intUtil[_0xf44f('0x4f')](_0xfb6d00[_0xf44f('0x50')]);def[_0xf44f('0x51')]=util['format']('%s/service/v4_1/rest.php',_0xfb6d00[_0xf44f('0x4e')]);if(_0x333926&&_0x333926[_0xf44f('0x52')]){logger[_0xf44f('0xa')](_0xf44f('0x53'),_0xf44f('0x54'));_0xf4501f[_0xf44f('0x55')]=util[_0xf44f('0x1d')](_0xf44f('0x56'),_0xfb6d00['serverUrl'],_0xf4501f[_0xf44f('0x57')],md5(_0xf4501f[_0xf44f('0x57')]));}else{_0xf4501f[_0xf44f('0x55')]='';}return getConnection(_0xfb6d00)['then'](function(_0x46197d){_0x46e3cf=_0x46197d;return getUser(_0xfb6d00,_0x177098['name'],_0x46e3cf);})[_0xf44f('0x27')](function(_0x21ae08){_0xb89065=_0x21ae08;logger[_0xf44f('0xa')](_0xf44f('0x58'),_0xb89065['id']);return getEndUser(_0xfb6d00,_0xf4501f['calleridname'],_0xf4501f['calleridnum'],_0x46e3cf);})['then'](function(_0x528f69){_0x3fdaac=_0x528f69;logger[_0xf44f('0xa')](_0xf44f('0x59'),_0x3fdaac['id']);return getTicket(_0xfb6d00,_0xb89065,_0x3fdaac,_0x432fdc,_0xf4501f,_0x432fdc[_0xf44f('0x5a')],_0x46e3cf,'Inbound');})[_0xf44f('0x27')](function(_0x43aa52){_0x3d3f07=_0x43aa52;logger[_0xf44f('0xa')](_0xf44f('0x5b'));logger[_0xf44f('0xa')](_0xf44f('0x5c'),_0x3d3f07['id']);return setRelationship(_0x46e3cf,_0xb89065,_0x3d3f07,_0xf44f('0x5d'));})['then'](function(){return setRelationship(_0x46e3cf,_0x3fdaac,_0x3d3f07,'contacts');})[_0xf44f('0x27')](function(){return getServerInfo(_0x46e3cf);})['then'](function(_0xba93ef){var _0x12cbdd=parseInt(_0xba93ef[_0xf44f('0x5e')][_0xf44f('0x5f')](0x0));var _0x54bcf1=util[_0xf44f('0x1d')](_0xf44f('0x60'),_0xfb6d00['remoteUri'],_0x3d3f07['id']);if(_0x12cbdd>0x6){_0x54bcf1=util['format'](_0xf44f('0x61'),_0xfb6d00[_0xf44f('0x4e')],_0x3d3f07['id']);}logger[_0xf44f('0xa')]('[QUEUE]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xf44f('0x1d')](_0xf44f('0x62'),_0x177098[_0xf44f('0xb')]),_0xf44f('0x63'),{'uri':_0x54bcf1});})['catch'](function(_0x2bfed6){logger[_0xf44f('0x64')](_0xf44f('0x53'),JSON['stringify'](_0x2bfed6));});};exports['outbound']=function(_0x3bc453,_0x9dfe6,_0x3b6845,_0x24c0b8,_0x241ff1,_0x2719f8,_0x1ad1ec){var _0xe6f6db,_0xef1dc6,_0x937357,_0xa2935b;_0x2719f8[_0xf44f('0x4e')]=intUtil[_0xf44f('0x4f')](_0x2719f8[_0xf44f('0x4e')]);_0x2719f8[_0xf44f('0x50')]=intUtil['stripTrailingSlash'](_0x2719f8['serverUrl']);def[_0xf44f('0x51')]=util[_0xf44f('0x1d')](_0xf44f('0x65'),_0x2719f8[_0xf44f('0x4e')]);if(_0x1ad1ec&&_0x1ad1ec[_0xf44f('0x66')]&&_0x1ad1ec['recordingFormat']!==_0xf44f('0x67')){logger[_0xf44f('0xa')](_0xf44f('0x68'),'Recording\x20is\x20enabled!');_0x9dfe6['recordingURL']=util[_0xf44f('0x1d')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x2719f8['serverUrl'],_0x9dfe6['uniqueid'],md5(_0x9dfe6[_0xf44f('0x57')]));}return getConnection(_0x2719f8)['then'](function(_0x1f6212){_0xa2935b=_0x1f6212;return getUser(_0x2719f8,_0x24c0b8[_0xf44f('0xb')],_0xa2935b);})[_0xf44f('0x27')](function(_0x515c7a){_0xe6f6db=_0x515c7a;logger[_0xf44f('0xa')](_0xf44f('0x58'),_0xe6f6db['id']);return getEndUser(_0x2719f8,_0x9dfe6[_0xf44f('0x69')],_0x9dfe6['destcalleridnum'],_0xa2935b);})[_0xf44f('0x27')](function(_0x325e11){_0xef1dc6=_0x325e11;logger[_0xf44f('0xa')](_0xf44f('0x59'),_0xef1dc6['id']);return getTicket(_0x2719f8,_0xe6f6db,_0xef1dc6,_0x3b6845,_0x9dfe6,_0x3b6845[_0xf44f('0x5a')],_0xa2935b,'Outbound');})['then'](function(_0x950219){_0x937357=_0x950219;logger['info'](_0xf44f('0x5b'));logger[_0xf44f('0xa')](_0xf44f('0x5c'),_0x937357['id']);return setRelationship(_0xa2935b,_0xe6f6db,_0x937357,_0xf44f('0x5d'));})['then'](function(){return setRelationship(_0xa2935b,_0xef1dc6,_0x937357,'contacts');})[_0xf44f('0x27')](function(){return getServerInfo(_0xa2935b);})[_0xf44f('0x27')](function(_0x1a4c08){var _0x1e70fe=parseInt(_0x1a4c08[_0xf44f('0x5e')][_0xf44f('0x5f')](0x0));var _0x43779e=util[_0xf44f('0x1d')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x2719f8['remoteUri'],_0x937357['id']);if(_0x1e70fe>0x6){_0x43779e=util[_0xf44f('0x1d')](_0xf44f('0x61'),_0x2719f8[_0xf44f('0x4e')],_0x937357['id']);}logger[_0xf44f('0xa')](_0xf44f('0x68'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util['format'](_0xf44f('0x62'),_0x24c0b8['name']),_0xf44f('0x63'),{'uri':_0x43779e});})[_0xf44f('0x6a')](function(_0x26e2aa){logger[_0xf44f('0x64')]('[OUTBOUND]',JSON[_0xf44f('0x1b')](_0x26e2aa));});};exports[_0xf44f('0x6b')]=function(_0x379c63,_0x314545,_0x5efe7e,_0x1a094,_0x541e08,_0x8cfb82){var _0x5d72b2,_0x1c1419,_0x2de672,_0x345d8a;_0x8cfb82['remoteUri']=intUtil[_0xf44f('0x4f')](_0x8cfb82[_0xf44f('0x4e')]);_0x8cfb82['serverUrl']=intUtil[_0xf44f('0x4f')](_0x8cfb82[_0xf44f('0x50')]);def['uri']=util[_0xf44f('0x1d')](_0xf44f('0x65'),_0x8cfb82[_0xf44f('0x4e')]);if(_0x541e08&&_0x541e08[_0xf44f('0x52')]){logger[_0xf44f('0xa')]('['+_0x314545[_0xf44f('0x6c')][_0xf44f('0x6d')]()+']',_0xf44f('0x54'));_0x314545['recordingURL']=util[_0xf44f('0x1d')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x8cfb82[_0xf44f('0x50')],_0x314545[_0xf44f('0x57')],md5(_0x314545[_0xf44f('0x57')]));}else{_0x314545[_0xf44f('0x55')]='';}return getConnection(_0x8cfb82)['then'](function(_0x3b2485){_0x345d8a=_0x3b2485;if(!_['isNil'](_0x1a094)){return getUser(_0x8cfb82,_0x1a094[_0xf44f('0xb')],_0x345d8a);}else{return getUser(_0x8cfb82,null,_0x345d8a);}})[_0xf44f('0x27')](function(_0x5b96a3){_0x5d72b2=_0x5b96a3;logger[_0xf44f('0xa')](_0xf44f('0x58'),_0x5d72b2['id']);return getEndUser(_0x8cfb82,_0x314545[_0xf44f('0x6e')],_0x314545[_0xf44f('0x6f')],_0x345d8a);})[_0xf44f('0x27')](function(_0x213e73){_0x1c1419=_0x213e73;logger[_0xf44f('0xa')]('The\x20Enduser\x20ID\x20is:',_0x1c1419['id']);return getTicket(_0x8cfb82,_0x5d72b2,_0x1c1419,_0x5efe7e,_0x314545,_0x5efe7e[_0xf44f('0x5a')],_0x345d8a,_0xf44f('0x70'));})['then'](function(_0x49d6f8){_0x2de672=_0x49d6f8;logger[_0xf44f('0xa')](_0xf44f('0x5b'));logger[_0xf44f('0xa')](_0xf44f('0x5c'),_0x2de672['id']);return setRelationship(_0x345d8a,_0x5d72b2,_0x2de672,_0xf44f('0x5d'));})[_0xf44f('0x27')](function(){return setRelationship(_0x345d8a,_0x1c1419,_0x2de672,_0xf44f('0x71'));})[_0xf44f('0x27')](function(){return getServerInfo(_0x345d8a);})[_0xf44f('0x6a')](function(_0x2192ae){logger['error']('['+_0x314545[_0xf44f('0x6c')][_0xf44f('0x6d')]()+']',JSON[_0xf44f('0x1b')](_0x2192ae));});};
\ No newline at end of file
+var _0x2709=['sessionID','queue','remoteUri','stripTrailingSlash','serverUrl','uri','%s/service/v4_1/rest.php','monitor_format','Recording\x20is\x20enabled!','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','The\x20Enduser\x20ID\x20is:','Fields','Inbound','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','users','contacts','version','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','user:%s','catch','recordingFormat','none','The\x20User\x20ID\x20is:','destcalleridname','Outbound','[OUTBOUND]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','lastevent','toUpperCase','recordingURL','isNil','calleridname','calleridnum','error','lodash','bluebird','md5','ioredis','../../../../config/environment','../../../../config/logger','sugarcrm','redis','defaults','socket.io-emitter','POST','emit','Creating\x20new\x20ticket...','Subjects','assigned_user_id','created_by','getString','Descriptions','date_start','toISOString','duration_hours','duration_minutes','parent_type','parent_name','name','direction','variableName','push','set_entry','JSON','stringify','Calls','format','Basic\x20%s','apiKey','toString','get_server_info','info','Getting\x20agent\x20with\x20name','get_entry_list','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','user_name','then','entry_list','find','name_value_list','value','resolve','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','Contacts','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','length','Enduser\x20found!','<unknown>','Caller\x20-\x20%s','first_name','[HTTP]','map','forEach','type','string','nameField','customField','toLowerCase','content','idField','custom_fields','variable','customVariable','Variable','login','username','password','PLAIN','xCALLY\x20Motion\x20integration'];(function(_0x398297,_0x388495){var _0x4c17af=function(_0x34d955){while(--_0x34d955){_0x398297['push'](_0x398297['shift']());}};_0x4c17af(++_0x388495);}(_0x2709,0x189));var _0x9270=function(_0x20e087,_0x29e797){_0x20e087=_0x20e087-0x0;var _0x5304bf=_0x2709[_0x20e087];return _0x5304bf;};'use strict';var _=require(_0x9270('0x0'));var rp=require('request-promise');var BPromise=require(_0x9270('0x1'));var md5=require(_0x9270('0x2'));var util=require('util');var Redis=require(_0x9270('0x3'));var intUtil=require('./util');var config=require(_0x9270('0x4'));var logger=require(_0x9270('0x5'))(_0x9270('0x6'));config[_0x9270('0x7')]=_[_0x9270('0x8')](config[_0x9270('0x7')],{'host':'localhost','port':0x18eb});var io=require(_0x9270('0x9'))(new Redis(config[_0x9270('0x7')]));var def={'method':_0x9270('0xa'),'json':!![]};function emit(_0x28e580,_0x4996ed,_0x2c33a9){io['to'](_0x28e580)[_0x9270('0xb')](_0x4996ed,_0x2c33a9);}function getTicket(_0xa28b35,_0xe68f8b,_0x623907,_0x78d773,_0x46ead1,_0x9a0421,_0x41a8a4,_0x3c6123){logger['info'](_0x9270('0xc'));var _0x403a95=new Date();var _0x25ac50=[{'name':'name','value':intUtil['getString'](_0x78d773[_0x9270('0xd')],_0x46ead1,'\x20')},{'name':_0x9270('0xe'),'value':_0xe68f8b['id']},{'name':_0x9270('0xf'),'value':_0xe68f8b['id']},{'name':'description','value':intUtil[_0x9270('0x10')](_0x78d773[_0x9270('0x11')],_0x46ead1,'\x0a')},{'name':_0x9270('0x12'),'value':_0x403a95[_0x9270('0x13')]()['slice'](0x0,0x13)['replace']('T','\x20')},{'name':_0x9270('0x14'),'value':'0'},{'name':_0x9270('0x15'),'value':'15'},{'name':'parent_id','value':_0x623907['id']},{'name':_0x9270('0x16'),'value':'Contacts'},{'name':_0x9270('0x17'),'value':_0x623907[_0x9270('0x18')]},{'name':_0x9270('0x19'),'value':_0x3c6123}];if(_0x9a0421['length']){_['forEach'](_0x9a0421,function(_0x3fdc6e){if(_0x46ead1[_0x3fdc6e[_0x9270('0x1a')]]){_0x25ac50[_0x9270('0x1b')]({'name':_0x3fdc6e['idField'],'value':_0x46ead1[_0x3fdc6e[_0x9270('0x1a')]]});}});}return request({'form':{'method':_0x9270('0x1c'),'input_type':_0x9270('0x1d'),'response_type':_0x9270('0x1d'),'rest_data':JSON[_0x9270('0x1e')]({'session':_0x41a8a4['id'],'module_name':_0x9270('0x1f'),'name_value_list':_0x25ac50})}});}function getAuth(_0x564865){return util[_0x9270('0x20')](_0x9270('0x21'),new Buffer(_0x564865[_0x9270('0x22')]+':X')[_0x9270('0x23')]('base64'));}function getServerInfo(_0xf01dbc){return request({'form':{'method':_0x9270('0x24'),'input_type':_0x9270('0x1d'),'response_type':_0x9270('0x1d'),'rest_data':JSON[_0x9270('0x1e')]({'session':_0xf01dbc['id']})}});}function getUser(_0x55ef1f,_0x24f5a1,_0x452ef9){if(!_['isNil'](_0x24f5a1)){logger[_0x9270('0x25')](_0x9270('0x26'),_0x24f5a1);return request({'form':{'method':_0x9270('0x27'),'input_type':_0x9270('0x1d'),'response_type':_0x9270('0x1d'),'rest_data':JSON[_0x9270('0x1e')]({'session':_0x452ef9['id'],'module_name':_0x9270('0x28'),'query':util[_0x9270('0x20')](_0x9270('0x29'),_0x24f5a1),'order_by':'','offset':'0','select_fields':['id',_0x9270('0x18'),_0x9270('0x2a')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x9270('0x2b')](function(_0x573e21){if(_0x573e21[_0x9270('0x2c')]['length']){var _0x4e5e15=_[_0x9270('0x2d')](_0x573e21[_0x9270('0x2c')],function(_0x4dba44){return _0x4dba44[_0x9270('0x2e')][_0x9270('0x2a')][_0x9270('0x2f')]===_0x24f5a1;});if(_0x4e5e15){logger[_0x9270('0x25')]('Agent\x20found!');return BPromise[_0x9270('0x30')]({'id':_0x4e5e15[_0x9270('0x2e')]['id']['value'],'name':_0x4e5e15[_0x9270('0x2e')][_0x9270('0x18')][_0x9270('0x2f')]});}}logger[_0x9270('0x25')](_0x9270('0x31'));return BPromise[_0x9270('0x30')]({'id':_0x452ef9['name_value_list'][_0x9270('0x32')]['value'],'name':_0x452ef9[_0x9270('0x2e')]['user_name']['value']});});}else{logger[_0x9270('0x25')](_0x9270('0x33'));return BPromise[_0x9270('0x30')]({'id':_0x452ef9[_0x9270('0x2e')][_0x9270('0x32')]['value'],'name':_0x452ef9[_0x9270('0x2e')]['user_name'][_0x9270('0x2f')]});}}function getEndUser(_0x287c2d,_0x3580ab,_0x193dd5,_0x55901a){logger['info']('Searching\x20enduser\x20with\x20phone',_0x193dd5);return request({'form':{'method':_0x9270('0x27'),'input_type':_0x9270('0x1d'),'response_type':_0x9270('0x1d'),'rest_data':JSON[_0x9270('0x1e')]({'session':_0x55901a['id'],'module_name':_0x9270('0x34'),'query':util[_0x9270('0x20')](_0x9270('0x35'),_0x193dd5),'order_by':'','offset':'0','select_fields':['id',_0x9270('0x18'),_0x9270('0x36')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})['then'](function(_0xeb12d7){if(_0xeb12d7[_0x9270('0x2c')][_0x9270('0x37')]){var _0x495d0e=_[_0x9270('0x2d')](_0xeb12d7[_0x9270('0x2c')],function(_0x6c9ed9){return _0x6c9ed9['name_value_list']['phone_home'][_0x9270('0x2f')]===_0x193dd5;});if(_0x495d0e){logger[_0x9270('0x25')](_0x9270('0x38'));return BPromise[_0x9270('0x30')]({'id':_0x495d0e[_0x9270('0x2e')]['id'][_0x9270('0x2f')],'name':_0x495d0e[_0x9270('0x2e')][_0x9270('0x18')]['value'],'phone':_0x495d0e['name_value_list']['phone_home'][_0x9270('0x2f')]});}}else{logger[_0x9270('0x25')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');return request({'form':{'method':_0x9270('0x1c'),'input_type':'JSON','response_type':_0x9270('0x1d'),'rest_data':JSON['stringify']({'session':_0x55901a['id'],'module_name':'Contacts','name_value_list':[{'name':'first_name','value':_0x3580ab!==_0x9270('0x39')?_0x3580ab:util[_0x9270('0x20')](_0x9270('0x3a'),_0x193dd5)},{'name':_0x9270('0x36'),'value':_0x193dd5}]})}})['then'](function(_0x317e18){logger[_0x9270('0x25')]('Enduser\x20created.');return BPromise[_0x9270('0x30')]({'id':_0x317e18['id'],'name':_0x317e18[_0x9270('0x2c')][_0x9270('0x3b')][_0x9270('0x2f')],'phone':_0x317e18[_0x9270('0x2c')][_0x9270('0x36')][_0x9270('0x2f')]});});}});}function request(_0x2b45dc){logger['debug'](_0x9270('0x3c'),JSON['stringify'](_0x2b45dc));return rp(_['merge'](def,_0x2b45dc));}function getTags(_0x42d908,_0x2c3c07){var _0x53153d=[];if(_0x42d908&&_0x42d908[_0x9270('0x37')]>0x0){_0x53153d=_[_0x9270('0x3d')](_0x42d908,_0x2c3c07);}return _0x53153d;}function getCustomFields(_0x590acc,_0x406497){var _0x553daa=[];var _0x5821a9={'custom_fields':[]};if(_0x590acc['length']>0x0){_[_0x9270('0x3e')](_0x590acc,function(_0x2727b3){if(_0x2727b3[_0x9270('0x3f')]===_0x9270('0x40')&&_0x2727b3[_0x9270('0x41')]&&!_0x2727b3[_0x9270('0x42')]){_0x5821a9[_0x2727b3[_0x9270('0x41')][_0x9270('0x43')]()]=_0x2727b3[_0x9270('0x44')]['toString']();}else if(_0x2727b3[_0x9270('0x3f')]===_0x9270('0x40')&&_0x2727b3[_0x9270('0x45')]&&_0x2727b3['customField']){_0x5821a9[_0x9270('0x46')][_0x9270('0x1b')]({'id':_0x2727b3[_0x9270('0x45')],'value':_0x2727b3[_0x9270('0x44')]['toString']()});}else if(_0x2727b3[_0x9270('0x3f')]===_0x9270('0x47')&&_0x2727b3[_0x9270('0x1a')]&&_0x2727b3[_0x9270('0x45')]&&_0x2727b3[_0x9270('0x42')]){_0x406497[_0x2727b3['variableName']]&&_0x5821a9[_0x9270('0x46')]['push']({'id':_0x2727b3[_0x9270('0x45')],'value':_0x406497[_0x2727b3[_0x9270('0x1a')]][_0x9270('0x23')]()});}else if(_0x2727b3[_0x9270('0x3f')]===_0x9270('0x48')&&_0x2727b3['Variable']&&_0x2727b3[_0x9270('0x49')][_0x9270('0x18')]&&_0x2727b3[_0x9270('0x45')]&&_0x2727b3[_0x9270('0x42')]){_0x406497[_0x2727b3['Variable'][_0x9270('0x18')][_0x9270('0x43')]()]&&_0x5821a9[_0x9270('0x46')][_0x9270('0x1b')]({'id':_0x2727b3[_0x9270('0x45')],'value':_0x406497[_0x2727b3['Variable'][_0x9270('0x18')][_0x9270('0x43')]()][_0x9270('0x23')]()});}});}return _0x5821a9;}function getConnection(_0x4bfe48){return request({'method':_0x9270('0xa'),'form':{'method':_0x9270('0x4a'),'input_type':_0x9270('0x1d'),'response_type':'JSON','rest_data':JSON[_0x9270('0x1e')]({'user_auth':{'user_name':_0x4bfe48[_0x9270('0x4b')],'password':_0x4bfe48[_0x9270('0x4c')],'encryption':_0x9270('0x4d')},'application':_0x9270('0x4e')})}})[_0x9270('0x2b')](function(_0x13ddbe){var _0x67f9bd=_0x13ddbe;if(_0x67f9bd['id']){def[_0x9270('0x4f')]=_0x67f9bd['id'];return BPromise['resolve'](_0x67f9bd);}else{throw new Error(util[_0x9270('0x20')]('Account\x20%d\x20is\x20not\x20valid',_0x4bfe48['id']));}});}function setRelationship(_0x427bed,_0x4a4f13,_0x147a53,_0x3daf42){return request({'form':{'method':'set_relationship','input_type':'JSON','response_type':'JSON','rest_data':JSON[_0x9270('0x1e')]({'session':_0x427bed['id'],'module_name':_0x9270('0x1f'),'module_id':_0x147a53['id'],'link_field_name':_0x3daf42,'related_ids':[_0x4a4f13['id']]})}});}exports[_0x9270('0x50')]=function(_0x56211d,_0x563255,_0x4b0c12,_0x83042,_0x54db2e,_0x37018a){var _0x47e267,_0x46bfbc,_0x39dcb2,_0x4db673;_0x37018a[_0x9270('0x51')]=intUtil[_0x9270('0x52')](_0x37018a['remoteUri']);_0x37018a[_0x9270('0x53')]=intUtil['stripTrailingSlash'](_0x37018a[_0x9270('0x53')]);def[_0x9270('0x54')]=util[_0x9270('0x20')](_0x9270('0x55'),_0x37018a[_0x9270('0x51')]);if(_0x54db2e&&_0x54db2e[_0x9270('0x56')]){logger[_0x9270('0x25')]('[QUEUE]',_0x9270('0x57'));_0x563255['recordingURL']=util[_0x9270('0x20')](_0x9270('0x58'),_0x37018a[_0x9270('0x53')],_0x563255[_0x9270('0x59')],md5(_0x563255['uniqueid']));}else{_0x563255['recordingURL']='';}return getConnection(_0x37018a)['then'](function(_0x5efa79){_0x4db673=_0x5efa79;return getUser(_0x37018a,_0x83042[_0x9270('0x18')],_0x4db673);})[_0x9270('0x2b')](function(_0x4d9608){_0x47e267=_0x4d9608;logger['info']('The\x20User\x20ID\x20is:',_0x47e267['id']);return getEndUser(_0x37018a,_0x563255['calleridname'],_0x563255['calleridnum'],_0x4db673);})[_0x9270('0x2b')](function(_0x5325a8){_0x46bfbc=_0x5325a8;logger[_0x9270('0x25')](_0x9270('0x5a'),_0x46bfbc['id']);return getTicket(_0x37018a,_0x47e267,_0x46bfbc,_0x4b0c12,_0x563255,_0x4b0c12[_0x9270('0x5b')],_0x4db673,_0x9270('0x5c'));})[_0x9270('0x2b')](function(_0x60dc53){_0x39dcb2=_0x60dc53;logger['info'](_0x9270('0x5d'));logger[_0x9270('0x25')](_0x9270('0x5e'),_0x39dcb2['id']);return setRelationship(_0x4db673,_0x47e267,_0x39dcb2,_0x9270('0x5f'));})[_0x9270('0x2b')](function(){return setRelationship(_0x4db673,_0x46bfbc,_0x39dcb2,_0x9270('0x60'));})[_0x9270('0x2b')](function(){return getServerInfo(_0x4db673);})['then'](function(_0x3c74ed){var _0x34acd6=parseInt(_0x3c74ed[_0x9270('0x61')][_0x9270('0x62')](0x0));var _0x21c2aa=util['format'](_0x9270('0x63'),_0x37018a[_0x9270('0x51')],_0x39dcb2['id']);if(_0x34acd6>0x6){_0x21c2aa=util[_0x9270('0x20')](_0x9270('0x64'),_0x37018a['remoteUri'],_0x39dcb2['id']);}logger['info']('[QUEUE]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0x9270('0x20')](_0x9270('0x65'),_0x83042[_0x9270('0x18')]),'trigger:browser:url',{'uri':_0x21c2aa});})[_0x9270('0x66')](function(_0x4a1e38){logger['error']('[QUEUE]',JSON['stringify'](_0x4a1e38));});};exports['outbound']=function(_0x4699b0,_0x2402f4,_0x5cbfd2,_0x5f2108,_0x44932d,_0x18f9a8,_0x1488d5){var _0x4ede5b,_0x58c532,_0x2b1e0c,_0x5cfe83;_0x18f9a8[_0x9270('0x51')]=intUtil[_0x9270('0x52')](_0x18f9a8[_0x9270('0x51')]);_0x18f9a8[_0x9270('0x53')]=intUtil[_0x9270('0x52')](_0x18f9a8['serverUrl']);def[_0x9270('0x54')]=util[_0x9270('0x20')]('%s/service/v4_1/rest.php',_0x18f9a8[_0x9270('0x51')]);if(_0x1488d5&&_0x1488d5['recordingFormat']&&_0x1488d5[_0x9270('0x67')]!==_0x9270('0x68')){logger['info']('[OUTBOUND]',_0x9270('0x57'));_0x2402f4['recordingURL']=util[_0x9270('0x20')](_0x9270('0x58'),_0x18f9a8[_0x9270('0x53')],_0x2402f4['uniqueid'],md5(_0x2402f4['uniqueid']));}return getConnection(_0x18f9a8)['then'](function(_0x135e93){_0x5cfe83=_0x135e93;return getUser(_0x18f9a8,_0x5f2108[_0x9270('0x18')],_0x5cfe83);})[_0x9270('0x2b')](function(_0x4481aa){_0x4ede5b=_0x4481aa;logger['info'](_0x9270('0x69'),_0x4ede5b['id']);return getEndUser(_0x18f9a8,_0x2402f4[_0x9270('0x6a')],_0x2402f4['destcalleridnum'],_0x5cfe83);})['then'](function(_0x41806c){_0x58c532=_0x41806c;logger[_0x9270('0x25')](_0x9270('0x5a'),_0x58c532['id']);return getTicket(_0x18f9a8,_0x4ede5b,_0x58c532,_0x5cbfd2,_0x2402f4,_0x5cbfd2[_0x9270('0x5b')],_0x5cfe83,_0x9270('0x6b'));})[_0x9270('0x2b')](function(_0x5d824f){_0x2b1e0c=_0x5d824f;logger['info']('Ticket\x20created!');logger[_0x9270('0x25')]('The\x20Ticket\x20ID\x20is:',_0x2b1e0c['id']);return setRelationship(_0x5cfe83,_0x4ede5b,_0x2b1e0c,'users');})[_0x9270('0x2b')](function(){return setRelationship(_0x5cfe83,_0x58c532,_0x2b1e0c,_0x9270('0x60'));})[_0x9270('0x2b')](function(){return getServerInfo(_0x5cfe83);})['then'](function(_0x460de9){var _0x5a5cc8=parseInt(_0x460de9[_0x9270('0x61')][_0x9270('0x62')](0x0));var _0x5c4e89=util['format'](_0x9270('0x63'),_0x18f9a8[_0x9270('0x51')],_0x2b1e0c['id']);if(_0x5a5cc8>0x6){_0x5c4e89=util['format']('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x18f9a8['remoteUri'],_0x2b1e0c['id']);}logger['info'](_0x9270('0x6c'),_0x9270('0x6d'));emit(util['format'](_0x9270('0x65'),_0x5f2108[_0x9270('0x18')]),_0x9270('0x6e'),{'uri':_0x5c4e89});})['catch'](function(_0x4afb28){logger['error'](_0x9270('0x6c'),JSON[_0x9270('0x1e')](_0x4afb28));});};exports['unmanaged']=function(_0x3f831e,_0x486294,_0x3752c3,_0x3e2492,_0x18df2f,_0x5282f8){var _0x544828,_0x3ed384,_0x20f104,_0x4f542b;_0x5282f8[_0x9270('0x51')]=intUtil[_0x9270('0x52')](_0x5282f8['remoteUri']);_0x5282f8[_0x9270('0x53')]=intUtil[_0x9270('0x52')](_0x5282f8[_0x9270('0x53')]);def['uri']=util[_0x9270('0x20')](_0x9270('0x55'),_0x5282f8[_0x9270('0x51')]);if(_0x18df2f&&_0x18df2f[_0x9270('0x56')]){logger[_0x9270('0x25')]('['+_0x486294[_0x9270('0x6f')][_0x9270('0x70')]()+']',_0x9270('0x57'));_0x486294['recordingURL']=util[_0x9270('0x20')](_0x9270('0x58'),_0x5282f8[_0x9270('0x53')],_0x486294[_0x9270('0x59')],md5(_0x486294[_0x9270('0x59')]));}else{_0x486294[_0x9270('0x71')]='';}return getConnection(_0x5282f8)['then'](function(_0x34febb){_0x4f542b=_0x34febb;if(!_[_0x9270('0x72')](_0x3e2492)){return getUser(_0x5282f8,_0x3e2492[_0x9270('0x18')],_0x4f542b);}else{return getUser(_0x5282f8,null,_0x4f542b);}})[_0x9270('0x2b')](function(_0x307c7c){_0x544828=_0x307c7c;logger['info']('The\x20User\x20ID\x20is:',_0x544828['id']);return getEndUser(_0x5282f8,_0x486294[_0x9270('0x73')],_0x486294[_0x9270('0x74')],_0x4f542b);})[_0x9270('0x2b')](function(_0x3e6a99){_0x3ed384=_0x3e6a99;logger[_0x9270('0x25')](_0x9270('0x5a'),_0x3ed384['id']);return getTicket(_0x5282f8,_0x544828,_0x3ed384,_0x3752c3,_0x486294,_0x3752c3[_0x9270('0x5b')],_0x4f542b,_0x9270('0x5c'));})['then'](function(_0x32368a){_0x20f104=_0x32368a;logger[_0x9270('0x25')](_0x9270('0x5d'));logger['info'](_0x9270('0x5e'),_0x20f104['id']);return setRelationship(_0x4f542b,_0x544828,_0x20f104,_0x9270('0x5f'));})[_0x9270('0x2b')](function(){return setRelationship(_0x4f542b,_0x3ed384,_0x20f104,_0x9270('0x60'));})[_0x9270('0x2b')](function(){return getServerInfo(_0x4f542b);})[_0x9270('0x66')](function(_0x54d626){logger[_0x9270('0x75')]('['+_0x486294[_0x9270('0x6f')][_0x9270('0x70')]()+']',JSON['stringify'](_0x54d626));});};
\ No newline at end of file