6d66968ed47a45454cc42a8a255717c5cfd8bd43
[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 _0xaecb=['127.0.0.1','milliseconds','seconds','loggerCatch','logger','info','inspect','loggerError','error','logger2','getCallerId','string','isEmpty','format','\x22%s\x22\x20<%s>','isUndefined','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','NONE','\x22agi://%s/square,%s\x22','originatecalleridnum','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','createdAt','updatedAt','%s%s','XMD-','toLowerVariables','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','state','Blacklist','responsetime','endtime','logAgent','YYYY-MM-DD\x20HH:mm:ss','statedesc','ringtime','logLookAgent','membername','UserId','logCustomer','starttime','talktime','answertime','Failure','RECALL','BOOKED','uniqueid','originate','channelAgent','from-sip','timeout','totalGlobal','countbusyretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','Global','scheduledat','add','minutes','ContactId','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','queue','buildAcw','interface','agentReadyId','hasOwnProperty','status','reachable','push','getDiff','diff','createBody','CampaignId','filterKey','idContact','type','dialAnswer','active','countglobal','callback','callbackuniqueid','recallme','VoiceQueueId','sipcallid','xmd-voicequeueid','xmd-phone','xmd-dialtimeout','xmd-dialchannel','xmd-contactid','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqoslossbridged','bridgepvtcallid','getCallerIdRandom','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','moment','../../../../config/logger'];(function(_0x4f11cb,_0x14e174){var _0x491488=function(_0x2904a9){while(--_0x2904a9){_0x4f11cb['push'](_0x4f11cb['shift']());}};_0x491488(++_0x14e174);}(_0xaecb,0x10d));var _0xbaec=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0xaecb[_0xa464c9];return _0x3d73c4;};'use strict';var util=require(_0xbaec('0x0'));var _=require('lodash');var moment=require(_0xbaec('0x1'));var logger=require(_0xbaec('0x2'))('preview');var ipAgi=process['env']['XCALLY_IP_AGI']||_0xbaec('0x3');function getSeconds(_0x548c02,_0x4a2710){var _0x2fa784=moment(_0x548c02)[_0xbaec('0x4')](0x0);var _0x3ed8b7=moment(_0x4a2710)[_0xbaec('0x4')](0x0);return _0x2fa784['diff'](_0x3ed8b7,_0xbaec('0x5'));}exports[_0xbaec('0x6')]=function(_0x55f1ff){return function(_0x2feae6){logger['error'](_0x55f1ff,util['inspect'](_0x2feae6,{'showHidden':![],'depth':null}));};};exports[_0xbaec('0x7')]=function(_0x2ace6a,_0x37ff10){logger[_0xbaec('0x8')](_0x2ace6a,util[_0xbaec('0x9')](_0x37ff10,{'showHidden':![],'depth':null}));};exports[_0xbaec('0xa')]=function(_0x5bb1ba,_0x7e8dc3){logger[_0xbaec('0xb')](_0x5bb1ba,util[_0xbaec('0x9')](_0x7e8dc3,{'showHidden':![],'depth':null}));};exports[_0xbaec('0xc')]=function(_0x30ed08){return function(_0x209c73){logger[_0xbaec('0x8')](_0x30ed08,util[_0xbaec('0x9')](_0x209c73,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x2de8ed,_0x13d90c,_0x13a67d){return{'message':_0x2de8ed,'unlock':_0x13d90c,'active':_0x13a67d};};exports[_0xbaec('0xd')]=function(_0x3161e3,_0xf1060f,_0x523e6d){if(!_['isUndefined'](_0x523e6d)&&_0xbaec('0xe')===typeof _0x523e6d&&!_[_0xbaec('0xf')](_0x523e6d)){if(!_['isUndefined'](_0xf1060f)&&_0xbaec('0xe')===typeof _0xf1060f&&!_[_0xbaec('0xf')](_0xf1060f)){return util[_0xbaec('0x10')]('\x22%s\x22\x20<%s>',_0xf1060f,_0x523e6d);}return util[_0xbaec('0x10')](_0xbaec('0x11'),_0x523e6d,_0x523e6d);}if(!_[_0xbaec('0x12')](_0x3161e3)&&'string'===typeof _0x3161e3&&!_[_0xbaec('0xf')](_0x3161e3)){return _0x3161e3;}return'\x22\x22\x20<>';};exports[_0xbaec('0x13')]=function(_0x10a396){if(_[_0xbaec('0x14')](_0x10a396)){return![];}return _0x10a396;};exports[_0xbaec('0x15')]=function(_0x4e6e25,_0x3aa57c,_0x209f58,_0x48194a,_0xa525e7,_0x55c61e){var _0x1bbb11={'XMD-QUEUE':_0x3aa57c[_0xbaec('0x16')]?_0x3aa57c['Queue'][_0xbaec('0x17')]:'','XMD-CALLERID':_0x48194a,'XMD-CALLERID-PREVIEW':_0x55c61e?util[_0xbaec('0x10')](_0xbaec('0x11'),_0x55c61e[_0xbaec('0x18')],_0x55c61e[_0xbaec('0x19')]):_0x48194a,'XMD-DIALID':_0xa525e7,'XMD-CONTACTID':_0x3aa57c['ContactId'],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x48194a,'XMD-VOICEQUEUEID':_0x3aa57c['VoiceQueueId'],'XMD-DIALCHANNEL':_0x209f58,'XMD-DIALTIMEOUT':_0x4e6e25[_0xbaec('0x1a')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0xbaec('0x1b'),_0x4e6e25[_0xbaec('0x1c')]?'g':'',_[_0xbaec('0xf')](_0x4e6e25[_0xbaec('0x1d')])?'':_0xbaec('0x1e')),'XMD-DIALURL':_0x4e6e25[_0xbaec('0x1f')]||'','XMD-AGI':_0x4e6e25['dialQueueProject']?util[_0xbaec('0x10')]('\x22agi://%s/square,%s\x22',ipAgi,_0x4e6e25[_0xbaec('0x20')]):_0xbaec('0x21'),'XMD-AGIAFTER':_0x4e6e25[_0xbaec('0x1c')]?util[_0xbaec('0x10')](_0xbaec('0x22'),ipAgi,_0x4e6e25[_0xbaec('0x1c')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x55c61e?_0x55c61e[_0xbaec('0x23')]:'','XMD-ORIGINATECALLERIDNAME':_0x55c61e?_0x55c61e['originatecalleridname']:'','XMD-DESTINATION':_0xbaec('0x24')};if(!_['isEmpty'](_0x4e6e25['monitor_format'])){_0x1bbb11[util[_0xbaec('0x10')]('%s',_0xbaec('0x25'))]=_0x4e6e25['monitor_format'];_0x1bbb11[util[_0xbaec('0x10')]('%s',_0xbaec('0x26'))]=_0xa525e7;}if(_0x3aa57c&&_0x3aa57c[_0xbaec('0x27')]){for(var _0x521115 in _0x3aa57c[_0xbaec('0x27')]){if(_0x3aa57c[_0xbaec('0x27')]['hasOwnProperty'](_0x521115)){if(!_[_0xbaec('0x14')](_0x3aa57c[_0xbaec('0x27')][_0x521115])&&_0x521115!=='id'&&_0x521115!=='tags'&&_0x521115!==_0xbaec('0x28')&&_0x521115!==_0xbaec('0x29')){_0x1bbb11[util[_0xbaec('0x10')](_0xbaec('0x2a'),_0xbaec('0x2b'),_['toUpper'](_0x521115))]=_0x3aa57c[_0xbaec('0x27')][_0x521115];}}}}return _0x1bbb11;};exports[_0xbaec('0x2c')]=function(_0x1d32b1){var _0x3d6761={};for(var _0x9dc2f in _0x1d32b1){if(_0x1d32b1['hasOwnProperty'](_0x9dc2f)){_0x3d6761[util[_0xbaec('0x10')]('%s',_[_0xbaec('0x2d')](_0x9dc2f))]=_0x1d32b1[_0x9dc2f];}}return{'variables':_0x3d6761};};exports[_0xbaec('0x2e')]=function(_0xad80c3,_0xf2368f){if(!_[_0xbaec('0x14')](_0xad80c3)){if(_0xad80c3['hasOwnProperty'](_0xbaec('0x2f'))){if(_0xad80c3[_0xbaec('0x2f')]>0x0){_0xad80c3[_0xbaec('0x2f')]-=0x1;}else{logger[_0xbaec('0xb')](_0xbaec('0x30'),_0xf2368f);}}}else{logger[_0xbaec('0xb')](_0xbaec('0x31'),_0xf2368f);}};exports[_0xbaec('0x32')]=function(_0x127d15){var _0x2dbc06=moment()[_0xbaec('0x10')]('YYYY-MM-DD\x20HH:mm:ss');_0x127d15[_0xbaec('0x33')]=0xd;_0x127d15['statedesc']=_0xbaec('0x34');_0x127d15['starttime']=_0x2dbc06;_0x127d15[_0xbaec('0x35')]=_0x2dbc06;_0x127d15[_0xbaec('0x36')]=_0x2dbc06;};exports[_0xbaec('0x37')]=function(_0x346896,_0x20bf9c,_0xb1aa0){var _0x2cc729=moment()['format'](_0xbaec('0x38'));_0x346896[_0xbaec('0x33')]=_0x20bf9c;_0x346896[_0xbaec('0x39')]=_0xb1aa0;_0x346896[_0xbaec('0x35')]=_0x2cc729;_0x346896[_0xbaec('0x3a')]=getSeconds(_0x346896[_0xbaec('0x35')],_0x346896['starttime']);};exports[_0xbaec('0x3b')]=function(_0xafb47d,_0xdeda88,_0x36485a){_0xafb47d[_0xbaec('0x3c')]=_0xdeda88;_0xafb47d[_0xbaec('0x3d')]=_0x36485a;};exports[_0xbaec('0x3e')]=function(_0x3f7bc1,_0x22c8a4,_0x1f3a5c){var _0x5adcec=moment()[_0xbaec('0x10')](_0xbaec('0x38'));_0x3f7bc1[_0xbaec('0x33')]=_0x22c8a4;_0x3f7bc1[_0xbaec('0x39')]=_0x1f3a5c;_0x3f7bc1[_0xbaec('0x35')]=_0x3f7bc1[_0xbaec('0x35')]?_0x3f7bc1[_0xbaec('0x35')]:_0x5adcec;_0x3f7bc1[_0xbaec('0x36')]=_0x3f7bc1[_0xbaec('0x36')]?_0x3f7bc1[_0xbaec('0x36')]:_0x5adcec;_0x3f7bc1[_0xbaec('0x3a')]=getSeconds(_0x3f7bc1[_0xbaec('0x35')]||0x0,_0x3f7bc1[_0xbaec('0x3f')]||0x0);_0x3f7bc1[_0xbaec('0x40')]=_0x3f7bc1[_0xbaec('0x41')]?getSeconds(_0x3f7bc1[_0xbaec('0x36')],_0x3f7bc1['answertime']):0x0;};exports['isFailure']=function(_0x25cdef){return _0x25cdef===_0xbaec('0x42');};exports['variablesAction']=function(_0x2e079b,_0x5d069b,_0x3d1b41,_0x555d81,_0x2c4af2){var _0xcd78af=_0x555d81?_0xbaec('0x43'):_0x2e079b[_0xbaec('0x18')];_0xcd78af=_0x2c4af2?_0xbaec('0x44'):_0xcd78af;return{'actionid':_0x2e079b[_0xbaec('0x45')],'action':_0xbaec('0x46'),'channel':_0x2e079b[_0xbaec('0x47')],'callerid':util[_0xbaec('0x10')](_0xbaec('0x11'),_0xcd78af,_0x2e079b[_0xbaec('0x19')]),'Exten':_0xbaec('0x24'),'Context':_0xbaec('0x48'),'Priority':'1','variable':_0x3d1b41,'timeout':(_0x5d069b[_0xbaec('0x49')]||0x1e)*0x3e8,'async':!![],'channelid':_0x2e079b[_0xbaec('0x45')]};};exports[_0xbaec('0x4a')]=function(_0x1ff2fa){return _0x1ff2fa[_0xbaec('0x4b')]+_0x1ff2fa['countcongestionretry']+_0x1ff2fa[_0xbaec('0x4c')]+_0x1ff2fa[_0xbaec('0x4d')]+_0x1ff2fa[_0xbaec('0x4e')];};exports[_0xbaec('0x4f')]=function(_0x31f2bb){var _0x3f983f=_['clone'](_0x31f2bb);_0x3f983f['state']=0xf;_0x3f983f[_0xbaec('0x39')]=_0xbaec('0x50');return _0x3f983f;};exports['scheduledAt']=function(_0xf4a794,_0x3a7688,_0x43e217){var _0x39af36={};_0x39af36[_0x3a7688]=_0xf4a794[_0x3a7688];_0x39af36['active']=![];_0x39af36[_0xbaec('0x51')]=moment()[_0xbaec('0x52')](_0x43e217,_0xbaec('0x53'))['format'](_0xbaec('0x38'));_0x39af36[_0xbaec('0x54')]=_0xf4a794[_0xbaec('0x54')];_0x39af36['ListId']=_0xf4a794[_0xbaec('0x55')];_0x39af36['VoiceQueueId']=_0xf4a794['VoiceQueueId']||undefined;return _0x39af36;};exports['decrementTalkink']=function(_0x3cac75,_0x5f4495){if(!_[_0xbaec('0x14')](_0x3cac75)){if(_0x3cac75['pTalking']>0x0){_0x3cac75[_0xbaec('0x56')]-=0x1;}else{logger[_0xbaec('0xb')](_0x5f4495,_0xbaec('0x57'));}}else{logger['error'](_0x5f4495,_0xbaec('0x58'));}};exports[_0xbaec('0x59')]=function(_0x31e06b){if(_0x31e06b<=0x0){return!![];}return![];};exports[_0xbaec('0x5a')]=function(_0x5257ec,_0x24f816,_0x1933ab){_0x5257ec[_0xbaec('0x5b')]=_0x24f816;_0x5257ec[_0xbaec('0x17')]=_0x5257ec[_0xbaec('0x5c')];_0x5257ec['interface']=_0x5257ec[_0xbaec('0x47')];if(_0x1933ab){_0x5257ec['mandatoryDisposition']=_0x1933ab['mandatoryDisposition'];}return _0x5257ec;};exports[_0xbaec('0x5d')]=function(_0xb43726){var _0x34e6d4={};_0x34e6d4[_0xbaec('0x5c')]=_0xb43726[_0xbaec('0x5c')];_0x34e6d4[_0xbaec('0x5e')]=_0xb43726[_0xbaec('0x47')];_0x34e6d4[_0xbaec('0x45')]=_0xb43726[_0xbaec('0x45')];return _0x34e6d4;};exports[_0xbaec('0x5f')]=function(_0x3780c5){var _0x3f5920=[];for(var _0x149770 in _0x3780c5){if(_0x3780c5[_0xbaec('0x60')](_0x149770)){if(!_['isNil'](_0x3780c5[_0x149770])&&_0x3780c5[_0x149770][_0xbaec('0x33')]==='not_inuse'&&_0x3780c5[_0x149770][_0xbaec('0x61')]===_0xbaec('0x62')){_0x3f5920[_0xbaec('0x63')](_0x3780c5[_0x149770]['id']);}}}return _0x3f5920;};exports[_0xbaec('0x64')]=function(_0x4d6378){var _0x5290d5=moment()[_0xbaec('0x4')](0x0);var _0x447eb0=moment(_0x4d6378)['milliseconds'](0x0);return _0x5290d5[_0xbaec('0x65')](_0x447eb0,_0xbaec('0x5'));};exports[_0xbaec('0x66')]=function(_0x286774){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x286774['ContactId'],'ListId':_0x286774[_0xbaec('0x55')],'VoiceQueueId':_0x286774['VoiceQueueId']||undefined,'CampaignId':_0x286774[_0xbaec('0x67')]||undefined};};exports[_0xbaec('0x68')]=function(_0x29a847){if(_0x29a847===_0xbaec('0x45')||_0x29a847===_0xbaec('0x69')||_0x29a847===_0xbaec('0x5c')||_0x29a847===_0xbaec('0x6a')||_0x29a847==='campaigntype'||_0x29a847===_0xbaec('0x6b')||_0x29a847===_0xbaec('0x3c')||_0x29a847==='channelAgent'||_0x29a847===_0xbaec('0x18')||_0x29a847===_0xbaec('0x6c')||_0x29a847===_0xbaec('0x19')||_0x29a847===_0xbaec('0x51')||_0x29a847===_0xbaec('0x4b')||_0x29a847==='countcongestionretry'||_0x29a847===_0xbaec('0x4c')||_0x29a847===_0xbaec('0x6d')||_0x29a847===_0xbaec('0x6e')||_0x29a847===_0xbaec('0x6f')||_0x29a847==='callbackat'||_0x29a847===_0xbaec('0x70')||_0x29a847===_0xbaec('0x54')||_0x29a847===_0xbaec('0x55')||_0x29a847===_0xbaec('0x3d')||_0x29a847===_0xbaec('0x71')||_0x29a847===_0xbaec('0x72')||_0x29a847===_0xbaec('0x73')||_0x29a847==='xmd-queue'||_0x29a847===_0xbaec('0x74')||_0x29a847==='xmd-listid'||_0x29a847==='xmd-dialurl'||_0x29a847===_0xbaec('0x75')||_0x29a847==='xmd-dialoptions'||_0x29a847==='xmd-dialid'||_0x29a847===_0xbaec('0x76')||_0x29a847===_0xbaec('0x77')||_0x29a847==='xmd-cdrtype'||_0x29a847===_0xbaec('0x78')||_0x29a847===_0xbaec('0x79')||_0x29a847==='xmd-agi'||_0x29a847===_0xbaec('0x7a')||_0x29a847===_0xbaec('0x7b')||_0x29a847===_0xbaec('0x7c')||_0x29a847==='rtpaudioqosjitterbridged'||_0x29a847==='rtpaudioqosloss'||_0x29a847==='rtpaudioqoslossbridged'||_0x29a847===_0xbaec('0x7d')||_0x29a847===_0xbaec('0x7e')||_0x29a847==='rtpaudioqos'||_0x29a847==='rtpaudioqosbridged'||_0x29a847===_0xbaec('0x7c')||_0x29a847==='rtpaudioqosjitterbridged'||_0x29a847==='rtpaudioqosloss'||_0x29a847===_0xbaec('0x7f')||_0x29a847===_0xbaec('0x7d')||_0x29a847===_0xbaec('0x7e')||_0x29a847==='bridgepeer'||_0x29a847===_0xbaec('0x80')||_0x29a847==='state'||_0x29a847===_0xbaec('0x39')){return![];}return!![];};exports[_0xbaec('0x81')]=function(_0xf3cffa,_0x1d7bc9){var _0x502be4,_0x5b7202,_0x267f5f;if(_0x1d7bc9<=0x0){_0x1d7bc9=0x1;}_0x502be4=new RegExp('\x5cw{0,'+_0x1d7bc9+'}$');_0x5b7202=Math[_0xbaec('0x82')](0xa,_0x1d7bc9-0x1);_0x267f5f=Math['pow'](0xa,_0x1d7bc9)-0x1;return util[_0xbaec('0x10')]('%s',_[_0xbaec('0x83')](_0xf3cffa,_0x502be4,_[_0xbaec('0x84')](_0x5b7202,_0x267f5f)));};exports[_0xbaec('0x85')]=function(_0x354320){var _0x35bf96=_0x354320[_0xbaec('0x86')](/"(.*?)"/);return _0x35bf96?_0x35bf96[0x1]:_0x354320;};exports[_0xbaec('0x87')]=function(_0x2a2344){var _0x369b00=_0x2a2344[_0xbaec('0x86')](/<(.*?)>/);return _0x369b00?_0x369b00[0x1]:_0x2a2344;};