aace6090d43d3b85301a6967e5899fea6564bca4
[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 _0x491c=['channelAgent','from-sip','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','interface','voice','mandatoryDisposition','buildAcw','agentReadyId','status','reachable','push','CampaignId','filterKey','idContact','type','campaigntype','scheduledat','countglobal','callback','callbackuniqueid','recallme','xmd-listid','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agi','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqos','rtpaudioqosjitterbridged','bridgepeer','getCallerIdRandom','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','lodash','../../../../config/logger','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','loggerCatch','error','inspect','info','loggerError','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isNil','addVariables','Queue','calleridname','calleridnum','ContactId','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','Contact','hasOwnProperty','tags','createdAt','%s%s','XMD-','toUpper','toLowerVariables','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','state','ringtime','logLookAgent','UserId','logCustomer','answertime','RECALL','BOOKED','uniqueid','originate'];(function(_0x17e696,_0xad1c39){var _0x1a9e33=function(_0x28d22a){while(--_0x28d22a){_0x17e696['push'](_0x17e696['shift']());}};_0x1a9e33(++_0xad1c39);}(_0x491c,0xcb));var _0xc491=function(_0x2200ec,_0x13b192){_0x2200ec=_0x2200ec-0x0;var _0x2954c2=_0x491c[_0x2200ec];return _0x2954c2;};'use strict';var util=require(_0xc491('0x0'));var _=require(_0xc491('0x1'));var moment=require('moment');var logger=require(_0xc491('0x2'))('preview');var ipAgi=process[_0xc491('0x3')][_0xc491('0x4')]||_0xc491('0x5');function getSeconds(_0x1dc95f,_0x3f6a68){var _0x4274ee=moment(_0x1dc95f)[_0xc491('0x6')](0x0);var _0x23631b=moment(_0x3f6a68)[_0xc491('0x6')](0x0);return _0x4274ee[_0xc491('0x7')](_0x23631b,_0xc491('0x8'));}exports[_0xc491('0x9')]=function(_0x3d638f){return function(_0x5a3fc0){logger[_0xc491('0xa')](_0x3d638f,util[_0xc491('0xb')](_0x5a3fc0,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x3aa82a,_0x382be4){logger[_0xc491('0xc')](_0x3aa82a,util[_0xc491('0xb')](_0x382be4,{'showHidden':![],'depth':null}));};exports[_0xc491('0xd')]=function(_0x50122e,_0x23061f){logger[_0xc491('0xa')](_0x50122e,util[_0xc491('0xb')](_0x23061f,{'showHidden':![],'depth':null}));};exports[_0xc491('0xe')]=function(_0x422580){return function(_0x5d2ca0){logger[_0xc491('0xc')](_0x422580,util[_0xc491('0xb')](_0x5d2ca0,{'showHidden':![],'depth':null}));};};exports[_0xc491('0xf')]=function(_0x2728e8,_0x4f076b,_0x3a4f14){return{'message':_0x2728e8,'unlock':_0x4f076b,'active':_0x3a4f14};};exports[_0xc491('0x10')]=function(_0x1f6a85,_0x43448b,_0x490e66){if(!_[_0xc491('0x11')](_0x490e66)&&_0xc491('0x12')===typeof _0x490e66&&!_[_0xc491('0x13')](_0x490e66)){if(!_['isUndefined'](_0x43448b)&&_0xc491('0x12')===typeof _0x43448b&&!_[_0xc491('0x13')](_0x43448b)){return util[_0xc491('0x14')](_0xc491('0x15'),_0x43448b,_0x490e66);}return util[_0xc491('0x14')](_0xc491('0x15'),_0x490e66,_0x490e66);}if(!_[_0xc491('0x11')](_0x1f6a85)&&'string'===typeof _0x1f6a85&&!_[_0xc491('0x13')](_0x1f6a85)){return _0x1f6a85;}return _0xc491('0x16');};exports['isActive']=function(_0x320751){if(_[_0xc491('0x17')](_0x320751)){return![];}return _0x320751;};exports[_0xc491('0x18')]=function(_0x2fccd9,_0x3a5200,_0x11fd2,_0x4b9184,_0x56e85a,_0x45483f){var _0x46a411={'XMD-QUEUE':_0x3a5200[_0xc491('0x19')]?_0x3a5200[_0xc491('0x19')]['name']:'','XMD-CALLERID':_0x4b9184,'XMD-CALLERID-PREVIEW':_0x45483f?util[_0xc491('0x14')]('\x22%s\x22\x20<%s>',_0x45483f[_0xc491('0x1a')],_0x45483f[_0xc491('0x1b')]):_0x4b9184,'XMD-DIALID':_0x56e85a,'XMD-CONTACTID':_0x3a5200[_0xc491('0x1c')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x4b9184,'XMD-VOICEQUEUEID':_0x3a5200[_0xc491('0x1d')],'XMD-DIALCHANNEL':_0x11fd2,'XMD-DIALTIMEOUT':_0x2fccd9[_0xc491('0x1e')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0xc491('0x1f'),_0x2fccd9[_0xc491('0x20')]?'g':'',_[_0xc491('0x13')](_0x2fccd9[_0xc491('0x21')])?'':_0xc491('0x22')),'XMD-DIALURL':_0x2fccd9[_0xc491('0x23')]||'','XMD-AGI':_0x2fccd9['dialQueueProject']?util[_0xc491('0x14')](_0xc491('0x24'),ipAgi,_0x2fccd9['dialQueueProject']):_0xc491('0x25'),'XMD-AGIAFTER':_0x2fccd9[_0xc491('0x20')]?util[_0xc491('0x14')]('\x22agi://%s/square,%s\x22',ipAgi,_0x2fccd9[_0xc491('0x20')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x45483f?_0x45483f[_0xc491('0x26')]:'','XMD-ORIGINATECALLERIDNAME':_0x45483f?_0x45483f[_0xc491('0x27')]:'','XMD-DESTINATION':_0xc491('0x28'),'SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_['isEmpty'](_0x2fccd9[_0xc491('0x21')])){_0x46a411[util[_0xc491('0x14')]('%s',_0xc491('0x29'))]=_0x2fccd9[_0xc491('0x21')];_0x46a411[util[_0xc491('0x14')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x56e85a;}if(_0x3a5200&&_0x3a5200[_0xc491('0x2a')]){for(var _0x5ea4e1 in _0x3a5200['Contact']){if(_0x3a5200['Contact'][_0xc491('0x2b')](_0x5ea4e1)){if(!_[_0xc491('0x17')](_0x3a5200[_0xc491('0x2a')][_0x5ea4e1])&&_0x5ea4e1!=='id'&&_0x5ea4e1!==_0xc491('0x2c')&&_0x5ea4e1!==_0xc491('0x2d')&&_0x5ea4e1!=='updatedAt'){_0x46a411[util['format'](_0xc491('0x2e'),_0xc491('0x2f'),_[_0xc491('0x30')](_0x5ea4e1))]=_0x3a5200[_0xc491('0x2a')][_0x5ea4e1];}}}}return _0x46a411;};exports[_0xc491('0x31')]=function(_0x5ed212){var _0x167d7e={};for(var _0x22d4c2 in _0x5ed212){if(_0x5ed212[_0xc491('0x2b')](_0x22d4c2)){_0x167d7e[util[_0xc491('0x14')]('%s',_['toLower'](_0x22d4c2))]=_0x5ed212[_0x22d4c2];}}return{'variables':_0x167d7e};};exports[_0xc491('0x32')]=function(_0x4c074f,_0x12a4f3){if(!_[_0xc491('0x17')](_0x4c074f)){if(_0x4c074f['hasOwnProperty']('originated')){if(_0x4c074f[_0xc491('0x33')]>0x0){_0x4c074f['originated']-=0x1;}else{logger[_0xc491('0xa')](_0xc491('0x34'),_0x12a4f3);}}}else{logger[_0xc491('0xa')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x12a4f3);}};exports[_0xc491('0x35')]=function(_0x3cced6){var _0x21f849=moment()[_0xc491('0x14')](_0xc491('0x36'));_0x3cced6['state']=0xd;_0x3cced6[_0xc491('0x37')]=_0xc491('0x38');_0x3cced6[_0xc491('0x39')]=_0x21f849;_0x3cced6[_0xc491('0x3a')]=_0x21f849;_0x3cced6[_0xc491('0x3b')]=_0x21f849;};exports[_0xc491('0x3c')]=function(_0x3b3e66,_0x5a5475,_0x36d487){var _0x1ddfa2=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x3b3e66[_0xc491('0x3d')]=_0x5a5475;_0x3b3e66[_0xc491('0x37')]=_0x36d487;_0x3b3e66[_0xc491('0x3a')]=_0x1ddfa2;_0x3b3e66[_0xc491('0x3e')]=getSeconds(_0x3b3e66[_0xc491('0x3a')],_0x3b3e66[_0xc491('0x39')]);};exports[_0xc491('0x3f')]=function(_0x19c41c,_0x1b2a95,_0x5b5ea1){_0x19c41c['membername']=_0x1b2a95;_0x19c41c[_0xc491('0x40')]=_0x5b5ea1;};exports[_0xc491('0x41')]=function(_0x39decc,_0x55259e,_0x508ac9){var _0x1e627a=moment()[_0xc491('0x14')](_0xc491('0x36'));_0x39decc[_0xc491('0x3d')]=_0x55259e;_0x39decc[_0xc491('0x37')]=_0x508ac9;_0x39decc['responsetime']=_0x39decc[_0xc491('0x3a')]?_0x39decc[_0xc491('0x3a')]:_0x1e627a;_0x39decc[_0xc491('0x3b')]=_0x39decc[_0xc491('0x3b')]?_0x39decc[_0xc491('0x3b')]:_0x1e627a;_0x39decc['ringtime']=getSeconds(_0x39decc[_0xc491('0x3a')]||0x0,_0x39decc[_0xc491('0x39')]||0x0);_0x39decc['talktime']=_0x39decc[_0xc491('0x42')]?getSeconds(_0x39decc['endtime'],_0x39decc[_0xc491('0x42')]):0x0;};exports['isFailure']=function(_0x18019d){return _0x18019d==='Failure';};exports['variablesAction']=function(_0x3cc05f,_0x32a0c1,_0x3a6031,_0x180f87,_0x53dd80){var _0x16e379=_0x180f87?_0xc491('0x43'):_0x3cc05f['calleridname'];_0x16e379=_0x53dd80?_0xc491('0x44'):_0x16e379;return{'actionid':_0x3cc05f[_0xc491('0x45')],'action':_0xc491('0x46'),'channel':_0x3cc05f[_0xc491('0x47')],'callerid':util[_0xc491('0x14')](_0xc491('0x15'),_0x16e379,_0x3cc05f[_0xc491('0x1b')]),'Exten':_0xc491('0x28'),'Context':_0xc491('0x48'),'Priority':'1','variable':_0x3a6031,'timeout':(_0x32a0c1['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x3cc05f['uniqueid']};};exports[_0xc491('0x49')]=function(_0x1c8f40){return _0x1c8f40[_0xc491('0x4a')]+_0x1c8f40[_0xc491('0x4b')]+_0x1c8f40[_0xc491('0x4c')]+_0x1c8f40[_0xc491('0x4d')]+_0x1c8f40[_0xc491('0x4e')];};exports[_0xc491('0x4f')]=function(_0x4b3fe2){var _0x5257a9=_[_0xc491('0x50')](_0x4b3fe2);_0x5257a9[_0xc491('0x3d')]=0xf;_0x5257a9['statedesc']=_0xc491('0x51');return _0x5257a9;};exports[_0xc491('0x52')]=function(_0x6e643a,_0x19b672,_0x227661){var _0x4f432f={};_0x4f432f[_0x19b672]=_0x6e643a[_0x19b672];_0x4f432f[_0xc491('0x53')]=![];_0x4f432f['scheduledat']=moment()[_0xc491('0x54')](_0x227661,_0xc491('0x55'))[_0xc491('0x14')](_0xc491('0x36'));_0x4f432f[_0xc491('0x1c')]=_0x6e643a['ContactId'];_0x4f432f[_0xc491('0x56')]=_0x6e643a[_0xc491('0x56')];_0x4f432f['VoiceQueueId']=_0x6e643a[_0xc491('0x1d')]||undefined;return _0x4f432f;};exports[_0xc491('0x57')]=function(_0x27f827,_0x68d33f){if(!_[_0xc491('0x17')](_0x27f827)){if(_0x27f827[_0xc491('0x58')]>0x0){_0x27f827[_0xc491('0x58')]-=0x1;}else{logger['error'](_0x68d33f,_0xc491('0x59'));}}else{logger[_0xc491('0xa')](_0x68d33f,_0xc491('0x5a'));}};exports[_0xc491('0x5b')]=function(_0x18a762){if(_0x18a762<=0x0){return!![];}return![];};exports['buildObj']=function(_0x162b1c,_0x52aebe,_0x29649b){_0x162b1c[_0xc491('0x5c')]=_0x52aebe;_0x162b1c['name']=_0x162b1c[_0xc491('0x5d')];_0x162b1c[_0xc491('0x5e')]=_0x162b1c['channelAgent'];_0x162b1c['motionChannel']=_0xc491('0x5f');if(_0x29649b){_0x162b1c[_0xc491('0x60')]=_0x29649b[_0xc491('0x60')];}return _0x162b1c;};exports[_0xc491('0x61')]=function(_0x5352d4){var _0x4a25b8={};_0x4a25b8[_0xc491('0x5d')]=_0x5352d4['queue'];_0x4a25b8[_0xc491('0x5e')]=_0x5352d4[_0xc491('0x47')];_0x4a25b8[_0xc491('0x45')]=_0x5352d4[_0xc491('0x45')];return _0x4a25b8;};exports[_0xc491('0x62')]=function(_0xdd07e3){var _0x4d3133=[];for(var _0x2b218b in _0xdd07e3){if(_0xdd07e3['hasOwnProperty'](_0x2b218b)){if(!_[_0xc491('0x17')](_0xdd07e3[_0x2b218b])&&_0xdd07e3[_0x2b218b][_0xc491('0x3d')]==='not_inuse'&&_0xdd07e3[_0x2b218b][_0xc491('0x63')]===_0xc491('0x64')){_0x4d3133[_0xc491('0x65')](_0xdd07e3[_0x2b218b]['id']);}}}return _0x4d3133;};exports['getDiff']=function(_0x1232ed){var _0x79fda2=moment()[_0xc491('0x6')](0x0);var _0x4d272f=moment(_0x1232ed)['milliseconds'](0x0);return _0x79fda2[_0xc491('0x7')](_0x4d272f,'seconds');};exports['createBody']=function(_0x2c08b6){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x2c08b6[_0xc491('0x1c')],'ListId':_0x2c08b6['ListId'],'VoiceQueueId':_0x2c08b6[_0xc491('0x1d')]||undefined,'CampaignId':_0x2c08b6[_0xc491('0x66')]||undefined};};exports[_0xc491('0x67')]=function(_0x2f85b5){if(_0x2f85b5===_0xc491('0x45')||_0x2f85b5===_0xc491('0x68')||_0x2f85b5===_0xc491('0x5d')||_0x2f85b5===_0xc491('0x69')||_0x2f85b5===_0xc491('0x6a')||_0x2f85b5==='dialAnswer'||_0x2f85b5==='membername'||_0x2f85b5===_0xc491('0x47')||_0x2f85b5===_0xc491('0x1a')||_0x2f85b5===_0xc491('0x53')||_0x2f85b5===_0xc491('0x1b')||_0x2f85b5===_0xc491('0x6b')||_0x2f85b5===_0xc491('0x4a')||_0x2f85b5==='countcongestionretry'||_0x2f85b5==='countnoanswerretry'||_0x2f85b5===_0xc491('0x6c')||_0x2f85b5===_0xc491('0x6d')||_0x2f85b5===_0xc491('0x6e')||_0x2f85b5==='callbackat'||_0x2f85b5===_0xc491('0x6f')||_0x2f85b5===_0xc491('0x1c')||_0x2f85b5===_0xc491('0x56')||_0x2f85b5===_0xc491('0x40')||_0x2f85b5===_0xc491('0x1d')||_0x2f85b5==='sipcallid'||_0x2f85b5==='xmd-voicequeueid'||_0x2f85b5==='xmd-queue'||_0x2f85b5==='xmd-phone'||_0x2f85b5===_0xc491('0x70')||_0x2f85b5==='xmd-dialurl'||_0x2f85b5===_0xc491('0x71')||_0x2f85b5===_0xc491('0x72')||_0x2f85b5===_0xc491('0x73')||_0x2f85b5===_0xc491('0x74')||_0x2f85b5===_0xc491('0x75')||_0x2f85b5===_0xc491('0x76')||_0x2f85b5===_0xc491('0x77')||_0x2f85b5==='xmd-agiafter'||_0x2f85b5===_0xc491('0x78')||_0x2f85b5==='rtpaudioqos'||_0x2f85b5===_0xc491('0x79')||_0x2f85b5===_0xc491('0x7a')||_0x2f85b5==='rtpaudioqosjitterbridged'||_0x2f85b5===_0xc491('0x7b')||_0x2f85b5===_0xc491('0x7c')||_0x2f85b5===_0xc491('0x7d')||_0x2f85b5===_0xc491('0x7e')||_0x2f85b5===_0xc491('0x7f')||_0x2f85b5===_0xc491('0x79')||_0x2f85b5===_0xc491('0x7a')||_0x2f85b5===_0xc491('0x80')||_0x2f85b5===_0xc491('0x7b')||_0x2f85b5===_0xc491('0x7c')||_0x2f85b5==='rtpaudioqosrtt'||_0x2f85b5===_0xc491('0x7e')||_0x2f85b5===_0xc491('0x81')||_0x2f85b5==='bridgepvtcallid'||_0x2f85b5===_0xc491('0x3d')||_0x2f85b5===_0xc491('0x37')){return![];}return!![];};exports[_0xc491('0x82')]=function(_0x16f49a,_0x11c13b){var _0x106b43,_0x5c20d8,_0x4a56c8;if(_0x11c13b<=0x0){_0x11c13b=0x1;}_0x106b43=new RegExp('\x5cw{0,'+_0x11c13b+'}$');_0x5c20d8=Math['pow'](0xa,_0x11c13b-0x1);_0x4a56c8=Math[_0xc491('0x83')](0xa,_0x11c13b)-0x1;return util['format']('%s',_[_0xc491('0x84')](_0x16f49a,_0x106b43,_[_0xc491('0x85')](_0x5c20d8,_0x4a56c8)));};exports[_0xc491('0x86')]=function(_0xbdf963){var _0x42a267=_0xbdf963[_0xc491('0x87')](/"(.*?)"/);return _0x42a267?_0x42a267[0x1]:_0xbdf963;};exports[_0xc491('0x88')]=function(_0x35123d){var _0x23ac36=_0x35123d[_0xc491('0x87')](/<(.*?)>/);return _0x23ac36?_0x23ac36[0x1]:_0x35123d;};