Built motion from commit 85328c08.|2.5.50
[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 _0x61ab=['NONE','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','Contact','hasOwnProperty','tags','toLowerVariables','toLower','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','endtime','logAgent','responsetime','UserId','logCustomer','ringtime','talktime','answertime','isFailure','Failure','RECALL','BOOKED','uniqueid','originate','channelAgent','from-sip','timeout','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','Global','scheduledAt','active','add','minutes','ListId','pTalking','buildObj','lastevent','queue','motionChannel','voice','mandatoryDisposition','reachable','push','getDiff','milliseconds','CampaignId','filterKey','type','campaigntype','dialAnswer','membername','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-callerid','xmd-agiafter','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqos','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','pow','random','extractCalleridName','lodash','moment','preview','env','127.0.0.1','diff','seconds','loggerCatch','error','inspect','logger','info','logger2','message','getCallerId','isEmpty','isUndefined','string','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isNil','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl'];(function(_0x1caf6a,_0x26a5bf){var _0x1bf493=function(_0x3982f5){while(--_0x3982f5){_0x1caf6a['push'](_0x1caf6a['shift']());}};_0x1bf493(++_0x26a5bf);}(_0x61ab,0x1db));var _0xb61a=function(_0xbbe973,_0x481cbb){_0xbbe973=_0xbbe973-0x0;var _0x13b770=_0x61ab[_0xbbe973];return _0x13b770;};'use strict';var util=require('util');var _=require(_0xb61a('0x0'));var moment=require(_0xb61a('0x1'));var logger=require('../../../../config/logger')(_0xb61a('0x2'));var ipAgi=process[_0xb61a('0x3')]['XCALLY_IP_AGI']||_0xb61a('0x4');function getSeconds(_0x4661f2,_0x20056e){var _0x514374=moment(_0x4661f2)['milliseconds'](0x0);var _0x334edb=moment(_0x20056e)['milliseconds'](0x0);return _0x514374[_0xb61a('0x5')](_0x334edb,_0xb61a('0x6'));}exports[_0xb61a('0x7')]=function(_0x3a78ef){return function(_0x174a1a){logger[_0xb61a('0x8')](_0x3a78ef,util[_0xb61a('0x9')](_0x174a1a,{'showHidden':![],'depth':null}));};};exports[_0xb61a('0xa')]=function(_0x8a6d41,_0x5a7733){logger[_0xb61a('0xb')](_0x8a6d41,util[_0xb61a('0x9')](_0x5a7733,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x3ad300,_0x15fb06){logger[_0xb61a('0x8')](_0x3ad300,util[_0xb61a('0x9')](_0x15fb06,{'showHidden':![],'depth':null}));};exports[_0xb61a('0xc')]=function(_0x52fa5d){return function(_0x2c835e){logger[_0xb61a('0xb')](_0x52fa5d,util[_0xb61a('0x9')](_0x2c835e,{'showHidden':![],'depth':null}));};};exports[_0xb61a('0xd')]=function(_0x59c8b5,_0x5bf234,_0x24b37e){return{'message':_0x59c8b5,'unlock':_0x5bf234,'active':_0x24b37e};};exports[_0xb61a('0xe')]=function(_0x3f0b9e,_0x2bd8e9,_0x49441f){if(!_['isUndefined'](_0x49441f)&&'string'===typeof _0x49441f&&!_[_0xb61a('0xf')](_0x49441f)){if(!_[_0xb61a('0x10')](_0x2bd8e9)&&_0xb61a('0x11')===typeof _0x2bd8e9&&!_['isEmpty'](_0x2bd8e9)){return util[_0xb61a('0x12')]('\x22%s\x22\x20<%s>',_0x2bd8e9,_0x49441f);}return util[_0xb61a('0x12')](_0xb61a('0x13'),_0x49441f,_0x49441f);}if(!_[_0xb61a('0x10')](_0x3f0b9e)&&'string'===typeof _0x3f0b9e&&!_[_0xb61a('0xf')](_0x3f0b9e)){return _0x3f0b9e;}return _0xb61a('0x14');};exports['isActive']=function(_0xe260d6){if(_[_0xb61a('0x15')](_0xe260d6)){return![];}return _0xe260d6;};exports['addVariables']=function(_0xc26cbe,_0x4f33f8,_0x37efec,_0x30adc3,_0x120dd1,_0x41a7de){var _0x59fa7b={'XMD-QUEUE':_0x4f33f8[_0xb61a('0x16')]?_0x4f33f8[_0xb61a('0x16')][_0xb61a('0x17')]:'','XMD-CALLERID':_0x30adc3,'XMD-CALLERID-PREVIEW':_0x41a7de?util[_0xb61a('0x12')](_0xb61a('0x13'),_0x41a7de[_0xb61a('0x18')],_0x41a7de[_0xb61a('0x19')]):_0x30adc3,'XMD-DIALID':_0x120dd1,'XMD-CONTACTID':_0x4f33f8[_0xb61a('0x1a')],'XMD-CDRTYPE':_0xb61a('0x1b'),'CALLERID(all)':_0x30adc3,'XMD-VOICEQUEUEID':_0x4f33f8[_0xb61a('0x1c')],'XMD-DIALCHANNEL':_0x37efec,'XMD-DIALTIMEOUT':_0xc26cbe[_0xb61a('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0xb61a('0x12')]('\x22rtTxX%s%s\x22',_0xc26cbe[_0xb61a('0x1e')]?'g':'',_[_0xb61a('0xf')](_0xc26cbe['monitor_format'])?'':_0xb61a('0x1f')),'XMD-DIALURL':_0xc26cbe[_0xb61a('0x20')]||'','XMD-AGI':_0xc26cbe['dialQueueProject']?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0xc26cbe['dialQueueProject']):_0xb61a('0x21'),'XMD-AGIAFTER':_0xc26cbe[_0xb61a('0x1e')]?util[_0xb61a('0x12')](_0xb61a('0x22'),ipAgi,_0xc26cbe['dialQueueProject2']):_0xb61a('0x21'),'XMD-ORIGINATECALLERIDNUM':_0x41a7de?_0x41a7de[_0xb61a('0x23')]:'','XMD-ORIGINATECALLERIDNAME':_0x41a7de?_0x41a7de[_0xb61a('0x24')]:'','XMD-DESTINATION':_0xb61a('0x25'),'SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_[_0xb61a('0xf')](_0xc26cbe[_0xb61a('0x26')])){_0x59fa7b[util[_0xb61a('0x12')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0xc26cbe[_0xb61a('0x26')];_0x59fa7b[util[_0xb61a('0x12')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x120dd1;}if(_0x4f33f8&&_0x4f33f8[_0xb61a('0x27')]){for(var _0x37f274 in _0x4f33f8['Contact']){if(_0x4f33f8['Contact'][_0xb61a('0x28')](_0x37f274)){if(!_[_0xb61a('0x15')](_0x4f33f8[_0xb61a('0x27')][_0x37f274])&&_0x37f274!=='id'&&_0x37f274!==_0xb61a('0x29')&&_0x37f274!=='createdAt'&&_0x37f274!=='updatedAt'){_0x59fa7b[util[_0xb61a('0x12')]('%s%s','XMD-',_['toUpper'](_0x37f274))]=_0x4f33f8['Contact'][_0x37f274];}}}}return _0x59fa7b;};exports[_0xb61a('0x2a')]=function(_0x22cdf2){var _0x849121={};for(var _0x1d24b4 in _0x22cdf2){if(_0x22cdf2[_0xb61a('0x28')](_0x1d24b4)){_0x849121[util[_0xb61a('0x12')]('%s',_[_0xb61a('0x2b')](_0x1d24b4))]=_0x22cdf2[_0x1d24b4];}}return{'variables':_0x849121};};exports['updateOriginated']=function(_0xdb1c35,_0x4c6281){if(!_[_0xb61a('0x15')](_0xdb1c35)){if(_0xdb1c35[_0xb61a('0x28')](_0xb61a('0x2c'))){if(_0xdb1c35['originated']>0x0){_0xdb1c35[_0xb61a('0x2c')]-=0x1;}else{logger[_0xb61a('0x8')](_0xb61a('0x2d'),_0x4c6281);}}}else{logger['error'](_0xb61a('0x2e'),_0x4c6281);}};exports['logBlacklist']=function(_0x581f92){var _0x45d662=moment()[_0xb61a('0x12')](_0xb61a('0x2f'));_0x581f92[_0xb61a('0x30')]=0xd;_0x581f92[_0xb61a('0x31')]=_0xb61a('0x32');_0x581f92[_0xb61a('0x33')]=_0x45d662;_0x581f92['responsetime']=_0x45d662;_0x581f92[_0xb61a('0x34')]=_0x45d662;};exports[_0xb61a('0x35')]=function(_0x2759b9,_0x10d4fe,_0x14e9d8){var _0x348ac1=moment()[_0xb61a('0x12')]('YYYY-MM-DD\x20HH:mm:ss');_0x2759b9[_0xb61a('0x30')]=_0x10d4fe;_0x2759b9['statedesc']=_0x14e9d8;_0x2759b9['responsetime']=_0x348ac1;_0x2759b9['ringtime']=getSeconds(_0x2759b9[_0xb61a('0x36')],_0x2759b9[_0xb61a('0x33')]);};exports['logLookAgent']=function(_0x5280b4,_0x44f883,_0x43a4e7){_0x5280b4['membername']=_0x44f883;_0x5280b4[_0xb61a('0x37')]=_0x43a4e7;};exports[_0xb61a('0x38')]=function(_0x49d82c,_0x5eaa68,_0x546e09){var _0x303de4=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x49d82c[_0xb61a('0x30')]=_0x5eaa68;_0x49d82c[_0xb61a('0x31')]=_0x546e09;_0x49d82c[_0xb61a('0x36')]=_0x49d82c[_0xb61a('0x36')]?_0x49d82c[_0xb61a('0x36')]:_0x303de4;_0x49d82c[_0xb61a('0x34')]=_0x49d82c[_0xb61a('0x34')]?_0x49d82c[_0xb61a('0x34')]:_0x303de4;_0x49d82c[_0xb61a('0x39')]=getSeconds(_0x49d82c[_0xb61a('0x36')]||0x0,_0x49d82c[_0xb61a('0x33')]||0x0);_0x49d82c[_0xb61a('0x3a')]=_0x49d82c[_0xb61a('0x3b')]?getSeconds(_0x49d82c[_0xb61a('0x34')],_0x49d82c[_0xb61a('0x3b')]):0x0;};exports[_0xb61a('0x3c')]=function(_0x5b0a81){return _0x5b0a81===_0xb61a('0x3d');};exports['variablesAction']=function(_0x328598,_0x431164,_0x365b37,_0x176eac,_0x461aa2){var _0x472f1b=_0x176eac?_0xb61a('0x3e'):_0x328598[_0xb61a('0x18')];_0x472f1b=_0x461aa2?_0xb61a('0x3f'):_0x472f1b;return{'actionid':_0x328598[_0xb61a('0x40')],'action':_0xb61a('0x41'),'channel':_0x328598[_0xb61a('0x42')],'callerid':util[_0xb61a('0x12')](_0xb61a('0x13'),_0x472f1b,_0x328598[_0xb61a('0x19')]),'Exten':_0xb61a('0x25'),'Context':_0xb61a('0x43'),'Priority':'1','variable':_0x365b37,'timeout':(_0x431164[_0xb61a('0x44')]||0x1e)*0x3e8,'async':!![],'channelid':_0x328598[_0xb61a('0x40')]};};exports['totalGlobal']=function(_0x1e32b4){return _0x1e32b4[_0xb61a('0x45')]+_0x1e32b4[_0xb61a('0x46')]+_0x1e32b4[_0xb61a('0x47')]+_0x1e32b4[_0xb61a('0x48')]+_0x1e32b4[_0xb61a('0x49')];};exports['cloneAction']=function(_0x1cbcee){var _0x160a09=_['clone'](_0x1cbcee);_0x160a09[_0xb61a('0x30')]=0xf;_0x160a09[_0xb61a('0x31')]=_0xb61a('0x4a');return _0x160a09;};exports[_0xb61a('0x4b')]=function(_0x54baa4,_0x7d567d,_0x354b2d){var _0x53ffb3={};_0x53ffb3[_0x7d567d]=_0x54baa4[_0x7d567d];_0x53ffb3[_0xb61a('0x4c')]=![];_0x53ffb3['scheduledat']=moment()[_0xb61a('0x4d')](_0x354b2d,_0xb61a('0x4e'))[_0xb61a('0x12')]('YYYY-MM-DD\x20HH:mm:ss');_0x53ffb3[_0xb61a('0x1a')]=_0x54baa4[_0xb61a('0x1a')];_0x53ffb3[_0xb61a('0x4f')]=_0x54baa4[_0xb61a('0x4f')];_0x53ffb3[_0xb61a('0x1c')]=_0x54baa4[_0xb61a('0x1c')]||undefined;return _0x53ffb3;};exports['decrementTalkink']=function(_0x341054,_0x28c937){if(!_[_0xb61a('0x15')](_0x341054)){if(_0x341054[_0xb61a('0x50')]>0x0){_0x341054[_0xb61a('0x50')]-=0x1;}else{logger['error'](_0x28c937,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0xb61a('0x8')](_0x28c937,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports['IsNotLoggedIn']=function(_0x5bbcc5){if(_0x5bbcc5<=0x0){return!![];}return![];};exports[_0xb61a('0x51')]=function(_0x115565,_0x41ddad,_0xd8e473){_0x115565[_0xb61a('0x52')]=_0x41ddad;_0x115565[_0xb61a('0x17')]=_0x115565[_0xb61a('0x53')];_0x115565['interface']=_0x115565['channelAgent'];_0x115565[_0xb61a('0x54')]=_0xb61a('0x55');if(_0xd8e473){_0x115565[_0xb61a('0x56')]=_0xd8e473[_0xb61a('0x56')];}return _0x115565;};exports['buildAcw']=function(_0x202c49){var _0x209c51={};_0x209c51[_0xb61a('0x53')]=_0x202c49[_0xb61a('0x53')];_0x209c51['interface']=_0x202c49['channelAgent'];_0x209c51[_0xb61a('0x40')]=_0x202c49[_0xb61a('0x40')];return _0x209c51;};exports['agentReadyId']=function(_0x3d5a00){var _0x383fd9=[];for(var _0x12102e in _0x3d5a00){if(_0x3d5a00[_0xb61a('0x28')](_0x12102e)){if(!_['isNil'](_0x3d5a00[_0x12102e])&&_0x3d5a00[_0x12102e][_0xb61a('0x30')]==='not_inuse'&&_0x3d5a00[_0x12102e]['status']===_0xb61a('0x57')){_0x383fd9[_0xb61a('0x58')](_0x3d5a00[_0x12102e]['id']);}}}return _0x383fd9;};exports[_0xb61a('0x59')]=function(_0x2e8415){var _0x5cc433=moment()[_0xb61a('0x5a')](0x0);var _0xbe4fbb=moment(_0x2e8415)['milliseconds'](0x0);return _0x5cc433['diff'](_0xbe4fbb,_0xb61a('0x6'));};exports['createBody']=function(_0x32672f){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x32672f[_0xb61a('0x1a')],'ListId':_0x32672f[_0xb61a('0x4f')],'VoiceQueueId':_0x32672f['VoiceQueueId']||undefined,'CampaignId':_0x32672f[_0xb61a('0x5b')]||undefined};};exports[_0xb61a('0x5c')]=function(_0x288969){if(_0x288969==='uniqueid'||_0x288969==='idContact'||_0x288969==='queue'||_0x288969===_0xb61a('0x5d')||_0x288969===_0xb61a('0x5e')||_0x288969===_0xb61a('0x5f')||_0x288969===_0xb61a('0x60')||_0x288969==='channelAgent'||_0x288969==='calleridname'||_0x288969===_0xb61a('0x4c')||_0x288969==='calleridnum'||_0x288969==='scheduledat'||_0x288969===_0xb61a('0x45')||_0x288969===_0xb61a('0x46')||_0x288969===_0xb61a('0x47')||_0x288969==='countglobal'||_0x288969==='callback'||_0x288969===_0xb61a('0x61')||_0x288969===_0xb61a('0x62')||_0x288969===_0xb61a('0x63')||_0x288969===_0xb61a('0x1a')||_0x288969===_0xb61a('0x4f')||_0x288969===_0xb61a('0x37')||_0x288969===_0xb61a('0x1c')||_0x288969===_0xb61a('0x64')||_0x288969===_0xb61a('0x65')||_0x288969===_0xb61a('0x66')||_0x288969===_0xb61a('0x67')||_0x288969===_0xb61a('0x68')||_0x288969===_0xb61a('0x69')||_0x288969===_0xb61a('0x6a')||_0x288969===_0xb61a('0x6b')||_0x288969===_0xb61a('0x6c')||_0x288969===_0xb61a('0x6d')||_0x288969===_0xb61a('0x6e')||_0x288969==='xmd-cdrtype'||_0x288969===_0xb61a('0x6f')||_0x288969===_0xb61a('0x70')||_0x288969==='xmd-agi'||_0x288969==='rtpaudioqos'||_0x288969===_0xb61a('0x71')||_0x288969===_0xb61a('0x72')||_0x288969===_0xb61a('0x73')||_0x288969===_0xb61a('0x74')||_0x288969===_0xb61a('0x75')||_0x288969===_0xb61a('0x76')||_0x288969==='rtpaudioqosrttbridged'||_0x288969===_0xb61a('0x77')||_0x288969===_0xb61a('0x71')||_0x288969===_0xb61a('0x72')||_0x288969==='rtpaudioqosjitterbridged'||_0x288969===_0xb61a('0x74')||_0x288969===_0xb61a('0x75')||_0x288969==='rtpaudioqosrtt'||_0x288969===_0xb61a('0x78')||_0x288969===_0xb61a('0x79')||_0x288969===_0xb61a('0x7a')||_0x288969==='state'||_0x288969===_0xb61a('0x31')){return![];}return!![];};exports[_0xb61a('0x7b')]=function(_0x427403,_0x2a7f2c){var _0x33f1bf,_0x3e4cc3,_0x2907ed;if(_0x2a7f2c<=0x0){_0x2a7f2c=0x1;}_0x33f1bf=new RegExp('\x5cw{0,'+_0x2a7f2c+'}$');_0x3e4cc3=Math[_0xb61a('0x7c')](0xa,_0x2a7f2c-0x1);_0x2907ed=Math['pow'](0xa,_0x2a7f2c)-0x1;return util[_0xb61a('0x12')]('%s',_['replace'](_0x427403,_0x33f1bf,_[_0xb61a('0x7d')](_0x3e4cc3,_0x2907ed)));};exports[_0xb61a('0x7e')]=function(_0x276512){var _0x1681fc=_0x276512['match'](/"(.*?)"/);return _0x1681fc?_0x1681fc[0x1]:_0x276512;};exports['extractCalleridNumber']=function(_0x51c0c9){var _0x2df697=_0x51c0c9['match'](/<(.*?)>/);return _0x2df697?_0x2df697[0x1]:_0x51c0c9;};