Built motion from commit 8356fca3.|2.6.19
[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 _0xdf19=['ContactId','ListId','VoiceQueueId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','queue','interface','channelAgent','voice','buildObj','buildAcw','uniqueid','agentReadyId','not_inuse','status','reachable','push','getDiff','milliseconds','diff','seconds','createBody','filterKey','idContact','type','campaigntype','dialAnswer','countglobal','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-dialurl','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepeer','getCallerIdRandom','\x5cw{0,','pow','replace','extractCalleridName','match','extractCalleridNumber','noanswer','variables','forEach','toLowerCase','buildNoAnswerEventPayload','util','lodash','preview','XCALLY_IP_AGI','loggerCatch','error','inspect','info','loggerError','logger2','message','getCallerId','string','isEmpty','isUndefined','isNil','addVariables','name','format','\x22%s\x22\x20<%s>','calleridname','calleridnum','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','dialPreviewUrl','dialQueueProject','NONE','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','starttime','endtime','logAgent','state','responsetime','logLookAgent','membername','UserId','logCustomer','answertime','getSeconds','isFailure','Failure','RECALL','xcally-motion-preview','from-sip','timeout','countbusyretry','countcongestionretry','countnoanswerretry','cloneAction','clone','Global','scheduledAt','active','scheduledat','add'];(function(_0x566051,_0x1ccdaa){var _0x54b3cb=function(_0x2dadff){while(--_0x2dadff){_0x566051['push'](_0x566051['shift']());}};_0x54b3cb(++_0x1ccdaa);}(_0xdf19,0x151));var _0x9df1=function(_0x1dd8f6,_0x3ea487){_0x1dd8f6=_0x1dd8f6-0x0;var _0xf083b7=_0xdf19[_0x1dd8f6];return _0xf083b7;};'use strict';var util=require(_0x9df1('0x0'));var _=require(_0x9df1('0x1'));var moment=require('moment');var logger=require('../../../../config/logger')(_0x9df1('0x2'));var ipAgi=process['env'][_0x9df1('0x3')]||'127.0.0.1';var utils=require('../../dialer/utils');exports[_0x9df1('0x4')]=function(_0x3f1f86){return function(_0x4b10f5){logger[_0x9df1('0x5')](_0x3f1f86,util[_0x9df1('0x6')](_0x4b10f5,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x42fb07,_0xd392c5){logger[_0x9df1('0x7')](_0x42fb07,util[_0x9df1('0x6')](_0xd392c5,{'showHidden':![],'depth':null}));};exports[_0x9df1('0x8')]=function(_0x1de9a6,_0x167817){logger[_0x9df1('0x5')](_0x1de9a6,util[_0x9df1('0x6')](_0x167817,{'showHidden':![],'depth':null}));};exports[_0x9df1('0x9')]=function(_0xd93a82){return function(_0x17647a){logger[_0x9df1('0x7')](_0xd93a82,util['inspect'](_0x17647a,{'showHidden':![],'depth':null}));};};exports[_0x9df1('0xa')]=function(_0x5f28f3,_0xcf6722,_0x2ca911){return{'message':_0x5f28f3,'unlock':_0xcf6722,'active':_0x2ca911};};exports[_0x9df1('0xb')]=function(_0x99082e,_0x391017,_0x35c9f2){if(!_['isUndefined'](_0x35c9f2)&&_0x9df1('0xc')===typeof _0x35c9f2&&!_[_0x9df1('0xd')](_0x35c9f2)){if(!_[_0x9df1('0xe')](_0x391017)&&'string'===typeof _0x391017&&!_[_0x9df1('0xd')](_0x391017)){return util['format']('\x22%s\x22\x20<%s>',_0x391017,_0x35c9f2);}return util['format']('\x22%s\x22\x20<%s>',_0x35c9f2,_0x35c9f2);}if(!_[_0x9df1('0xe')](_0x99082e)&&_0x9df1('0xc')===typeof _0x99082e&&!_[_0x9df1('0xd')](_0x99082e)){return _0x99082e;}return'\x22\x22\x20<>';};exports['isActive']=function(_0x3463bf){if(_[_0x9df1('0xf')](_0x3463bf)){return![];}return _0x3463bf;};exports[_0x9df1('0x10')]=function(_0x28ecac,_0x557eff,_0xcbbfa3,_0x61e441,_0x1a978c,_0x2f95bb){var _0x4fc9e0={'XMD-QUEUE':_0x557eff['Queue']?_0x557eff['Queue'][_0x9df1('0x11')]:'','XMD-CALLERID':_0x61e441,'XMD-CALLERID-PREVIEW':_0x2f95bb?util[_0x9df1('0x12')](_0x9df1('0x13'),_0x2f95bb[_0x9df1('0x14')],_0x2f95bb[_0x9df1('0x15')]):_0x61e441,'XMD-DIALID':_0x1a978c,'XMD-CONTACTID':_0x557eff['ContactId'],'XMD-CDRTYPE':_0x9df1('0x16'),'CALLERID(all)':_0x61e441,'XMD-VOICEQUEUEID':_0x557eff['VoiceQueueId'],'XMD-DIALCHANNEL':_0xcbbfa3,'XMD-DIALTIMEOUT':_0x28ecac[_0x9df1('0x17')]||0x1e,'XMD-DIALOPTIONS':util[_0x9df1('0x12')](_0x9df1('0x18'),_0x28ecac[_0x9df1('0x19')]?'g':'',_['isEmpty'](_0x28ecac[_0x9df1('0x1a')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x28ecac[_0x9df1('0x1b')]||'','XMD-AGI':_0x28ecac['dialQueueProject']?util[_0x9df1('0x12')]('\x22agi://%s/square,%s\x22',ipAgi,_0x28ecac[_0x9df1('0x1c')]):_0x9df1('0x1d'),'XMD-AGIAFTER':_0x28ecac['dialQueueProject2']?util[_0x9df1('0x12')](_0x9df1('0x1e'),ipAgi,_0x28ecac[_0x9df1('0x19')]):_0x9df1('0x1d'),'XMD-ORIGINATECALLERIDNUM':_0x2f95bb?_0x2f95bb[_0x9df1('0x1f')]:'','XMD-ORIGINATECALLERIDNAME':_0x2f95bb?_0x2f95bb[_0x9df1('0x20')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':_0x9df1('0x21')};if(!_[_0x9df1('0xd')](_0x28ecac[_0x9df1('0x1a')])){_0x4fc9e0[util['format']('%s',_0x9df1('0x22'))]=_0x28ecac[_0x9df1('0x1a')];_0x4fc9e0[util[_0x9df1('0x12')]('%s',_0x9df1('0x23'))]=_0x1a978c;}return _0x4fc9e0;};exports[_0x9df1('0x24')]=function(_0x38ff55){var _0x5d9976={};for(var _0x1eff4a in _0x38ff55){if(_0x38ff55[_0x9df1('0x25')](_0x1eff4a)){_0x5d9976[util[_0x9df1('0x12')]('%s',_[_0x9df1('0x26')](_0x1eff4a))]=_0x38ff55[_0x1eff4a];}}return{'variables':_0x5d9976};};exports[_0x9df1('0x27')]=function(_0x429ef6,_0x8d98f2){if(!_[_0x9df1('0xf')](_0x429ef6)){if(_0x429ef6[_0x9df1('0x25')](_0x9df1('0x28'))){if(_0x429ef6[_0x9df1('0x28')]>0x0){_0x429ef6[_0x9df1('0x28')]-=0x1;}else{logger['error'](_0x9df1('0x29'),_0x8d98f2);}}}else{logger[_0x9df1('0x5')](_0x9df1('0x2a'),_0x8d98f2);}};exports[_0x9df1('0x2b')]=function(_0x9c9c71){var _0x4e2d1f=moment()[_0x9df1('0x12')](_0x9df1('0x2c'));_0x9c9c71['state']=0xd;_0x9c9c71[_0x9df1('0x2d')]=_0x9df1('0x2e');_0x9c9c71[_0x9df1('0x2f')]=_0x4e2d1f;_0x9c9c71['responsetime']=_0x4e2d1f;_0x9c9c71[_0x9df1('0x30')]=_0x4e2d1f;};exports[_0x9df1('0x31')]=function(_0xe13170,_0x287008,_0x2f5f11){var _0x49faa9=moment()[_0x9df1('0x12')](_0x9df1('0x2c'));_0xe13170[_0x9df1('0x32')]=_0x287008;_0xe13170[_0x9df1('0x2d')]=_0x2f5f11;_0xe13170[_0x9df1('0x33')]=_0x49faa9;_0xe13170['ringtime']=utils['getSeconds'](_0xe13170[_0x9df1('0x33')],_0xe13170['starttime']);};exports[_0x9df1('0x34')]=function(_0x1d1420,_0x43b48f,_0xb4412){_0x1d1420[_0x9df1('0x35')]=_0x43b48f;_0x1d1420[_0x9df1('0x36')]=_0xb4412;};exports[_0x9df1('0x37')]=function(_0x21713d,_0xcd75eb,_0x286c4b){var _0x335c22=moment()[_0x9df1('0x12')](_0x9df1('0x2c'));_0x21713d[_0x9df1('0x32')]=_0xcd75eb;_0x21713d[_0x9df1('0x2d')]=_0x286c4b;_0x21713d['responsetime']=_0x21713d[_0x9df1('0x33')]?_0x21713d[_0x9df1('0x33')]:_0x335c22;_0x21713d[_0x9df1('0x30')]=_0x21713d[_0x9df1('0x30')]?_0x21713d['endtime']:_0x335c22;_0x21713d['ringtime']=utils['getSeconds'](_0x21713d['responsetime']||0x0,_0x21713d[_0x9df1('0x2f')]||0x0);_0x21713d['talktime']=_0x21713d[_0x9df1('0x38')]?utils[_0x9df1('0x39')](_0x21713d[_0x9df1('0x30')],_0x21713d[_0x9df1('0x38')]):0x0;};exports[_0x9df1('0x3a')]=function(_0x434846){return _0x434846===_0x9df1('0x3b');};exports['variablesAction']=function(_0x22cf68,_0x22a9f3,_0x325288,_0x2159f4,_0x55c183){var _0x554685=_0x2159f4?_0x9df1('0x3c'):_0x22cf68[_0x9df1('0x14')];_0x554685=_0x55c183?'BOOKED':_0x554685;return{'actionid':_0x22cf68['uniqueid'],'action':'originate','channel':_0x22cf68['channelAgent'],'callerid':util[_0x9df1('0x12')]('\x22%s\x22\x20<%s>',_0x554685,_0x22cf68[_0x9df1('0x15')]),'Exten':_0x9df1('0x3d'),'Context':_0x9df1('0x3e'),'Priority':'1','variable':_0x325288,'timeout':(_0x22a9f3[_0x9df1('0x3f')]||0x1e)*0x3e8,'async':!![],'channelid':_0x22cf68['uniqueid']};};exports['totalGlobal']=function(_0x23b738){return _0x23b738[_0x9df1('0x40')]+_0x23b738[_0x9df1('0x41')]+_0x23b738[_0x9df1('0x42')]+_0x23b738['countagentrejectretry']+_0x23b738['countnosuchnumberretry'];};exports[_0x9df1('0x43')]=function(_0x7ded97){var _0x427450=_[_0x9df1('0x44')](_0x7ded97);_0x427450[_0x9df1('0x32')]=0xf;_0x427450['statedesc']=_0x9df1('0x45');return _0x427450;};exports[_0x9df1('0x46')]=function(_0x58f980,_0x326db3,_0x3cee59){var _0x341664={};_0x341664[_0x326db3]=_0x58f980[_0x326db3];_0x341664[_0x9df1('0x47')]=![];_0x341664[_0x9df1('0x48')]=moment()[_0x9df1('0x49')](_0x3cee59,'minutes')[_0x9df1('0x12')](_0x9df1('0x2c'));_0x341664[_0x9df1('0x4a')]=_0x58f980['ContactId'];_0x341664['ListId']=_0x58f980[_0x9df1('0x4b')];_0x341664[_0x9df1('0x4c')]=_0x58f980['VoiceQueueId']||undefined;return _0x341664;};exports['decrementTalkink']=function(_0x185266,_0x18c390){if(!_['isNil'](_0x185266)){if(_0x185266[_0x9df1('0x4d')]>0x0){_0x185266[_0x9df1('0x4d')]-=0x1;}else{logger['error'](_0x18c390,_0x9df1('0x4e'));}}else{logger['error'](_0x18c390,_0x9df1('0x4f'));}};exports['IsNotLoggedIn']=function(_0x596c6d){if(_0x596c6d<=0x0){return!![];}return![];};function buildObj(_0x54069d,_0x514833,_0x3dcfd2){_0x54069d['lastevent']=_0x514833;_0x54069d[_0x9df1('0x11')]=_0x54069d[_0x9df1('0x50')];_0x54069d[_0x9df1('0x51')]=_0x54069d[_0x9df1('0x52')];_0x54069d['motionChannel']=_0x9df1('0x53');if(_0x3dcfd2){_0x54069d['mandatoryDisposition']=_0x3dcfd2['mandatoryDisposition'];}return _0x54069d;}exports[_0x9df1('0x54')]=buildObj;exports[_0x9df1('0x55')]=function(_0x1274b9){var _0x6424bb={};_0x6424bb[_0x9df1('0x50')]=_0x1274b9['queue'];_0x6424bb['interface']=_0x1274b9['channelAgent'];_0x6424bb[_0x9df1('0x56')]=_0x1274b9[_0x9df1('0x56')];return _0x6424bb;};exports[_0x9df1('0x57')]=function(_0xc49a4b){var _0x514861=[];for(var _0x3fa9ac in _0xc49a4b){if(_0xc49a4b[_0x9df1('0x25')](_0x3fa9ac)){if(!_['isNil'](_0xc49a4b[_0x3fa9ac])&&_0xc49a4b[_0x3fa9ac]['state']===_0x9df1('0x58')&&_0xc49a4b[_0x3fa9ac][_0x9df1('0x59')]===_0x9df1('0x5a')){_0x514861[_0x9df1('0x5b')](_0xc49a4b[_0x3fa9ac]['id']);}}}return _0x514861;};exports[_0x9df1('0x5c')]=function(_0x4214a5){var _0x1097ae=moment()['milliseconds'](0x0);var _0x69c576=moment(_0x4214a5)[_0x9df1('0x5d')](0x0);return _0x1097ae[_0x9df1('0x5e')](_0x69c576,_0x9df1('0x5f'));};exports[_0x9df1('0x60')]=function(_0x34673e){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x34673e[_0x9df1('0x4a')],'ListId':_0x34673e[_0x9df1('0x4b')],'VoiceQueueId':_0x34673e[_0x9df1('0x4c')]||undefined,'CampaignId':_0x34673e['CampaignId']||undefined};};exports[_0x9df1('0x61')]=function(_0x2ce158){if(_0x2ce158==='uniqueid'||_0x2ce158===_0x9df1('0x62')||_0x2ce158===_0x9df1('0x50')||_0x2ce158===_0x9df1('0x63')||_0x2ce158===_0x9df1('0x64')||_0x2ce158===_0x9df1('0x65')||_0x2ce158==='membername'||_0x2ce158===_0x9df1('0x52')||_0x2ce158===_0x9df1('0x14')||_0x2ce158===_0x9df1('0x47')||_0x2ce158===_0x9df1('0x15')||_0x2ce158==='scheduledat'||_0x2ce158===_0x9df1('0x40')||_0x2ce158==='countcongestionretry'||_0x2ce158===_0x9df1('0x42')||_0x2ce158===_0x9df1('0x66')||_0x2ce158==='callback'||_0x2ce158==='callbackuniqueid'||_0x2ce158===_0x9df1('0x67')||_0x2ce158===_0x9df1('0x68')||_0x2ce158===_0x9df1('0x4a')||_0x2ce158==='ListId'||_0x2ce158===_0x9df1('0x36')||_0x2ce158===_0x9df1('0x4c')||_0x2ce158===_0x9df1('0x69')||_0x2ce158===_0x9df1('0x6a')||_0x2ce158===_0x9df1('0x6b')||_0x2ce158===_0x9df1('0x6c')||_0x2ce158==='xmd-listid'||_0x2ce158===_0x9df1('0x6d')||_0x2ce158==='xmd-dialtimeout'||_0x2ce158===_0x9df1('0x6e')||_0x2ce158===_0x9df1('0x6f')||_0x2ce158===_0x9df1('0x70')||_0x2ce158===_0x9df1('0x71')||_0x2ce158==='xmd-cdrtype'||_0x2ce158===_0x9df1('0x72')||_0x2ce158===_0x9df1('0x73')||_0x2ce158==='xmd-agi'||_0x2ce158===_0x9df1('0x74')||_0x2ce158===_0x9df1('0x75')||_0x2ce158===_0x9df1('0x76')||_0x2ce158===_0x9df1('0x77')||_0x2ce158===_0x9df1('0x78')||_0x2ce158===_0x9df1('0x79')||_0x2ce158===_0x9df1('0x7a')||_0x2ce158==='rtpaudioqosrttbridged'||_0x2ce158===_0x9df1('0x74')||_0x2ce158==='rtpaudioqosbridged'||_0x2ce158===_0x9df1('0x76')||_0x2ce158===_0x9df1('0x77')||_0x2ce158===_0x9df1('0x78')||_0x2ce158===_0x9df1('0x79')||_0x2ce158===_0x9df1('0x7a')||_0x2ce158===_0x9df1('0x7b')||_0x2ce158===_0x9df1('0x7c')||_0x2ce158==='bridgepvtcallid'||_0x2ce158===_0x9df1('0x32')||_0x2ce158===_0x9df1('0x2d')){return![];}return!![];};exports[_0x9df1('0x7d')]=function(_0x3a1862,_0x1711fc){var _0x4657cd,_0x3fb6c8,_0x5ade94;if(_0x1711fc<=0x0){_0x1711fc=0x1;}_0x4657cd=new RegExp(_0x9df1('0x7e')+_0x1711fc+'}$');_0x3fb6c8=Math[_0x9df1('0x7f')](0xa,_0x1711fc-0x1);_0x5ade94=Math[_0x9df1('0x7f')](0xa,_0x1711fc)-0x1;return util['format']('%s',_[_0x9df1('0x80')](_0x3a1862,_0x4657cd,_['random'](_0x3fb6c8,_0x5ade94)));};exports[_0x9df1('0x81')]=function(_0x51178f){var _0x3af85e=_0x51178f[_0x9df1('0x82')](/"(.*?)"/);return _0x3af85e?_0x3af85e[0x1]:_0x51178f;};exports[_0x9df1('0x83')]=function(_0x3aace8){var _0x4fd353=_0x3aace8[_0x9df1('0x82')](/<(.*?)>/);return _0x4fd353?_0x4fd353[0x1]:_0x3aace8;};function buildNoAnswerEventPayload(_0x457044,_0x1265e9){var _0x9c402c=buildObj(_0x457044,_0x9df1('0x84'));if(!_[_0x9df1('0xd')](_0x1265e9['variables'])){Object['keys'](_0x1265e9[_0x9df1('0x85')])[_0x9df1('0x86')](function(_0x39a184){_0x9c402c[_0x39a184[_0x9df1('0x87')]()]=_0x1265e9['variables'][_0x39a184];});}return _0x9c402c;}exports[_0x9df1('0x88')]=buildNoAnswerEventPayload;