Built motion from commit (unavailable).|2.3.92
[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 _0xe2a0=['\x5cw{0,','pow','replace','random','match','moment','../../../../config/logger','XCALLY_IP_AGI','milliseconds','diff','seconds','loggerCatch','logger','info','inspect','error','message','getCallerId','isEmpty','string','format','\x22%s\x22\x20<%s>','isUndefined','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','dialQueueProject2','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','%s%s','XMD-','toUpper','toLowerVariables','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','responsetime','endtime','state','ringtime','starttime','logLookAgent','membername','UserId','logCustomer','talktime','answertime','isFailure','Failure','variablesAction','RECALL','BOOKED','uniqueid','channelAgent','from-sip','countbusyretry','countnoanswerretry','cloneAction','clone','active','add','minutes','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','queue','interface','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','createBody','CampaignId','filterKey','idContact','type','campaigntype','scheduledat','countcongestionretry','callback','callbackuniqueid','callbackat','sipcallid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-cdrtype','xmd-agiafter','xmd-agi','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqos','rtpaudioqosjitterbridged','bridgepeer'];(function(_0x3e895c,_0x1122c4){var _0x5dc091=function(_0x519842){while(--_0x519842){_0x3e895c['push'](_0x3e895c['shift']());}};_0x5dc091(++_0x1122c4);}(_0xe2a0,0x1a0));var _0x0e2a=function(_0x104aea,_0x541bf1){_0x104aea=_0x104aea-0x0;var _0x472ade=_0xe2a0[_0x104aea];return _0x472ade;};'use strict';var util=require('util');var _=require('lodash');var moment=require(_0x0e2a('0x0'));var logger=require(_0x0e2a('0x1'))('preview');var ipAgi=process['env'][_0x0e2a('0x2')]||'127.0.0.1';function getSeconds(_0x340421,_0x182550){var _0x13af16=moment(_0x340421)[_0x0e2a('0x3')](0x0);var _0x5c20b8=moment(_0x182550)[_0x0e2a('0x3')](0x0);return _0x13af16[_0x0e2a('0x4')](_0x5c20b8,_0x0e2a('0x5'));}exports[_0x0e2a('0x6')]=function(_0x26b350){return function(_0x59db04){logger['error'](_0x26b350,util['inspect'](_0x59db04,{'showHidden':![],'depth':null}));};};exports[_0x0e2a('0x7')]=function(_0x1ca601,_0x2a4bac){logger[_0x0e2a('0x8')](_0x1ca601,util[_0x0e2a('0x9')](_0x2a4bac,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x3b09d2,_0x3f5b42){logger[_0x0e2a('0xa')](_0x3b09d2,util[_0x0e2a('0x9')](_0x3f5b42,{'showHidden':![],'depth':null}));};exports['logger2']=function(_0x3274df){return function(_0x27d751){logger['info'](_0x3274df,util[_0x0e2a('0x9')](_0x27d751,{'showHidden':![],'depth':null}));};};exports[_0x0e2a('0xb')]=function(_0x805e81,_0x44a130,_0x40e33c){return{'message':_0x805e81,'unlock':_0x44a130,'active':_0x40e33c};};exports[_0x0e2a('0xc')]=function(_0x3dbda1,_0x53b788,_0x2c4e49){if(!_['isUndefined'](_0x2c4e49)&&'string'===typeof _0x2c4e49&&!_[_0x0e2a('0xd')](_0x2c4e49)){if(!_['isUndefined'](_0x53b788)&&_0x0e2a('0xe')===typeof _0x53b788&&!_[_0x0e2a('0xd')](_0x53b788)){return util[_0x0e2a('0xf')](_0x0e2a('0x10'),_0x53b788,_0x2c4e49);}return util['format']('\x22%s\x22\x20<%s>',_0x2c4e49,_0x2c4e49);}if(!_[_0x0e2a('0x11')](_0x3dbda1)&&_0x0e2a('0xe')===typeof _0x3dbda1&&!_['isEmpty'](_0x3dbda1)){return _0x3dbda1;}return _0x0e2a('0x12');};exports[_0x0e2a('0x13')]=function(_0x1165a0){if(_[_0x0e2a('0x14')](_0x1165a0)){return![];}return _0x1165a0;};exports[_0x0e2a('0x15')]=function(_0x51ed5b,_0x4f5ead,_0x2e346c,_0x1e06b1,_0xed0d58,_0x35145f){var _0x1da474={'XMD-QUEUE':_0x4f5ead[_0x0e2a('0x16')]?_0x4f5ead[_0x0e2a('0x16')][_0x0e2a('0x17')]:'','XMD-CALLERID':_0x1e06b1,'XMD-CALLERID-PREVIEW':_0x35145f?util[_0x0e2a('0xf')](_0x0e2a('0x10'),_0x35145f[_0x0e2a('0x18')],_0x35145f[_0x0e2a('0x19')]):_0x1e06b1,'XMD-DIALID':_0xed0d58,'XMD-CONTACTID':_0x4f5ead[_0x0e2a('0x1a')],'XMD-CDRTYPE':_0x0e2a('0x1b'),'CALLERID(all)':_0x1e06b1,'XMD-VOICEQUEUEID':_0x4f5ead['VoiceQueueId'],'XMD-DIALCHANNEL':_0x2e346c,'XMD-DIALTIMEOUT':_0x51ed5b[_0x0e2a('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0x0e2a('0xf')](_0x0e2a('0x1d'),_0x51ed5b['dialQueueProject2']?'g':'',_[_0x0e2a('0xd')](_0x51ed5b['monitor_format'])?'':_0x0e2a('0x1e')),'XMD-DIALURL':_0x51ed5b[_0x0e2a('0x1f')]||'','XMD-AGI':_0x51ed5b[_0x0e2a('0x20')]?util[_0x0e2a('0xf')](_0x0e2a('0x21'),ipAgi,_0x51ed5b[_0x0e2a('0x20')]):_0x0e2a('0x22'),'XMD-AGIAFTER':_0x51ed5b[_0x0e2a('0x23')]?util[_0x0e2a('0xf')](_0x0e2a('0x21'),ipAgi,_0x51ed5b['dialQueueProject2']):'NONE','XMD-ORIGINATECALLERIDNUM':_0x35145f?_0x35145f[_0x0e2a('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x35145f?_0x35145f[_0x0e2a('0x25')]:'','XMD-DESTINATION':_0x0e2a('0x26')};if(!_[_0x0e2a('0xd')](_0x51ed5b[_0x0e2a('0x27')])){_0x1da474[util['format']('%s',_0x0e2a('0x28'))]=_0x51ed5b['monitor_format'];_0x1da474[util[_0x0e2a('0xf')]('%s',_0x0e2a('0x29'))]=_0xed0d58;}if(_0x4f5ead&&_0x4f5ead[_0x0e2a('0x2a')]){for(var _0x4cec72 in _0x4f5ead[_0x0e2a('0x2a')]){if(_0x4f5ead[_0x0e2a('0x2a')][_0x0e2a('0x2b')](_0x4cec72)){if(!_['isNil'](_0x4f5ead['Contact'][_0x4cec72])&&_0x4cec72!=='id'&&_0x4cec72!==_0x0e2a('0x2c')&&_0x4cec72!==_0x0e2a('0x2d')&&_0x4cec72!=='updatedAt'){_0x1da474[util[_0x0e2a('0xf')](_0x0e2a('0x2e'),_0x0e2a('0x2f'),_[_0x0e2a('0x30')](_0x4cec72))]=_0x4f5ead[_0x0e2a('0x2a')][_0x4cec72];}}}}return _0x1da474;};exports[_0x0e2a('0x31')]=function(_0x113e53){var _0x593178={};for(var _0x2e91b4 in _0x113e53){if(_0x113e53[_0x0e2a('0x2b')](_0x2e91b4)){_0x593178[util[_0x0e2a('0xf')]('%s',_[_0x0e2a('0x32')](_0x2e91b4))]=_0x113e53[_0x2e91b4];}}return{'variables':_0x593178};};exports[_0x0e2a('0x33')]=function(_0x152e86,_0x58b32e){if(!_[_0x0e2a('0x14')](_0x152e86)){if(_0x152e86[_0x0e2a('0x2b')]('originated')){if(_0x152e86[_0x0e2a('0x34')]>0x0){_0x152e86['originated']-=0x1;}else{logger['error'](_0x0e2a('0x35'),_0x58b32e);}}}else{logger[_0x0e2a('0xa')](_0x0e2a('0x36'),_0x58b32e);}};exports[_0x0e2a('0x37')]=function(_0x1d19a8){var _0x2ddca8=moment()[_0x0e2a('0xf')](_0x0e2a('0x38'));_0x1d19a8['state']=0xd;_0x1d19a8[_0x0e2a('0x39')]=_0x0e2a('0x3a');_0x1d19a8['starttime']=_0x2ddca8;_0x1d19a8[_0x0e2a('0x3b')]=_0x2ddca8;_0x1d19a8[_0x0e2a('0x3c')]=_0x2ddca8;};exports['logAgent']=function(_0x597117,_0x2c0ba1,_0x118837){var _0x362518=moment()[_0x0e2a('0xf')](_0x0e2a('0x38'));_0x597117[_0x0e2a('0x3d')]=_0x2c0ba1;_0x597117['statedesc']=_0x118837;_0x597117[_0x0e2a('0x3b')]=_0x362518;_0x597117[_0x0e2a('0x3e')]=getSeconds(_0x597117[_0x0e2a('0x3b')],_0x597117[_0x0e2a('0x3f')]);};exports[_0x0e2a('0x40')]=function(_0x1b545c,_0x3c67f0,_0xd896c0){_0x1b545c[_0x0e2a('0x41')]=_0x3c67f0;_0x1b545c[_0x0e2a('0x42')]=_0xd896c0;};exports[_0x0e2a('0x43')]=function(_0x3e577a,_0x43cec2,_0x26ebf1){var _0x222cd7=moment()[_0x0e2a('0xf')](_0x0e2a('0x38'));_0x3e577a[_0x0e2a('0x3d')]=_0x43cec2;_0x3e577a['statedesc']=_0x26ebf1;_0x3e577a[_0x0e2a('0x3b')]=_0x3e577a[_0x0e2a('0x3b')]?_0x3e577a[_0x0e2a('0x3b')]:_0x222cd7;_0x3e577a[_0x0e2a('0x3c')]=_0x3e577a[_0x0e2a('0x3c')]?_0x3e577a[_0x0e2a('0x3c')]:_0x222cd7;_0x3e577a[_0x0e2a('0x3e')]=getSeconds(_0x3e577a[_0x0e2a('0x3b')]||0x0,_0x3e577a[_0x0e2a('0x3f')]||0x0);_0x3e577a[_0x0e2a('0x44')]=_0x3e577a[_0x0e2a('0x45')]?getSeconds(_0x3e577a['endtime'],_0x3e577a[_0x0e2a('0x45')]):0x0;};exports[_0x0e2a('0x46')]=function(_0x4fbe61){return _0x4fbe61===_0x0e2a('0x47');};exports[_0x0e2a('0x48')]=function(_0x54d11a,_0x216a92,_0x3d4209,_0x2462ef,_0x29ff97){var _0x27f791=_0x2462ef?_0x0e2a('0x49'):_0x54d11a[_0x0e2a('0x18')];_0x27f791=_0x29ff97?_0x0e2a('0x4a'):_0x27f791;return{'actionid':_0x54d11a[_0x0e2a('0x4b')],'action':'originate','channel':_0x54d11a[_0x0e2a('0x4c')],'callerid':util[_0x0e2a('0xf')](_0x0e2a('0x10'),_0x27f791,_0x54d11a[_0x0e2a('0x19')]),'Exten':_0x0e2a('0x26'),'Context':_0x0e2a('0x4d'),'Priority':'1','variable':_0x3d4209,'timeout':(_0x216a92['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x54d11a[_0x0e2a('0x4b')]};};exports['totalGlobal']=function(_0x14da78){return _0x14da78[_0x0e2a('0x4e')]+_0x14da78['countcongestionretry']+_0x14da78[_0x0e2a('0x4f')];};exports[_0x0e2a('0x50')]=function(_0x51aecb){var _0x3ffaea=_[_0x0e2a('0x51')](_0x51aecb);_0x3ffaea[_0x0e2a('0x3d')]=0xf;_0x3ffaea[_0x0e2a('0x39')]='Global';return _0x3ffaea;};exports['scheduledAt']=function(_0x3a47e5,_0x30f628,_0x4e583e){var _0x2955f0={};_0x2955f0[_0x30f628]=_0x3a47e5[_0x30f628];_0x2955f0[_0x0e2a('0x52')]=![];_0x2955f0['scheduledat']=moment()[_0x0e2a('0x53')](_0x4e583e,_0x0e2a('0x54'))['format'](_0x0e2a('0x38'));_0x2955f0[_0x0e2a('0x1a')]=_0x3a47e5[_0x0e2a('0x1a')];_0x2955f0[_0x0e2a('0x55')]=_0x3a47e5[_0x0e2a('0x55')];_0x2955f0[_0x0e2a('0x56')]=_0x3a47e5[_0x0e2a('0x56')]||undefined;return _0x2955f0;};exports[_0x0e2a('0x57')]=function(_0x2272a6,_0x3ef1c3){if(!_[_0x0e2a('0x14')](_0x2272a6)){if(_0x2272a6[_0x0e2a('0x58')]>0x0){_0x2272a6[_0x0e2a('0x58')]-=0x1;}else{logger[_0x0e2a('0xa')](_0x3ef1c3,_0x0e2a('0x59'));}}else{logger['error'](_0x3ef1c3,_0x0e2a('0x5a'));}};exports[_0x0e2a('0x5b')]=function(_0x4eda8d){if(_0x4eda8d<=0x0){return!![];}return![];};exports[_0x0e2a('0x5c')]=function(_0x180454,_0x2ac181){_0x180454[_0x0e2a('0x5d')]=_0x2ac181;_0x180454[_0x0e2a('0x17')]=_0x180454[_0x0e2a('0x5e')];_0x180454[_0x0e2a('0x5f')]=_0x180454['channelAgent'];return _0x180454;};exports[_0x0e2a('0x60')]=function(_0x36b2c7){var _0x1a4312={};_0x1a4312[_0x0e2a('0x5e')]=_0x36b2c7[_0x0e2a('0x5e')];_0x1a4312[_0x0e2a('0x5f')]=_0x36b2c7[_0x0e2a('0x4c')];_0x1a4312[_0x0e2a('0x4b')]=_0x36b2c7[_0x0e2a('0x4b')];return _0x1a4312;};exports[_0x0e2a('0x61')]=function(_0x227324){var _0xe8807f=[];for(var _0x285756 in _0x227324){if(_0x227324[_0x0e2a('0x2b')](_0x285756)){if(!_['isNil'](_0x227324[_0x285756])&&_0x227324[_0x285756][_0x0e2a('0x3d')]===_0x0e2a('0x62')&&_0x227324[_0x285756][_0x0e2a('0x63')]===_0x0e2a('0x64')){_0xe8807f[_0x0e2a('0x65')](_0x227324[_0x285756]['id']);}}}return _0xe8807f;};exports[_0x0e2a('0x66')]=function(_0x25cd70){var _0x17e6bf=moment()[_0x0e2a('0x3')](0x0);var _0x5d32ed=moment(_0x25cd70)[_0x0e2a('0x3')](0x0);return _0x17e6bf[_0x0e2a('0x4')](_0x5d32ed,_0x0e2a('0x5'));};exports[_0x0e2a('0x67')]=function(_0x1834d7){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x1834d7[_0x0e2a('0x1a')],'ListId':_0x1834d7['ListId'],'VoiceQueueId':_0x1834d7[_0x0e2a('0x56')]||undefined,'CampaignId':_0x1834d7[_0x0e2a('0x68')]||undefined};};exports[_0x0e2a('0x69')]=function(_0x5a2771){if(_0x5a2771===_0x0e2a('0x4b')||_0x5a2771===_0x0e2a('0x6a')||_0x5a2771===_0x0e2a('0x5e')||_0x5a2771===_0x0e2a('0x6b')||_0x5a2771===_0x0e2a('0x6c')||_0x5a2771==='dialAnswer'||_0x5a2771===_0x0e2a('0x41')||_0x5a2771==='channelAgent'||_0x5a2771===_0x0e2a('0x18')||_0x5a2771===_0x0e2a('0x52')||_0x5a2771==='calleridnum'||_0x5a2771===_0x0e2a('0x6d')||_0x5a2771===_0x0e2a('0x4e')||_0x5a2771===_0x0e2a('0x6e')||_0x5a2771===_0x0e2a('0x4f')||_0x5a2771==='countglobal'||_0x5a2771===_0x0e2a('0x6f')||_0x5a2771===_0x0e2a('0x70')||_0x5a2771===_0x0e2a('0x71')||_0x5a2771==='recallme'||_0x5a2771===_0x0e2a('0x1a')||_0x5a2771===_0x0e2a('0x55')||_0x5a2771===_0x0e2a('0x42')||_0x5a2771===_0x0e2a('0x56')||_0x5a2771===_0x0e2a('0x72')||_0x5a2771==='xmd-voicequeueid'||_0x5a2771===_0x0e2a('0x73')||_0x5a2771===_0x0e2a('0x74')||_0x5a2771===_0x0e2a('0x75')||_0x5a2771===_0x0e2a('0x76')||_0x5a2771===_0x0e2a('0x77')||_0x5a2771===_0x0e2a('0x78')||_0x5a2771==='xmd-dialid'||_0x5a2771===_0x0e2a('0x79')||_0x5a2771==='xmd-contactid'||_0x5a2771===_0x0e2a('0x7a')||_0x5a2771==='xmd-callerid'||_0x5a2771===_0x0e2a('0x7b')||_0x5a2771===_0x0e2a('0x7c')||_0x5a2771==='rtpaudioqos'||_0x5a2771==='rtpaudioqosbridged'||_0x5a2771===_0x0e2a('0x7d')||_0x5a2771==='rtpaudioqosjitterbridged'||_0x5a2771===_0x0e2a('0x7e')||_0x5a2771==='rtpaudioqoslossbridged'||_0x5a2771===_0x0e2a('0x7f')||_0x5a2771===_0x0e2a('0x80')||_0x5a2771===_0x0e2a('0x81')||_0x5a2771==='rtpaudioqosbridged'||_0x5a2771===_0x0e2a('0x7d')||_0x5a2771===_0x0e2a('0x82')||_0x5a2771==='rtpaudioqosloss'||_0x5a2771==='rtpaudioqoslossbridged'||_0x5a2771===_0x0e2a('0x7f')||_0x5a2771===_0x0e2a('0x80')||_0x5a2771===_0x0e2a('0x83')||_0x5a2771==='bridgepvtcallid'||_0x5a2771===_0x0e2a('0x3d')||_0x5a2771===_0x0e2a('0x39')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x123930,_0x30b83d){var _0x475f7a,_0x54f374,_0x442cc1;if(_0x30b83d<=0x0){_0x30b83d=0x1;}_0x475f7a=new RegExp(_0x0e2a('0x84')+_0x30b83d+'}$');_0x54f374=Math['pow'](0xa,_0x30b83d-0x1);_0x442cc1=Math[_0x0e2a('0x85')](0xa,_0x30b83d)-0x1;return util[_0x0e2a('0xf')]('%s',_[_0x0e2a('0x86')](_0x123930,_0x475f7a,_[_0x0e2a('0x87')](_0x54f374,_0x442cc1)));};exports['extractCalleridName']=function(_0x49ea26){var _0x165dcc=_0x49ea26['match'](/"(.*?)"/);return _0x165dcc?_0x165dcc[0x1]:_0x49ea26;};exports['extractCalleridNumber']=function(_0x3b876e){var _0xb33134=_0x3b876e[_0x0e2a('0x88')](/<(.*?)>/);return _0xb33134?_0xb33134[0x1]:_0x3b876e;};