Built motion from commit (unavailable).|2.5.7
[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 _0x0620=['%s%s','XMD-','toUpper','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','starttime','responsetime','ringtime','logLookAgent','membername','UserId','logCustomer','endtime','talktime','answertime','Failure','variablesAction','RECALL','uniqueid','originate','xcally-motion-preview','from-sip','timeout','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','cloneAction','clone','Global','scheduledAt','active','scheduledat','add','minutes','ContactId','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','buildObj','queue','channelAgent','mandatoryDisposition','buildAcw','interface','agentReadyId','status','reachable','getDiff','createBody','filterKey','idContact','type','campaigntype','dialAnswer','countglobal','callback','callbackuniqueid','callbackat','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-cdrtype','xmd-callerid','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosloss','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','random','match','extractCalleridNumber','util','moment','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','loggerCatch','inspect','info','loggerError','error','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','addVariables','Queue','name','calleridname','calleridnum','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','dialQueueProject2','originatecalleridnum','_XCALLY_MIXMONITOR_FORMAT','Contact','isNil','createdAt','updatedAt'];(function(_0x3d42d8,_0x4cffaa){var _0x27fc41=function(_0x3a363b){while(--_0x3a363b){_0x3d42d8['push'](_0x3d42d8['shift']());}};_0x27fc41(++_0x4cffaa);}(_0x0620,0x170));var _0x0062=function(_0x237747,_0x593274){_0x237747=_0x237747-0x0;var _0x38f60b=_0x0620[_0x237747];return _0x38f60b;};'use strict';var util=require(_0x0062('0x0'));var _=require('lodash');var moment=require(_0x0062('0x1'));var logger=require('../../../../config/logger')(_0x0062('0x2'));var ipAgi=process[_0x0062('0x3')][_0x0062('0x4')]||_0x0062('0x5');function getSeconds(_0x584346,_0x399054){var _0x52ed57=moment(_0x584346)['milliseconds'](0x0);var _0x252c88=moment(_0x399054)[_0x0062('0x6')](0x0);return _0x52ed57[_0x0062('0x7')](_0x252c88,_0x0062('0x8'));}exports[_0x0062('0x9')]=function(_0x2c86f0){return function(_0x5c8325){logger['error'](_0x2c86f0,util[_0x0062('0xa')](_0x5c8325,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x5216c3,_0x2b77b6){logger[_0x0062('0xb')](_0x5216c3,util[_0x0062('0xa')](_0x2b77b6,{'showHidden':![],'depth':null}));};exports[_0x0062('0xc')]=function(_0x12250b,_0x2a72e1){logger[_0x0062('0xd')](_0x12250b,util[_0x0062('0xa')](_0x2a72e1,{'showHidden':![],'depth':null}));};exports[_0x0062('0xe')]=function(_0x52b7fa){return function(_0x54d072){logger[_0x0062('0xb')](_0x52b7fa,util[_0x0062('0xa')](_0x54d072,{'showHidden':![],'depth':null}));};};exports[_0x0062('0xf')]=function(_0x13a75f,_0x292221,_0x530d7a){return{'message':_0x13a75f,'unlock':_0x292221,'active':_0x530d7a};};exports[_0x0062('0x10')]=function(_0x7691da,_0x5b21eb,_0x2d4f7c){if(!_[_0x0062('0x11')](_0x2d4f7c)&&_0x0062('0x12')===typeof _0x2d4f7c&&!_[_0x0062('0x13')](_0x2d4f7c)){if(!_[_0x0062('0x11')](_0x5b21eb)&&_0x0062('0x12')===typeof _0x5b21eb&&!_[_0x0062('0x13')](_0x5b21eb)){return util[_0x0062('0x14')](_0x0062('0x15'),_0x5b21eb,_0x2d4f7c);}return util[_0x0062('0x14')]('\x22%s\x22\x20<%s>',_0x2d4f7c,_0x2d4f7c);}if(!_[_0x0062('0x11')](_0x7691da)&&'string'===typeof _0x7691da&&!_['isEmpty'](_0x7691da)){return _0x7691da;}return _0x0062('0x16');};exports['isActive']=function(_0x2ef208){if(_['isNil'](_0x2ef208)){return![];}return _0x2ef208;};exports[_0x0062('0x17')]=function(_0x475bcf,_0x5dc943,_0x2aa571,_0x3af3e9,_0x2ff3fc,_0x2ae386){var _0x1f2d25={'XMD-QUEUE':_0x5dc943[_0x0062('0x18')]?_0x5dc943[_0x0062('0x18')][_0x0062('0x19')]:'','XMD-CALLERID':_0x3af3e9,'XMD-CALLERID-PREVIEW':_0x2ae386?util[_0x0062('0x14')]('\x22%s\x22\x20<%s>',_0x2ae386[_0x0062('0x1a')],_0x2ae386[_0x0062('0x1b')]):_0x3af3e9,'XMD-DIALID':_0x2ff3fc,'XMD-CONTACTID':_0x5dc943['ContactId'],'XMD-CDRTYPE':_0x0062('0x1c'),'CALLERID(all)':_0x3af3e9,'XMD-VOICEQUEUEID':_0x5dc943[_0x0062('0x1d')],'XMD-DIALCHANNEL':_0x2aa571,'XMD-DIALTIMEOUT':_0x475bcf[_0x0062('0x1e')]||0x1e,'XMD-DIALOPTIONS':util[_0x0062('0x14')](_0x0062('0x1f'),_0x475bcf['dialQueueProject2']?'g':'',_[_0x0062('0x13')](_0x475bcf[_0x0062('0x20')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x475bcf['dialPreviewUrl']||'','XMD-AGI':_0x475bcf[_0x0062('0x21')]?util[_0x0062('0x14')](_0x0062('0x22'),ipAgi,_0x475bcf['dialQueueProject']):_0x0062('0x23'),'XMD-AGIAFTER':_0x475bcf['dialQueueProject2']?util[_0x0062('0x14')](_0x0062('0x22'),ipAgi,_0x475bcf[_0x0062('0x24')]):_0x0062('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x2ae386?_0x2ae386[_0x0062('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x2ae386?_0x2ae386['originatecalleridname']:'','XMD-DESTINATION':'xcally-motion-preview'};if(!_[_0x0062('0x13')](_0x475bcf[_0x0062('0x20')])){_0x1f2d25[util[_0x0062('0x14')]('%s',_0x0062('0x26'))]=_0x475bcf[_0x0062('0x20')];_0x1f2d25[util['format']('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x2ff3fc;}if(_0x5dc943&&_0x5dc943[_0x0062('0x27')]){for(var _0xf251f2 in _0x5dc943[_0x0062('0x27')]){if(_0x5dc943[_0x0062('0x27')]['hasOwnProperty'](_0xf251f2)){if(!_[_0x0062('0x28')](_0x5dc943[_0x0062('0x27')][_0xf251f2])&&_0xf251f2!=='id'&&_0xf251f2!=='tags'&&_0xf251f2!==_0x0062('0x29')&&_0xf251f2!==_0x0062('0x2a')){_0x1f2d25[util['format'](_0x0062('0x2b'),_0x0062('0x2c'),_[_0x0062('0x2d')](_0xf251f2))]=_0x5dc943['Contact'][_0xf251f2];}}}}return _0x1f2d25;};exports[_0x0062('0x2e')]=function(_0x312013){var _0x350cf6={};for(var _0x3d0d07 in _0x312013){if(_0x312013[_0x0062('0x2f')](_0x3d0d07)){_0x350cf6[util[_0x0062('0x14')]('%s',_[_0x0062('0x30')](_0x3d0d07))]=_0x312013[_0x3d0d07];}}return{'variables':_0x350cf6};};exports[_0x0062('0x31')]=function(_0x5dd422,_0x287ba6){if(!_[_0x0062('0x28')](_0x5dd422)){if(_0x5dd422['hasOwnProperty'](_0x0062('0x32'))){if(_0x5dd422[_0x0062('0x32')]>0x0){_0x5dd422[_0x0062('0x32')]-=0x1;}else{logger[_0x0062('0xd')](_0x0062('0x33'),_0x287ba6);}}}else{logger[_0x0062('0xd')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x287ba6);}};exports['logBlacklist']=function(_0x1ac759){var _0x1e98a0=moment()[_0x0062('0x14')](_0x0062('0x34'));_0x1ac759[_0x0062('0x35')]=0xd;_0x1ac759[_0x0062('0x36')]='Blacklist';_0x1ac759[_0x0062('0x37')]=_0x1e98a0;_0x1ac759[_0x0062('0x38')]=_0x1e98a0;_0x1ac759['endtime']=_0x1e98a0;};exports['logAgent']=function(_0x20235d,_0x380712,_0x55253){var _0x5daf1f=moment()[_0x0062('0x14')](_0x0062('0x34'));_0x20235d[_0x0062('0x35')]=_0x380712;_0x20235d[_0x0062('0x36')]=_0x55253;_0x20235d[_0x0062('0x38')]=_0x5daf1f;_0x20235d[_0x0062('0x39')]=getSeconds(_0x20235d['responsetime'],_0x20235d[_0x0062('0x37')]);};exports[_0x0062('0x3a')]=function(_0x5a75bd,_0x4a68c7,_0x10bdee){_0x5a75bd[_0x0062('0x3b')]=_0x4a68c7;_0x5a75bd[_0x0062('0x3c')]=_0x10bdee;};exports[_0x0062('0x3d')]=function(_0x2e95dc,_0x5941a8,_0x38c6ad){var _0x1f49ec=moment()['format'](_0x0062('0x34'));_0x2e95dc[_0x0062('0x35')]=_0x5941a8;_0x2e95dc[_0x0062('0x36')]=_0x38c6ad;_0x2e95dc[_0x0062('0x38')]=_0x2e95dc['responsetime']?_0x2e95dc['responsetime']:_0x1f49ec;_0x2e95dc[_0x0062('0x3e')]=_0x2e95dc[_0x0062('0x3e')]?_0x2e95dc[_0x0062('0x3e')]:_0x1f49ec;_0x2e95dc[_0x0062('0x39')]=getSeconds(_0x2e95dc['responsetime']||0x0,_0x2e95dc[_0x0062('0x37')]||0x0);_0x2e95dc[_0x0062('0x3f')]=_0x2e95dc[_0x0062('0x40')]?getSeconds(_0x2e95dc['endtime'],_0x2e95dc[_0x0062('0x40')]):0x0;};exports['isFailure']=function(_0x4780d3){return _0x4780d3===_0x0062('0x41');};exports[_0x0062('0x42')]=function(_0x39b2b3,_0x269380,_0x669927,_0x35c28f,_0x495e12){var _0x327753=_0x35c28f?_0x0062('0x43'):_0x39b2b3[_0x0062('0x1a')];_0x327753=_0x495e12?'BOOKED':_0x327753;return{'actionid':_0x39b2b3[_0x0062('0x44')],'action':_0x0062('0x45'),'channel':_0x39b2b3['channelAgent'],'callerid':util[_0x0062('0x14')](_0x0062('0x15'),_0x327753,_0x39b2b3['calleridnum']),'Exten':_0x0062('0x46'),'Context':_0x0062('0x47'),'Priority':'1','variable':_0x669927,'timeout':(_0x269380[_0x0062('0x48')]||0x1e)*0x3e8,'async':!![],'channelid':_0x39b2b3[_0x0062('0x44')]};};exports['totalGlobal']=function(_0x548b22){return _0x548b22[_0x0062('0x49')]+_0x548b22[_0x0062('0x4a')]+_0x548b22[_0x0062('0x4b')]+_0x548b22[_0x0062('0x4c')]+_0x548b22['countnosuchnumberretry'];};exports[_0x0062('0x4d')]=function(_0x1dad14){var _0x10cb09=_[_0x0062('0x4e')](_0x1dad14);_0x10cb09[_0x0062('0x35')]=0xf;_0x10cb09['statedesc']=_0x0062('0x4f');return _0x10cb09;};exports[_0x0062('0x50')]=function(_0x3a7bc0,_0x3cf341,_0x550a16){var _0x3feb51={};_0x3feb51[_0x3cf341]=_0x3a7bc0[_0x3cf341];_0x3feb51[_0x0062('0x51')]=![];_0x3feb51[_0x0062('0x52')]=moment()[_0x0062('0x53')](_0x550a16,_0x0062('0x54'))[_0x0062('0x14')](_0x0062('0x34'));_0x3feb51[_0x0062('0x55')]=_0x3a7bc0[_0x0062('0x55')];_0x3feb51[_0x0062('0x56')]=_0x3a7bc0[_0x0062('0x56')];_0x3feb51[_0x0062('0x1d')]=_0x3a7bc0[_0x0062('0x1d')]||undefined;return _0x3feb51;};exports[_0x0062('0x57')]=function(_0x17386f,_0x2026be){if(!_[_0x0062('0x28')](_0x17386f)){if(_0x17386f['pTalking']>0x0){_0x17386f[_0x0062('0x58')]-=0x1;}else{logger[_0x0062('0xd')](_0x2026be,_0x0062('0x59'));}}else{logger['error'](_0x2026be,_0x0062('0x5a'));}};exports['IsNotLoggedIn']=function(_0x181951){if(_0x181951<=0x0){return!![];}return![];};exports[_0x0062('0x5b')]=function(_0x505d04,_0x1af7b9,_0x3b1766){_0x505d04['lastevent']=_0x1af7b9;_0x505d04[_0x0062('0x19')]=_0x505d04[_0x0062('0x5c')];_0x505d04['interface']=_0x505d04[_0x0062('0x5d')];if(_0x3b1766){_0x505d04['mandatoryDisposition']=_0x3b1766[_0x0062('0x5e')];}return _0x505d04;};exports[_0x0062('0x5f')]=function(_0x1e3326){var _0xc478a0={};_0xc478a0[_0x0062('0x5c')]=_0x1e3326[_0x0062('0x5c')];_0xc478a0[_0x0062('0x60')]=_0x1e3326[_0x0062('0x5d')];_0xc478a0[_0x0062('0x44')]=_0x1e3326[_0x0062('0x44')];return _0xc478a0;};exports[_0x0062('0x61')]=function(_0x3ae9bc){var _0x208d38=[];for(var _0x1495a4 in _0x3ae9bc){if(_0x3ae9bc[_0x0062('0x2f')](_0x1495a4)){if(!_[_0x0062('0x28')](_0x3ae9bc[_0x1495a4])&&_0x3ae9bc[_0x1495a4][_0x0062('0x35')]==='not_inuse'&&_0x3ae9bc[_0x1495a4][_0x0062('0x62')]===_0x0062('0x63')){_0x208d38['push'](_0x3ae9bc[_0x1495a4]['id']);}}}return _0x208d38;};exports[_0x0062('0x64')]=function(_0x1efeaa){var _0x313385=moment()[_0x0062('0x6')](0x0);var _0x26f505=moment(_0x1efeaa)[_0x0062('0x6')](0x0);return _0x313385[_0x0062('0x7')](_0x26f505,_0x0062('0x8'));};exports[_0x0062('0x65')]=function(_0x4ddef3){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x4ddef3[_0x0062('0x55')],'ListId':_0x4ddef3[_0x0062('0x56')],'VoiceQueueId':_0x4ddef3[_0x0062('0x1d')]||undefined,'CampaignId':_0x4ddef3['CampaignId']||undefined};};exports[_0x0062('0x66')]=function(_0x551556){if(_0x551556===_0x0062('0x44')||_0x551556===_0x0062('0x67')||_0x551556===_0x0062('0x5c')||_0x551556===_0x0062('0x68')||_0x551556===_0x0062('0x69')||_0x551556===_0x0062('0x6a')||_0x551556==='membername'||_0x551556===_0x0062('0x5d')||_0x551556===_0x0062('0x1a')||_0x551556==='active'||_0x551556===_0x0062('0x1b')||_0x551556===_0x0062('0x52')||_0x551556===_0x0062('0x49')||_0x551556==='countcongestionretry'||_0x551556==='countnoanswerretry'||_0x551556===_0x0062('0x6b')||_0x551556===_0x0062('0x6c')||_0x551556===_0x0062('0x6d')||_0x551556===_0x0062('0x6e')||_0x551556==='recallme'||_0x551556===_0x0062('0x55')||_0x551556===_0x0062('0x56')||_0x551556===_0x0062('0x3c')||_0x551556===_0x0062('0x1d')||_0x551556==='sipcallid'||_0x551556===_0x0062('0x6f')||_0x551556===_0x0062('0x70')||_0x551556===_0x0062('0x71')||_0x551556===_0x0062('0x72')||_0x551556===_0x0062('0x73')||_0x551556===_0x0062('0x74')||_0x551556===_0x0062('0x75')||_0x551556==='xmd-dialid'||_0x551556===_0x0062('0x76')||_0x551556==='xmd-contactid'||_0x551556===_0x0062('0x77')||_0x551556===_0x0062('0x78')||_0x551556==='xmd-agiafter'||_0x551556===_0x0062('0x79')||_0x551556===_0x0062('0x7a')||_0x551556===_0x0062('0x7b')||_0x551556===_0x0062('0x7c')||_0x551556===_0x0062('0x7d')||_0x551556==='rtpaudioqosloss'||_0x551556==='rtpaudioqoslossbridged'||_0x551556===_0x0062('0x7e')||_0x551556===_0x0062('0x7f')||_0x551556===_0x0062('0x7a')||_0x551556===_0x0062('0x7b')||_0x551556===_0x0062('0x7c')||_0x551556===_0x0062('0x7d')||_0x551556===_0x0062('0x80')||_0x551556==='rtpaudioqoslossbridged'||_0x551556===_0x0062('0x7e')||_0x551556===_0x0062('0x7f')||_0x551556==='bridgepeer'||_0x551556===_0x0062('0x81')||_0x551556===_0x0062('0x35')||_0x551556===_0x0062('0x36')){return![];}return!![];};exports[_0x0062('0x82')]=function(_0x45c1fc,_0x53283a){var _0x35be68,_0x2569dd,_0x493bd7;if(_0x53283a<=0x0){_0x53283a=0x1;}_0x35be68=new RegExp(_0x0062('0x83')+_0x53283a+'}$');_0x2569dd=Math[_0x0062('0x84')](0xa,_0x53283a-0x1);_0x493bd7=Math['pow'](0xa,_0x53283a)-0x1;return util[_0x0062('0x14')]('%s',_[_0x0062('0x85')](_0x45c1fc,_0x35be68,_[_0x0062('0x86')](_0x2569dd,_0x493bd7)));};exports['extractCalleridName']=function(_0x166538){var _0x18dfee=_0x166538[_0x0062('0x87')](/"(.*?)"/);return _0x18dfee?_0x18dfee[0x1]:_0x166538;};exports[_0x0062('0x88')]=function(_0x2f09e2){var _0x3fa403=_0x2f09e2[_0x0062('0x87')](/<(.*?)>/);return _0x3fa403?_0x3fa403[0x1]:_0x2f09e2;};