e12b2d493fd4ce2aff7a230c39f47b7afa71bc1f
[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 _0xc3f8=['YYYY-MM-DD\x20HH:mm:ss','ringtime','logLookAgent','membername','logCustomer','endtime','talktime','answertime','isFailure','Failure','calleridname','BOOKED','uniqueid','originate','from-sip','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active','scheduledat','add','minutes','ContactId','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','queue','interface','channelAgent','motionChannel','voice','mandatoryDisposition','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','createBody','CampaignId','idContact','type','campaigntype','dialAnswer','calleridnum','callbackuniqueid','sipcallid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialoptions','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-agiafter','xmd-agi','rtpaudioqosloss','rtpaudioqosrttbridged','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqoslossbridged','rtpaudioqosrtt','bridgepeer','getCallerIdRandom','\x5cw{0,','pow','random','extractCalleridName','match','extractCalleridNumber','util','lodash','moment','../../../../config/logger','preview','env','milliseconds','diff','seconds','loggerCatch','error','inspect','logger','info','loggerError','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','addVariables','Queue','name','VoiceQueueId','dialOriginateTimeout','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','dialQueueProject','NONE','originatecalleridname','monitor_format','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','tags','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','hasOwnProperty','updateOriginated','isNil','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','state','statedesc','Blacklist','starttime','responsetime','logAgent'];(function(_0x1dbbce,_0x48410a){var _0x30b20d=function(_0x239d3e){while(--_0x239d3e){_0x1dbbce['push'](_0x1dbbce['shift']());}};_0x30b20d(++_0x48410a);}(_0xc3f8,0xdf));var _0x8c3f=function(_0x384d91,_0xedbef1){_0x384d91=_0x384d91-0x0;var _0x415b03=_0xc3f8[_0x384d91];return _0x415b03;};'use strict';var util=require(_0x8c3f('0x0'));var _=require(_0x8c3f('0x1'));var moment=require(_0x8c3f('0x2'));var logger=require(_0x8c3f('0x3'))(_0x8c3f('0x4'));var ipAgi=process[_0x8c3f('0x5')]['XCALLY_IP_AGI']||'127.0.0.1';function getSeconds(_0x442839,_0x5a4797){var _0x1d6084=moment(_0x442839)['milliseconds'](0x0);var _0xa4d9e6=moment(_0x5a4797)[_0x8c3f('0x6')](0x0);return _0x1d6084[_0x8c3f('0x7')](_0xa4d9e6,_0x8c3f('0x8'));}exports[_0x8c3f('0x9')]=function(_0xb6c6b6){return function(_0xb36768){logger[_0x8c3f('0xa')](_0xb6c6b6,util[_0x8c3f('0xb')](_0xb36768,{'showHidden':![],'depth':null}));};};exports[_0x8c3f('0xc')]=function(_0x5eea2e,_0x1e1f93){logger[_0x8c3f('0xd')](_0x5eea2e,util['inspect'](_0x1e1f93,{'showHidden':![],'depth':null}));};exports[_0x8c3f('0xe')]=function(_0x387a80,_0x558f9b){logger[_0x8c3f('0xa')](_0x387a80,util[_0x8c3f('0xb')](_0x558f9b,{'showHidden':![],'depth':null}));};exports[_0x8c3f('0xf')]=function(_0x5a7563){return function(_0x48c827){logger[_0x8c3f('0xd')](_0x5a7563,util['inspect'](_0x48c827,{'showHidden':![],'depth':null}));};};exports[_0x8c3f('0x10')]=function(_0xda4bae,_0x1eeca6,_0x448ed5){return{'message':_0xda4bae,'unlock':_0x1eeca6,'active':_0x448ed5};};exports[_0x8c3f('0x11')]=function(_0x5f3610,_0x316f4d,_0x1995dd){if(!_[_0x8c3f('0x12')](_0x1995dd)&&_0x8c3f('0x13')===typeof _0x1995dd&&!_['isEmpty'](_0x1995dd)){if(!_[_0x8c3f('0x12')](_0x316f4d)&&'string'===typeof _0x316f4d&&!_[_0x8c3f('0x14')](_0x316f4d)){return util[_0x8c3f('0x15')]('\x22%s\x22\x20<%s>',_0x316f4d,_0x1995dd);}return util['format'](_0x8c3f('0x16'),_0x1995dd,_0x1995dd);}if(!_[_0x8c3f('0x12')](_0x5f3610)&&_0x8c3f('0x13')===typeof _0x5f3610&&!_[_0x8c3f('0x14')](_0x5f3610)){return _0x5f3610;}return _0x8c3f('0x17');};exports['isActive']=function(_0x4f9b37){if(_['isNil'](_0x4f9b37)){return![];}return _0x4f9b37;};exports[_0x8c3f('0x18')]=function(_0x4b6540,_0x1f2f1c,_0x724770,_0x341c7c,_0x49a310,_0x43ec72){var _0x195afc={'XMD-QUEUE':_0x1f2f1c[_0x8c3f('0x19')]?_0x1f2f1c[_0x8c3f('0x19')][_0x8c3f('0x1a')]:'','XMD-CALLERID':_0x341c7c,'XMD-CALLERID-PREVIEW':_0x43ec72?util[_0x8c3f('0x15')](_0x8c3f('0x16'),_0x43ec72['calleridname'],_0x43ec72['calleridnum']):_0x341c7c,'XMD-DIALID':_0x49a310,'XMD-CONTACTID':_0x1f2f1c['ContactId'],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x341c7c,'XMD-VOICEQUEUEID':_0x1f2f1c[_0x8c3f('0x1b')],'XMD-DIALCHANNEL':_0x724770,'XMD-DIALTIMEOUT':_0x4b6540[_0x8c3f('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0x8c3f('0x15')]('\x22rtTxX%s%s\x22',_0x4b6540[_0x8c3f('0x1d')]?'g':'',_[_0x8c3f('0x14')](_0x4b6540['monitor_format'])?'':_0x8c3f('0x1e')),'XMD-DIALURL':_0x4b6540[_0x8c3f('0x1f')]||'','XMD-AGI':_0x4b6540['dialQueueProject']?util['format'](_0x8c3f('0x20'),ipAgi,_0x4b6540[_0x8c3f('0x21')]):_0x8c3f('0x22'),'XMD-AGIAFTER':_0x4b6540['dialQueueProject2']?util[_0x8c3f('0x15')]('\x22agi://%s/square,%s\x22',ipAgi,_0x4b6540[_0x8c3f('0x1d')]):_0x8c3f('0x22'),'XMD-ORIGINATECALLERIDNUM':_0x43ec72?_0x43ec72['originatecalleridnum']:'','XMD-ORIGINATECALLERIDNAME':_0x43ec72?_0x43ec72[_0x8c3f('0x23')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_[_0x8c3f('0x14')](_0x4b6540[_0x8c3f('0x24')])){_0x195afc[util[_0x8c3f('0x15')]('%s',_0x8c3f('0x25'))]=_0x4b6540[_0x8c3f('0x24')];_0x195afc[util[_0x8c3f('0x15')]('%s',_0x8c3f('0x26'))]=_0x49a310;}if(_0x1f2f1c&&_0x1f2f1c[_0x8c3f('0x27')]){for(var _0x4aafdf in _0x1f2f1c[_0x8c3f('0x27')]){if(_0x1f2f1c[_0x8c3f('0x27')]['hasOwnProperty'](_0x4aafdf)){if(!_['isNil'](_0x1f2f1c[_0x8c3f('0x27')][_0x4aafdf])&&_0x4aafdf!=='id'&&_0x4aafdf!==_0x8c3f('0x28')&&_0x4aafdf!==_0x8c3f('0x29')&&_0x4aafdf!==_0x8c3f('0x2a')){_0x195afc[util['format'](_0x8c3f('0x2b'),_0x8c3f('0x2c'),_[_0x8c3f('0x2d')](_0x4aafdf))]=_0x1f2f1c[_0x8c3f('0x27')][_0x4aafdf];}}}}return _0x195afc;};exports[_0x8c3f('0x2e')]=function(_0x491519){var _0x4b883b={};for(var _0x2e2b30 in _0x491519){if(_0x491519[_0x8c3f('0x2f')](_0x2e2b30)){_0x4b883b[util[_0x8c3f('0x15')]('%s',_['toLower'](_0x2e2b30))]=_0x491519[_0x2e2b30];}}return{'variables':_0x4b883b};};exports[_0x8c3f('0x30')]=function(_0x1c6714,_0x4b0992){if(!_[_0x8c3f('0x31')](_0x1c6714)){if(_0x1c6714[_0x8c3f('0x2f')](_0x8c3f('0x32'))){if(_0x1c6714[_0x8c3f('0x32')]>0x0){_0x1c6714['originated']-=0x1;}else{logger[_0x8c3f('0xa')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x4b0992);}}}else{logger[_0x8c3f('0xa')](_0x8c3f('0x33'),_0x4b0992);}};exports[_0x8c3f('0x34')]=function(_0x23a7a6){var _0x4832ae=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x23a7a6[_0x8c3f('0x35')]=0xd;_0x23a7a6[_0x8c3f('0x36')]=_0x8c3f('0x37');_0x23a7a6[_0x8c3f('0x38')]=_0x4832ae;_0x23a7a6[_0x8c3f('0x39')]=_0x4832ae;_0x23a7a6['endtime']=_0x4832ae;};exports[_0x8c3f('0x3a')]=function(_0x10c014,_0x2c6305,_0x2ed5f8){var _0x1400a4=moment()[_0x8c3f('0x15')](_0x8c3f('0x3b'));_0x10c014['state']=_0x2c6305;_0x10c014[_0x8c3f('0x36')]=_0x2ed5f8;_0x10c014[_0x8c3f('0x39')]=_0x1400a4;_0x10c014[_0x8c3f('0x3c')]=getSeconds(_0x10c014[_0x8c3f('0x39')],_0x10c014['starttime']);};exports[_0x8c3f('0x3d')]=function(_0x249bea,_0x25dd30,_0x145b19){_0x249bea[_0x8c3f('0x3e')]=_0x25dd30;_0x249bea['UserId']=_0x145b19;};exports[_0x8c3f('0x3f')]=function(_0x1a1cd2,_0x3693a4,_0xc2efd){var _0x175481=moment()['format'](_0x8c3f('0x3b'));_0x1a1cd2[_0x8c3f('0x35')]=_0x3693a4;_0x1a1cd2[_0x8c3f('0x36')]=_0xc2efd;_0x1a1cd2[_0x8c3f('0x39')]=_0x1a1cd2['responsetime']?_0x1a1cd2[_0x8c3f('0x39')]:_0x175481;_0x1a1cd2[_0x8c3f('0x40')]=_0x1a1cd2['endtime']?_0x1a1cd2[_0x8c3f('0x40')]:_0x175481;_0x1a1cd2['ringtime']=getSeconds(_0x1a1cd2['responsetime']||0x0,_0x1a1cd2[_0x8c3f('0x38')]||0x0);_0x1a1cd2[_0x8c3f('0x41')]=_0x1a1cd2['answertime']?getSeconds(_0x1a1cd2[_0x8c3f('0x40')],_0x1a1cd2[_0x8c3f('0x42')]):0x0;};exports[_0x8c3f('0x43')]=function(_0x599eb7){return _0x599eb7===_0x8c3f('0x44');};exports['variablesAction']=function(_0x52f874,_0x30feac,_0x26bb2d,_0x14ad71,_0x19f4ba){var _0x47e1a1=_0x14ad71?'RECALL':_0x52f874[_0x8c3f('0x45')];_0x47e1a1=_0x19f4ba?_0x8c3f('0x46'):_0x47e1a1;return{'actionid':_0x52f874[_0x8c3f('0x47')],'action':_0x8c3f('0x48'),'channel':_0x52f874['channelAgent'],'callerid':util[_0x8c3f('0x15')](_0x8c3f('0x16'),_0x47e1a1,_0x52f874['calleridnum']),'Exten':'xcally-motion-preview','Context':_0x8c3f('0x49'),'Priority':'1','variable':_0x26bb2d,'timeout':(_0x30feac[_0x8c3f('0x4a')]||0x1e)*0x3e8,'async':!![],'channelid':_0x52f874[_0x8c3f('0x47')]};};exports[_0x8c3f('0x4b')]=function(_0x40a72a){return _0x40a72a[_0x8c3f('0x4c')]+_0x40a72a[_0x8c3f('0x4d')]+_0x40a72a[_0x8c3f('0x4e')]+_0x40a72a['countagentrejectretry']+_0x40a72a[_0x8c3f('0x4f')];};exports[_0x8c3f('0x50')]=function(_0xf13740){var _0x3cb608=_[_0x8c3f('0x51')](_0xf13740);_0x3cb608[_0x8c3f('0x35')]=0xf;_0x3cb608['statedesc']=_0x8c3f('0x52');return _0x3cb608;};exports[_0x8c3f('0x53')]=function(_0x5e8d5f,_0x423225,_0x4fab73){var _0x4d4824={};_0x4d4824[_0x423225]=_0x5e8d5f[_0x423225];_0x4d4824[_0x8c3f('0x54')]=![];_0x4d4824[_0x8c3f('0x55')]=moment()[_0x8c3f('0x56')](_0x4fab73,_0x8c3f('0x57'))[_0x8c3f('0x15')](_0x8c3f('0x3b'));_0x4d4824[_0x8c3f('0x58')]=_0x5e8d5f[_0x8c3f('0x58')];_0x4d4824[_0x8c3f('0x59')]=_0x5e8d5f[_0x8c3f('0x59')];_0x4d4824[_0x8c3f('0x1b')]=_0x5e8d5f[_0x8c3f('0x1b')]||undefined;return _0x4d4824;};exports[_0x8c3f('0x5a')]=function(_0x5a7964,_0x3135d5){if(!_['isNil'](_0x5a7964)){if(_0x5a7964['pTalking']>0x0){_0x5a7964[_0x8c3f('0x5b')]-=0x1;}else{logger['error'](_0x3135d5,_0x8c3f('0x5c'));}}else{logger[_0x8c3f('0xa')](_0x3135d5,_0x8c3f('0x5d'));}};exports[_0x8c3f('0x5e')]=function(_0xfd93d3){if(_0xfd93d3<=0x0){return!![];}return![];};exports['buildObj']=function(_0xd08e35,_0x144206,_0xf1980a){_0xd08e35['lastevent']=_0x144206;_0xd08e35[_0x8c3f('0x1a')]=_0xd08e35[_0x8c3f('0x5f')];_0xd08e35[_0x8c3f('0x60')]=_0xd08e35[_0x8c3f('0x61')];_0xd08e35[_0x8c3f('0x62')]=_0x8c3f('0x63');if(_0xf1980a){_0xd08e35['mandatoryDisposition']=_0xf1980a[_0x8c3f('0x64')];}return _0xd08e35;};exports[_0x8c3f('0x65')]=function(_0x57b734){var _0x33ccdf={};_0x33ccdf[_0x8c3f('0x5f')]=_0x57b734[_0x8c3f('0x5f')];_0x33ccdf['interface']=_0x57b734[_0x8c3f('0x61')];_0x33ccdf[_0x8c3f('0x47')]=_0x57b734[_0x8c3f('0x47')];return _0x33ccdf;};exports[_0x8c3f('0x66')]=function(_0x174d44){var _0x27f233=[];for(var _0x202406 in _0x174d44){if(_0x174d44['hasOwnProperty'](_0x202406)){if(!_[_0x8c3f('0x31')](_0x174d44[_0x202406])&&_0x174d44[_0x202406][_0x8c3f('0x35')]===_0x8c3f('0x67')&&_0x174d44[_0x202406][_0x8c3f('0x68')]===_0x8c3f('0x69')){_0x27f233[_0x8c3f('0x6a')](_0x174d44[_0x202406]['id']);}}}return _0x27f233;};exports[_0x8c3f('0x6b')]=function(_0x1b622c){var _0x5bef4=moment()['milliseconds'](0x0);var _0x1fa4b9=moment(_0x1b622c)[_0x8c3f('0x6')](0x0);return _0x5bef4[_0x8c3f('0x7')](_0x1fa4b9,_0x8c3f('0x8'));};exports[_0x8c3f('0x6c')]=function(_0x5802c9){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x5802c9[_0x8c3f('0x58')],'ListId':_0x5802c9[_0x8c3f('0x59')],'VoiceQueueId':_0x5802c9['VoiceQueueId']||undefined,'CampaignId':_0x5802c9[_0x8c3f('0x6d')]||undefined};};exports['filterKey']=function(_0x3ef82b){if(_0x3ef82b==='uniqueid'||_0x3ef82b===_0x8c3f('0x6e')||_0x3ef82b===_0x8c3f('0x5f')||_0x3ef82b===_0x8c3f('0x6f')||_0x3ef82b===_0x8c3f('0x70')||_0x3ef82b===_0x8c3f('0x71')||_0x3ef82b===_0x8c3f('0x3e')||_0x3ef82b===_0x8c3f('0x61')||_0x3ef82b==='calleridname'||_0x3ef82b===_0x8c3f('0x54')||_0x3ef82b===_0x8c3f('0x72')||_0x3ef82b===_0x8c3f('0x55')||_0x3ef82b===_0x8c3f('0x4c')||_0x3ef82b===_0x8c3f('0x4d')||_0x3ef82b==='countnoanswerretry'||_0x3ef82b==='countglobal'||_0x3ef82b==='callback'||_0x3ef82b===_0x8c3f('0x73')||_0x3ef82b==='callbackat'||_0x3ef82b==='recallme'||_0x3ef82b===_0x8c3f('0x58')||_0x3ef82b===_0x8c3f('0x59')||_0x3ef82b==='UserId'||_0x3ef82b===_0x8c3f('0x1b')||_0x3ef82b===_0x8c3f('0x74')||_0x3ef82b==='xmd-voicequeueid'||_0x3ef82b===_0x8c3f('0x75')||_0x3ef82b===_0x8c3f('0x76')||_0x3ef82b===_0x8c3f('0x77')||_0x3ef82b===_0x8c3f('0x78')||_0x3ef82b==='xmd-dialtimeout'||_0x3ef82b===_0x8c3f('0x79')||_0x3ef82b==='xmd-dialid'||_0x3ef82b===_0x8c3f('0x7a')||_0x3ef82b===_0x8c3f('0x7b')||_0x3ef82b===_0x8c3f('0x7c')||_0x3ef82b==='xmd-callerid'||_0x3ef82b===_0x8c3f('0x7d')||_0x3ef82b===_0x8c3f('0x7e')||_0x3ef82b==='rtpaudioqos'||_0x3ef82b==='rtpaudioqosbridged'||_0x3ef82b==='rtpaudioqosjitter'||_0x3ef82b==='rtpaudioqosjitterbridged'||_0x3ef82b===_0x8c3f('0x7f')||_0x3ef82b==='rtpaudioqoslossbridged'||_0x3ef82b==='rtpaudioqosrtt'||_0x3ef82b===_0x8c3f('0x80')||_0x3ef82b==='rtpaudioqos'||_0x3ef82b===_0x8c3f('0x81')||_0x3ef82b===_0x8c3f('0x82')||_0x3ef82b==='rtpaudioqosjitterbridged'||_0x3ef82b===_0x8c3f('0x7f')||_0x3ef82b===_0x8c3f('0x83')||_0x3ef82b===_0x8c3f('0x84')||_0x3ef82b===_0x8c3f('0x80')||_0x3ef82b===_0x8c3f('0x85')||_0x3ef82b==='bridgepvtcallid'||_0x3ef82b===_0x8c3f('0x35')||_0x3ef82b===_0x8c3f('0x36')){return![];}return!![];};exports[_0x8c3f('0x86')]=function(_0x21040c,_0x275a2f){var _0xa2fe3c,_0x2c224f,_0x1183c7;if(_0x275a2f<=0x0){_0x275a2f=0x1;}_0xa2fe3c=new RegExp(_0x8c3f('0x87')+_0x275a2f+'}$');_0x2c224f=Math[_0x8c3f('0x88')](0xa,_0x275a2f-0x1);_0x1183c7=Math[_0x8c3f('0x88')](0xa,_0x275a2f)-0x1;return util['format']('%s',_['replace'](_0x21040c,_0xa2fe3c,_[_0x8c3f('0x89')](_0x2c224f,_0x1183c7)));};exports[_0x8c3f('0x8a')]=function(_0x5c6347){var _0x348cb2=_0x5c6347[_0x8c3f('0x8b')](/"(.*?)"/);return _0x348cb2?_0x348cb2[0x1]:_0x5c6347;};exports[_0x8c3f('0x8c')]=function(_0x1d6e3b){var _0xec19d2=_0x1d6e3b[_0x8c3f('0x8b')](/<(.*?)>/);return _0xec19d2?_0xec19d2[0x1]:_0x1d6e3b;};