0f9bc38b340447aa7f870b2ec4bcc804f0b3b38a
[motion2.git] / server / services / ami / preview / util / util.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xaa18=['moment','../../../../config/logger','env','XCALLY_IP_AGI','milliseconds','diff','seconds','loggerCatch','error','inspect','logger','info','logger2','message','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','dialer','dialOriginateTimeout','dialQueueProject2','U(xcally-mixmonitor-context)','dialQueueProject','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','createdAt','updatedAt','XMD-','toUpper','toLowerVariables','toLower','updateOriginated','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','endtime','responsetime','ringtime','logLookAgent','membername','logCustomer','answertime','isFailure','Failure','variablesAction','RECALL','BOOKED','uniqueid','originate','from-sip','timeout','totalGlobal','countnoanswerretry','countagentrejectretry','cloneAction','Global','active','add','ContactId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','interface','channelAgent','mandatoryDisposition','buildAcw','agentReadyId','reachable','push','getDiff','ListId','CampaignId','filterKey','idContact','queue','type','campaigntype','countcongestionretry','callback','callbackuniqueid','callbackat','recallme','UserId','sipcallid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosloss','bridgepeer','bridgepvtcallid','getCallerIdRandom','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','lodash'];(function(_0x1bc445,_0x2d6fe0){var _0x589e6b=function(_0xcdd664){while(--_0xcdd664){_0x1bc445['push'](_0x1bc445['shift']());}};_0x589e6b(++_0x2d6fe0);}(_0xaa18,0x19f));var _0x8aa1=function(_0x2a3f63,_0x31853f){_0x2a3f63=_0x2a3f63-0x0;var _0x4c686c=_0xaa18[_0x2a3f63];return _0x4c686c;};'use strict';var util=require(_0x8aa1('0x0'));var _=require(_0x8aa1('0x1'));var moment=require(_0x8aa1('0x2'));var logger=require(_0x8aa1('0x3'))('preview');var ipAgi=process[_0x8aa1('0x4')][_0x8aa1('0x5')]||'127.0.0.1';function getSeconds(_0x4d0f7e,_0x3aab50){var _0x4755f9=moment(_0x4d0f7e)[_0x8aa1('0x6')](0x0);var _0x572cd2=moment(_0x3aab50)[_0x8aa1('0x6')](0x0);return _0x4755f9[_0x8aa1('0x7')](_0x572cd2,_0x8aa1('0x8'));}exports[_0x8aa1('0x9')]=function(_0x564f7d){return function(_0x49b8d6){logger[_0x8aa1('0xa')](_0x564f7d,util[_0x8aa1('0xb')](_0x49b8d6,{'showHidden':![],'depth':null}));};};exports[_0x8aa1('0xc')]=function(_0x183858,_0x59577b){logger[_0x8aa1('0xd')](_0x183858,util[_0x8aa1('0xb')](_0x59577b,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x41447c,_0x336bb7){logger[_0x8aa1('0xa')](_0x41447c,util[_0x8aa1('0xb')](_0x336bb7,{'showHidden':![],'depth':null}));};exports[_0x8aa1('0xe')]=function(_0xf3855e){return function(_0x5da4f1){logger[_0x8aa1('0xd')](_0xf3855e,util['inspect'](_0x5da4f1,{'showHidden':![],'depth':null}));};};exports[_0x8aa1('0xf')]=function(_0x3705bc,_0x260ba1,_0x5613ce){return{'message':_0x3705bc,'unlock':_0x260ba1,'active':_0x5613ce};};exports['getCallerId']=function(_0x41971e,_0x43331b,_0x335845){if(!_[_0x8aa1('0x10')](_0x335845)&&_0x8aa1('0x11')===typeof _0x335845&&!_[_0x8aa1('0x12')](_0x335845)){if(!_[_0x8aa1('0x10')](_0x43331b)&&_0x8aa1('0x11')===typeof _0x43331b&&!_['isEmpty'](_0x43331b)){return util[_0x8aa1('0x13')](_0x8aa1('0x14'),_0x43331b,_0x335845);}return util['format']('\x22%s\x22\x20<%s>',_0x335845,_0x335845);}if(!_['isUndefined'](_0x41971e)&&_0x8aa1('0x11')===typeof _0x41971e&&!_[_0x8aa1('0x12')](_0x41971e)){return _0x41971e;}return _0x8aa1('0x15');};exports[_0x8aa1('0x16')]=function(_0x55ee38){if(_[_0x8aa1('0x17')](_0x55ee38)){return![];}return _0x55ee38;};exports[_0x8aa1('0x18')]=function(_0x32e706,_0xc3acce,_0x450f0a,_0x11a44d,_0x2c5a43,_0x3cef51){var _0x37f97b={'XMD-QUEUE':_0xc3acce[_0x8aa1('0x19')]?_0xc3acce[_0x8aa1('0x19')][_0x8aa1('0x1a')]:'','XMD-CALLERID':_0x11a44d,'XMD-CALLERID-PREVIEW':_0x3cef51?util[_0x8aa1('0x13')](_0x8aa1('0x14'),_0x3cef51[_0x8aa1('0x1b')],_0x3cef51[_0x8aa1('0x1c')]):_0x11a44d,'XMD-DIALID':_0x2c5a43,'XMD-CONTACTID':_0xc3acce['ContactId'],'XMD-CDRTYPE':_0x8aa1('0x1d'),'CALLERID(all)':_0x11a44d,'XMD-VOICEQUEUEID':_0xc3acce['VoiceQueueId'],'XMD-DIALCHANNEL':_0x450f0a,'XMD-DIALTIMEOUT':_0x32e706[_0x8aa1('0x1e')]||0x1e,'XMD-DIALOPTIONS':util['format']('\x22rtTxX%s%s\x22',_0x32e706[_0x8aa1('0x1f')]?'g':'',_[_0x8aa1('0x12')](_0x32e706['monitor_format'])?'':_0x8aa1('0x20')),'XMD-DIALURL':_0x32e706['dialPreviewUrl']||'','XMD-AGI':_0x32e706[_0x8aa1('0x21')]?util['format'](_0x8aa1('0x22'),ipAgi,_0x32e706[_0x8aa1('0x21')]):'NONE','XMD-AGIAFTER':_0x32e706['dialQueueProject2']?util[_0x8aa1('0x13')](_0x8aa1('0x22'),ipAgi,_0x32e706[_0x8aa1('0x1f')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x3cef51?_0x3cef51[_0x8aa1('0x23')]:'','XMD-ORIGINATECALLERIDNAME':_0x3cef51?_0x3cef51[_0x8aa1('0x24')]:'','XMD-DESTINATION':_0x8aa1('0x25')};if(!_['isEmpty'](_0x32e706[_0x8aa1('0x26')])){_0x37f97b[util[_0x8aa1('0x13')]('%s',_0x8aa1('0x27'))]=_0x32e706[_0x8aa1('0x26')];_0x37f97b[util[_0x8aa1('0x13')]('%s',_0x8aa1('0x28'))]=_0x2c5a43;}if(_0xc3acce&&_0xc3acce['Contact']){for(var _0x2a522d in _0xc3acce[_0x8aa1('0x29')]){if(_0xc3acce[_0x8aa1('0x29')][_0x8aa1('0x2a')](_0x2a522d)){if(!_[_0x8aa1('0x17')](_0xc3acce[_0x8aa1('0x29')][_0x2a522d])&&_0x2a522d!=='id'&&_0x2a522d!=='tags'&&_0x2a522d!==_0x8aa1('0x2b')&&_0x2a522d!==_0x8aa1('0x2c')){_0x37f97b[util[_0x8aa1('0x13')]('%s%s',_0x8aa1('0x2d'),_[_0x8aa1('0x2e')](_0x2a522d))]=_0xc3acce['Contact'][_0x2a522d];}}}}return _0x37f97b;};exports[_0x8aa1('0x2f')]=function(_0x23106c){var _0x842a71={};for(var _0x198324 in _0x23106c){if(_0x23106c[_0x8aa1('0x2a')](_0x198324)){_0x842a71[util['format']('%s',_[_0x8aa1('0x30')](_0x198324))]=_0x23106c[_0x198324];}}return{'variables':_0x842a71};};exports[_0x8aa1('0x31')]=function(_0x160f39,_0xcb2b8f){if(!_[_0x8aa1('0x17')](_0x160f39)){if(_0x160f39[_0x8aa1('0x2a')](_0x8aa1('0x32'))){if(_0x160f39[_0x8aa1('0x32')]>0x0){_0x160f39['originated']-=0x1;}else{logger[_0x8aa1('0xa')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0xcb2b8f);}}}else{logger['error'](_0x8aa1('0x33'),_0xcb2b8f);}};exports[_0x8aa1('0x34')]=function(_0x2b4579){var _0x2dc951=moment()[_0x8aa1('0x13')](_0x8aa1('0x35'));_0x2b4579[_0x8aa1('0x36')]=0xd;_0x2b4579[_0x8aa1('0x37')]=_0x8aa1('0x38');_0x2b4579[_0x8aa1('0x39')]=_0x2dc951;_0x2b4579['responsetime']=_0x2dc951;_0x2b4579[_0x8aa1('0x3a')]=_0x2dc951;};exports['logAgent']=function(_0x240655,_0x5857b7,_0x156f08){var _0x1ee67c=moment()[_0x8aa1('0x13')](_0x8aa1('0x35'));_0x240655[_0x8aa1('0x36')]=_0x5857b7;_0x240655[_0x8aa1('0x37')]=_0x156f08;_0x240655[_0x8aa1('0x3b')]=_0x1ee67c;_0x240655[_0x8aa1('0x3c')]=getSeconds(_0x240655[_0x8aa1('0x3b')],_0x240655[_0x8aa1('0x39')]);};exports[_0x8aa1('0x3d')]=function(_0x550fee,_0x3a2fde,_0x5f5ca0){_0x550fee[_0x8aa1('0x3e')]=_0x3a2fde;_0x550fee['UserId']=_0x5f5ca0;};exports[_0x8aa1('0x3f')]=function(_0x12931d,_0x2d3730,_0x38df32){var _0x235e56=moment()[_0x8aa1('0x13')]('YYYY-MM-DD\x20HH:mm:ss');_0x12931d[_0x8aa1('0x36')]=_0x2d3730;_0x12931d[_0x8aa1('0x37')]=_0x38df32;_0x12931d[_0x8aa1('0x3b')]=_0x12931d['responsetime']?_0x12931d[_0x8aa1('0x3b')]:_0x235e56;_0x12931d[_0x8aa1('0x3a')]=_0x12931d['endtime']?_0x12931d[_0x8aa1('0x3a')]:_0x235e56;_0x12931d[_0x8aa1('0x3c')]=getSeconds(_0x12931d[_0x8aa1('0x3b')]||0x0,_0x12931d[_0x8aa1('0x39')]||0x0);_0x12931d['talktime']=_0x12931d['answertime']?getSeconds(_0x12931d[_0x8aa1('0x3a')],_0x12931d[_0x8aa1('0x40')]):0x0;};exports[_0x8aa1('0x41')]=function(_0x4c2e10){return _0x4c2e10===_0x8aa1('0x42');};exports[_0x8aa1('0x43')]=function(_0xedd17e,_0x598cfd,_0xf92247,_0x93076c,_0x4321c8){var _0x46fe29=_0x93076c?_0x8aa1('0x44'):_0xedd17e[_0x8aa1('0x1b')];_0x46fe29=_0x4321c8?_0x8aa1('0x45'):_0x46fe29;return{'actionid':_0xedd17e[_0x8aa1('0x46')],'action':_0x8aa1('0x47'),'channel':_0xedd17e['channelAgent'],'callerid':util['format'](_0x8aa1('0x14'),_0x46fe29,_0xedd17e[_0x8aa1('0x1c')]),'Exten':_0x8aa1('0x25'),'Context':_0x8aa1('0x48'),'Priority':'1','variable':_0xf92247,'timeout':(_0x598cfd[_0x8aa1('0x49')]||0x1e)*0x3e8,'async':!![],'channelid':_0xedd17e['uniqueid']};};exports[_0x8aa1('0x4a')]=function(_0x3a485c){return _0x3a485c['countbusyretry']+_0x3a485c['countcongestionretry']+_0x3a485c[_0x8aa1('0x4b')]+_0x3a485c[_0x8aa1('0x4c')]+_0x3a485c['countnosuchnumberretry'];};exports[_0x8aa1('0x4d')]=function(_0x10f016){var _0x44e3b8=_['clone'](_0x10f016);_0x44e3b8[_0x8aa1('0x36')]=0xf;_0x44e3b8[_0x8aa1('0x37')]=_0x8aa1('0x4e');return _0x44e3b8;};exports['scheduledAt']=function(_0x9f1bba,_0x10b85a,_0xda2630){var _0x989621={};_0x989621[_0x10b85a]=_0x9f1bba[_0x10b85a];_0x989621[_0x8aa1('0x4f')]=![];_0x989621['scheduledat']=moment()[_0x8aa1('0x50')](_0xda2630,'minutes')[_0x8aa1('0x13')](_0x8aa1('0x35'));_0x989621[_0x8aa1('0x51')]=_0x9f1bba[_0x8aa1('0x51')];_0x989621['ListId']=_0x9f1bba['ListId'];_0x989621[_0x8aa1('0x52')]=_0x9f1bba[_0x8aa1('0x52')]||undefined;return _0x989621;};exports[_0x8aa1('0x53')]=function(_0x21656f,_0x4dbd9f){if(!_[_0x8aa1('0x17')](_0x21656f)){if(_0x21656f[_0x8aa1('0x54')]>0x0){_0x21656f['pTalking']-=0x1;}else{logger[_0x8aa1('0xa')](_0x4dbd9f,_0x8aa1('0x55'));}}else{logger[_0x8aa1('0xa')](_0x4dbd9f,_0x8aa1('0x56'));}};exports[_0x8aa1('0x57')]=function(_0x206205){if(_0x206205<=0x0){return!![];}return![];};exports[_0x8aa1('0x58')]=function(_0x2402e8,_0x11e1cd,_0xfc556e){_0x2402e8[_0x8aa1('0x59')]=_0x11e1cd;_0x2402e8[_0x8aa1('0x1a')]=_0x2402e8['queue'];_0x2402e8[_0x8aa1('0x5a')]=_0x2402e8[_0x8aa1('0x5b')];if(_0xfc556e){_0x2402e8['mandatoryDisposition']=_0xfc556e[_0x8aa1('0x5c')];}return _0x2402e8;};exports[_0x8aa1('0x5d')]=function(_0x3faf7b){var _0x1c764a={};_0x1c764a['queue']=_0x3faf7b['queue'];_0x1c764a[_0x8aa1('0x5a')]=_0x3faf7b[_0x8aa1('0x5b')];_0x1c764a[_0x8aa1('0x46')]=_0x3faf7b['uniqueid'];return _0x1c764a;};exports[_0x8aa1('0x5e')]=function(_0x432863){var _0x341257=[];for(var _0x3c918d in _0x432863){if(_0x432863['hasOwnProperty'](_0x3c918d)){if(!_[_0x8aa1('0x17')](_0x432863[_0x3c918d])&&_0x432863[_0x3c918d][_0x8aa1('0x36')]==='not_inuse'&&_0x432863[_0x3c918d]['status']===_0x8aa1('0x5f')){_0x341257[_0x8aa1('0x60')](_0x432863[_0x3c918d]['id']);}}}return _0x341257;};exports[_0x8aa1('0x61')]=function(_0x3720d8){var _0x16964d=moment()[_0x8aa1('0x6')](0x0);var _0x8838c8=moment(_0x3720d8)[_0x8aa1('0x6')](0x0);return _0x16964d[_0x8aa1('0x7')](_0x8838c8,_0x8aa1('0x8'));};exports['createBody']=function(_0x394482){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x394482[_0x8aa1('0x51')],'ListId':_0x394482[_0x8aa1('0x62')],'VoiceQueueId':_0x394482[_0x8aa1('0x52')]||undefined,'CampaignId':_0x394482[_0x8aa1('0x63')]||undefined};};exports[_0x8aa1('0x64')]=function(_0x9d0da8){if(_0x9d0da8==='uniqueid'||_0x9d0da8===_0x8aa1('0x65')||_0x9d0da8===_0x8aa1('0x66')||_0x9d0da8===_0x8aa1('0x67')||_0x9d0da8===_0x8aa1('0x68')||_0x9d0da8==='dialAnswer'||_0x9d0da8===_0x8aa1('0x3e')||_0x9d0da8===_0x8aa1('0x5b')||_0x9d0da8===_0x8aa1('0x1b')||_0x9d0da8===_0x8aa1('0x4f')||_0x9d0da8===_0x8aa1('0x1c')||_0x9d0da8==='scheduledat'||_0x9d0da8==='countbusyretry'||_0x9d0da8===_0x8aa1('0x69')||_0x9d0da8===_0x8aa1('0x4b')||_0x9d0da8==='countglobal'||_0x9d0da8===_0x8aa1('0x6a')||_0x9d0da8===_0x8aa1('0x6b')||_0x9d0da8===_0x8aa1('0x6c')||_0x9d0da8===_0x8aa1('0x6d')||_0x9d0da8===_0x8aa1('0x51')||_0x9d0da8===_0x8aa1('0x62')||_0x9d0da8===_0x8aa1('0x6e')||_0x9d0da8===_0x8aa1('0x52')||_0x9d0da8===_0x8aa1('0x6f')||_0x9d0da8==='xmd-voicequeueid'||_0x9d0da8===_0x8aa1('0x70')||_0x9d0da8===_0x8aa1('0x71')||_0x9d0da8===_0x8aa1('0x72')||_0x9d0da8===_0x8aa1('0x73')||_0x9d0da8===_0x8aa1('0x74')||_0x9d0da8===_0x8aa1('0x75')||_0x9d0da8===_0x8aa1('0x76')||_0x9d0da8===_0x8aa1('0x77')||_0x9d0da8==='xmd-contactid'||_0x9d0da8==='xmd-cdrtype'||_0x9d0da8==='xmd-callerid'||_0x9d0da8===_0x8aa1('0x78')||_0x9d0da8===_0x8aa1('0x79')||_0x9d0da8===_0x8aa1('0x7a')||_0x9d0da8===_0x8aa1('0x7b')||_0x9d0da8===_0x8aa1('0x7c')||_0x9d0da8===_0x8aa1('0x7d')||_0x9d0da8==='rtpaudioqosloss'||_0x9d0da8===_0x8aa1('0x7e')||_0x9d0da8===_0x8aa1('0x7f')||_0x9d0da8===_0x8aa1('0x80')||_0x9d0da8===_0x8aa1('0x7a')||_0x9d0da8==='rtpaudioqosbridged'||_0x9d0da8===_0x8aa1('0x7c')||_0x9d0da8===_0x8aa1('0x7d')||_0x9d0da8===_0x8aa1('0x81')||_0x9d0da8===_0x8aa1('0x7e')||_0x9d0da8===_0x8aa1('0x7f')||_0x9d0da8===_0x8aa1('0x80')||_0x9d0da8===_0x8aa1('0x82')||_0x9d0da8===_0x8aa1('0x83')||_0x9d0da8==='state'||_0x9d0da8===_0x8aa1('0x37')){return![];}return!![];};exports[_0x8aa1('0x84')]=function(_0x58d4d0,_0x12b817){var _0x263d6e,_0xb0a28,_0x51f58e;if(_0x12b817<=0x0){_0x12b817=0x1;}_0x263d6e=new RegExp('\x5cw{0,'+_0x12b817+'}$');_0xb0a28=Math[_0x8aa1('0x85')](0xa,_0x12b817-0x1);_0x51f58e=Math[_0x8aa1('0x85')](0xa,_0x12b817)-0x1;return util[_0x8aa1('0x13')]('%s',_[_0x8aa1('0x86')](_0x58d4d0,_0x263d6e,_[_0x8aa1('0x87')](_0xb0a28,_0x51f58e)));};exports[_0x8aa1('0x88')]=function(_0x54f77c){var _0x8eb4f8=_0x54f77c[_0x8aa1('0x89')](/"(.*?)"/);return _0x8eb4f8?_0x8eb4f8[0x1]:_0x54f77c;};exports[_0x8aa1('0x8a')]=function(_0x405b04){var _0x27c614=_0x405b04[_0x8aa1('0x89')](/<(.*?)>/);return _0x27c614?_0x27c614[0x1]:_0x405b04;};