Built motion from commit ecb45b58.|2.6.31
[motion2.git] / server / services / ami / trigger / integration / sugarcrm.js
index 86cc38f..e089817 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x256e=['parent_name','direction','length','forEach','variableName','push','idField','set_entry','JSON','Basic\x20%s','apiKey','toString','get_server_info','stringify','isNil','Getting\x20agent\x20with\x20name','Employees','format','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','user_name','then','entry_list','find','name_value_list','value','info','resolve','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','user_id','Searching\x20enduser\x20with\x20phone','get_entry_list','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','first_name','[HTTP]','type','string','nameField','customField','toLowerCase','content','variable','custom_fields','customVariable','Variable','login','password','PLAIN','xCALLY\x20Motion\x20integration','sessionID','set_relationship','remoteUri','stripTrailingSlash','uri','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','uniqueid','The\x20User\x20ID\x20is:','calleridnum','The\x20Enduser\x20ID\x20is:','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','trigger:browser:url','catch','error','outbound','serverUrl','%s/service/v4_1/rest.php','recordingFormat','none','[OUTBOUND]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','destcalleridname','destcalleridnum','Fields','Outbound','user:%s','lastevent','toUpperCase','lodash','bluebird','util','ioredis','./util','../../../../config/environment','../../../../config/logger','sugarcrm','redis','defaults','localhost','socket.io-emitter','POST','Creating\x20new\x20ticket...','name','getString','assigned_user_id','created_by','description','date_start','toISOString','slice','replace','duration_hours','duration_minutes','parent_type','Contacts'];(function(_0x1694f5,_0x49b7c3){var _0x5b4321=function(_0x58c183){while(--_0x58c183){_0x1694f5['push'](_0x1694f5['shift']());}};_0x5b4321(++_0x49b7c3);}(_0x256e,0xd7));var _0xe256=function(_0x2c09cf,_0x3896cf){_0x2c09cf=_0x2c09cf-0x0;var _0x4ffcf7=_0x256e[_0x2c09cf];return _0x4ffcf7;};'use strict';var _=require(_0xe256('0x0'));var rp=require('request-promise');var BPromise=require(_0xe256('0x1'));var md5=require('md5');var util=require(_0xe256('0x2'));var Redis=require(_0xe256('0x3'));var intUtil=require(_0xe256('0x4'));var config=require(_0xe256('0x5'));var logger=require(_0xe256('0x6'))(_0xe256('0x7'));config[_0xe256('0x8')]=_[_0xe256('0x9')](config[_0xe256('0x8')],{'host':_0xe256('0xa'),'port':0x18eb});var io=require(_0xe256('0xb'))(new Redis(config[_0xe256('0x8')]));var def={'method':_0xe256('0xc'),'json':!![]};function emit(_0x2c160f,_0x334ede,_0x1cfd74){io['to'](_0x2c160f)['emit'](_0x334ede,_0x1cfd74);}function getTicket(_0x2002c0,_0x133859,_0x55cefe,_0x4a84a0,_0x1a80c6,_0x36e16c,_0x3d4c10,_0x2b6b43){logger['info'](_0xe256('0xd'));var _0x17db65=new Date();var _0x5812ff=[{'name':_0xe256('0xe'),'value':intUtil[_0xe256('0xf')](_0x4a84a0['Subjects'],_0x1a80c6,'\x20')},{'name':_0xe256('0x10'),'value':_0x133859['id']},{'name':_0xe256('0x11'),'value':_0x133859['id']},{'name':_0xe256('0x12'),'value':intUtil[_0xe256('0xf')](_0x4a84a0['Descriptions'],_0x1a80c6,'\x0a')},{'name':_0xe256('0x13'),'value':_0x17db65[_0xe256('0x14')]()[_0xe256('0x15')](0x0,0x13)[_0xe256('0x16')]('T','\x20')},{'name':_0xe256('0x17'),'value':'0'},{'name':_0xe256('0x18'),'value':'15'},{'name':'parent_id','value':_0x55cefe['id']},{'name':_0xe256('0x19'),'value':_0xe256('0x1a')},{'name':_0xe256('0x1b'),'value':_0x55cefe['name']},{'name':_0xe256('0x1c'),'value':_0x2b6b43}];if(_0x36e16c[_0xe256('0x1d')]){_[_0xe256('0x1e')](_0x36e16c,function(_0x2450fc){if(_0x1a80c6[_0x2450fc[_0xe256('0x1f')]]){_0x5812ff[_0xe256('0x20')]({'name':_0x2450fc[_0xe256('0x21')],'value':_0x1a80c6[_0x2450fc['variableName']]});}});}return request({'form':{'method':_0xe256('0x22'),'input_type':_0xe256('0x23'),'response_type':'JSON','rest_data':JSON['stringify']({'session':_0x3d4c10['id'],'module_name':'Calls','name_value_list':_0x5812ff})}});}function getAuth(_0x3f5b54){return util['format'](_0xe256('0x24'),new Buffer(_0x3f5b54[_0xe256('0x25')]+':X')[_0xe256('0x26')]('base64'));}function getServerInfo(_0x337a26){return request({'form':{'method':_0xe256('0x27'),'input_type':_0xe256('0x23'),'response_type':_0xe256('0x23'),'rest_data':JSON[_0xe256('0x28')]({'session':_0x337a26['id']})}});}function getUser(_0x5b116f,_0x4644bb,_0x55d813){if(!_[_0xe256('0x29')](_0x4644bb)){logger['info'](_0xe256('0x2a'),_0x4644bb);return request({'form':{'method':'get_entry_list','input_type':_0xe256('0x23'),'response_type':_0xe256('0x23'),'rest_data':JSON[_0xe256('0x28')]({'session':_0x55d813['id'],'module_name':_0xe256('0x2b'),'query':util[_0xe256('0x2c')](_0xe256('0x2d'),_0x4644bb),'order_by':'','offset':'0','select_fields':['id',_0xe256('0xe'),_0xe256('0x2e')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xe256('0x2f')](function(_0x4cab16){if(_0x4cab16[_0xe256('0x30')][_0xe256('0x1d')]){var _0x361254=_[_0xe256('0x31')](_0x4cab16[_0xe256('0x30')],function(_0x4433c8){return _0x4433c8[_0xe256('0x32')]['user_name'][_0xe256('0x33')]===_0x4644bb;});if(_0x361254){logger[_0xe256('0x34')]('Agent\x20found!');return BPromise[_0xe256('0x35')]({'id':_0x361254[_0xe256('0x32')]['id'][_0xe256('0x33')],'name':_0x361254['name_value_list'][_0xe256('0xe')][_0xe256('0x33')]});}}logger['info'](_0xe256('0x36'));return BPromise['resolve']({'id':_0x55d813['name_value_list']['user_id'][_0xe256('0x33')],'name':_0x55d813[_0xe256('0x32')][_0xe256('0x2e')][_0xe256('0x33')]});});}else{logger[_0xe256('0x34')](_0xe256('0x37'));return BPromise[_0xe256('0x35')]({'id':_0x55d813[_0xe256('0x32')][_0xe256('0x38')]['value'],'name':_0x55d813[_0xe256('0x32')][_0xe256('0x2e')]['value']});}}function getEndUser(_0x18a161,_0x584d00,_0x3f80ff,_0x1304e3){logger[_0xe256('0x34')](_0xe256('0x39'),_0x3f80ff);return request({'form':{'method':_0xe256('0x3a'),'input_type':'JSON','response_type':_0xe256('0x23'),'rest_data':JSON[_0xe256('0x28')]({'session':_0x1304e3['id'],'module_name':_0xe256('0x1a'),'query':util[_0xe256('0x2c')](_0xe256('0x3b'),_0x3f80ff),'order_by':'','offset':'0','select_fields':['id',_0xe256('0xe'),_0xe256('0x3c')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xe256('0x2f')](function(_0x935eaa){if(_0x935eaa[_0xe256('0x30')][_0xe256('0x1d')]){var _0xc1db68=_['find'](_0x935eaa[_0xe256('0x30')],function(_0x32670f){return _0x32670f[_0xe256('0x32')][_0xe256('0x3c')]['value']===_0x3f80ff;});if(_0xc1db68){logger[_0xe256('0x34')](_0xe256('0x3d'));return BPromise[_0xe256('0x35')]({'id':_0xc1db68['name_value_list']['id'][_0xe256('0x33')],'name':_0xc1db68[_0xe256('0x32')][_0xe256('0xe')][_0xe256('0x33')],'phone':_0xc1db68[_0xe256('0x32')][_0xe256('0x3c')]['value']});}}else{logger[_0xe256('0x34')](_0xe256('0x3e'));return request({'form':{'method':_0xe256('0x22'),'input_type':_0xe256('0x23'),'response_type':_0xe256('0x23'),'rest_data':JSON[_0xe256('0x28')]({'session':_0x1304e3['id'],'module_name':_0xe256('0x1a'),'name_value_list':[{'name':'first_name','value':_0x584d00!==_0xe256('0x3f')?_0x584d00:util['format'](_0xe256('0x40'),_0x3f80ff)},{'name':_0xe256('0x3c'),'value':_0x3f80ff}]})}})[_0xe256('0x2f')](function(_0x391c52){logger['info'](_0xe256('0x41'));return BPromise['resolve']({'id':_0x391c52['id'],'name':_0x391c52['entry_list'][_0xe256('0x42')][_0xe256('0x33')],'phone':_0x391c52[_0xe256('0x30')][_0xe256('0x3c')]['value']});});}});}function request(_0x46f304){logger['debug'](_0xe256('0x43'),JSON['stringify'](_0x46f304));return rp(_['merge'](def,_0x46f304));}function getTags(_0x14635f,_0x28e2f3){var _0x3f1bfa=[];if(_0x14635f&&_0x14635f[_0xe256('0x1d')]>0x0){_0x3f1bfa=_['map'](_0x14635f,_0x28e2f3);}return _0x3f1bfa;}function getCustomFields(_0x3cbca0,_0x2f514c){var _0x425833=[];var _0x237c13={'custom_fields':[]};if(_0x3cbca0[_0xe256('0x1d')]>0x0){_[_0xe256('0x1e')](_0x3cbca0,function(_0x1648d1){if(_0x1648d1[_0xe256('0x44')]===_0xe256('0x45')&&_0x1648d1[_0xe256('0x46')]&&!_0x1648d1[_0xe256('0x47')]){_0x237c13[_0x1648d1[_0xe256('0x46')][_0xe256('0x48')]()]=_0x1648d1[_0xe256('0x49')][_0xe256('0x26')]();}else if(_0x1648d1['type']===_0xe256('0x45')&&_0x1648d1['idField']&&_0x1648d1[_0xe256('0x47')]){_0x237c13['custom_fields'][_0xe256('0x20')]({'id':_0x1648d1[_0xe256('0x21')],'value':_0x1648d1[_0xe256('0x49')]['toString']()});}else if(_0x1648d1[_0xe256('0x44')]===_0xe256('0x4a')&&_0x1648d1['variableName']&&_0x1648d1[_0xe256('0x21')]&&_0x1648d1[_0xe256('0x47')]){_0x2f514c[_0x1648d1[_0xe256('0x1f')]]&&_0x237c13[_0xe256('0x4b')][_0xe256('0x20')]({'id':_0x1648d1['idField'],'value':_0x2f514c[_0x1648d1[_0xe256('0x1f')]][_0xe256('0x26')]()});}else if(_0x1648d1[_0xe256('0x44')]===_0xe256('0x4c')&&_0x1648d1[_0xe256('0x4d')]&&_0x1648d1[_0xe256('0x4d')]['name']&&_0x1648d1[_0xe256('0x21')]&&_0x1648d1[_0xe256('0x47')]){_0x2f514c[_0x1648d1[_0xe256('0x4d')]['name']['toLowerCase']()]&&_0x237c13[_0xe256('0x4b')][_0xe256('0x20')]({'id':_0x1648d1[_0xe256('0x21')],'value':_0x2f514c[_0x1648d1[_0xe256('0x4d')][_0xe256('0xe')][_0xe256('0x48')]()]['toString']()});}});}return _0x237c13;}function getConnection(_0x5632a0){return request({'method':'POST','form':{'method':_0xe256('0x4e'),'input_type':'JSON','response_type':_0xe256('0x23'),'rest_data':JSON[_0xe256('0x28')]({'user_auth':{'user_name':_0x5632a0['username'],'password':_0x5632a0[_0xe256('0x4f')],'encryption':_0xe256('0x50')},'application':_0xe256('0x51')})}})[_0xe256('0x2f')](function(_0x2bb165){var _0x1c63d7=_0x2bb165;if(_0x1c63d7['id']){def[_0xe256('0x52')]=_0x1c63d7['id'];return BPromise[_0xe256('0x35')](_0x1c63d7);}else{throw new Error(util[_0xe256('0x2c')]('Account\x20%d\x20is\x20not\x20valid',_0x5632a0['id']));}});}function setRelationship(_0x538124,_0x3f0be2,_0x1c282b,_0x5c9261){return request({'form':{'method':_0xe256('0x53'),'input_type':_0xe256('0x23'),'response_type':_0xe256('0x23'),'rest_data':JSON[_0xe256('0x28')]({'session':_0x538124['id'],'module_name':'Calls','module_id':_0x1c282b['id'],'link_field_name':_0x5c9261,'related_ids':[_0x3f0be2['id']],'name_value_list':[],'delete':0x0})}});}exports['queue']=function(_0x3a638f,_0x2966de,_0x438b56,_0x7e381d,_0x5e4233,_0x2daf77){var _0xc023c2,_0x2ad3c8,_0xa9bbd2,_0x30544a;_0x2daf77[_0xe256('0x54')]=intUtil[_0xe256('0x55')](_0x2daf77['remoteUri']);_0x2daf77['serverUrl']=intUtil[_0xe256('0x55')](_0x2daf77['serverUrl']);def[_0xe256('0x56')]=util[_0xe256('0x2c')]('%s/service/v4_1/rest.php',_0x2daf77['remoteUri']);if(_0x5e4233&&_0x5e4233[_0xe256('0x57')]){logger['info'](_0xe256('0x58'),_0xe256('0x59'));_0x2966de[_0xe256('0x5a')]=util[_0xe256('0x2c')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x2daf77['serverUrl'],_0x2966de[_0xe256('0x5b')],md5(_0x2966de[_0xe256('0x5b')]));}else{_0x2966de[_0xe256('0x5a')]='';}return getConnection(_0x2daf77)['then'](function(_0x4c817a){_0x30544a=_0x4c817a;return getUser(_0x2daf77,_0x7e381d[_0xe256('0xe')],_0x30544a);})[_0xe256('0x2f')](function(_0x2d6c5e){_0xc023c2=_0x2d6c5e;logger['info'](_0xe256('0x5c'),_0xc023c2['id']);return getEndUser(_0x2daf77,_0x2966de['calleridname'],_0x2966de[_0xe256('0x5d')],_0x30544a);})[_0xe256('0x2f')](function(_0x51bdfd){_0x2ad3c8=_0x51bdfd;logger[_0xe256('0x34')](_0xe256('0x5e'),_0x2ad3c8['id']);return getTicket(_0x2daf77,_0xc023c2,_0x2ad3c8,_0x438b56,_0x2966de,_0x438b56['Fields'],_0x30544a,_0xe256('0x5f'));})[_0xe256('0x2f')](function(_0x5a9703){_0xa9bbd2=_0x5a9703;logger[_0xe256('0x34')](_0xe256('0x60'));logger['info'](_0xe256('0x61'),_0xa9bbd2['id']);return setRelationship(_0x30544a,_0xc023c2,_0xa9bbd2,_0xe256('0x62'));})[_0xe256('0x2f')](function(){return setRelationship(_0x30544a,_0x2ad3c8,_0xa9bbd2,_0xe256('0x63'));})['then'](function(){return getServerInfo(_0x30544a);})[_0xe256('0x2f')](function(_0x2050df){var _0x37e674=parseInt(_0x2050df[_0xe256('0x64')][_0xe256('0x65')](0x0));var _0x4bd562=util[_0xe256('0x2c')](_0xe256('0x66'),_0x2daf77[_0xe256('0x54')],_0xa9bbd2['id']);if(_0x37e674>0x6){_0x4bd562=util[_0xe256('0x2c')](_0xe256('0x67'),_0x2daf77['remoteUri'],_0xa9bbd2['id']);}logger['info'](_0xe256('0x58'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xe256('0x2c')]('user:%s',_0x7e381d['name']),_0xe256('0x68'),{'uri':_0x4bd562});})[_0xe256('0x69')](function(_0x118104){logger[_0xe256('0x6a')](_0xe256('0x58'),JSON['stringify'](_0x118104));});};exports[_0xe256('0x6b')]=function(_0x7614c9,_0x97d2f1,_0x3a87ac,_0x4d50c8,_0x4f9f90,_0x2a33bc,_0x3669ab){var _0x144f12,_0x4f9392,_0xf0481c,_0x4e35b2;_0x2a33bc[_0xe256('0x54')]=intUtil[_0xe256('0x55')](_0x2a33bc[_0xe256('0x54')]);_0x2a33bc['serverUrl']=intUtil[_0xe256('0x55')](_0x2a33bc[_0xe256('0x6c')]);def[_0xe256('0x56')]=util[_0xe256('0x2c')](_0xe256('0x6d'),_0x2a33bc[_0xe256('0x54')]);if(_0x3669ab&&_0x3669ab['recordingFormat']&&_0x3669ab[_0xe256('0x6e')]!==_0xe256('0x6f')){logger[_0xe256('0x34')](_0xe256('0x70'),_0xe256('0x59'));_0x97d2f1[_0xe256('0x5a')]=util[_0xe256('0x2c')](_0xe256('0x71'),_0x2a33bc[_0xe256('0x6c')],_0x97d2f1[_0xe256('0x5b')],md5(_0x97d2f1[_0xe256('0x5b')]));}return getConnection(_0x2a33bc)[_0xe256('0x2f')](function(_0x2fb5a9){_0x4e35b2=_0x2fb5a9;return getUser(_0x2a33bc,_0x4d50c8[_0xe256('0xe')],_0x4e35b2);})['then'](function(_0x59595b){_0x144f12=_0x59595b;logger[_0xe256('0x34')](_0xe256('0x5c'),_0x144f12['id']);return getEndUser(_0x2a33bc,_0x97d2f1[_0xe256('0x72')],_0x97d2f1[_0xe256('0x73')],_0x4e35b2);})[_0xe256('0x2f')](function(_0x33d259){_0x4f9392=_0x33d259;logger[_0xe256('0x34')]('The\x20Enduser\x20ID\x20is:',_0x4f9392['id']);return getTicket(_0x2a33bc,_0x144f12,_0x4f9392,_0x3a87ac,_0x97d2f1,_0x3a87ac[_0xe256('0x74')],_0x4e35b2,_0xe256('0x75'));})[_0xe256('0x2f')](function(_0x3ed9ad){_0xf0481c=_0x3ed9ad;logger[_0xe256('0x34')](_0xe256('0x60'));logger[_0xe256('0x34')]('The\x20Ticket\x20ID\x20is:',_0xf0481c['id']);return setRelationship(_0x4e35b2,_0x144f12,_0xf0481c,_0xe256('0x62'));})[_0xe256('0x2f')](function(){return setRelationship(_0x4e35b2,_0x4f9392,_0xf0481c,_0xe256('0x63'));})['then'](function(){return getServerInfo(_0x4e35b2);})[_0xe256('0x2f')](function(_0x1dbe90){var _0x24d379=parseInt(_0x1dbe90[_0xe256('0x64')][_0xe256('0x65')](0x0));var _0x79fc85=util[_0xe256('0x2c')](_0xe256('0x66'),_0x2a33bc[_0xe256('0x54')],_0xf0481c['id']);if(_0x24d379>0x6){_0x79fc85=util[_0xe256('0x2c')](_0xe256('0x67'),_0x2a33bc[_0xe256('0x54')],_0xf0481c['id']);}logger[_0xe256('0x34')](_0xe256('0x70'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xe256('0x2c')](_0xe256('0x76'),_0x4d50c8['name']),_0xe256('0x68'),{'uri':_0x79fc85});})[_0xe256('0x69')](function(_0x292fde){logger[_0xe256('0x6a')](_0xe256('0x70'),JSON[_0xe256('0x28')](_0x292fde));});};exports['unmanaged']=function(_0x295da8,_0x235ae4,_0x27a734,_0x277db5,_0x404df5,_0x400910){var _0x18c103,_0x496657,_0x2222f2,_0x1ab8df;_0x400910['remoteUri']=intUtil['stripTrailingSlash'](_0x400910['remoteUri']);_0x400910[_0xe256('0x6c')]=intUtil[_0xe256('0x55')](_0x400910[_0xe256('0x6c')]);def['uri']=util[_0xe256('0x2c')](_0xe256('0x6d'),_0x400910['remoteUri']);if(_0x404df5&&_0x404df5[_0xe256('0x57')]){logger[_0xe256('0x34')]('['+_0x235ae4[_0xe256('0x77')][_0xe256('0x78')]()+']','Recording\x20is\x20enabled!');_0x235ae4[_0xe256('0x5a')]=util[_0xe256('0x2c')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x400910['serverUrl'],_0x235ae4[_0xe256('0x5b')],md5(_0x235ae4[_0xe256('0x5b')]));}else{_0x235ae4[_0xe256('0x5a')]='';}return getConnection(_0x400910)[_0xe256('0x2f')](function(_0x28040e){_0x1ab8df=_0x28040e;if(!_[_0xe256('0x29')](_0x277db5)){return getUser(_0x400910,_0x277db5['name'],_0x1ab8df);}else{return getUser(_0x400910,null,_0x1ab8df);}})['then'](function(_0x381b84){_0x18c103=_0x381b84;logger[_0xe256('0x34')]('The\x20User\x20ID\x20is:',_0x18c103['id']);return getEndUser(_0x400910,_0x235ae4['calleridname'],_0x235ae4[_0xe256('0x5d')],_0x1ab8df);})[_0xe256('0x2f')](function(_0xea316d){_0x496657=_0xea316d;logger[_0xe256('0x34')](_0xe256('0x5e'),_0x496657['id']);return getTicket(_0x400910,_0x18c103,_0x496657,_0x27a734,_0x235ae4,_0x27a734[_0xe256('0x74')],_0x1ab8df,_0xe256('0x5f'));})['then'](function(_0x1422d7){_0x2222f2=_0x1422d7;logger[_0xe256('0x34')]('Ticket\x20created!');logger[_0xe256('0x34')](_0xe256('0x61'),_0x2222f2['id']);return setRelationship(_0x1ab8df,_0x18c103,_0x2222f2,_0xe256('0x62'));})[_0xe256('0x2f')](function(){return setRelationship(_0x1ab8df,_0x496657,_0x2222f2,_0xe256('0x63'));})[_0xe256('0x2f')](function(){return getServerInfo(_0x1ab8df);})[_0xe256('0x69')](function(_0x357804){logger[_0xe256('0x6a')]('['+_0x235ae4[_0xe256('0x77')][_0xe256('0x78')]()+']',JSON[_0xe256('0x28')](_0x357804));});};
\ No newline at end of file
+var _0x617e=['serverUrl','stripTrailingSlash','uri','%s/service/v4_1/rest.php','monitor_format','Recording\x20is\x20enabled!','recordingURL','uniqueid','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','users','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]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','catch','error','outbound','recordingFormat','none','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','destcalleridname','destcalleridnum','Outbound','contacts','charAt','[OUTBOUND]','trigger:browser:url','unmanaged','isNil','Inbound','toUpperCase','lodash','request-promise','bluebird','util','ioredis','./util','../../../../config/environment','../../../../config/logger','sugarcrm','redis','defaults','localhost','socket.io-emitter','POST','info','Creating\x20new\x20ticket...','name','getString','Subjects','assigned_user_id','created_by','description','date_start','toISOString','slice','replace','duration_hours','duration_minutes','parent_id','parent_type','Contacts','parent_name','direction','length','variableName','idField','set_entry','JSON','stringify','Calls','format','base64','get_server_info','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','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','resolve','user_id','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','[HTTP]','merge','type','string','customField','nameField','toLowerCase','content','toString','custom_fields','push','variable','customVariable','Variable','login','username','password','PLAIN','xCALLY\x20Motion\x20integration','sessionID','Account\x20%d\x20is\x20not\x20valid','remoteUri'];(function(_0x195e28,_0x3d2300){var _0x40c73d=function(_0x46fe2b){while(--_0x46fe2b){_0x195e28['push'](_0x195e28['shift']());}};_0x40c73d(++_0x3d2300);}(_0x617e,0x121));var _0xe617=function(_0x5917f2,_0x47bdda){_0x5917f2=_0x5917f2-0x0;var _0x134f55=_0x617e[_0x5917f2];return _0x134f55;};'use strict';var _=require(_0xe617('0x0'));var rp=require(_0xe617('0x1'));var BPromise=require(_0xe617('0x2'));var md5=require('md5');var util=require(_0xe617('0x3'));var Redis=require(_0xe617('0x4'));var intUtil=require(_0xe617('0x5'));var config=require(_0xe617('0x6'));var logger=require(_0xe617('0x7'))(_0xe617('0x8'));config[_0xe617('0x9')]=_[_0xe617('0xa')](config['redis'],{'host':_0xe617('0xb'),'port':0x18eb});var io=require(_0xe617('0xc'))(new Redis(config['redis']));var def={'method':_0xe617('0xd'),'json':!![]};function emit(_0x58e901,_0x13a96e,_0x5e114e){io['to'](_0x58e901)['emit'](_0x13a96e,_0x5e114e);}function getTicket(_0x4b1e91,_0x54d9c8,_0x311a7b,_0x4d1f53,_0x5d65f2,_0x3f62ab,_0x440dc1,_0x1f51cc){logger[_0xe617('0xe')](_0xe617('0xf'));var _0x52d676=new Date();var _0x2f5c36=[{'name':_0xe617('0x10'),'value':intUtil[_0xe617('0x11')](_0x4d1f53[_0xe617('0x12')],_0x5d65f2,'\x20')},{'name':_0xe617('0x13'),'value':_0x54d9c8['id']},{'name':_0xe617('0x14'),'value':_0x54d9c8['id']},{'name':_0xe617('0x15'),'value':intUtil[_0xe617('0x11')](_0x4d1f53['Descriptions'],_0x5d65f2,'\x0a')},{'name':_0xe617('0x16'),'value':_0x52d676[_0xe617('0x17')]()[_0xe617('0x18')](0x0,0x13)[_0xe617('0x19')]('T','\x20')},{'name':_0xe617('0x1a'),'value':'0'},{'name':_0xe617('0x1b'),'value':'15'},{'name':_0xe617('0x1c'),'value':_0x311a7b['id']},{'name':_0xe617('0x1d'),'value':_0xe617('0x1e')},{'name':_0xe617('0x1f'),'value':_0x311a7b[_0xe617('0x10')]},{'name':_0xe617('0x20'),'value':_0x1f51cc}];if(_0x3f62ab[_0xe617('0x21')]){_['forEach'](_0x3f62ab,function(_0x312302){if(_0x5d65f2[_0x312302[_0xe617('0x22')]]){_0x2f5c36['push']({'name':_0x312302[_0xe617('0x23')],'value':_0x5d65f2[_0x312302[_0xe617('0x22')]]});}});}return request({'form':{'method':_0xe617('0x24'),'input_type':_0xe617('0x25'),'response_type':'JSON','rest_data':JSON[_0xe617('0x26')]({'session':_0x440dc1['id'],'module_name':_0xe617('0x27'),'name_value_list':_0x2f5c36})}});}function getAuth(_0xbdacf9){return util[_0xe617('0x28')]('Basic\x20%s',new Buffer(_0xbdacf9['apiKey']+':X')['toString'](_0xe617('0x29')));}function getServerInfo(_0x5f443b){return request({'form':{'method':_0xe617('0x2a'),'input_type':_0xe617('0x25'),'response_type':_0xe617('0x25'),'rest_data':JSON[_0xe617('0x26')]({'session':_0x5f443b['id']})}});}function getUser(_0x25ecbb,_0x3aa9d3,_0x48ad1d){if(!_['isNil'](_0x3aa9d3)){logger[_0xe617('0xe')]('Getting\x20agent\x20with\x20name',_0x3aa9d3);return request({'form':{'method':_0xe617('0x2b'),'input_type':_0xe617('0x25'),'response_type':_0xe617('0x25'),'rest_data':JSON[_0xe617('0x26')]({'session':_0x48ad1d['id'],'module_name':_0xe617('0x2c'),'query':util[_0xe617('0x28')](_0xe617('0x2d'),_0x3aa9d3),'order_by':'','offset':'0','select_fields':['id',_0xe617('0x10'),_0xe617('0x2e')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xe617('0x2f')](function(_0x56187){if(_0x56187[_0xe617('0x30')][_0xe617('0x21')]){var _0xe74f5b=_[_0xe617('0x31')](_0x56187['entry_list'],function(_0x43bb09){return _0x43bb09[_0xe617('0x32')][_0xe617('0x2e')][_0xe617('0x33')]===_0x3aa9d3;});if(_0xe74f5b){logger['info']('Agent\x20found!');return BPromise['resolve']({'id':_0xe74f5b[_0xe617('0x32')]['id'][_0xe617('0x33')],'name':_0xe74f5b['name_value_list']['name'][_0xe617('0x33')]});}}logger['info'](_0xe617('0x34'));return BPromise[_0xe617('0x35')]({'id':_0x48ad1d[_0xe617('0x32')][_0xe617('0x36')][_0xe617('0x33')],'name':_0x48ad1d[_0xe617('0x32')]['user_name'][_0xe617('0x33')]});});}else{logger[_0xe617('0xe')]('Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!');return BPromise[_0xe617('0x35')]({'id':_0x48ad1d[_0xe617('0x32')][_0xe617('0x36')][_0xe617('0x33')],'name':_0x48ad1d['name_value_list'][_0xe617('0x2e')][_0xe617('0x33')]});}}function getEndUser(_0x26f831,_0xd2d007,_0x3437eb,_0x3fbe7f){logger[_0xe617('0xe')]('Searching\x20enduser\x20with\x20phone',_0x3437eb);return request({'form':{'method':_0xe617('0x2b'),'input_type':_0xe617('0x25'),'response_type':_0xe617('0x25'),'rest_data':JSON['stringify']({'session':_0x3fbe7f['id'],'module_name':_0xe617('0x1e'),'query':util[_0xe617('0x28')](_0xe617('0x37'),_0x3437eb),'order_by':'','offset':'0','select_fields':['id',_0xe617('0x10'),_0xe617('0x38')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})['then'](function(_0x17f1c7){if(_0x17f1c7['entry_list'][_0xe617('0x21')]){var _0x2a414e=_[_0xe617('0x31')](_0x17f1c7['entry_list'],function(_0x5a2f81){return _0x5a2f81[_0xe617('0x32')][_0xe617('0x38')][_0xe617('0x33')]===_0x3437eb;});if(_0x2a414e){logger[_0xe617('0xe')](_0xe617('0x39'));return BPromise[_0xe617('0x35')]({'id':_0x2a414e[_0xe617('0x32')]['id'][_0xe617('0x33')],'name':_0x2a414e['name_value_list'][_0xe617('0x10')][_0xe617('0x33')],'phone':_0x2a414e['name_value_list']['phone_home'][_0xe617('0x33')]});}}else{logger[_0xe617('0xe')](_0xe617('0x3a'));return request({'form':{'method':_0xe617('0x24'),'input_type':_0xe617('0x25'),'response_type':_0xe617('0x25'),'rest_data':JSON['stringify']({'session':_0x3fbe7f['id'],'module_name':'Contacts','name_value_list':[{'name':_0xe617('0x3b'),'value':_0xd2d007!==_0xe617('0x3c')?_0xd2d007:util[_0xe617('0x28')](_0xe617('0x3d'),_0x3437eb)},{'name':_0xe617('0x38'),'value':_0x3437eb}]})}})[_0xe617('0x2f')](function(_0x4f16a9){logger[_0xe617('0xe')](_0xe617('0x3e'));return BPromise[_0xe617('0x35')]({'id':_0x4f16a9['id'],'name':_0x4f16a9[_0xe617('0x30')][_0xe617('0x3b')][_0xe617('0x33')],'phone':_0x4f16a9['entry_list'][_0xe617('0x38')][_0xe617('0x33')]});});}});}function request(_0x2c3e56){logger[_0xe617('0x3f')](_0xe617('0x40'),JSON[_0xe617('0x26')](_0x2c3e56));return rp(_[_0xe617('0x41')](def,_0x2c3e56));}function getTags(_0x2476f6,_0xb10751){var _0x3955c1=[];if(_0x2476f6&&_0x2476f6['length']>0x0){_0x3955c1=_['map'](_0x2476f6,_0xb10751);}return _0x3955c1;}function getCustomFields(_0x297cf5,_0x4e811b){var _0x2bc406=[];var _0x227ce7={'custom_fields':[]};if(_0x297cf5[_0xe617('0x21')]>0x0){_['forEach'](_0x297cf5,function(_0x2210c3){if(_0x2210c3[_0xe617('0x42')]===_0xe617('0x43')&&_0x2210c3['nameField']&&!_0x2210c3[_0xe617('0x44')]){_0x227ce7[_0x2210c3[_0xe617('0x45')][_0xe617('0x46')]()]=_0x2210c3[_0xe617('0x47')][_0xe617('0x48')]();}else if(_0x2210c3[_0xe617('0x42')]===_0xe617('0x43')&&_0x2210c3['idField']&&_0x2210c3[_0xe617('0x44')]){_0x227ce7[_0xe617('0x49')][_0xe617('0x4a')]({'id':_0x2210c3[_0xe617('0x23')],'value':_0x2210c3[_0xe617('0x47')][_0xe617('0x48')]()});}else if(_0x2210c3[_0xe617('0x42')]===_0xe617('0x4b')&&_0x2210c3['variableName']&&_0x2210c3[_0xe617('0x23')]&&_0x2210c3[_0xe617('0x44')]){_0x4e811b[_0x2210c3[_0xe617('0x22')]]&&_0x227ce7[_0xe617('0x49')]['push']({'id':_0x2210c3['idField'],'value':_0x4e811b[_0x2210c3['variableName']]['toString']()});}else if(_0x2210c3[_0xe617('0x42')]===_0xe617('0x4c')&&_0x2210c3[_0xe617('0x4d')]&&_0x2210c3['Variable']['name']&&_0x2210c3[_0xe617('0x23')]&&_0x2210c3['customField']){_0x4e811b[_0x2210c3[_0xe617('0x4d')][_0xe617('0x10')]['toLowerCase']()]&&_0x227ce7[_0xe617('0x49')]['push']({'id':_0x2210c3[_0xe617('0x23')],'value':_0x4e811b[_0x2210c3[_0xe617('0x4d')][_0xe617('0x10')]['toLowerCase']()][_0xe617('0x48')]()});}});}return _0x227ce7;}function getConnection(_0x439b99){return request({'method':_0xe617('0xd'),'form':{'method':_0xe617('0x4e'),'input_type':_0xe617('0x25'),'response_type':'JSON','rest_data':JSON[_0xe617('0x26')]({'user_auth':{'user_name':_0x439b99[_0xe617('0x4f')],'password':_0x439b99[_0xe617('0x50')],'encryption':_0xe617('0x51')},'application':_0xe617('0x52')})}})[_0xe617('0x2f')](function(_0x421853){var _0x20e887=_0x421853;if(_0x20e887['id']){def[_0xe617('0x53')]=_0x20e887['id'];return BPromise[_0xe617('0x35')](_0x20e887);}else{throw new Error(util[_0xe617('0x28')](_0xe617('0x54'),_0x439b99['id']));}});}function setRelationship(_0x2132b5,_0x26af80,_0x150661,_0xb86bb4){return request({'form':{'method':'set_relationship','input_type':'JSON','response_type':_0xe617('0x25'),'rest_data':JSON['stringify']({'session':_0x2132b5['id'],'module_name':_0xe617('0x27'),'module_id':_0x150661['id'],'link_field_name':_0xb86bb4,'related_ids':[_0x26af80['id']],'name_value_list':[],'delete':0x0})}});}exports['queue']=function(_0x3ee80b,_0x53f68a,_0x2565dc,_0x52ce03,_0x352b26,_0x18b324){var _0x42a0e3,_0x2ea259,_0x123e89,_0x51e57d;_0x18b324[_0xe617('0x55')]=intUtil['stripTrailingSlash'](_0x18b324[_0xe617('0x55')]);_0x18b324[_0xe617('0x56')]=intUtil[_0xe617('0x57')](_0x18b324['serverUrl']);def[_0xe617('0x58')]=util[_0xe617('0x28')](_0xe617('0x59'),_0x18b324[_0xe617('0x55')]);if(_0x352b26&&_0x352b26[_0xe617('0x5a')]){logger['info']('[QUEUE]',_0xe617('0x5b'));_0x53f68a[_0xe617('0x5c')]=util[_0xe617('0x28')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x18b324[_0xe617('0x56')],_0x53f68a[_0xe617('0x5d')],md5(_0x53f68a[_0xe617('0x5d')]));}else{_0x53f68a[_0xe617('0x5c')]='';}return getConnection(_0x18b324)[_0xe617('0x2f')](function(_0x57d283){_0x51e57d=_0x57d283;return getUser(_0x18b324,_0x52ce03[_0xe617('0x10')],_0x51e57d);})['then'](function(_0x3add14){_0x42a0e3=_0x3add14;logger['info'](_0xe617('0x5e'),_0x42a0e3['id']);return getEndUser(_0x18b324,_0x53f68a[_0xe617('0x5f')],_0x53f68a[_0xe617('0x60')],_0x51e57d);})[_0xe617('0x2f')](function(_0x3d7432){_0x2ea259=_0x3d7432;logger[_0xe617('0xe')](_0xe617('0x61'),_0x2ea259['id']);return getTicket(_0x18b324,_0x42a0e3,_0x2ea259,_0x2565dc,_0x53f68a,_0x2565dc[_0xe617('0x62')],_0x51e57d,'Inbound');})[_0xe617('0x2f')](function(_0x1c0356){_0x123e89=_0x1c0356;logger['info'](_0xe617('0x63'));logger['info'](_0xe617('0x64'),_0x123e89['id']);return setRelationship(_0x51e57d,_0x42a0e3,_0x123e89,_0xe617('0x65'));})[_0xe617('0x2f')](function(){return setRelationship(_0x51e57d,_0x2ea259,_0x123e89,'contacts');})[_0xe617('0x2f')](function(){return getServerInfo(_0x51e57d);})[_0xe617('0x2f')](function(_0x17f282){var _0x5ddeae=parseInt(_0x17f282[_0xe617('0x66')]['charAt'](0x0));var _0x4b5f74=util['format'](_0xe617('0x67'),_0x18b324[_0xe617('0x55')],_0x123e89['id']);if(_0x5ddeae>0x6){_0x4b5f74=util[_0xe617('0x28')](_0xe617('0x68'),_0x18b324[_0xe617('0x55')],_0x123e89['id']);}logger[_0xe617('0xe')](_0xe617('0x69'),_0xe617('0x6a'));emit(util[_0xe617('0x28')](_0xe617('0x6b'),_0x52ce03[_0xe617('0x10')]),'trigger:browser:url',{'uri':_0x4b5f74});})[_0xe617('0x6c')](function(_0x4e6874){logger[_0xe617('0x6d')]('[QUEUE]',JSON[_0xe617('0x26')](_0x4e6874));});};exports[_0xe617('0x6e')]=function(_0x57f64e,_0xbd4380,_0x13e3db,_0x213293,_0x51c395,_0x5a9057,_0x5ee0e0){var _0x57d2ef,_0x1aa8e2,_0x45e442,_0x5a02cf;_0x5a9057[_0xe617('0x55')]=intUtil[_0xe617('0x57')](_0x5a9057['remoteUri']);_0x5a9057[_0xe617('0x56')]=intUtil['stripTrailingSlash'](_0x5a9057[_0xe617('0x56')]);def['uri']=util[_0xe617('0x28')](_0xe617('0x59'),_0x5a9057[_0xe617('0x55')]);if(_0x5ee0e0&&_0x5ee0e0['recordingFormat']&&_0x5ee0e0[_0xe617('0x6f')]!==_0xe617('0x70')){logger[_0xe617('0xe')]('[OUTBOUND]',_0xe617('0x5b'));_0xbd4380['recordingURL']=util[_0xe617('0x28')](_0xe617('0x71'),_0x5a9057[_0xe617('0x56')],_0xbd4380[_0xe617('0x5d')],md5(_0xbd4380[_0xe617('0x5d')]));}return getConnection(_0x5a9057)['then'](function(_0x3b52e7){_0x5a02cf=_0x3b52e7;return getUser(_0x5a9057,_0x213293[_0xe617('0x10')],_0x5a02cf);})[_0xe617('0x2f')](function(_0x2dc08f){_0x57d2ef=_0x2dc08f;logger['info'](_0xe617('0x5e'),_0x57d2ef['id']);return getEndUser(_0x5a9057,_0xbd4380[_0xe617('0x72')],_0xbd4380[_0xe617('0x73')],_0x5a02cf);})[_0xe617('0x2f')](function(_0x3da4b6){_0x1aa8e2=_0x3da4b6;logger[_0xe617('0xe')]('The\x20Enduser\x20ID\x20is:',_0x1aa8e2['id']);return getTicket(_0x5a9057,_0x57d2ef,_0x1aa8e2,_0x13e3db,_0xbd4380,_0x13e3db['Fields'],_0x5a02cf,_0xe617('0x74'));})['then'](function(_0x33133b){_0x45e442=_0x33133b;logger['info'](_0xe617('0x63'));logger[_0xe617('0xe')](_0xe617('0x64'),_0x45e442['id']);return setRelationship(_0x5a02cf,_0x57d2ef,_0x45e442,'users');})[_0xe617('0x2f')](function(){return setRelationship(_0x5a02cf,_0x1aa8e2,_0x45e442,_0xe617('0x75'));})[_0xe617('0x2f')](function(){return getServerInfo(_0x5a02cf);})[_0xe617('0x2f')](function(_0x11c467){var _0xddbe5a=parseInt(_0x11c467[_0xe617('0x66')][_0xe617('0x76')](0x0));var _0x54cd3f=util['format']('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x5a9057[_0xe617('0x55')],_0x45e442['id']);if(_0xddbe5a>0x6){_0x54cd3f=util['format'](_0xe617('0x68'),_0x5a9057[_0xe617('0x55')],_0x45e442['id']);}logger[_0xe617('0xe')](_0xe617('0x77'),_0xe617('0x6a'));emit(util[_0xe617('0x28')]('user:%s',_0x213293[_0xe617('0x10')]),_0xe617('0x78'),{'uri':_0x54cd3f});})['catch'](function(_0x4bf562){logger['error'](_0xe617('0x77'),JSON[_0xe617('0x26')](_0x4bf562));});};exports[_0xe617('0x79')]=function(_0x26f784,_0x2117fc,_0x62d26f,_0x348904,_0x1ed230,_0x58a2e6){var _0x531156,_0x1a5fe3,_0x465ca6,_0x3d40e6;_0x58a2e6[_0xe617('0x55')]=intUtil['stripTrailingSlash'](_0x58a2e6['remoteUri']);_0x58a2e6[_0xe617('0x56')]=intUtil[_0xe617('0x57')](_0x58a2e6[_0xe617('0x56')]);def['uri']=util[_0xe617('0x28')]('%s/service/v4_1/rest.php',_0x58a2e6[_0xe617('0x55')]);if(_0x1ed230&&_0x1ed230[_0xe617('0x5a')]){logger[_0xe617('0xe')]('['+_0x2117fc['lastevent']['toUpperCase']()+']',_0xe617('0x5b'));_0x2117fc[_0xe617('0x5c')]=util[_0xe617('0x28')](_0xe617('0x71'),_0x58a2e6[_0xe617('0x56')],_0x2117fc[_0xe617('0x5d')],md5(_0x2117fc['uniqueid']));}else{_0x2117fc[_0xe617('0x5c')]='';}return getConnection(_0x58a2e6)['then'](function(_0x3748b9){_0x3d40e6=_0x3748b9;if(!_[_0xe617('0x7a')](_0x348904)){return getUser(_0x58a2e6,_0x348904[_0xe617('0x10')],_0x3d40e6);}else{return getUser(_0x58a2e6,null,_0x3d40e6);}})['then'](function(_0x50439f){_0x531156=_0x50439f;logger[_0xe617('0xe')]('The\x20User\x20ID\x20is:',_0x531156['id']);return getEndUser(_0x58a2e6,_0x2117fc['calleridname'],_0x2117fc[_0xe617('0x60')],_0x3d40e6);})[_0xe617('0x2f')](function(_0x55fd50){_0x1a5fe3=_0x55fd50;logger['info'](_0xe617('0x61'),_0x1a5fe3['id']);return getTicket(_0x58a2e6,_0x531156,_0x1a5fe3,_0x62d26f,_0x2117fc,_0x62d26f[_0xe617('0x62')],_0x3d40e6,_0xe617('0x7b'));})[_0xe617('0x2f')](function(_0x567156){_0x465ca6=_0x567156;logger[_0xe617('0xe')](_0xe617('0x63'));logger[_0xe617('0xe')](_0xe617('0x64'),_0x465ca6['id']);return setRelationship(_0x3d40e6,_0x531156,_0x465ca6,_0xe617('0x65'));})[_0xe617('0x2f')](function(){return setRelationship(_0x3d40e6,_0x1a5fe3,_0x465ca6,_0xe617('0x75'));})['then'](function(){return getServerInfo(_0x3d40e6);})[_0xe617('0x6c')](function(_0x2b7cc9){logger[_0xe617('0x6d')]('['+_0x2117fc['lastevent'][_0xe617('0x7c')]()+']',JSON[_0xe617('0x26')](_0x2b7cc9));});};
\ No newline at end of file