5299c83a7d6b770bee1df49b7ed3b87af86c1386
[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 _0x4643=['loggerCatch','error','logger','info','loggerError','inspect','logger2','message','getCallerId','isUndefined','isEmpty','\x22%s\x22\x20<%s>','format','string','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','updatedAt','%s%s','XMD-','toUpper','toLower','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','state','statedesc','starttime','endtime','YYYY-MM-DD\x20HH:mm:ss','responsetime','logLookAgent','ringtime','talktime','answertime','isFailure','Failure','variablesAction','RECALL','BOOKED','uniqueid','channelAgent','xcally-motion-preview','from-sip','countbusyretry','countcongestionretry','countnoanswerretry','countnosuchnumberretry','clone','Global','active','scheduledat','add','minutes','ListId','decrementTalkink','pTalking','buildObj','name','queue','mandatoryDisposition','buildAcw','interface','agentReadyId','not_inuse','status','push','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','membername','callback','callbackuniqueid','callbackat','UserId','sipcallid','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqos','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','extractCalleridName','match','extractCalleridNumber','util','../../../../config/logger','preview','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds'];(function(_0x5511a4,_0xb62bf3){var _0x8563aa=function(_0x5104bf){while(--_0x5104bf){_0x5511a4['push'](_0x5511a4['shift']());}};_0x8563aa(++_0xb62bf3);}(_0x4643,0x10a));var _0x3464=function(_0x51020b,_0x38c2c7){_0x51020b=_0x51020b-0x0;var _0x371e47=_0x4643[_0x51020b];return _0x371e47;};'use strict';var util=require(_0x3464('0x0'));var _=require('lodash');var moment=require('moment');var logger=require(_0x3464('0x1'))(_0x3464('0x2'));var ipAgi=process['env'][_0x3464('0x3')]||_0x3464('0x4');function getSeconds(_0x36b67e,_0x21bf34){var _0x475dd7=moment(_0x36b67e)[_0x3464('0x5')](0x0);var _0x132c98=moment(_0x21bf34)[_0x3464('0x5')](0x0);return _0x475dd7[_0x3464('0x6')](_0x132c98,_0x3464('0x7'));}exports[_0x3464('0x8')]=function(_0x7d543f){return function(_0x4bafb0){logger[_0x3464('0x9')](_0x7d543f,util['inspect'](_0x4bafb0,{'showHidden':![],'depth':null}));};};exports[_0x3464('0xa')]=function(_0x2d62eb,_0x297efe){logger[_0x3464('0xb')](_0x2d62eb,util['inspect'](_0x297efe,{'showHidden':![],'depth':null}));};exports[_0x3464('0xc')]=function(_0xfc7797,_0x13fcc5){logger[_0x3464('0x9')](_0xfc7797,util[_0x3464('0xd')](_0x13fcc5,{'showHidden':![],'depth':null}));};exports[_0x3464('0xe')]=function(_0xcf7409){return function(_0x1ec329){logger[_0x3464('0xb')](_0xcf7409,util['inspect'](_0x1ec329,{'showHidden':![],'depth':null}));};};exports[_0x3464('0xf')]=function(_0x1db374,_0x5beb82,_0x5730f9){return{'message':_0x1db374,'unlock':_0x5beb82,'active':_0x5730f9};};exports[_0x3464('0x10')]=function(_0x15aef9,_0x321a6c,_0x7d05e0){if(!_[_0x3464('0x11')](_0x7d05e0)&&'string'===typeof _0x7d05e0&&!_[_0x3464('0x12')](_0x7d05e0)){if(!_[_0x3464('0x11')](_0x321a6c)&&'string'===typeof _0x321a6c&&!_[_0x3464('0x12')](_0x321a6c)){return util['format'](_0x3464('0x13'),_0x321a6c,_0x7d05e0);}return util[_0x3464('0x14')](_0x3464('0x13'),_0x7d05e0,_0x7d05e0);}if(!_[_0x3464('0x11')](_0x15aef9)&&_0x3464('0x15')===typeof _0x15aef9&&!_[_0x3464('0x12')](_0x15aef9)){return _0x15aef9;}return _0x3464('0x16');};exports[_0x3464('0x17')]=function(_0x1b3ed5){if(_[_0x3464('0x18')](_0x1b3ed5)){return![];}return _0x1b3ed5;};exports[_0x3464('0x19')]=function(_0xc6a699,_0x373cd3,_0x2119f3,_0x457a4a,_0x502873,_0x2fd518){var _0x2a1d5a={'XMD-QUEUE':_0x373cd3[_0x3464('0x1a')]?_0x373cd3[_0x3464('0x1a')]['name']:'','XMD-CALLERID':_0x457a4a,'XMD-CALLERID-PREVIEW':_0x2fd518?util[_0x3464('0x14')](_0x3464('0x13'),_0x2fd518[_0x3464('0x1b')],_0x2fd518[_0x3464('0x1c')]):_0x457a4a,'XMD-DIALID':_0x502873,'XMD-CONTACTID':_0x373cd3[_0x3464('0x1d')],'XMD-CDRTYPE':_0x3464('0x1e'),'CALLERID(all)':_0x457a4a,'XMD-VOICEQUEUEID':_0x373cd3[_0x3464('0x1f')],'XMD-DIALCHANNEL':_0x2119f3,'XMD-DIALTIMEOUT':_0xc6a699[_0x3464('0x20')]||0x1e,'XMD-DIALOPTIONS':util[_0x3464('0x14')](_0x3464('0x21'),_0xc6a699[_0x3464('0x22')]?'g':'',_[_0x3464('0x12')](_0xc6a699[_0x3464('0x23')])?'':_0x3464('0x24')),'XMD-DIALURL':_0xc6a699[_0x3464('0x25')]||'','XMD-AGI':_0xc6a699[_0x3464('0x26')]?util[_0x3464('0x14')](_0x3464('0x27'),ipAgi,_0xc6a699[_0x3464('0x26')]):'NONE','XMD-AGIAFTER':_0xc6a699['dialQueueProject2']?util[_0x3464('0x14')](_0x3464('0x27'),ipAgi,_0xc6a699['dialQueueProject2']):_0x3464('0x28'),'XMD-ORIGINATECALLERIDNUM':_0x2fd518?_0x2fd518[_0x3464('0x29')]:'','XMD-ORIGINATECALLERIDNAME':_0x2fd518?_0x2fd518['originatecalleridname']:'','XMD-DESTINATION':'xcally-motion-preview'};if(!_[_0x3464('0x12')](_0xc6a699['monitor_format'])){_0x2a1d5a[util[_0x3464('0x14')]('%s',_0x3464('0x2a'))]=_0xc6a699['monitor_format'];_0x2a1d5a[util[_0x3464('0x14')]('%s',_0x3464('0x2b'))]=_0x502873;}if(_0x373cd3&&_0x373cd3[_0x3464('0x2c')]){for(var _0x112100 in _0x373cd3[_0x3464('0x2c')]){if(_0x373cd3[_0x3464('0x2c')][_0x3464('0x2d')](_0x112100)){if(!_[_0x3464('0x18')](_0x373cd3[_0x3464('0x2c')][_0x112100])&&_0x112100!=='id'&&_0x112100!=='tags'&&_0x112100!=='createdAt'&&_0x112100!==_0x3464('0x2e')){_0x2a1d5a[util[_0x3464('0x14')](_0x3464('0x2f'),_0x3464('0x30'),_[_0x3464('0x31')](_0x112100))]=_0x373cd3[_0x3464('0x2c')][_0x112100];}}}}return _0x2a1d5a;};exports['toLowerVariables']=function(_0x1ccb53){var _0x578a3d={};for(var _0x4e91e6 in _0x1ccb53){if(_0x1ccb53['hasOwnProperty'](_0x4e91e6)){_0x578a3d[util[_0x3464('0x14')]('%s',_[_0x3464('0x32')](_0x4e91e6))]=_0x1ccb53[_0x4e91e6];}}return{'variables':_0x578a3d};};exports['updateOriginated']=function(_0xc00212,_0x6674dd){if(!_[_0x3464('0x18')](_0xc00212)){if(_0xc00212[_0x3464('0x2d')]('originated')){if(_0xc00212[_0x3464('0x33')]>0x0){_0xc00212[_0x3464('0x33')]-=0x1;}else{logger[_0x3464('0x9')](_0x3464('0x34'),_0x6674dd);}}}else{logger[_0x3464('0x9')](_0x3464('0x35'),_0x6674dd);}};exports[_0x3464('0x36')]=function(_0x1faec6){var _0x13f416=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x1faec6[_0x3464('0x37')]=0xd;_0x1faec6[_0x3464('0x38')]='Blacklist';_0x1faec6[_0x3464('0x39')]=_0x13f416;_0x1faec6['responsetime']=_0x13f416;_0x1faec6[_0x3464('0x3a')]=_0x13f416;};exports['logAgent']=function(_0x15aedf,_0xca8288,_0x485e25){var _0x1a662b=moment()[_0x3464('0x14')](_0x3464('0x3b'));_0x15aedf['state']=_0xca8288;_0x15aedf[_0x3464('0x38')]=_0x485e25;_0x15aedf[_0x3464('0x3c')]=_0x1a662b;_0x15aedf['ringtime']=getSeconds(_0x15aedf[_0x3464('0x3c')],_0x15aedf[_0x3464('0x39')]);};exports[_0x3464('0x3d')]=function(_0x2cb02a,_0x29d4e4,_0x5727b8){_0x2cb02a['membername']=_0x29d4e4;_0x2cb02a['UserId']=_0x5727b8;};exports['logCustomer']=function(_0x256765,_0x58374a,_0x4cdf1d){var _0x1fdfff=moment()[_0x3464('0x14')](_0x3464('0x3b'));_0x256765['state']=_0x58374a;_0x256765[_0x3464('0x38')]=_0x4cdf1d;_0x256765['responsetime']=_0x256765[_0x3464('0x3c')]?_0x256765[_0x3464('0x3c')]:_0x1fdfff;_0x256765[_0x3464('0x3a')]=_0x256765[_0x3464('0x3a')]?_0x256765[_0x3464('0x3a')]:_0x1fdfff;_0x256765[_0x3464('0x3e')]=getSeconds(_0x256765[_0x3464('0x3c')]||0x0,_0x256765[_0x3464('0x39')]||0x0);_0x256765[_0x3464('0x3f')]=_0x256765[_0x3464('0x40')]?getSeconds(_0x256765[_0x3464('0x3a')],_0x256765[_0x3464('0x40')]):0x0;};exports[_0x3464('0x41')]=function(_0x19b651){return _0x19b651===_0x3464('0x42');};exports[_0x3464('0x43')]=function(_0x380223,_0x3e518e,_0x33dba2,_0x19568a,_0x502763){var _0x53f184=_0x19568a?_0x3464('0x44'):_0x380223['calleridname'];_0x53f184=_0x502763?_0x3464('0x45'):_0x53f184;return{'actionid':_0x380223[_0x3464('0x46')],'action':'originate','channel':_0x380223[_0x3464('0x47')],'callerid':util['format'](_0x3464('0x13'),_0x53f184,_0x380223[_0x3464('0x1c')]),'Exten':_0x3464('0x48'),'Context':_0x3464('0x49'),'Priority':'1','variable':_0x33dba2,'timeout':(_0x3e518e['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x380223[_0x3464('0x46')]};};exports['totalGlobal']=function(_0x428bcf){return _0x428bcf[_0x3464('0x4a')]+_0x428bcf[_0x3464('0x4b')]+_0x428bcf[_0x3464('0x4c')]+_0x428bcf['countagentrejectretry']+_0x428bcf[_0x3464('0x4d')];};exports['cloneAction']=function(_0x1f4509){var _0x2c7931=_[_0x3464('0x4e')](_0x1f4509);_0x2c7931[_0x3464('0x37')]=0xf;_0x2c7931[_0x3464('0x38')]=_0x3464('0x4f');return _0x2c7931;};exports['scheduledAt']=function(_0x253751,_0x42eab5,_0xb081cc){var _0x2c481e={};_0x2c481e[_0x42eab5]=_0x253751[_0x42eab5];_0x2c481e[_0x3464('0x50')]=![];_0x2c481e[_0x3464('0x51')]=moment()[_0x3464('0x52')](_0xb081cc,_0x3464('0x53'))['format'](_0x3464('0x3b'));_0x2c481e[_0x3464('0x1d')]=_0x253751[_0x3464('0x1d')];_0x2c481e[_0x3464('0x54')]=_0x253751['ListId'];_0x2c481e[_0x3464('0x1f')]=_0x253751[_0x3464('0x1f')]||undefined;return _0x2c481e;};exports[_0x3464('0x55')]=function(_0x440b98,_0x4c9cdf){if(!_[_0x3464('0x18')](_0x440b98)){if(_0x440b98['pTalking']>0x0){_0x440b98[_0x3464('0x56')]-=0x1;}else{logger['error'](_0x4c9cdf,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0x3464('0x9')](_0x4c9cdf,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports['IsNotLoggedIn']=function(_0x1c3c3d){if(_0x1c3c3d<=0x0){return!![];}return![];};exports[_0x3464('0x57')]=function(_0x4309c3,_0x48e636,_0x45fa60){_0x4309c3['lastevent']=_0x48e636;_0x4309c3[_0x3464('0x58')]=_0x4309c3[_0x3464('0x59')];_0x4309c3['interface']=_0x4309c3[_0x3464('0x47')];if(_0x45fa60){_0x4309c3[_0x3464('0x5a')]=_0x45fa60[_0x3464('0x5a')];}return _0x4309c3;};exports[_0x3464('0x5b')]=function(_0x37a82d){var _0x4160ba={};_0x4160ba[_0x3464('0x59')]=_0x37a82d[_0x3464('0x59')];_0x4160ba[_0x3464('0x5c')]=_0x37a82d[_0x3464('0x47')];_0x4160ba[_0x3464('0x46')]=_0x37a82d['uniqueid'];return _0x4160ba;};exports[_0x3464('0x5d')]=function(_0x1e3c9c){var _0x3ff84f=[];for(var _0x13028c in _0x1e3c9c){if(_0x1e3c9c[_0x3464('0x2d')](_0x13028c)){if(!_[_0x3464('0x18')](_0x1e3c9c[_0x13028c])&&_0x1e3c9c[_0x13028c][_0x3464('0x37')]===_0x3464('0x5e')&&_0x1e3c9c[_0x13028c][_0x3464('0x5f')]==='reachable'){_0x3ff84f[_0x3464('0x60')](_0x1e3c9c[_0x13028c]['id']);}}}return _0x3ff84f;};exports['getDiff']=function(_0x4f351c){var _0x193b63=moment()[_0x3464('0x5')](0x0);var _0x52691f=moment(_0x4f351c)['milliseconds'](0x0);return _0x193b63['diff'](_0x52691f,'seconds');};exports[_0x3464('0x61')]=function(_0x5b7158){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x5b7158[_0x3464('0x1d')],'ListId':_0x5b7158[_0x3464('0x54')],'VoiceQueueId':_0x5b7158['VoiceQueueId']||undefined,'CampaignId':_0x5b7158[_0x3464('0x62')]||undefined};};exports[_0x3464('0x63')]=function(_0x36f934){if(_0x36f934===_0x3464('0x46')||_0x36f934===_0x3464('0x64')||_0x36f934===_0x3464('0x59')||_0x36f934===_0x3464('0x65')||_0x36f934===_0x3464('0x66')||_0x36f934===_0x3464('0x67')||_0x36f934===_0x3464('0x68')||_0x36f934===_0x3464('0x47')||_0x36f934===_0x3464('0x1b')||_0x36f934===_0x3464('0x50')||_0x36f934===_0x3464('0x1c')||_0x36f934===_0x3464('0x51')||_0x36f934==='countbusyretry'||_0x36f934===_0x3464('0x4b')||_0x36f934===_0x3464('0x4c')||_0x36f934==='countglobal'||_0x36f934===_0x3464('0x69')||_0x36f934===_0x3464('0x6a')||_0x36f934===_0x3464('0x6b')||_0x36f934==='recallme'||_0x36f934===_0x3464('0x1d')||_0x36f934===_0x3464('0x54')||_0x36f934===_0x3464('0x6c')||_0x36f934==='VoiceQueueId'||_0x36f934===_0x3464('0x6d')||_0x36f934==='xmd-voicequeueid'||_0x36f934==='xmd-queue'||_0x36f934===_0x3464('0x6e')||_0x36f934===_0x3464('0x6f')||_0x36f934===_0x3464('0x70')||_0x36f934===_0x3464('0x71')||_0x36f934===_0x3464('0x72')||_0x36f934==='xmd-dialid'||_0x36f934===_0x3464('0x73')||_0x36f934==='xmd-contactid'||_0x36f934===_0x3464('0x74')||_0x36f934===_0x3464('0x75')||_0x36f934===_0x3464('0x76')||_0x36f934===_0x3464('0x77')||_0x36f934==='rtpaudioqos'||_0x36f934===_0x3464('0x78')||_0x36f934===_0x3464('0x79')||_0x36f934===_0x3464('0x7a')||_0x36f934===_0x3464('0x7b')||_0x36f934===_0x3464('0x7c')||_0x36f934===_0x3464('0x7d')||_0x36f934===_0x3464('0x7e')||_0x36f934===_0x3464('0x7f')||_0x36f934===_0x3464('0x78')||_0x36f934==='rtpaudioqosjitter'||_0x36f934==='rtpaudioqosjitterbridged'||_0x36f934===_0x3464('0x7b')||_0x36f934===_0x3464('0x7c')||_0x36f934==='rtpaudioqosrtt'||_0x36f934==='rtpaudioqosrttbridged'||_0x36f934===_0x3464('0x80')||_0x36f934===_0x3464('0x81')||_0x36f934===_0x3464('0x37')||_0x36f934===_0x3464('0x38')){return![];}return!![];};exports[_0x3464('0x82')]=function(_0x3ea6e0,_0xf71188){var _0x3e974c,_0x40083a,_0x2293d3;if(_0xf71188<=0x0){_0xf71188=0x1;}_0x3e974c=new RegExp(_0x3464('0x83')+_0xf71188+'}$');_0x40083a=Math[_0x3464('0x84')](0xa,_0xf71188-0x1);_0x2293d3=Math[_0x3464('0x84')](0xa,_0xf71188)-0x1;return util[_0x3464('0x14')]('%s',_[_0x3464('0x85')](_0x3ea6e0,_0x3e974c,_['random'](_0x40083a,_0x2293d3)));};exports[_0x3464('0x86')]=function(_0x41d53e){var _0x50349c=_0x41d53e[_0x3464('0x87')](/"(.*?)"/);return _0x50349c?_0x50349c[0x1]:_0x41d53e;};exports[_0x3464('0x88')]=function(_0x4cca05){var _0x2e497d=_0x4cca05[_0x3464('0x87')](/<(.*?)>/);return _0x2e497d?_0x2e497d[0x1]:_0x4cca05;};