Built motion from commit (unavailable).|2.4.18
[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 _0xa2ab=['membername','scheduledat','countglobal','callback','callbackuniqueid','recallme','sipcallid','xmd-voicequeueid','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrttbridged','rtpaudioqoslossbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','replace','extractCalleridName','match','extractCalleridNumber','util','lodash','moment','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','loggerCatch','error','logger','info','inspect','message','getCallerId','isUndefined','string','isEmpty','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','format','calleridname','calleridnum','ContactId','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialQueueProject','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','%s%s','XMD-','toUpper','toLowerVariables','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','endtime','UserId','ringtime','talktime','answertime','isFailure','variablesAction','BOOKED','from-sip','timeout','totalGlobal','countbusyretry','countnoanswerretry','clone','Global','scheduledAt','active','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','name','queue','channelAgent','interface','uniqueid','agentReadyId','status','reachable','push','createBody','CampaignId','filterKey','type','campaigntype'];(function(_0x4c2bfb,_0x4eb60d){var _0xa0931c=function(_0xf062e0){while(--_0xf062e0){_0x4c2bfb['push'](_0x4c2bfb['shift']());}};_0xa0931c(++_0x4eb60d);}(_0xa2ab,0xa7));var _0xba2a=function(_0x308c6a,_0xe04d64){_0x308c6a=_0x308c6a-0x0;var _0x257b4d=_0xa2ab[_0x308c6a];return _0x257b4d;};'use strict';var util=require(_0xba2a('0x0'));var _=require(_0xba2a('0x1'));var moment=require(_0xba2a('0x2'));var logger=require('../../../../config/logger')(_0xba2a('0x3'));var ipAgi=process[_0xba2a('0x4')][_0xba2a('0x5')]||_0xba2a('0x6');function getSeconds(_0x24423b,_0x1b27f8){var _0x7206ca=moment(_0x24423b)['milliseconds'](0x0);var _0x12f994=moment(_0x1b27f8)[_0xba2a('0x7')](0x0);return _0x7206ca[_0xba2a('0x8')](_0x12f994,'seconds');}exports[_0xba2a('0x9')]=function(_0xf818d1){return function(_0x2a40c6){logger[_0xba2a('0xa')](_0xf818d1,util['inspect'](_0x2a40c6,{'showHidden':![],'depth':null}));};};exports[_0xba2a('0xb')]=function(_0x43fa56,_0x2f4d3d){logger[_0xba2a('0xc')](_0x43fa56,util[_0xba2a('0xd')](_0x2f4d3d,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x463cb9,_0x114fb5){logger[_0xba2a('0xa')](_0x463cb9,util[_0xba2a('0xd')](_0x114fb5,{'showHidden':![],'depth':null}));};exports['logger2']=function(_0x93f663){return function(_0x10bf76){logger[_0xba2a('0xc')](_0x93f663,util[_0xba2a('0xd')](_0x10bf76,{'showHidden':![],'depth':null}));};};exports[_0xba2a('0xe')]=function(_0x4d4448,_0x8c98d,_0x44759c){return{'message':_0x4d4448,'unlock':_0x8c98d,'active':_0x44759c};};exports[_0xba2a('0xf')]=function(_0x127c42,_0x5352fa,_0x26ea93){if(!_[_0xba2a('0x10')](_0x26ea93)&&_0xba2a('0x11')===typeof _0x26ea93&&!_[_0xba2a('0x12')](_0x26ea93)){if(!_['isUndefined'](_0x5352fa)&&_0xba2a('0x11')===typeof _0x5352fa&&!_[_0xba2a('0x12')](_0x5352fa)){return util['format'](_0xba2a('0x13'),_0x5352fa,_0x26ea93);}return util['format']('\x22%s\x22\x20<%s>',_0x26ea93,_0x26ea93);}if(!_[_0xba2a('0x10')](_0x127c42)&&_0xba2a('0x11')===typeof _0x127c42&&!_[_0xba2a('0x12')](_0x127c42)){return _0x127c42;}return _0xba2a('0x14');};exports[_0xba2a('0x15')]=function(_0x5b4aa5){if(_[_0xba2a('0x16')](_0x5b4aa5)){return![];}return _0x5b4aa5;};exports[_0xba2a('0x17')]=function(_0x4d572d,_0x200e32,_0x5c9fb4,_0x3b3924,_0x2ad68,_0x3e7afa){var _0x1d4ba9={'XMD-QUEUE':_0x200e32[_0xba2a('0x18')]?_0x200e32[_0xba2a('0x18')]['name']:'','XMD-CALLERID':_0x3b3924,'XMD-CALLERID-PREVIEW':_0x3e7afa?util[_0xba2a('0x19')](_0xba2a('0x13'),_0x3e7afa[_0xba2a('0x1a')],_0x3e7afa[_0xba2a('0x1b')]):_0x3b3924,'XMD-DIALID':_0x2ad68,'XMD-CONTACTID':_0x200e32[_0xba2a('0x1c')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x3b3924,'XMD-VOICEQUEUEID':_0x200e32[_0xba2a('0x1d')],'XMD-DIALCHANNEL':_0x5c9fb4,'XMD-DIALTIMEOUT':_0x4d572d[_0xba2a('0x1e')]||0x1e,'XMD-DIALOPTIONS':util[_0xba2a('0x19')](_0xba2a('0x1f'),_0x4d572d[_0xba2a('0x20')]?'g':'',_[_0xba2a('0x12')](_0x4d572d[_0xba2a('0x21')])?'':_0xba2a('0x22')),'XMD-DIALURL':_0x4d572d['dialPreviewUrl']||'','XMD-AGI':_0x4d572d[_0xba2a('0x23')]?util[_0xba2a('0x19')](_0xba2a('0x24'),ipAgi,_0x4d572d[_0xba2a('0x23')]):'NONE','XMD-AGIAFTER':_0x4d572d[_0xba2a('0x20')]?util[_0xba2a('0x19')](_0xba2a('0x24'),ipAgi,_0x4d572d['dialQueueProject2']):'NONE','XMD-ORIGINATECALLERIDNUM':_0x3e7afa?_0x3e7afa[_0xba2a('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x3e7afa?_0x3e7afa[_0xba2a('0x26')]:'','XMD-DESTINATION':_0xba2a('0x27')};if(!_[_0xba2a('0x12')](_0x4d572d[_0xba2a('0x21')])){_0x1d4ba9[util[_0xba2a('0x19')]('%s',_0xba2a('0x28'))]=_0x4d572d[_0xba2a('0x21')];_0x1d4ba9[util[_0xba2a('0x19')]('%s',_0xba2a('0x29'))]=_0x2ad68;}if(_0x200e32&&_0x200e32['Contact']){for(var _0x1bf866 in _0x200e32[_0xba2a('0x2a')]){if(_0x200e32[_0xba2a('0x2a')][_0xba2a('0x2b')](_0x1bf866)){if(!_['isNil'](_0x200e32[_0xba2a('0x2a')][_0x1bf866])&&_0x1bf866!=='id'&&_0x1bf866!==_0xba2a('0x2c')&&_0x1bf866!==_0xba2a('0x2d')&&_0x1bf866!=='updatedAt'){_0x1d4ba9[util[_0xba2a('0x19')](_0xba2a('0x2e'),_0xba2a('0x2f'),_[_0xba2a('0x30')](_0x1bf866))]=_0x200e32[_0xba2a('0x2a')][_0x1bf866];}}}}return _0x1d4ba9;};exports[_0xba2a('0x31')]=function(_0x1f4cb3){var _0x35f5d8={};for(var _0x52e0ef in _0x1f4cb3){if(_0x1f4cb3[_0xba2a('0x2b')](_0x52e0ef)){_0x35f5d8[util[_0xba2a('0x19')]('%s',_[_0xba2a('0x32')](_0x52e0ef))]=_0x1f4cb3[_0x52e0ef];}}return{'variables':_0x35f5d8};};exports[_0xba2a('0x33')]=function(_0x43b42c,_0x5afca4){if(!_[_0xba2a('0x16')](_0x43b42c)){if(_0x43b42c[_0xba2a('0x2b')](_0xba2a('0x34'))){if(_0x43b42c[_0xba2a('0x34')]>0x0){_0x43b42c['originated']-=0x1;}else{logger[_0xba2a('0xa')](_0xba2a('0x35'),_0x5afca4);}}}else{logger[_0xba2a('0xa')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x5afca4);}};exports[_0xba2a('0x36')]=function(_0x100d83){var _0x1c59e3=moment()['format'](_0xba2a('0x37'));_0x100d83[_0xba2a('0x38')]=0xd;_0x100d83[_0xba2a('0x39')]=_0xba2a('0x3a');_0x100d83[_0xba2a('0x3b')]=_0x1c59e3;_0x100d83[_0xba2a('0x3c')]=_0x1c59e3;_0x100d83[_0xba2a('0x3d')]=_0x1c59e3;};exports['logAgent']=function(_0x37e9fe,_0x4a5e29,_0x1c4c2a){var _0x380f30=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x37e9fe['state']=_0x4a5e29;_0x37e9fe['statedesc']=_0x1c4c2a;_0x37e9fe[_0xba2a('0x3c')]=_0x380f30;_0x37e9fe['ringtime']=getSeconds(_0x37e9fe[_0xba2a('0x3c')],_0x37e9fe[_0xba2a('0x3b')]);};exports['logLookAgent']=function(_0x3f0fb7,_0x35a9c1,_0x17e3b8){_0x3f0fb7['membername']=_0x35a9c1;_0x3f0fb7[_0xba2a('0x3e')]=_0x17e3b8;};exports['logCustomer']=function(_0x34fbfb,_0x34f7bb,_0x111fd5){var _0x5092c1=moment()[_0xba2a('0x19')](_0xba2a('0x37'));_0x34fbfb[_0xba2a('0x38')]=_0x34f7bb;_0x34fbfb['statedesc']=_0x111fd5;_0x34fbfb[_0xba2a('0x3c')]=_0x34fbfb[_0xba2a('0x3c')]?_0x34fbfb['responsetime']:_0x5092c1;_0x34fbfb[_0xba2a('0x3d')]=_0x34fbfb[_0xba2a('0x3d')]?_0x34fbfb[_0xba2a('0x3d')]:_0x5092c1;_0x34fbfb[_0xba2a('0x3f')]=getSeconds(_0x34fbfb[_0xba2a('0x3c')]||0x0,_0x34fbfb[_0xba2a('0x3b')]||0x0);_0x34fbfb[_0xba2a('0x40')]=_0x34fbfb[_0xba2a('0x41')]?getSeconds(_0x34fbfb[_0xba2a('0x3d')],_0x34fbfb['answertime']):0x0;};exports[_0xba2a('0x42')]=function(_0x2f1f82){return _0x2f1f82==='Failure';};exports[_0xba2a('0x43')]=function(_0x2ef089,_0x168b20,_0x403c1c,_0x51ff70,_0x5339f6){var _0x569ba6=_0x51ff70?'RECALL':_0x2ef089[_0xba2a('0x1a')];_0x569ba6=_0x5339f6?_0xba2a('0x44'):_0x569ba6;return{'actionid':_0x2ef089['uniqueid'],'action':'originate','channel':_0x2ef089['channelAgent'],'callerid':util[_0xba2a('0x19')](_0xba2a('0x13'),_0x569ba6,_0x2ef089['calleridnum']),'Exten':'xcally-motion-preview','Context':_0xba2a('0x45'),'Priority':'1','variable':_0x403c1c,'timeout':(_0x168b20[_0xba2a('0x46')]||0x1e)*0x3e8,'async':!![],'channelid':_0x2ef089['uniqueid']};};exports[_0xba2a('0x47')]=function(_0x18879d){return _0x18879d[_0xba2a('0x48')]+_0x18879d['countcongestionretry']+_0x18879d[_0xba2a('0x49')];};exports['cloneAction']=function(_0x13ce56){var _0x574075=_[_0xba2a('0x4a')](_0x13ce56);_0x574075[_0xba2a('0x38')]=0xf;_0x574075[_0xba2a('0x39')]=_0xba2a('0x4b');return _0x574075;};exports[_0xba2a('0x4c')]=function(_0x1c06df,_0x5805a0,_0x46d4f8){var _0x5e7dbc={};_0x5e7dbc[_0x5805a0]=_0x1c06df[_0x5805a0];_0x5e7dbc[_0xba2a('0x4d')]=![];_0x5e7dbc['scheduledat']=moment()[_0xba2a('0x4e')](_0x46d4f8,_0xba2a('0x4f'))[_0xba2a('0x19')]('YYYY-MM-DD\x20HH:mm:ss');_0x5e7dbc[_0xba2a('0x1c')]=_0x1c06df['ContactId'];_0x5e7dbc['ListId']=_0x1c06df[_0xba2a('0x50')];_0x5e7dbc['VoiceQueueId']=_0x1c06df['VoiceQueueId']||undefined;return _0x5e7dbc;};exports[_0xba2a('0x51')]=function(_0x4260a3,_0x4ed0a6){if(!_[_0xba2a('0x16')](_0x4260a3)){if(_0x4260a3[_0xba2a('0x52')]>0x0){_0x4260a3[_0xba2a('0x52')]-=0x1;}else{logger['error'](_0x4ed0a6,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0xba2a('0xa')](_0x4ed0a6,_0xba2a('0x53'));}};exports[_0xba2a('0x54')]=function(_0x2e38a3){if(_0x2e38a3<=0x0){return!![];}return![];};exports[_0xba2a('0x55')]=function(_0x2c51d1,_0x88c057){_0x2c51d1[_0xba2a('0x56')]=_0x88c057;_0x2c51d1[_0xba2a('0x57')]=_0x2c51d1[_0xba2a('0x58')];_0x2c51d1['interface']=_0x2c51d1[_0xba2a('0x59')];return _0x2c51d1;};exports['buildAcw']=function(_0x3101fd){var _0x2f6f70={};_0x2f6f70['queue']=_0x3101fd[_0xba2a('0x58')];_0x2f6f70[_0xba2a('0x5a')]=_0x3101fd[_0xba2a('0x59')];_0x2f6f70[_0xba2a('0x5b')]=_0x3101fd[_0xba2a('0x5b')];return _0x2f6f70;};exports[_0xba2a('0x5c')]=function(_0x58a823){var _0x367c38=[];for(var _0x50afed in _0x58a823){if(_0x58a823[_0xba2a('0x2b')](_0x50afed)){if(!_[_0xba2a('0x16')](_0x58a823[_0x50afed])&&_0x58a823[_0x50afed][_0xba2a('0x38')]==='not_inuse'&&_0x58a823[_0x50afed][_0xba2a('0x5d')]===_0xba2a('0x5e')){_0x367c38[_0xba2a('0x5f')](_0x58a823[_0x50afed]['id']);}}}return _0x367c38;};exports['getDiff']=function(_0x5b9e4a){var _0x347d81=moment()[_0xba2a('0x7')](0x0);var _0x20c1ce=moment(_0x5b9e4a)[_0xba2a('0x7')](0x0);return _0x347d81[_0xba2a('0x8')](_0x20c1ce,'seconds');};exports[_0xba2a('0x60')]=function(_0x34324f){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x34324f[_0xba2a('0x1c')],'ListId':_0x34324f[_0xba2a('0x50')],'VoiceQueueId':_0x34324f['VoiceQueueId']||undefined,'CampaignId':_0x34324f[_0xba2a('0x61')]||undefined};};exports[_0xba2a('0x62')]=function(_0xabccb9){if(_0xabccb9===_0xba2a('0x5b')||_0xabccb9==='idContact'||_0xabccb9===_0xba2a('0x58')||_0xabccb9===_0xba2a('0x63')||_0xabccb9===_0xba2a('0x64')||_0xabccb9==='dialAnswer'||_0xabccb9===_0xba2a('0x65')||_0xabccb9===_0xba2a('0x59')||_0xabccb9===_0xba2a('0x1a')||_0xabccb9==='active'||_0xabccb9==='calleridnum'||_0xabccb9===_0xba2a('0x66')||_0xabccb9===_0xba2a('0x48')||_0xabccb9==='countcongestionretry'||_0xabccb9==='countnoanswerretry'||_0xabccb9===_0xba2a('0x67')||_0xabccb9===_0xba2a('0x68')||_0xabccb9===_0xba2a('0x69')||_0xabccb9==='callbackat'||_0xabccb9===_0xba2a('0x6a')||_0xabccb9===_0xba2a('0x1c')||_0xabccb9==='ListId'||_0xabccb9===_0xba2a('0x3e')||_0xabccb9==='VoiceQueueId'||_0xabccb9===_0xba2a('0x6b')||_0xabccb9===_0xba2a('0x6c')||_0xabccb9==='xmd-queue'||_0xabccb9===_0xba2a('0x6d')||_0xabccb9===_0xba2a('0x6e')||_0xabccb9===_0xba2a('0x6f')||_0xabccb9===_0xba2a('0x70')||_0xabccb9===_0xba2a('0x71')||_0xabccb9===_0xba2a('0x72')||_0xabccb9==='xmd-dialchannel'||_0xabccb9===_0xba2a('0x73')||_0xabccb9===_0xba2a('0x74')||_0xabccb9===_0xba2a('0x75')||_0xabccb9===_0xba2a('0x76')||_0xabccb9===_0xba2a('0x77')||_0xabccb9===_0xba2a('0x78')||_0xabccb9==='rtpaudioqosbridged'||_0xabccb9===_0xba2a('0x79')||_0xabccb9===_0xba2a('0x7a')||_0xabccb9===_0xba2a('0x7b')||_0xabccb9==='rtpaudioqoslossbridged'||_0xabccb9==='rtpaudioqosrtt'||_0xabccb9===_0xba2a('0x7c')||_0xabccb9===_0xba2a('0x78')||_0xabccb9==='rtpaudioqosbridged'||_0xabccb9===_0xba2a('0x79')||_0xabccb9===_0xba2a('0x7a')||_0xabccb9==='rtpaudioqosloss'||_0xabccb9===_0xba2a('0x7d')||_0xabccb9==='rtpaudioqosrtt'||_0xabccb9==='rtpaudioqosrttbridged'||_0xabccb9===_0xba2a('0x7e')||_0xabccb9===_0xba2a('0x7f')||_0xabccb9===_0xba2a('0x38')||_0xabccb9===_0xba2a('0x39')){return![];}return!![];};exports[_0xba2a('0x80')]=function(_0xd5d70b,_0xb6ae48){var _0x5e4617,_0x49384b,_0x346189;if(_0xb6ae48<=0x0){_0xb6ae48=0x1;}_0x5e4617=new RegExp(_0xba2a('0x81')+_0xb6ae48+'}$');_0x49384b=Math['pow'](0xa,_0xb6ae48-0x1);_0x346189=Math['pow'](0xa,_0xb6ae48)-0x1;return util['format']('%s',_[_0xba2a('0x82')](_0xd5d70b,_0x5e4617,_['random'](_0x49384b,_0x346189)));};exports[_0xba2a('0x83')]=function(_0x1e9a7f){var _0x2c2b21=_0x1e9a7f[_0xba2a('0x84')](/"(.*?)"/);return _0x2c2b21?_0x2c2b21[0x1]:_0x1e9a7f;};exports[_0xba2a('0x85')]=function(_0x42f43b){var _0x3de4c1=_0x42f43b['match'](/<(.*?)>/);return _0x3de4c1?_0x3de4c1[0x1]:_0x42f43b;};