Built motion from commit 775e2a94.|2.6.3
[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 _0xfb69=['push','getDiff','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','calleridnum','callback','callbackuniqueid','callbackat','UserId','sipcallid','xmd-voicequeueid','xmd-queue','xmd-listid','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqos','bridgepeer','bridgepvtcallid','\x5cw{0,','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','lodash','../../../../config/logger','preview','env','127.0.0.1','milliseconds','diff','seconds','error','inspect','info','loggerError','logger2','message','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','addVariables','Queue','name','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','createdAt','updatedAt','XMD-','toUpper','toLowerVariables','hasOwnProperty','toLower','isNil','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','Blacklist','starttime','endtime','logAgent','responsetime','ringtime','logLookAgent','membername','logCustomer','statedesc','talktime','answertime','isFailure','Failure','variablesAction','RECALL','calleridname','originate','timeout','uniqueid','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','active','scheduledat','minutes','ListId','decrementTalkink','[decrementTalkink]\x20object\x20talking\x20is\x20negative','IsNotLoggedIn','buildObj','interface','channelAgent','motionChannel','voice','mandatoryDisposition','buildAcw','queue','agentReadyId','not_inuse','status','reachable'];(function(_0x5e2489,_0x2fd8be){var _0xa87596=function(_0x3b348d){while(--_0x3b348d){_0x5e2489['push'](_0x5e2489['shift']());}};_0xa87596(++_0x2fd8be);}(_0xfb69,0x148));var _0x9fb6=function(_0x14b58c,_0x5b5b5a){_0x14b58c=_0x14b58c-0x0;var _0x2cf014=_0xfb69[_0x14b58c];return _0x2cf014;};'use strict';var util=require(_0x9fb6('0x0'));var _=require(_0x9fb6('0x1'));var moment=require('moment');var logger=require(_0x9fb6('0x2'))(_0x9fb6('0x3'));var ipAgi=process[_0x9fb6('0x4')]['XCALLY_IP_AGI']||_0x9fb6('0x5');function getSeconds(_0x2a1024,_0x91f655){var _0x2f5ada=moment(_0x2a1024)['milliseconds'](0x0);var _0x3a033f=moment(_0x91f655)[_0x9fb6('0x6')](0x0);return _0x2f5ada[_0x9fb6('0x7')](_0x3a033f,_0x9fb6('0x8'));}exports['loggerCatch']=function(_0x23ab3c){return function(_0x2e23da){logger[_0x9fb6('0x9')](_0x23ab3c,util[_0x9fb6('0xa')](_0x2e23da,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x369731,_0x1ca80f){logger[_0x9fb6('0xb')](_0x369731,util[_0x9fb6('0xa')](_0x1ca80f,{'showHidden':![],'depth':null}));};exports[_0x9fb6('0xc')]=function(_0xbb7644,_0x4ccf82){logger['error'](_0xbb7644,util['inspect'](_0x4ccf82,{'showHidden':![],'depth':null}));};exports[_0x9fb6('0xd')]=function(_0x8c9e96){return function(_0x222d87){logger['info'](_0x8c9e96,util[_0x9fb6('0xa')](_0x222d87,{'showHidden':![],'depth':null}));};};exports[_0x9fb6('0xe')]=function(_0xe406ea,_0x5e0239,_0x32b044){return{'message':_0xe406ea,'unlock':_0x5e0239,'active':_0x32b044};};exports['getCallerId']=function(_0x578e85,_0x464bad,_0x280d19){if(!_[_0x9fb6('0xf')](_0x280d19)&&_0x9fb6('0x10')===typeof _0x280d19&&!_[_0x9fb6('0x11')](_0x280d19)){if(!_['isUndefined'](_0x464bad)&&_0x9fb6('0x10')===typeof _0x464bad&&!_[_0x9fb6('0x11')](_0x464bad)){return util[_0x9fb6('0x12')](_0x9fb6('0x13'),_0x464bad,_0x280d19);}return util[_0x9fb6('0x12')](_0x9fb6('0x13'),_0x280d19,_0x280d19);}if(!_[_0x9fb6('0xf')](_0x578e85)&&_0x9fb6('0x10')===typeof _0x578e85&&!_['isEmpty'](_0x578e85)){return _0x578e85;}return _0x9fb6('0x14');};exports[_0x9fb6('0x15')]=function(_0x2d3b33){if(_['isNil'](_0x2d3b33)){return![];}return _0x2d3b33;};exports[_0x9fb6('0x16')]=function(_0x1a0d1a,_0x14e68e,_0xb2940c,_0x1a50e0,_0x37fb7a,_0x303ea3){var _0x43d6de={'XMD-QUEUE':_0x14e68e[_0x9fb6('0x17')]?_0x14e68e['Queue'][_0x9fb6('0x18')]:'','XMD-CALLERID':_0x1a50e0,'XMD-CALLERID-PREVIEW':_0x303ea3?util[_0x9fb6('0x12')](_0x9fb6('0x13'),_0x303ea3['calleridname'],_0x303ea3['calleridnum']):_0x1a50e0,'XMD-DIALID':_0x37fb7a,'XMD-CONTACTID':_0x14e68e[_0x9fb6('0x19')],'XMD-CDRTYPE':_0x9fb6('0x1a'),'CALLERID(all)':_0x1a50e0,'XMD-VOICEQUEUEID':_0x14e68e[_0x9fb6('0x1b')],'XMD-DIALCHANNEL':_0xb2940c,'XMD-DIALTIMEOUT':_0x1a0d1a[_0x9fb6('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0x9fb6('0x12')](_0x9fb6('0x1d'),_0x1a0d1a[_0x9fb6('0x1e')]?'g':'',_[_0x9fb6('0x11')](_0x1a0d1a[_0x9fb6('0x1f')])?'':_0x9fb6('0x20')),'XMD-DIALURL':_0x1a0d1a['dialPreviewUrl']||'','XMD-AGI':_0x1a0d1a[_0x9fb6('0x21')]?util[_0x9fb6('0x12')](_0x9fb6('0x22'),ipAgi,_0x1a0d1a[_0x9fb6('0x21')]):_0x9fb6('0x23'),'XMD-AGIAFTER':_0x1a0d1a['dialQueueProject2']?util[_0x9fb6('0x12')]('\x22agi://%s/square,%s\x22',ipAgi,_0x1a0d1a[_0x9fb6('0x1e')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x303ea3?_0x303ea3['originatecalleridnum']:'','XMD-ORIGINATECALLERIDNAME':_0x303ea3?_0x303ea3[_0x9fb6('0x24')]:'','XMD-DESTINATION':_0x9fb6('0x25'),'SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_[_0x9fb6('0x11')](_0x1a0d1a['monitor_format'])){_0x43d6de[util[_0x9fb6('0x12')]('%s',_0x9fb6('0x26'))]=_0x1a0d1a[_0x9fb6('0x1f')];_0x43d6de[util['format']('%s',_0x9fb6('0x27'))]=_0x37fb7a;}if(_0x14e68e&&_0x14e68e[_0x9fb6('0x28')]){for(var _0x36956e in _0x14e68e[_0x9fb6('0x28')]){if(_0x14e68e[_0x9fb6('0x28')]['hasOwnProperty'](_0x36956e)){if(!_['isNil'](_0x14e68e[_0x9fb6('0x28')][_0x36956e])&&_0x36956e!=='id'&&_0x36956e!=='tags'&&_0x36956e!==_0x9fb6('0x29')&&_0x36956e!==_0x9fb6('0x2a')){_0x43d6de[util[_0x9fb6('0x12')]('%s%s',_0x9fb6('0x2b'),_[_0x9fb6('0x2c')](_0x36956e))]=_0x14e68e['Contact'][_0x36956e];}}}}return _0x43d6de;};exports[_0x9fb6('0x2d')]=function(_0x41a50c){var _0xd19d01={};for(var _0x2e8cc5 in _0x41a50c){if(_0x41a50c[_0x9fb6('0x2e')](_0x2e8cc5)){_0xd19d01[util[_0x9fb6('0x12')]('%s',_[_0x9fb6('0x2f')](_0x2e8cc5))]=_0x41a50c[_0x2e8cc5];}}return{'variables':_0xd19d01};};exports['updateOriginated']=function(_0x50c57c,_0x14d2b8){if(!_[_0x9fb6('0x30')](_0x50c57c)){if(_0x50c57c['hasOwnProperty'](_0x9fb6('0x31'))){if(_0x50c57c[_0x9fb6('0x31')]>0x0){_0x50c57c[_0x9fb6('0x31')]-=0x1;}else{logger[_0x9fb6('0x9')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x14d2b8);}}}else{logger[_0x9fb6('0x9')](_0x9fb6('0x32'),_0x14d2b8);}};exports[_0x9fb6('0x33')]=function(_0xb9d580){var _0x29a83b=moment()[_0x9fb6('0x12')](_0x9fb6('0x34'));_0xb9d580[_0x9fb6('0x35')]=0xd;_0xb9d580['statedesc']=_0x9fb6('0x36');_0xb9d580[_0x9fb6('0x37')]=_0x29a83b;_0xb9d580['responsetime']=_0x29a83b;_0xb9d580[_0x9fb6('0x38')]=_0x29a83b;};exports[_0x9fb6('0x39')]=function(_0x7b6632,_0x3b1f1a,_0x36b68f){var _0x49d3e8=moment()[_0x9fb6('0x12')](_0x9fb6('0x34'));_0x7b6632[_0x9fb6('0x35')]=_0x3b1f1a;_0x7b6632['statedesc']=_0x36b68f;_0x7b6632[_0x9fb6('0x3a')]=_0x49d3e8;_0x7b6632[_0x9fb6('0x3b')]=getSeconds(_0x7b6632[_0x9fb6('0x3a')],_0x7b6632[_0x9fb6('0x37')]);};exports[_0x9fb6('0x3c')]=function(_0x9aab25,_0x4e0970,_0x17af3a){_0x9aab25[_0x9fb6('0x3d')]=_0x4e0970;_0x9aab25['UserId']=_0x17af3a;};exports[_0x9fb6('0x3e')]=function(_0x52bfe3,_0x35fa1b,_0x44b272){var _0x4eb6ee=moment()[_0x9fb6('0x12')]('YYYY-MM-DD\x20HH:mm:ss');_0x52bfe3['state']=_0x35fa1b;_0x52bfe3[_0x9fb6('0x3f')]=_0x44b272;_0x52bfe3['responsetime']=_0x52bfe3[_0x9fb6('0x3a')]?_0x52bfe3[_0x9fb6('0x3a')]:_0x4eb6ee;_0x52bfe3[_0x9fb6('0x38')]=_0x52bfe3[_0x9fb6('0x38')]?_0x52bfe3[_0x9fb6('0x38')]:_0x4eb6ee;_0x52bfe3[_0x9fb6('0x3b')]=getSeconds(_0x52bfe3[_0x9fb6('0x3a')]||0x0,_0x52bfe3[_0x9fb6('0x37')]||0x0);_0x52bfe3[_0x9fb6('0x40')]=_0x52bfe3[_0x9fb6('0x41')]?getSeconds(_0x52bfe3[_0x9fb6('0x38')],_0x52bfe3[_0x9fb6('0x41')]):0x0;};exports[_0x9fb6('0x42')]=function(_0x47214f){return _0x47214f===_0x9fb6('0x43');};exports[_0x9fb6('0x44')]=function(_0x170f20,_0x55823c,_0x214a45,_0x46b556,_0x3f6ae5){var _0x2eb594=_0x46b556?_0x9fb6('0x45'):_0x170f20[_0x9fb6('0x46')];_0x2eb594=_0x3f6ae5?'BOOKED':_0x2eb594;return{'actionid':_0x170f20['uniqueid'],'action':_0x9fb6('0x47'),'channel':_0x170f20['channelAgent'],'callerid':util[_0x9fb6('0x12')]('\x22%s\x22\x20<%s>',_0x2eb594,_0x170f20['calleridnum']),'Exten':_0x9fb6('0x25'),'Context':'from-sip','Priority':'1','variable':_0x214a45,'timeout':(_0x55823c[_0x9fb6('0x48')]||0x1e)*0x3e8,'async':!![],'channelid':_0x170f20[_0x9fb6('0x49')]};};exports[_0x9fb6('0x4a')]=function(_0x1c6e04){return _0x1c6e04[_0x9fb6('0x4b')]+_0x1c6e04[_0x9fb6('0x4c')]+_0x1c6e04[_0x9fb6('0x4d')]+_0x1c6e04[_0x9fb6('0x4e')]+_0x1c6e04[_0x9fb6('0x4f')];};exports[_0x9fb6('0x50')]=function(_0x3a661d){var _0x1ed6ae=_[_0x9fb6('0x51')](_0x3a661d);_0x1ed6ae[_0x9fb6('0x35')]=0xf;_0x1ed6ae['statedesc']='Global';return _0x1ed6ae;};exports['scheduledAt']=function(_0x26b59d,_0x4b8526,_0x4165cd){var _0xfabf54={};_0xfabf54[_0x4b8526]=_0x26b59d[_0x4b8526];_0xfabf54[_0x9fb6('0x52')]=![];_0xfabf54[_0x9fb6('0x53')]=moment()['add'](_0x4165cd,_0x9fb6('0x54'))['format'](_0x9fb6('0x34'));_0xfabf54[_0x9fb6('0x19')]=_0x26b59d[_0x9fb6('0x19')];_0xfabf54[_0x9fb6('0x55')]=_0x26b59d[_0x9fb6('0x55')];_0xfabf54['VoiceQueueId']=_0x26b59d['VoiceQueueId']||undefined;return _0xfabf54;};exports[_0x9fb6('0x56')]=function(_0x3e17a6,_0x57c0bc){if(!_[_0x9fb6('0x30')](_0x3e17a6)){if(_0x3e17a6['pTalking']>0x0){_0x3e17a6['pTalking']-=0x1;}else{logger[_0x9fb6('0x9')](_0x57c0bc,_0x9fb6('0x57'));}}else{logger[_0x9fb6('0x9')](_0x57c0bc,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports[_0x9fb6('0x58')]=function(_0x5c564c){if(_0x5c564c<=0x0){return!![];}return![];};exports[_0x9fb6('0x59')]=function(_0x3be141,_0x215098,_0x100b8a){_0x3be141['lastevent']=_0x215098;_0x3be141[_0x9fb6('0x18')]=_0x3be141['queue'];_0x3be141[_0x9fb6('0x5a')]=_0x3be141[_0x9fb6('0x5b')];_0x3be141[_0x9fb6('0x5c')]=_0x9fb6('0x5d');if(_0x100b8a){_0x3be141[_0x9fb6('0x5e')]=_0x100b8a[_0x9fb6('0x5e')];}return _0x3be141;};exports[_0x9fb6('0x5f')]=function(_0x279e6b){var _0x47e747={};_0x47e747[_0x9fb6('0x60')]=_0x279e6b[_0x9fb6('0x60')];_0x47e747[_0x9fb6('0x5a')]=_0x279e6b[_0x9fb6('0x5b')];_0x47e747[_0x9fb6('0x49')]=_0x279e6b['uniqueid'];return _0x47e747;};exports[_0x9fb6('0x61')]=function(_0xc62186){var _0x114e06=[];for(var _0x5ce5f2 in _0xc62186){if(_0xc62186[_0x9fb6('0x2e')](_0x5ce5f2)){if(!_[_0x9fb6('0x30')](_0xc62186[_0x5ce5f2])&&_0xc62186[_0x5ce5f2][_0x9fb6('0x35')]===_0x9fb6('0x62')&&_0xc62186[_0x5ce5f2][_0x9fb6('0x63')]===_0x9fb6('0x64')){_0x114e06[_0x9fb6('0x65')](_0xc62186[_0x5ce5f2]['id']);}}}return _0x114e06;};exports[_0x9fb6('0x66')]=function(_0x32675){var _0x3e3e54=moment()[_0x9fb6('0x6')](0x0);var _0x1b4f6f=moment(_0x32675)[_0x9fb6('0x6')](0x0);return _0x3e3e54['diff'](_0x1b4f6f,'seconds');};exports['createBody']=function(_0x425731){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x425731[_0x9fb6('0x19')],'ListId':_0x425731['ListId'],'VoiceQueueId':_0x425731['VoiceQueueId']||undefined,'CampaignId':_0x425731[_0x9fb6('0x67')]||undefined};};exports[_0x9fb6('0x68')]=function(_0x264ae9){if(_0x264ae9==='uniqueid'||_0x264ae9===_0x9fb6('0x69')||_0x264ae9===_0x9fb6('0x60')||_0x264ae9===_0x9fb6('0x6a')||_0x264ae9===_0x9fb6('0x6b')||_0x264ae9===_0x9fb6('0x6c')||_0x264ae9===_0x9fb6('0x3d')||_0x264ae9===_0x9fb6('0x5b')||_0x264ae9===_0x9fb6('0x46')||_0x264ae9===_0x9fb6('0x52')||_0x264ae9===_0x9fb6('0x6d')||_0x264ae9==='scheduledat'||_0x264ae9===_0x9fb6('0x4b')||_0x264ae9===_0x9fb6('0x4c')||_0x264ae9===_0x9fb6('0x4d')||_0x264ae9==='countglobal'||_0x264ae9===_0x9fb6('0x6e')||_0x264ae9===_0x9fb6('0x6f')||_0x264ae9===_0x9fb6('0x70')||_0x264ae9==='recallme'||_0x264ae9===_0x9fb6('0x19')||_0x264ae9===_0x9fb6('0x55')||_0x264ae9===_0x9fb6('0x71')||_0x264ae9===_0x9fb6('0x1b')||_0x264ae9===_0x9fb6('0x72')||_0x264ae9===_0x9fb6('0x73')||_0x264ae9===_0x9fb6('0x74')||_0x264ae9==='xmd-phone'||_0x264ae9===_0x9fb6('0x75')||_0x264ae9==='xmd-dialurl'||_0x264ae9===_0x9fb6('0x76')||_0x264ae9===_0x9fb6('0x77')||_0x264ae9===_0x9fb6('0x78')||_0x264ae9===_0x9fb6('0x79')||_0x264ae9===_0x9fb6('0x7a')||_0x264ae9===_0x9fb6('0x7b')||_0x264ae9===_0x9fb6('0x7c')||_0x264ae9===_0x9fb6('0x7d')||_0x264ae9===_0x9fb6('0x7e')||_0x264ae9==='rtpaudioqos'||_0x264ae9===_0x9fb6('0x7f')||_0x264ae9===_0x9fb6('0x80')||_0x264ae9===_0x9fb6('0x81')||_0x264ae9===_0x9fb6('0x82')||_0x264ae9===_0x9fb6('0x83')||_0x264ae9==='rtpaudioqosrtt'||_0x264ae9===_0x9fb6('0x84')||_0x264ae9===_0x9fb6('0x85')||_0x264ae9===_0x9fb6('0x7f')||_0x264ae9===_0x9fb6('0x80')||_0x264ae9===_0x9fb6('0x81')||_0x264ae9===_0x9fb6('0x82')||_0x264ae9===_0x9fb6('0x83')||_0x264ae9==='rtpaudioqosrtt'||_0x264ae9===_0x9fb6('0x84')||_0x264ae9===_0x9fb6('0x86')||_0x264ae9===_0x9fb6('0x87')||_0x264ae9===_0x9fb6('0x35')||_0x264ae9===_0x9fb6('0x3f')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x3ada22,_0x54d13b){var _0xa19a77,_0x65d541,_0x139d52;if(_0x54d13b<=0x0){_0x54d13b=0x1;}_0xa19a77=new RegExp(_0x9fb6('0x88')+_0x54d13b+'}$');_0x65d541=Math[_0x9fb6('0x89')](0xa,_0x54d13b-0x1);_0x139d52=Math[_0x9fb6('0x89')](0xa,_0x54d13b)-0x1;return util[_0x9fb6('0x12')]('%s',_[_0x9fb6('0x8a')](_0x3ada22,_0xa19a77,_[_0x9fb6('0x8b')](_0x65d541,_0x139d52)));};exports[_0x9fb6('0x8c')]=function(_0x437626){var _0x3d283a=_0x437626[_0x9fb6('0x8d')](/"(.*?)"/);return _0x3d283a?_0x3d283a[0x1]:_0x437626;};exports[_0x9fb6('0x8e')]=function(_0x5b9e57){var _0x50bc76=_0x5b9e57['match'](/<(.*?)>/);return _0x50bc76?_0x50bc76[0x1]:_0x5b9e57;};