f5dfe8c7f7a8b9525cd1ead6a1062f543b237e85
[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 _0xaba0=['string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','dialQueueProject2','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','tags','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','state','ringtime','logLookAgent','membername','logCustomer','talktime','answertime','isFailure','Failure','variablesAction','RECALL','BOOKED','uniqueid','channelAgent','from-sip','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countnosuchnumberretry','cloneAction','scheduledAt','active','scheduledat','minutes','ContactId','ListId','VoiceQueueId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','lastevent','queue','interface','voice','mandatoryDisposition','buildAcw','agentReadyId','not_inuse','status','reachable','getDiff','createBody','CampaignId','filterKey','idContact','type','campaigntype','calleridnum','countglobal','callback','callbackuniqueid','callbackat','recallme','UserId','sipcallid','xmd-voicequeueid','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-contactid','xmd-agiafter','xmd-agi','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqos','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','\x5cw{0,','pow','replace','random','extractCalleridName','match','keys','variables','toLowerCase','buildNoAnswerEventPayload','util','lodash','moment','../../../../config/logger','preview','XCALLY_IP_AGI','milliseconds','diff','seconds','loggerCatch','error','inspect','info','loggerError','logger2','message','getCallerId','isUndefined'];(function(_0x2153a6,_0xe90466){var _0x3b9a59=function(_0x33dd9a){while(--_0x33dd9a){_0x2153a6['push'](_0x2153a6['shift']());}};_0x3b9a59(++_0xe90466);}(_0xaba0,0x1aa));var _0x0aba=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0xaba0[_0x2dafbe];return _0x58a45a;};'use strict';var util=require(_0x0aba('0x0'));var _=require(_0x0aba('0x1'));var moment=require(_0x0aba('0x2'));var logger=require(_0x0aba('0x3'))(_0x0aba('0x4'));var ipAgi=process['env'][_0x0aba('0x5')]||'127.0.0.1';function getSeconds(_0x105ba3,_0xeb3b9e){var _0x501592=moment(_0x105ba3)[_0x0aba('0x6')](0x0);var _0x5185d6=moment(_0xeb3b9e)['milliseconds'](0x0);return _0x501592[_0x0aba('0x7')](_0x5185d6,_0x0aba('0x8'));}exports[_0x0aba('0x9')]=function(_0x36671b){return function(_0x5c55da){logger[_0x0aba('0xa')](_0x36671b,util[_0x0aba('0xb')](_0x5c55da,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x565e3d,_0x5a0ecc){logger[_0x0aba('0xc')](_0x565e3d,util['inspect'](_0x5a0ecc,{'showHidden':![],'depth':null}));};exports[_0x0aba('0xd')]=function(_0x45bbe4,_0x358aba){logger[_0x0aba('0xa')](_0x45bbe4,util[_0x0aba('0xb')](_0x358aba,{'showHidden':![],'depth':null}));};exports[_0x0aba('0xe')]=function(_0x13553f){return function(_0x3ad7e0){logger[_0x0aba('0xc')](_0x13553f,util[_0x0aba('0xb')](_0x3ad7e0,{'showHidden':![],'depth':null}));};};exports[_0x0aba('0xf')]=function(_0x2dabcb,_0x12f49a,_0x1d4efe){return{'message':_0x2dabcb,'unlock':_0x12f49a,'active':_0x1d4efe};};exports[_0x0aba('0x10')]=function(_0x5de493,_0x796b00,_0x3509b1){if(!_[_0x0aba('0x11')](_0x3509b1)&&_0x0aba('0x12')===typeof _0x3509b1&&!_[_0x0aba('0x13')](_0x3509b1)){if(!_['isUndefined'](_0x796b00)&&_0x0aba('0x12')===typeof _0x796b00&&!_[_0x0aba('0x13')](_0x796b00)){return util[_0x0aba('0x14')]('\x22%s\x22\x20<%s>',_0x796b00,_0x3509b1);}return util[_0x0aba('0x14')](_0x0aba('0x15'),_0x3509b1,_0x3509b1);}if(!_[_0x0aba('0x11')](_0x5de493)&&_0x0aba('0x12')===typeof _0x5de493&&!_['isEmpty'](_0x5de493)){return _0x5de493;}return _0x0aba('0x16');};exports[_0x0aba('0x17')]=function(_0x2fdf1b){if(_[_0x0aba('0x18')](_0x2fdf1b)){return![];}return _0x2fdf1b;};exports[_0x0aba('0x19')]=function(_0xd6e19c,_0x15039c,_0x38656c,_0x111609,_0x3c5ff6,_0x440e36){var _0x39ff6f={'XMD-QUEUE':_0x15039c['Queue']?_0x15039c[_0x0aba('0x1a')][_0x0aba('0x1b')]:'','XMD-CALLERID':_0x111609,'XMD-CALLERID-PREVIEW':_0x440e36?util[_0x0aba('0x14')](_0x0aba('0x15'),_0x440e36[_0x0aba('0x1c')],_0x440e36['calleridnum']):_0x111609,'XMD-DIALID':_0x3c5ff6,'XMD-CONTACTID':_0x15039c['ContactId'],'XMD-CDRTYPE':_0x0aba('0x1d'),'CALLERID(all)':_0x111609,'XMD-VOICEQUEUEID':_0x15039c['VoiceQueueId'],'XMD-DIALCHANNEL':_0x38656c,'XMD-DIALTIMEOUT':_0xd6e19c[_0x0aba('0x1e')]||0x1e,'XMD-DIALOPTIONS':util[_0x0aba('0x14')](_0x0aba('0x1f'),_0xd6e19c['dialQueueProject2']?'g':'',_[_0x0aba('0x13')](_0xd6e19c[_0x0aba('0x20')])?'':_0x0aba('0x21')),'XMD-DIALURL':_0xd6e19c[_0x0aba('0x22')]||'','XMD-AGI':_0xd6e19c[_0x0aba('0x23')]?util[_0x0aba('0x14')](_0x0aba('0x24'),ipAgi,_0xd6e19c[_0x0aba('0x23')]):_0x0aba('0x25'),'XMD-AGIAFTER':_0xd6e19c['dialQueueProject2']?util[_0x0aba('0x14')](_0x0aba('0x24'),ipAgi,_0xd6e19c[_0x0aba('0x26')]):_0x0aba('0x25'),'XMD-ORIGINATECALLERIDNUM':_0x440e36?_0x440e36[_0x0aba('0x27')]:'','XMD-ORIGINATECALLERIDNAME':_0x440e36?_0x440e36[_0x0aba('0x28')]:'','XMD-DESTINATION':_0x0aba('0x29'),'SIPADDHEADER':_0x0aba('0x2a')};if(!_[_0x0aba('0x13')](_0xd6e19c[_0x0aba('0x20')])){_0x39ff6f[util[_0x0aba('0x14')]('%s',_0x0aba('0x2b'))]=_0xd6e19c['monitor_format'];_0x39ff6f[util[_0x0aba('0x14')]('%s',_0x0aba('0x2c'))]=_0x3c5ff6;}if(_0x15039c&&_0x15039c[_0x0aba('0x2d')]){for(var _0x109b85 in _0x15039c[_0x0aba('0x2d')]){if(_0x15039c[_0x0aba('0x2d')]['hasOwnProperty'](_0x109b85)){if(!_[_0x0aba('0x18')](_0x15039c['Contact'][_0x109b85])&&_0x109b85!=='id'&&_0x109b85!==_0x0aba('0x2e')&&_0x109b85!==_0x0aba('0x2f')&&_0x109b85!==_0x0aba('0x30')){_0x39ff6f[util[_0x0aba('0x14')](_0x0aba('0x31'),_0x0aba('0x32'),_[_0x0aba('0x33')](_0x109b85))]=_0x15039c[_0x0aba('0x2d')][_0x109b85];}}}}return _0x39ff6f;};exports[_0x0aba('0x34')]=function(_0xe42b56){var _0x19838d={};for(var _0x53f3aa in _0xe42b56){if(_0xe42b56[_0x0aba('0x35')](_0x53f3aa)){_0x19838d[util[_0x0aba('0x14')]('%s',_[_0x0aba('0x36')](_0x53f3aa))]=_0xe42b56[_0x53f3aa];}}return{'variables':_0x19838d};};exports[_0x0aba('0x37')]=function(_0x3905a0,_0x435dd7){if(!_[_0x0aba('0x18')](_0x3905a0)){if(_0x3905a0[_0x0aba('0x35')](_0x0aba('0x38'))){if(_0x3905a0['originated']>0x0){_0x3905a0[_0x0aba('0x38')]-=0x1;}else{logger[_0x0aba('0xa')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x435dd7);}}}else{logger[_0x0aba('0xa')](_0x0aba('0x39'),_0x435dd7);}};exports[_0x0aba('0x3a')]=function(_0x3708da){var _0x152cac=moment()[_0x0aba('0x14')](_0x0aba('0x3b'));_0x3708da['state']=0xd;_0x3708da[_0x0aba('0x3c')]=_0x0aba('0x3d');_0x3708da[_0x0aba('0x3e')]=_0x152cac;_0x3708da[_0x0aba('0x3f')]=_0x152cac;_0x3708da[_0x0aba('0x40')]=_0x152cac;};exports[_0x0aba('0x41')]=function(_0x384ef7,_0x4352d3,_0x2a1780){var _0x17aea2=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x384ef7[_0x0aba('0x42')]=_0x4352d3;_0x384ef7['statedesc']=_0x2a1780;_0x384ef7[_0x0aba('0x3f')]=_0x17aea2;_0x384ef7[_0x0aba('0x43')]=getSeconds(_0x384ef7[_0x0aba('0x3f')],_0x384ef7[_0x0aba('0x3e')]);};exports[_0x0aba('0x44')]=function(_0x4616e3,_0x53ce00,_0x5f2fe1){_0x4616e3[_0x0aba('0x45')]=_0x53ce00;_0x4616e3['UserId']=_0x5f2fe1;};exports[_0x0aba('0x46')]=function(_0x4c8a9c,_0x4eef8e,_0x412bae){var _0x4eebc0=moment()['format'](_0x0aba('0x3b'));_0x4c8a9c[_0x0aba('0x42')]=_0x4eef8e;_0x4c8a9c[_0x0aba('0x3c')]=_0x412bae;_0x4c8a9c[_0x0aba('0x3f')]=_0x4c8a9c[_0x0aba('0x3f')]?_0x4c8a9c[_0x0aba('0x3f')]:_0x4eebc0;_0x4c8a9c[_0x0aba('0x40')]=_0x4c8a9c['endtime']?_0x4c8a9c[_0x0aba('0x40')]:_0x4eebc0;_0x4c8a9c[_0x0aba('0x43')]=getSeconds(_0x4c8a9c[_0x0aba('0x3f')]||0x0,_0x4c8a9c['starttime']||0x0);_0x4c8a9c[_0x0aba('0x47')]=_0x4c8a9c[_0x0aba('0x48')]?getSeconds(_0x4c8a9c[_0x0aba('0x40')],_0x4c8a9c[_0x0aba('0x48')]):0x0;};exports[_0x0aba('0x49')]=function(_0x237431){return _0x237431===_0x0aba('0x4a');};exports[_0x0aba('0x4b')]=function(_0x1dde7d,_0xd5bb30,_0x45118e,_0x3f7820,_0x483437){var _0x4aeb86=_0x3f7820?_0x0aba('0x4c'):_0x1dde7d[_0x0aba('0x1c')];_0x4aeb86=_0x483437?_0x0aba('0x4d'):_0x4aeb86;return{'actionid':_0x1dde7d[_0x0aba('0x4e')],'action':'originate','channel':_0x1dde7d[_0x0aba('0x4f')],'callerid':util['format'](_0x0aba('0x15'),_0x4aeb86,_0x1dde7d['calleridnum']),'Exten':_0x0aba('0x29'),'Context':_0x0aba('0x50'),'Priority':'1','variable':_0x45118e,'timeout':(_0xd5bb30[_0x0aba('0x51')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1dde7d[_0x0aba('0x4e')]};};exports[_0x0aba('0x52')]=function(_0x102874){return _0x102874[_0x0aba('0x53')]+_0x102874[_0x0aba('0x54')]+_0x102874[_0x0aba('0x55')]+_0x102874['countagentrejectretry']+_0x102874[_0x0aba('0x56')];};exports[_0x0aba('0x57')]=function(_0x318ee){var _0x53f063=_['clone'](_0x318ee);_0x53f063[_0x0aba('0x42')]=0xf;_0x53f063[_0x0aba('0x3c')]='Global';return _0x53f063;};exports[_0x0aba('0x58')]=function(_0x5d4fbf,_0x3ba5bb,_0x1b41f4){var _0x169f5d={};_0x169f5d[_0x3ba5bb]=_0x5d4fbf[_0x3ba5bb];_0x169f5d[_0x0aba('0x59')]=![];_0x169f5d[_0x0aba('0x5a')]=moment()['add'](_0x1b41f4,_0x0aba('0x5b'))[_0x0aba('0x14')](_0x0aba('0x3b'));_0x169f5d[_0x0aba('0x5c')]=_0x5d4fbf[_0x0aba('0x5c')];_0x169f5d[_0x0aba('0x5d')]=_0x5d4fbf['ListId'];_0x169f5d[_0x0aba('0x5e')]=_0x5d4fbf[_0x0aba('0x5e')]||undefined;return _0x169f5d;};exports['decrementTalkink']=function(_0x2a12e5,_0x49c6b5){if(!_[_0x0aba('0x18')](_0x2a12e5)){if(_0x2a12e5['pTalking']>0x0){_0x2a12e5[_0x0aba('0x5f')]-=0x1;}else{logger[_0x0aba('0xa')](_0x49c6b5,_0x0aba('0x60'));}}else{logger['error'](_0x49c6b5,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports['IsNotLoggedIn']=function(_0x4d8354){if(_0x4d8354<=0x0){return!![];}return![];};function buildObj(_0x6b9896,_0x12ae60,_0x238fe1){_0x6b9896[_0x0aba('0x61')]=_0x12ae60;_0x6b9896[_0x0aba('0x1b')]=_0x6b9896[_0x0aba('0x62')];_0x6b9896[_0x0aba('0x63')]=_0x6b9896[_0x0aba('0x4f')];_0x6b9896['motionChannel']=_0x0aba('0x64');if(_0x238fe1){_0x6b9896[_0x0aba('0x65')]=_0x238fe1[_0x0aba('0x65')];}return _0x6b9896;}exports['buildObj']=buildObj;exports[_0x0aba('0x66')]=function(_0x598e97){var _0x45dfd9={};_0x45dfd9['queue']=_0x598e97[_0x0aba('0x62')];_0x45dfd9[_0x0aba('0x63')]=_0x598e97[_0x0aba('0x4f')];_0x45dfd9[_0x0aba('0x4e')]=_0x598e97[_0x0aba('0x4e')];return _0x45dfd9;};exports[_0x0aba('0x67')]=function(_0x40da5a){var _0x207f01=[];for(var _0x2c7216 in _0x40da5a){if(_0x40da5a[_0x0aba('0x35')](_0x2c7216)){if(!_['isNil'](_0x40da5a[_0x2c7216])&&_0x40da5a[_0x2c7216][_0x0aba('0x42')]===_0x0aba('0x68')&&_0x40da5a[_0x2c7216][_0x0aba('0x69')]===_0x0aba('0x6a')){_0x207f01['push'](_0x40da5a[_0x2c7216]['id']);}}}return _0x207f01;};exports[_0x0aba('0x6b')]=function(_0x34ce24){var _0x34491d=moment()['milliseconds'](0x0);var _0x438a5a=moment(_0x34ce24)['milliseconds'](0x0);return _0x34491d[_0x0aba('0x7')](_0x438a5a,_0x0aba('0x8'));};exports[_0x0aba('0x6c')]=function(_0x31f68d){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x31f68d[_0x0aba('0x5c')],'ListId':_0x31f68d['ListId'],'VoiceQueueId':_0x31f68d['VoiceQueueId']||undefined,'CampaignId':_0x31f68d[_0x0aba('0x6d')]||undefined};};exports[_0x0aba('0x6e')]=function(_0x182ff5){if(_0x182ff5===_0x0aba('0x4e')||_0x182ff5===_0x0aba('0x6f')||_0x182ff5===_0x0aba('0x62')||_0x182ff5===_0x0aba('0x70')||_0x182ff5===_0x0aba('0x71')||_0x182ff5==='dialAnswer'||_0x182ff5===_0x0aba('0x45')||_0x182ff5==='channelAgent'||_0x182ff5===_0x0aba('0x1c')||_0x182ff5===_0x0aba('0x59')||_0x182ff5===_0x0aba('0x72')||_0x182ff5===_0x0aba('0x5a')||_0x182ff5===_0x0aba('0x53')||_0x182ff5==='countcongestionretry'||_0x182ff5===_0x0aba('0x55')||_0x182ff5===_0x0aba('0x73')||_0x182ff5===_0x0aba('0x74')||_0x182ff5===_0x0aba('0x75')||_0x182ff5===_0x0aba('0x76')||_0x182ff5===_0x0aba('0x77')||_0x182ff5===_0x0aba('0x5c')||_0x182ff5===_0x0aba('0x5d')||_0x182ff5===_0x0aba('0x78')||_0x182ff5==='VoiceQueueId'||_0x182ff5===_0x0aba('0x79')||_0x182ff5===_0x0aba('0x7a')||_0x182ff5==='xmd-queue'||_0x182ff5==='xmd-phone'||_0x182ff5===_0x0aba('0x7b')||_0x182ff5===_0x0aba('0x7c')||_0x182ff5===_0x0aba('0x7d')||_0x182ff5==='xmd-dialoptions'||_0x182ff5==='xmd-dialid'||_0x182ff5==='xmd-dialchannel'||_0x182ff5===_0x0aba('0x7e')||_0x182ff5==='xmd-cdrtype'||_0x182ff5==='xmd-callerid'||_0x182ff5===_0x0aba('0x7f')||_0x182ff5===_0x0aba('0x80')||_0x182ff5==='rtpaudioqos'||_0x182ff5===_0x0aba('0x81')||_0x182ff5==='rtpaudioqosjitter'||_0x182ff5===_0x0aba('0x82')||_0x182ff5===_0x0aba('0x83')||_0x182ff5===_0x0aba('0x84')||_0x182ff5===_0x0aba('0x85')||_0x182ff5==='rtpaudioqosrttbridged'||_0x182ff5===_0x0aba('0x86')||_0x182ff5===_0x0aba('0x81')||_0x182ff5==='rtpaudioqosjitter'||_0x182ff5===_0x0aba('0x82')||_0x182ff5===_0x0aba('0x83')||_0x182ff5===_0x0aba('0x84')||_0x182ff5===_0x0aba('0x85')||_0x182ff5===_0x0aba('0x87')||_0x182ff5===_0x0aba('0x88')||_0x182ff5===_0x0aba('0x89')||_0x182ff5===_0x0aba('0x42')||_0x182ff5===_0x0aba('0x3c')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x4712ca,_0x375303){var _0x2032e0,_0x881700,_0x139844;if(_0x375303<=0x0){_0x375303=0x1;}_0x2032e0=new RegExp(_0x0aba('0x8a')+_0x375303+'}$');_0x881700=Math[_0x0aba('0x8b')](0xa,_0x375303-0x1);_0x139844=Math[_0x0aba('0x8b')](0xa,_0x375303)-0x1;return util[_0x0aba('0x14')]('%s',_[_0x0aba('0x8c')](_0x4712ca,_0x2032e0,_[_0x0aba('0x8d')](_0x881700,_0x139844)));};exports[_0x0aba('0x8e')]=function(_0x186324){var _0x4e6314=_0x186324[_0x0aba('0x8f')](/"(.*?)"/);return _0x4e6314?_0x4e6314[0x1]:_0x186324;};exports['extractCalleridNumber']=function(_0x1177ed){var _0x358c93=_0x1177ed[_0x0aba('0x8f')](/<(.*?)>/);return _0x358c93?_0x358c93[0x1]:_0x1177ed;};function buildNoAnswerEventPayload(_0x112abb,_0x55325e){var _0xbd727d=buildObj(_0x112abb,'noanswer');if(!_['isEmpty'](_0x55325e['variables'])){Object[_0x0aba('0x90')](_0x55325e[_0x0aba('0x91')])['forEach'](function(_0x268a04){_0xbd727d[_0x268a04[_0x0aba('0x92')]()]=_0x55325e[_0x0aba('0x91')][_0x268a04];});}return _0xbd727d;}exports[_0x0aba('0x93')]=buildNoAnswerEventPayload;