a29c55ca9ffcb23deca8b80baf236bdb6044a5e8
[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 _0x5123=['\x5cw{0,','pow','extractCalleridName','extractCalleridNumber','util','lodash','moment','../../../../config/logger','env','127.0.0.1','milliseconds','diff','seconds','error','inspect','info','loggerError','logger2','message','isUndefined','isEmpty','string','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isNil','Queue','calleridname','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','toLower','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','Blacklist','responsetime','endtime','logAgent','state','ringtime','starttime','membername','UserId','logCustomer','statedesc','talktime','answertime','Failure','variablesAction','RECALL','BOOKED','uniqueid','calleridnum','from-sip','timeout','totalGlobal','countbusyretry','countnoanswerretry','countagentrejectretry','cloneAction','Global','scheduledAt','active','scheduledat','add','minutes','ContactId','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','lastevent','name','queue','mandatoryDisposition','buildAcw','interface','channelAgent','not_inuse','status','reachable','push','getDiff','type','campaigntype','dialAnswer','countcongestionretry','countglobal','callbackuniqueid','callbackat','recallme','xmd-queue','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosbridged','rtpaudioqoslossbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom'];(function(_0x283127,_0x54d4d5){var _0x43da5d=function(_0x10947f){while(--_0x10947f){_0x283127['push'](_0x283127['shift']());}};_0x43da5d(++_0x54d4d5);}(_0x5123,0x114));var _0x3512=function(_0x17e1ac,_0x44c2c7){_0x17e1ac=_0x17e1ac-0x0;var _0x2a1cb3=_0x5123[_0x17e1ac];return _0x2a1cb3;};'use strict';var util=require(_0x3512('0x0'));var _=require(_0x3512('0x1'));var moment=require(_0x3512('0x2'));var logger=require(_0x3512('0x3'))('preview');var ipAgi=process[_0x3512('0x4')]['XCALLY_IP_AGI']||_0x3512('0x5');function getSeconds(_0x5ca1a6,_0x440b55){var _0x1e2a46=moment(_0x5ca1a6)[_0x3512('0x6')](0x0);var _0x1f2d3a=moment(_0x440b55)['milliseconds'](0x0);return _0x1e2a46[_0x3512('0x7')](_0x1f2d3a,_0x3512('0x8'));}exports['loggerCatch']=function(_0x41100f){return function(_0x20bd6a){logger[_0x3512('0x9')](_0x41100f,util[_0x3512('0xa')](_0x20bd6a,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x31a110,_0x4fb785){logger[_0x3512('0xb')](_0x31a110,util[_0x3512('0xa')](_0x4fb785,{'showHidden':![],'depth':null}));};exports[_0x3512('0xc')]=function(_0x4cd270,_0xae1e03){logger['error'](_0x4cd270,util[_0x3512('0xa')](_0xae1e03,{'showHidden':![],'depth':null}));};exports[_0x3512('0xd')]=function(_0x34e8c3){return function(_0xb04fb4){logger['info'](_0x34e8c3,util['inspect'](_0xb04fb4,{'showHidden':![],'depth':null}));};};exports[_0x3512('0xe')]=function(_0x5c4abf,_0x43d926,_0x42808a){return{'message':_0x5c4abf,'unlock':_0x43d926,'active':_0x42808a};};exports['getCallerId']=function(_0x472732,_0x122f22,_0x236cff){if(!_[_0x3512('0xf')](_0x236cff)&&'string'===typeof _0x236cff&&!_[_0x3512('0x10')](_0x236cff)){if(!_[_0x3512('0xf')](_0x122f22)&&_0x3512('0x11')===typeof _0x122f22&&!_[_0x3512('0x10')](_0x122f22)){return util[_0x3512('0x12')](_0x3512('0x13'),_0x122f22,_0x236cff);}return util['format'](_0x3512('0x13'),_0x236cff,_0x236cff);}if(!_['isUndefined'](_0x472732)&&'string'===typeof _0x472732&&!_[_0x3512('0x10')](_0x472732)){return _0x472732;}return _0x3512('0x14');};exports['isActive']=function(_0x274755){if(_[_0x3512('0x15')](_0x274755)){return![];}return _0x274755;};exports['addVariables']=function(_0x4fb92a,_0x173a29,_0x4eb2e5,_0x933ae0,_0x1c3371,_0x361449){var _0x353673={'XMD-QUEUE':_0x173a29[_0x3512('0x16')]?_0x173a29['Queue']['name']:'','XMD-CALLERID':_0x933ae0,'XMD-CALLERID-PREVIEW':_0x361449?util[_0x3512('0x12')]('\x22%s\x22\x20<%s>',_0x361449[_0x3512('0x17')],_0x361449['calleridnum']):_0x933ae0,'XMD-DIALID':_0x1c3371,'XMD-CONTACTID':_0x173a29['ContactId'],'XMD-CDRTYPE':_0x3512('0x18'),'CALLERID(all)':_0x933ae0,'XMD-VOICEQUEUEID':_0x173a29[_0x3512('0x19')],'XMD-DIALCHANNEL':_0x4eb2e5,'XMD-DIALTIMEOUT':_0x4fb92a[_0x3512('0x1a')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0x3512('0x1b'),_0x4fb92a[_0x3512('0x1c')]?'g':'',_[_0x3512('0x10')](_0x4fb92a['monitor_format'])?'':_0x3512('0x1d')),'XMD-DIALURL':_0x4fb92a[_0x3512('0x1e')]||'','XMD-AGI':_0x4fb92a[_0x3512('0x1f')]?util[_0x3512('0x12')](_0x3512('0x20'),ipAgi,_0x4fb92a[_0x3512('0x1f')]):_0x3512('0x21'),'XMD-AGIAFTER':_0x4fb92a[_0x3512('0x1c')]?util[_0x3512('0x12')](_0x3512('0x20'),ipAgi,_0x4fb92a['dialQueueProject2']):_0x3512('0x21'),'XMD-ORIGINATECALLERIDNUM':_0x361449?_0x361449[_0x3512('0x22')]:'','XMD-ORIGINATECALLERIDNAME':_0x361449?_0x361449[_0x3512('0x23')]:'','XMD-DESTINATION':_0x3512('0x24')};if(!_[_0x3512('0x10')](_0x4fb92a[_0x3512('0x25')])){_0x353673[util[_0x3512('0x12')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x4fb92a[_0x3512('0x25')];_0x353673[util[_0x3512('0x12')]('%s',_0x3512('0x26'))]=_0x1c3371;}if(_0x173a29&&_0x173a29['Contact']){for(var _0x218ca7 in _0x173a29[_0x3512('0x27')]){if(_0x173a29[_0x3512('0x27')][_0x3512('0x28')](_0x218ca7)){if(!_[_0x3512('0x15')](_0x173a29[_0x3512('0x27')][_0x218ca7])&&_0x218ca7!=='id'&&_0x218ca7!==_0x3512('0x29')&&_0x218ca7!==_0x3512('0x2a')&&_0x218ca7!==_0x3512('0x2b')){_0x353673[util['format'](_0x3512('0x2c'),_0x3512('0x2d'),_[_0x3512('0x2e')](_0x218ca7))]=_0x173a29[_0x3512('0x27')][_0x218ca7];}}}}return _0x353673;};exports[_0x3512('0x2f')]=function(_0x456329){var _0x29421d={};for(var _0x3a197b in _0x456329){if(_0x456329[_0x3512('0x28')](_0x3a197b)){_0x29421d[util[_0x3512('0x12')]('%s',_[_0x3512('0x30')](_0x3a197b))]=_0x456329[_0x3a197b];}}return{'variables':_0x29421d};};exports['updateOriginated']=function(_0x278759,_0x5357e5){if(!_['isNil'](_0x278759)){if(_0x278759[_0x3512('0x28')](_0x3512('0x31'))){if(_0x278759[_0x3512('0x31')]>0x0){_0x278759[_0x3512('0x31')]-=0x1;}else{logger[_0x3512('0x9')](_0x3512('0x32'),_0x5357e5);}}}else{logger['error'](_0x3512('0x33'),_0x5357e5);}};exports['logBlacklist']=function(_0x5d462d){var _0x328a4d=moment()[_0x3512('0x12')](_0x3512('0x34'));_0x5d462d['state']=0xd;_0x5d462d['statedesc']=_0x3512('0x35');_0x5d462d['starttime']=_0x328a4d;_0x5d462d[_0x3512('0x36')]=_0x328a4d;_0x5d462d[_0x3512('0x37')]=_0x328a4d;};exports[_0x3512('0x38')]=function(_0x45c19d,_0x36ecc1,_0x4a181d){var _0x280cd7=moment()[_0x3512('0x12')](_0x3512('0x34'));_0x45c19d[_0x3512('0x39')]=_0x36ecc1;_0x45c19d['statedesc']=_0x4a181d;_0x45c19d[_0x3512('0x36')]=_0x280cd7;_0x45c19d[_0x3512('0x3a')]=getSeconds(_0x45c19d[_0x3512('0x36')],_0x45c19d[_0x3512('0x3b')]);};exports['logLookAgent']=function(_0x546ac8,_0x891ad5,_0x30d536){_0x546ac8[_0x3512('0x3c')]=_0x891ad5;_0x546ac8[_0x3512('0x3d')]=_0x30d536;};exports[_0x3512('0x3e')]=function(_0x340b90,_0x340759,_0x4478e1){var _0x53a759=moment()[_0x3512('0x12')](_0x3512('0x34'));_0x340b90['state']=_0x340759;_0x340b90[_0x3512('0x3f')]=_0x4478e1;_0x340b90[_0x3512('0x36')]=_0x340b90[_0x3512('0x36')]?_0x340b90[_0x3512('0x36')]:_0x53a759;_0x340b90[_0x3512('0x37')]=_0x340b90[_0x3512('0x37')]?_0x340b90['endtime']:_0x53a759;_0x340b90[_0x3512('0x3a')]=getSeconds(_0x340b90[_0x3512('0x36')]||0x0,_0x340b90[_0x3512('0x3b')]||0x0);_0x340b90[_0x3512('0x40')]=_0x340b90[_0x3512('0x41')]?getSeconds(_0x340b90[_0x3512('0x37')],_0x340b90[_0x3512('0x41')]):0x0;};exports['isFailure']=function(_0x47ba57){return _0x47ba57===_0x3512('0x42');};exports[_0x3512('0x43')]=function(_0x26191e,_0x3dad9c,_0xe23cf,_0x37a212,_0x5a78eb){var _0xdce489=_0x37a212?_0x3512('0x44'):_0x26191e[_0x3512('0x17')];_0xdce489=_0x5a78eb?_0x3512('0x45'):_0xdce489;return{'actionid':_0x26191e[_0x3512('0x46')],'action':'originate','channel':_0x26191e['channelAgent'],'callerid':util[_0x3512('0x12')]('\x22%s\x22\x20<%s>',_0xdce489,_0x26191e[_0x3512('0x47')]),'Exten':_0x3512('0x24'),'Context':_0x3512('0x48'),'Priority':'1','variable':_0xe23cf,'timeout':(_0x3dad9c[_0x3512('0x49')]||0x1e)*0x3e8,'async':!![],'channelid':_0x26191e[_0x3512('0x46')]};};exports[_0x3512('0x4a')]=function(_0x5246ab){return _0x5246ab[_0x3512('0x4b')]+_0x5246ab['countcongestionretry']+_0x5246ab[_0x3512('0x4c')]+_0x5246ab[_0x3512('0x4d')]+_0x5246ab['countnosuchnumberretry'];};exports[_0x3512('0x4e')]=function(_0x50ebb1){var _0x26337f=_['clone'](_0x50ebb1);_0x26337f[_0x3512('0x39')]=0xf;_0x26337f[_0x3512('0x3f')]=_0x3512('0x4f');return _0x26337f;};exports[_0x3512('0x50')]=function(_0xfe4a0b,_0xbc25b7,_0x521e58){var _0x9537ec={};_0x9537ec[_0xbc25b7]=_0xfe4a0b[_0xbc25b7];_0x9537ec[_0x3512('0x51')]=![];_0x9537ec[_0x3512('0x52')]=moment()[_0x3512('0x53')](_0x521e58,_0x3512('0x54'))[_0x3512('0x12')](_0x3512('0x34'));_0x9537ec[_0x3512('0x55')]=_0xfe4a0b[_0x3512('0x55')];_0x9537ec[_0x3512('0x56')]=_0xfe4a0b[_0x3512('0x56')];_0x9537ec[_0x3512('0x19')]=_0xfe4a0b[_0x3512('0x19')]||undefined;return _0x9537ec;};exports[_0x3512('0x57')]=function(_0x3875d7,_0xc1ac2c){if(!_[_0x3512('0x15')](_0x3875d7)){if(_0x3875d7[_0x3512('0x58')]>0x0){_0x3875d7[_0x3512('0x58')]-=0x1;}else{logger[_0x3512('0x9')](_0xc1ac2c,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0x3512('0x9')](_0xc1ac2c,_0x3512('0x59'));}};exports['IsNotLoggedIn']=function(_0x413d81){if(_0x413d81<=0x0){return!![];}return![];};exports['buildObj']=function(_0x2bba5d,_0x5b06b7,_0x12c05d){_0x2bba5d[_0x3512('0x5a')]=_0x5b06b7;_0x2bba5d[_0x3512('0x5b')]=_0x2bba5d[_0x3512('0x5c')];_0x2bba5d['interface']=_0x2bba5d['channelAgent'];if(_0x12c05d){_0x2bba5d[_0x3512('0x5d')]=_0x12c05d['mandatoryDisposition'];}return _0x2bba5d;};exports[_0x3512('0x5e')]=function(_0x3ff00e){var _0x41d531={};_0x41d531[_0x3512('0x5c')]=_0x3ff00e[_0x3512('0x5c')];_0x41d531[_0x3512('0x5f')]=_0x3ff00e[_0x3512('0x60')];_0x41d531[_0x3512('0x46')]=_0x3ff00e['uniqueid'];return _0x41d531;};exports['agentReadyId']=function(_0x1e9dbc){var _0x4dde41=[];for(var _0xdeea1 in _0x1e9dbc){if(_0x1e9dbc[_0x3512('0x28')](_0xdeea1)){if(!_[_0x3512('0x15')](_0x1e9dbc[_0xdeea1])&&_0x1e9dbc[_0xdeea1]['state']===_0x3512('0x61')&&_0x1e9dbc[_0xdeea1][_0x3512('0x62')]===_0x3512('0x63')){_0x4dde41[_0x3512('0x64')](_0x1e9dbc[_0xdeea1]['id']);}}}return _0x4dde41;};exports[_0x3512('0x65')]=function(_0x80746b){var _0x36c746=moment()[_0x3512('0x6')](0x0);var _0xc5dcde=moment(_0x80746b)[_0x3512('0x6')](0x0);return _0x36c746[_0x3512('0x7')](_0xc5dcde,_0x3512('0x8'));};exports['createBody']=function(_0x5250ae){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x5250ae[_0x3512('0x55')],'ListId':_0x5250ae[_0x3512('0x56')],'VoiceQueueId':_0x5250ae[_0x3512('0x19')]||undefined,'CampaignId':_0x5250ae['CampaignId']||undefined};};exports['filterKey']=function(_0x850ede){if(_0x850ede===_0x3512('0x46')||_0x850ede==='idContact'||_0x850ede===_0x3512('0x5c')||_0x850ede===_0x3512('0x66')||_0x850ede===_0x3512('0x67')||_0x850ede===_0x3512('0x68')||_0x850ede===_0x3512('0x3c')||_0x850ede===_0x3512('0x60')||_0x850ede===_0x3512('0x17')||_0x850ede===_0x3512('0x51')||_0x850ede==='calleridnum'||_0x850ede===_0x3512('0x52')||_0x850ede===_0x3512('0x4b')||_0x850ede===_0x3512('0x69')||_0x850ede===_0x3512('0x4c')||_0x850ede===_0x3512('0x6a')||_0x850ede==='callback'||_0x850ede===_0x3512('0x6b')||_0x850ede===_0x3512('0x6c')||_0x850ede===_0x3512('0x6d')||_0x850ede===_0x3512('0x55')||_0x850ede==='ListId'||_0x850ede===_0x3512('0x3d')||_0x850ede===_0x3512('0x19')||_0x850ede==='sipcallid'||_0x850ede==='xmd-voicequeueid'||_0x850ede===_0x3512('0x6e')||_0x850ede==='xmd-phone'||_0x850ede===_0x3512('0x6f')||_0x850ede===_0x3512('0x70')||_0x850ede===_0x3512('0x71')||_0x850ede===_0x3512('0x72')||_0x850ede===_0x3512('0x73')||_0x850ede===_0x3512('0x74')||_0x850ede===_0x3512('0x75')||_0x850ede===_0x3512('0x76')||_0x850ede===_0x3512('0x77')||_0x850ede===_0x3512('0x78')||_0x850ede==='xmd-agi'||_0x850ede===_0x3512('0x79')||_0x850ede==='rtpaudioqosbridged'||_0x850ede===_0x3512('0x7a')||_0x850ede===_0x3512('0x7b')||_0x850ede===_0x3512('0x7c')||_0x850ede==='rtpaudioqoslossbridged'||_0x850ede===_0x3512('0x7d')||_0x850ede===_0x3512('0x7e')||_0x850ede===_0x3512('0x79')||_0x850ede===_0x3512('0x7f')||_0x850ede===_0x3512('0x7a')||_0x850ede==='rtpaudioqosjitterbridged'||_0x850ede==='rtpaudioqosloss'||_0x850ede===_0x3512('0x80')||_0x850ede==='rtpaudioqosrtt'||_0x850ede===_0x3512('0x7e')||_0x850ede===_0x3512('0x81')||_0x850ede===_0x3512('0x82')||_0x850ede===_0x3512('0x39')||_0x850ede==='statedesc'){return![];}return!![];};exports[_0x3512('0x83')]=function(_0x3bd8ba,_0x49b9e0){var _0x418c3a,_0x529123,_0x3a16d3;if(_0x49b9e0<=0x0){_0x49b9e0=0x1;}_0x418c3a=new RegExp(_0x3512('0x84')+_0x49b9e0+'}$');_0x529123=Math[_0x3512('0x85')](0xa,_0x49b9e0-0x1);_0x3a16d3=Math['pow'](0xa,_0x49b9e0)-0x1;return util[_0x3512('0x12')]('%s',_['replace'](_0x3bd8ba,_0x418c3a,_['random'](_0x529123,_0x3a16d3)));};exports[_0x3512('0x86')]=function(_0x3a1b61){var _0x4cb298=_0x3a1b61['match'](/"(.*?)"/);return _0x4cb298?_0x4cb298[0x1]:_0x3a1b61;};exports[_0x3512('0x87')]=function(_0x2d4bd8){var _0x40f72a=_0x2d4bd8['match'](/<(.*?)>/);return _0x40f72a?_0x40f72a[0x1]:_0x2d4bd8;};