Built motion from commit (unavailable).|2.5.4
[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 _0xeca8=['logAgent','state','ringtime','logLookAgent','membername','UserId','endtime','answertime','isFailure','Failure','variablesAction','RECALL','calleridname','BOOKED','uniqueid','channelAgent','calleridnum','countbusyretry','countnoanswerretry','countagentrejectretry','cloneAction','clone','active','scheduledat','add','minutes','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','queue','interface','buildAcw','agentReadyId','not_inuse','status','reachable','push','createBody','CampaignId','filterKey','type','campaigntype','dialAnswer','countcongestionretry','countglobal','callbackuniqueid','callbackat','xmd-voicequeueid','xmd-queue','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrttbridged','rtpaudioqoslossbridged','bridgepvtcallid','getCallerIdRandom','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','lodash','moment','../../../../config/logger','preview','env','127.0.0.1','milliseconds','diff','seconds','loggerCatch','inspect','logger','info','loggerError','error','logger2','message','getCallerId','isUndefined','string','isEmpty','\x22%s\x22\x20<%s>','format','\x22\x22\x20<>','isActive','isNil','Queue','name','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','updatedAt','XMD-','toUpper','toLowerVariables','toLower','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','starttime','responsetime'];(function(_0x53b4be,_0x1b4c78){var _0xc6831e=function(_0x2ed46c){while(--_0x2ed46c){_0x53b4be['push'](_0x53b4be['shift']());}};_0xc6831e(++_0x1b4c78);}(_0xeca8,0x1f2));var _0x8eca=function(_0x2973cc,_0x539a07){_0x2973cc=_0x2973cc-0x0;var _0x4aa970=_0xeca8[_0x2973cc];return _0x4aa970;};'use strict';var util=require(_0x8eca('0x0'));var _=require(_0x8eca('0x1'));var moment=require(_0x8eca('0x2'));var logger=require(_0x8eca('0x3'))(_0x8eca('0x4'));var ipAgi=process[_0x8eca('0x5')]['XCALLY_IP_AGI']||_0x8eca('0x6');function getSeconds(_0x5d425e,_0x2f0b22){var _0x123011=moment(_0x5d425e)[_0x8eca('0x7')](0x0);var _0x599a26=moment(_0x2f0b22)[_0x8eca('0x7')](0x0);return _0x123011[_0x8eca('0x8')](_0x599a26,_0x8eca('0x9'));}exports[_0x8eca('0xa')]=function(_0xedaeca){return function(_0x3b901f){logger['error'](_0xedaeca,util[_0x8eca('0xb')](_0x3b901f,{'showHidden':![],'depth':null}));};};exports[_0x8eca('0xc')]=function(_0xec2cba,_0x10184f){logger[_0x8eca('0xd')](_0xec2cba,util[_0x8eca('0xb')](_0x10184f,{'showHidden':![],'depth':null}));};exports[_0x8eca('0xe')]=function(_0x2653b7,_0x220093){logger[_0x8eca('0xf')](_0x2653b7,util['inspect'](_0x220093,{'showHidden':![],'depth':null}));};exports[_0x8eca('0x10')]=function(_0x57d450){return function(_0xdbd075){logger[_0x8eca('0xd')](_0x57d450,util['inspect'](_0xdbd075,{'showHidden':![],'depth':null}));};};exports[_0x8eca('0x11')]=function(_0x5ac075,_0x5b9f57,_0x581286){return{'message':_0x5ac075,'unlock':_0x5b9f57,'active':_0x581286};};exports[_0x8eca('0x12')]=function(_0x36b8f1,_0x2b901f,_0x2d6f5e){if(!_[_0x8eca('0x13')](_0x2d6f5e)&&_0x8eca('0x14')===typeof _0x2d6f5e&&!_[_0x8eca('0x15')](_0x2d6f5e)){if(!_['isUndefined'](_0x2b901f)&&_0x8eca('0x14')===typeof _0x2b901f&&!_[_0x8eca('0x15')](_0x2b901f)){return util['format'](_0x8eca('0x16'),_0x2b901f,_0x2d6f5e);}return util[_0x8eca('0x17')]('\x22%s\x22\x20<%s>',_0x2d6f5e,_0x2d6f5e);}if(!_['isUndefined'](_0x36b8f1)&&_0x8eca('0x14')===typeof _0x36b8f1&&!_['isEmpty'](_0x36b8f1)){return _0x36b8f1;}return _0x8eca('0x18');};exports[_0x8eca('0x19')]=function(_0x41f0d9){if(_[_0x8eca('0x1a')](_0x41f0d9)){return![];}return _0x41f0d9;};exports['addVariables']=function(_0x1b8151,_0x5962d5,_0x449434,_0x536d40,_0x373117,_0x14af03){var _0x254b37={'XMD-QUEUE':_0x5962d5[_0x8eca('0x1b')]?_0x5962d5[_0x8eca('0x1b')][_0x8eca('0x1c')]:'','XMD-CALLERID':_0x536d40,'XMD-CALLERID-PREVIEW':_0x14af03?util['format'](_0x8eca('0x16'),_0x14af03['calleridname'],_0x14af03['calleridnum']):_0x536d40,'XMD-DIALID':_0x373117,'XMD-CONTACTID':_0x5962d5[_0x8eca('0x1d')],'XMD-CDRTYPE':_0x8eca('0x1e'),'CALLERID(all)':_0x536d40,'XMD-VOICEQUEUEID':_0x5962d5[_0x8eca('0x1f')],'XMD-DIALCHANNEL':_0x449434,'XMD-DIALTIMEOUT':_0x1b8151[_0x8eca('0x20')]||0x1e,'XMD-DIALOPTIONS':util[_0x8eca('0x17')]('\x22rtTxX%s%s\x22',_0x1b8151[_0x8eca('0x21')]?'g':'',_['isEmpty'](_0x1b8151[_0x8eca('0x22')])?'':_0x8eca('0x23')),'XMD-DIALURL':_0x1b8151[_0x8eca('0x24')]||'','XMD-AGI':_0x1b8151[_0x8eca('0x25')]?util[_0x8eca('0x17')](_0x8eca('0x26'),ipAgi,_0x1b8151[_0x8eca('0x25')]):_0x8eca('0x27'),'XMD-AGIAFTER':_0x1b8151['dialQueueProject2']?util[_0x8eca('0x17')](_0x8eca('0x26'),ipAgi,_0x1b8151[_0x8eca('0x21')]):_0x8eca('0x27'),'XMD-ORIGINATECALLERIDNUM':_0x14af03?_0x14af03[_0x8eca('0x28')]:'','XMD-ORIGINATECALLERIDNAME':_0x14af03?_0x14af03[_0x8eca('0x29')]:'','XMD-DESTINATION':_0x8eca('0x2a')};if(!_[_0x8eca('0x15')](_0x1b8151[_0x8eca('0x22')])){_0x254b37[util['format']('%s',_0x8eca('0x2b'))]=_0x1b8151[_0x8eca('0x22')];_0x254b37[util[_0x8eca('0x17')]('%s',_0x8eca('0x2c'))]=_0x373117;}if(_0x5962d5&&_0x5962d5['Contact']){for(var _0x1fa79d in _0x5962d5[_0x8eca('0x2d')]){if(_0x5962d5[_0x8eca('0x2d')][_0x8eca('0x2e')](_0x1fa79d)){if(!_[_0x8eca('0x1a')](_0x5962d5[_0x8eca('0x2d')][_0x1fa79d])&&_0x1fa79d!=='id'&&_0x1fa79d!==_0x8eca('0x2f')&&_0x1fa79d!==_0x8eca('0x30')&&_0x1fa79d!==_0x8eca('0x31')){_0x254b37[util['format']('%s%s',_0x8eca('0x32'),_[_0x8eca('0x33')](_0x1fa79d))]=_0x5962d5[_0x8eca('0x2d')][_0x1fa79d];}}}}return _0x254b37;};exports[_0x8eca('0x34')]=function(_0x3a1175){var _0x194eed={};for(var _0x220e33 in _0x3a1175){if(_0x3a1175[_0x8eca('0x2e')](_0x220e33)){_0x194eed[util[_0x8eca('0x17')]('%s',_[_0x8eca('0x35')](_0x220e33))]=_0x3a1175[_0x220e33];}}return{'variables':_0x194eed};};exports['updateOriginated']=function(_0x544aca,_0x5b0a36){if(!_[_0x8eca('0x1a')](_0x544aca)){if(_0x544aca[_0x8eca('0x2e')](_0x8eca('0x36'))){if(_0x544aca[_0x8eca('0x36')]>0x0){_0x544aca[_0x8eca('0x36')]-=0x1;}else{logger[_0x8eca('0xf')](_0x8eca('0x37'),_0x5b0a36);}}}else{logger[_0x8eca('0xf')](_0x8eca('0x38'),_0x5b0a36);}};exports[_0x8eca('0x39')]=function(_0x3c2214){var _0x59c1e=moment()[_0x8eca('0x17')](_0x8eca('0x3a'));_0x3c2214['state']=0xd;_0x3c2214[_0x8eca('0x3b')]='Blacklist';_0x3c2214[_0x8eca('0x3c')]=_0x59c1e;_0x3c2214[_0x8eca('0x3d')]=_0x59c1e;_0x3c2214['endtime']=_0x59c1e;};exports[_0x8eca('0x3e')]=function(_0x525973,_0x2e7d37,_0x5e9c85){var _0x37c550=moment()[_0x8eca('0x17')](_0x8eca('0x3a'));_0x525973[_0x8eca('0x3f')]=_0x2e7d37;_0x525973[_0x8eca('0x3b')]=_0x5e9c85;_0x525973[_0x8eca('0x3d')]=_0x37c550;_0x525973[_0x8eca('0x40')]=getSeconds(_0x525973[_0x8eca('0x3d')],_0x525973[_0x8eca('0x3c')]);};exports[_0x8eca('0x41')]=function(_0x188bc8,_0x5b62f1,_0x419a5c){_0x188bc8[_0x8eca('0x42')]=_0x5b62f1;_0x188bc8[_0x8eca('0x43')]=_0x419a5c;};exports['logCustomer']=function(_0x40005e,_0x52e301,_0x237b57){var _0x5f4b75=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x40005e[_0x8eca('0x3f')]=_0x52e301;_0x40005e['statedesc']=_0x237b57;_0x40005e[_0x8eca('0x3d')]=_0x40005e[_0x8eca('0x3d')]?_0x40005e['responsetime']:_0x5f4b75;_0x40005e[_0x8eca('0x44')]=_0x40005e['endtime']?_0x40005e['endtime']:_0x5f4b75;_0x40005e['ringtime']=getSeconds(_0x40005e['responsetime']||0x0,_0x40005e[_0x8eca('0x3c')]||0x0);_0x40005e['talktime']=_0x40005e[_0x8eca('0x45')]?getSeconds(_0x40005e[_0x8eca('0x44')],_0x40005e['answertime']):0x0;};exports[_0x8eca('0x46')]=function(_0x3324d1){return _0x3324d1===_0x8eca('0x47');};exports[_0x8eca('0x48')]=function(_0x486d73,_0xe772e9,_0x20454b,_0x28af88,_0x4d78b8){var _0x280bcf=_0x28af88?_0x8eca('0x49'):_0x486d73[_0x8eca('0x4a')];_0x280bcf=_0x4d78b8?_0x8eca('0x4b'):_0x280bcf;return{'actionid':_0x486d73[_0x8eca('0x4c')],'action':'originate','channel':_0x486d73[_0x8eca('0x4d')],'callerid':util[_0x8eca('0x17')](_0x8eca('0x16'),_0x280bcf,_0x486d73[_0x8eca('0x4e')]),'Exten':'xcally-motion-preview','Context':'from-sip','Priority':'1','variable':_0x20454b,'timeout':(_0xe772e9['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x486d73[_0x8eca('0x4c')]};};exports['totalGlobal']=function(_0xdd9b77){return _0xdd9b77[_0x8eca('0x4f')]+_0xdd9b77['countcongestionretry']+_0xdd9b77[_0x8eca('0x50')]+_0xdd9b77[_0x8eca('0x51')]+_0xdd9b77['countnosuchnumberretry'];};exports[_0x8eca('0x52')]=function(_0x5b3590){var _0x2d0d58=_[_0x8eca('0x53')](_0x5b3590);_0x2d0d58[_0x8eca('0x3f')]=0xf;_0x2d0d58[_0x8eca('0x3b')]='Global';return _0x2d0d58;};exports['scheduledAt']=function(_0x5c6596,_0xfbb46e,_0x56666e){var _0x5bea1c={};_0x5bea1c[_0xfbb46e]=_0x5c6596[_0xfbb46e];_0x5bea1c[_0x8eca('0x54')]=![];_0x5bea1c[_0x8eca('0x55')]=moment()[_0x8eca('0x56')](_0x56666e,_0x8eca('0x57'))[_0x8eca('0x17')](_0x8eca('0x3a'));_0x5bea1c['ContactId']=_0x5c6596[_0x8eca('0x1d')];_0x5bea1c[_0x8eca('0x58')]=_0x5c6596['ListId'];_0x5bea1c[_0x8eca('0x1f')]=_0x5c6596[_0x8eca('0x1f')]||undefined;return _0x5bea1c;};exports['decrementTalkink']=function(_0x4057d2,_0x19ebbf){if(!_[_0x8eca('0x1a')](_0x4057d2)){if(_0x4057d2[_0x8eca('0x59')]>0x0){_0x4057d2['pTalking']-=0x1;}else{logger['error'](_0x19ebbf,_0x8eca('0x5a'));}}else{logger['error'](_0x19ebbf,_0x8eca('0x5b'));}};exports[_0x8eca('0x5c')]=function(_0x4c5599){if(_0x4c5599<=0x0){return!![];}return![];};exports[_0x8eca('0x5d')]=function(_0x1af9fb,_0x45da41){_0x1af9fb[_0x8eca('0x5e')]=_0x45da41;_0x1af9fb['name']=_0x1af9fb[_0x8eca('0x5f')];_0x1af9fb[_0x8eca('0x60')]=_0x1af9fb[_0x8eca('0x4d')];return _0x1af9fb;};exports[_0x8eca('0x61')]=function(_0x4e303d){var _0x21b2bd={};_0x21b2bd[_0x8eca('0x5f')]=_0x4e303d[_0x8eca('0x5f')];_0x21b2bd['interface']=_0x4e303d[_0x8eca('0x4d')];_0x21b2bd['uniqueid']=_0x4e303d[_0x8eca('0x4c')];return _0x21b2bd;};exports[_0x8eca('0x62')]=function(_0x2c0f67){var _0x314958=[];for(var _0x2801a6 in _0x2c0f67){if(_0x2c0f67[_0x8eca('0x2e')](_0x2801a6)){if(!_[_0x8eca('0x1a')](_0x2c0f67[_0x2801a6])&&_0x2c0f67[_0x2801a6][_0x8eca('0x3f')]===_0x8eca('0x63')&&_0x2c0f67[_0x2801a6][_0x8eca('0x64')]===_0x8eca('0x65')){_0x314958[_0x8eca('0x66')](_0x2c0f67[_0x2801a6]['id']);}}}return _0x314958;};exports['getDiff']=function(_0x3d277e){var _0x270c55=moment()['milliseconds'](0x0);var _0xa9d209=moment(_0x3d277e)['milliseconds'](0x0);return _0x270c55[_0x8eca('0x8')](_0xa9d209,_0x8eca('0x9'));};exports[_0x8eca('0x67')]=function(_0x490a8d){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x490a8d[_0x8eca('0x1d')],'ListId':_0x490a8d['ListId'],'VoiceQueueId':_0x490a8d[_0x8eca('0x1f')]||undefined,'CampaignId':_0x490a8d[_0x8eca('0x68')]||undefined};};exports[_0x8eca('0x69')]=function(_0x55d43){if(_0x55d43===_0x8eca('0x4c')||_0x55d43==='idContact'||_0x55d43==='queue'||_0x55d43===_0x8eca('0x6a')||_0x55d43===_0x8eca('0x6b')||_0x55d43===_0x8eca('0x6c')||_0x55d43===_0x8eca('0x42')||_0x55d43===_0x8eca('0x4d')||_0x55d43==='calleridname'||_0x55d43===_0x8eca('0x54')||_0x55d43===_0x8eca('0x4e')||_0x55d43===_0x8eca('0x55')||_0x55d43===_0x8eca('0x4f')||_0x55d43===_0x8eca('0x6d')||_0x55d43===_0x8eca('0x50')||_0x55d43===_0x8eca('0x6e')||_0x55d43==='callback'||_0x55d43===_0x8eca('0x6f')||_0x55d43===_0x8eca('0x70')||_0x55d43==='recallme'||_0x55d43===_0x8eca('0x1d')||_0x55d43==='ListId'||_0x55d43==='UserId'||_0x55d43===_0x8eca('0x1f')||_0x55d43==='sipcallid'||_0x55d43===_0x8eca('0x71')||_0x55d43===_0x8eca('0x72')||_0x55d43==='xmd-phone'||_0x55d43===_0x8eca('0x73')||_0x55d43===_0x8eca('0x74')||_0x55d43===_0x8eca('0x75')||_0x55d43===_0x8eca('0x76')||_0x55d43===_0x8eca('0x77')||_0x55d43===_0x8eca('0x78')||_0x55d43===_0x8eca('0x79')||_0x55d43===_0x8eca('0x7a')||_0x55d43===_0x8eca('0x7b')||_0x55d43===_0x8eca('0x7c')||_0x55d43==='xmd-agi'||_0x55d43===_0x8eca('0x7d')||_0x55d43===_0x8eca('0x7e')||_0x55d43===_0x8eca('0x7f')||_0x55d43===_0x8eca('0x80')||_0x55d43===_0x8eca('0x81')||_0x55d43==='rtpaudioqoslossbridged'||_0x55d43==='rtpaudioqosrtt'||_0x55d43===_0x8eca('0x82')||_0x55d43===_0x8eca('0x7d')||_0x55d43===_0x8eca('0x7e')||_0x55d43==='rtpaudioqosjitter'||_0x55d43===_0x8eca('0x80')||_0x55d43===_0x8eca('0x81')||_0x55d43===_0x8eca('0x83')||_0x55d43==='rtpaudioqosrtt'||_0x55d43===_0x8eca('0x82')||_0x55d43==='bridgepeer'||_0x55d43===_0x8eca('0x84')||_0x55d43===_0x8eca('0x3f')||_0x55d43===_0x8eca('0x3b')){return![];}return!![];};exports[_0x8eca('0x85')]=function(_0x314edf,_0x429061){var _0x2c0631,_0x11cfb6,_0x3d9df4;if(_0x429061<=0x0){_0x429061=0x1;}_0x2c0631=new RegExp('\x5cw{0,'+_0x429061+'}$');_0x11cfb6=Math['pow'](0xa,_0x429061-0x1);_0x3d9df4=Math[_0x8eca('0x86')](0xa,_0x429061)-0x1;return util['format']('%s',_[_0x8eca('0x87')](_0x314edf,_0x2c0631,_[_0x8eca('0x88')](_0x11cfb6,_0x3d9df4)));};exports[_0x8eca('0x89')]=function(_0x2e7991){var _0x166f21=_0x2e7991[_0x8eca('0x8a')](/"(.*?)"/);return _0x166f21?_0x166f21[0x1]:_0x2e7991;};exports[_0x8eca('0x8b')]=function(_0x191d34){var _0x378112=_0x191d34[_0x8eca('0x8a')](/<(.*?)>/);return _0x378112?_0x378112[0x1]:_0x191d34;};