9975a7f7e9acc40f537493a118fe7b91cc3489ab
[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 _0x34d3=['campaigntype','membername','countglobal','callback','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosjitterbridged','bridgepeer','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','lodash','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','error','logger','inspect','info','message','getCallerId','string','isEmpty','\x22%s\x22\x20<%s>','format','\x22\x22\x20<>','Queue','name','calleridname','calleridnum','ContactId','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','dialQueueProject2','NONE','originatecalleridnum','originatecalleridname','_XCALLY_MIXMONITOR_FORMAT','Contact','hasOwnProperty','createdAt','updatedAt','XMD-','toUpper','toLowerVariables','toLower','isNil','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','state','ringtime','logLookAgent','UserId','logCustomer','talktime','answertime','isFailure','Failure','variablesAction','uniqueid','originate','channelAgent','xcally-motion-preview','from-sip','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active','scheduledat','add','minutes','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','buildObj','lastevent','queue','mandatoryDisposition','buildAcw','interface','agentReadyId','not_inuse','status','reachable','push','filterKey','idContact','type'];(function(_0x369a19,_0x1bfc40){var _0x47fae6=function(_0x4ae4a7){while(--_0x4ae4a7){_0x369a19['push'](_0x369a19['shift']());}};_0x47fae6(++_0x1bfc40);}(_0x34d3,0xae));var _0x334d=function(_0xdd56f0,_0x469515){_0xdd56f0=_0xdd56f0-0x0;var _0x236550=_0x34d3[_0xdd56f0];return _0x236550;};'use strict';var util=require(_0x334d('0x0'));var _=require(_0x334d('0x1'));var moment=require('moment');var logger=require('../../../../config/logger')(_0x334d('0x2'));var ipAgi=process[_0x334d('0x3')][_0x334d('0x4')]||_0x334d('0x5');function getSeconds(_0x287993,_0x19b409){var _0x5d7272=moment(_0x287993)[_0x334d('0x6')](0x0);var _0x4653dc=moment(_0x19b409)[_0x334d('0x6')](0x0);return _0x5d7272[_0x334d('0x7')](_0x4653dc,_0x334d('0x8'));}exports['loggerCatch']=function(_0x13abeb){return function(_0x2b6f58){logger[_0x334d('0x9')](_0x13abeb,util['inspect'](_0x2b6f58,{'showHidden':![],'depth':null}));};};exports[_0x334d('0xa')]=function(_0x3804b7,_0x4cc137){logger['info'](_0x3804b7,util['inspect'](_0x4cc137,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x3cefd1,_0x45085b){logger[_0x334d('0x9')](_0x3cefd1,util[_0x334d('0xb')](_0x45085b,{'showHidden':![],'depth':null}));};exports['logger2']=function(_0x3d39db){return function(_0x45c661){logger[_0x334d('0xc')](_0x3d39db,util[_0x334d('0xb')](_0x45c661,{'showHidden':![],'depth':null}));};};exports[_0x334d('0xd')]=function(_0x5e5638,_0x2cd277,_0x2f3530){return{'message':_0x5e5638,'unlock':_0x2cd277,'active':_0x2f3530};};exports[_0x334d('0xe')]=function(_0x3dcb69,_0x29d43a,_0x53e5c9){if(!_['isUndefined'](_0x53e5c9)&&_0x334d('0xf')===typeof _0x53e5c9&&!_[_0x334d('0x10')](_0x53e5c9)){if(!_['isUndefined'](_0x29d43a)&&_0x334d('0xf')===typeof _0x29d43a&&!_[_0x334d('0x10')](_0x29d43a)){return util['format'](_0x334d('0x11'),_0x29d43a,_0x53e5c9);}return util[_0x334d('0x12')]('\x22%s\x22\x20<%s>',_0x53e5c9,_0x53e5c9);}if(!_['isUndefined'](_0x3dcb69)&&_0x334d('0xf')===typeof _0x3dcb69&&!_[_0x334d('0x10')](_0x3dcb69)){return _0x3dcb69;}return _0x334d('0x13');};exports['isActive']=function(_0x497fa0){if(_['isNil'](_0x497fa0)){return![];}return _0x497fa0;};exports['addVariables']=function(_0x57a91e,_0x5ffab8,_0x51c13a,_0x2ada05,_0x4450f7,_0x37192a){var _0x368282={'XMD-QUEUE':_0x5ffab8[_0x334d('0x14')]?_0x5ffab8[_0x334d('0x14')][_0x334d('0x15')]:'','XMD-CALLERID':_0x2ada05,'XMD-CALLERID-PREVIEW':_0x37192a?util[_0x334d('0x12')](_0x334d('0x11'),_0x37192a[_0x334d('0x16')],_0x37192a[_0x334d('0x17')]):_0x2ada05,'XMD-DIALID':_0x4450f7,'XMD-CONTACTID':_0x5ffab8[_0x334d('0x18')],'XMD-CDRTYPE':_0x334d('0x19'),'CALLERID(all)':_0x2ada05,'XMD-VOICEQUEUEID':_0x5ffab8['VoiceQueueId'],'XMD-DIALCHANNEL':_0x51c13a,'XMD-DIALTIMEOUT':_0x57a91e[_0x334d('0x1a')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0x334d('0x1b'),_0x57a91e['dialQueueProject2']?'g':'',_[_0x334d('0x10')](_0x57a91e[_0x334d('0x1c')])?'':_0x334d('0x1d')),'XMD-DIALURL':_0x57a91e[_0x334d('0x1e')]||'','XMD-AGI':_0x57a91e[_0x334d('0x1f')]?util[_0x334d('0x12')](_0x334d('0x20'),ipAgi,_0x57a91e['dialQueueProject']):'NONE','XMD-AGIAFTER':_0x57a91e[_0x334d('0x21')]?util[_0x334d('0x12')](_0x334d('0x20'),ipAgi,_0x57a91e[_0x334d('0x21')]):_0x334d('0x22'),'XMD-ORIGINATECALLERIDNUM':_0x37192a?_0x37192a[_0x334d('0x23')]:'','XMD-ORIGINATECALLERIDNAME':_0x37192a?_0x37192a[_0x334d('0x24')]:'','XMD-DESTINATION':'xcally-motion-preview'};if(!_[_0x334d('0x10')](_0x57a91e[_0x334d('0x1c')])){_0x368282[util['format']('%s',_0x334d('0x25'))]=_0x57a91e['monitor_format'];_0x368282[util[_0x334d('0x12')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x4450f7;}if(_0x5ffab8&&_0x5ffab8[_0x334d('0x26')]){for(var _0x5f1744 in _0x5ffab8[_0x334d('0x26')]){if(_0x5ffab8[_0x334d('0x26')][_0x334d('0x27')](_0x5f1744)){if(!_['isNil'](_0x5ffab8[_0x334d('0x26')][_0x5f1744])&&_0x5f1744!=='id'&&_0x5f1744!=='tags'&&_0x5f1744!==_0x334d('0x28')&&_0x5f1744!==_0x334d('0x29')){_0x368282[util['format']('%s%s',_0x334d('0x2a'),_[_0x334d('0x2b')](_0x5f1744))]=_0x5ffab8[_0x334d('0x26')][_0x5f1744];}}}}return _0x368282;};exports[_0x334d('0x2c')]=function(_0x3194bb){var _0x41fd2e={};for(var _0x155c0c in _0x3194bb){if(_0x3194bb[_0x334d('0x27')](_0x155c0c)){_0x41fd2e[util[_0x334d('0x12')]('%s',_[_0x334d('0x2d')](_0x155c0c))]=_0x3194bb[_0x155c0c];}}return{'variables':_0x41fd2e};};exports['updateOriginated']=function(_0x30f6bf,_0x476685){if(!_[_0x334d('0x2e')](_0x30f6bf)){if(_0x30f6bf[_0x334d('0x27')](_0x334d('0x2f'))){if(_0x30f6bf[_0x334d('0x2f')]>0x0){_0x30f6bf[_0x334d('0x2f')]-=0x1;}else{logger[_0x334d('0x9')](_0x334d('0x30'),_0x476685);}}}else{logger[_0x334d('0x9')](_0x334d('0x31'),_0x476685);}};exports[_0x334d('0x32')]=function(_0x59c848){var _0x243b61=moment()['format'](_0x334d('0x33'));_0x59c848['state']=0xd;_0x59c848[_0x334d('0x34')]=_0x334d('0x35');_0x59c848[_0x334d('0x36')]=_0x243b61;_0x59c848[_0x334d('0x37')]=_0x243b61;_0x59c848[_0x334d('0x38')]=_0x243b61;};exports[_0x334d('0x39')]=function(_0x158738,_0x4d98f0,_0x243278){var _0x5e6f9a=moment()[_0x334d('0x12')](_0x334d('0x33'));_0x158738[_0x334d('0x3a')]=_0x4d98f0;_0x158738['statedesc']=_0x243278;_0x158738[_0x334d('0x37')]=_0x5e6f9a;_0x158738[_0x334d('0x3b')]=getSeconds(_0x158738[_0x334d('0x37')],_0x158738['starttime']);};exports[_0x334d('0x3c')]=function(_0x2ad47c,_0x5a941e,_0x12a205){_0x2ad47c['membername']=_0x5a941e;_0x2ad47c[_0x334d('0x3d')]=_0x12a205;};exports[_0x334d('0x3e')]=function(_0x8dae,_0x2e4f98,_0x549123){var _0xeffe7=moment()[_0x334d('0x12')]('YYYY-MM-DD\x20HH:mm:ss');_0x8dae[_0x334d('0x3a')]=_0x2e4f98;_0x8dae[_0x334d('0x34')]=_0x549123;_0x8dae[_0x334d('0x37')]=_0x8dae[_0x334d('0x37')]?_0x8dae[_0x334d('0x37')]:_0xeffe7;_0x8dae[_0x334d('0x38')]=_0x8dae[_0x334d('0x38')]?_0x8dae[_0x334d('0x38')]:_0xeffe7;_0x8dae[_0x334d('0x3b')]=getSeconds(_0x8dae[_0x334d('0x37')]||0x0,_0x8dae['starttime']||0x0);_0x8dae[_0x334d('0x3f')]=_0x8dae[_0x334d('0x40')]?getSeconds(_0x8dae[_0x334d('0x38')],_0x8dae[_0x334d('0x40')]):0x0;};exports[_0x334d('0x41')]=function(_0x6375b2){return _0x6375b2===_0x334d('0x42');};exports[_0x334d('0x43')]=function(_0x3c43eb,_0x379734,_0x134c2e,_0x198ff4,_0x5df86c){var _0x65ec98=_0x198ff4?'RECALL':_0x3c43eb[_0x334d('0x16')];_0x65ec98=_0x5df86c?'BOOKED':_0x65ec98;return{'actionid':_0x3c43eb[_0x334d('0x44')],'action':_0x334d('0x45'),'channel':_0x3c43eb[_0x334d('0x46')],'callerid':util[_0x334d('0x12')](_0x334d('0x11'),_0x65ec98,_0x3c43eb[_0x334d('0x17')]),'Exten':_0x334d('0x47'),'Context':_0x334d('0x48'),'Priority':'1','variable':_0x134c2e,'timeout':(_0x379734['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x3c43eb[_0x334d('0x44')]};};exports['totalGlobal']=function(_0x28e46a){return _0x28e46a[_0x334d('0x49')]+_0x28e46a[_0x334d('0x4a')]+_0x28e46a[_0x334d('0x4b')]+_0x28e46a[_0x334d('0x4c')]+_0x28e46a[_0x334d('0x4d')];};exports[_0x334d('0x4e')]=function(_0x17ed38){var _0x3515c0=_[_0x334d('0x4f')](_0x17ed38);_0x3515c0[_0x334d('0x3a')]=0xf;_0x3515c0[_0x334d('0x34')]=_0x334d('0x50');return _0x3515c0;};exports[_0x334d('0x51')]=function(_0x33d1cb,_0x173c74,_0x4ff294){var _0x3ba2d9={};_0x3ba2d9[_0x173c74]=_0x33d1cb[_0x173c74];_0x3ba2d9[_0x334d('0x52')]=![];_0x3ba2d9[_0x334d('0x53')]=moment()[_0x334d('0x54')](_0x4ff294,_0x334d('0x55'))['format'](_0x334d('0x33'));_0x3ba2d9['ContactId']=_0x33d1cb[_0x334d('0x18')];_0x3ba2d9[_0x334d('0x56')]=_0x33d1cb['ListId'];_0x3ba2d9[_0x334d('0x57')]=_0x33d1cb['VoiceQueueId']||undefined;return _0x3ba2d9;};exports[_0x334d('0x58')]=function(_0x38f51a,_0x29354f){if(!_[_0x334d('0x2e')](_0x38f51a)){if(_0x38f51a[_0x334d('0x59')]>0x0){_0x38f51a[_0x334d('0x59')]-=0x1;}else{logger[_0x334d('0x9')](_0x29354f,_0x334d('0x5a'));}}else{logger[_0x334d('0x9')](_0x29354f,_0x334d('0x5b'));}};exports['IsNotLoggedIn']=function(_0x46600e){if(_0x46600e<=0x0){return!![];}return![];};exports[_0x334d('0x5c')]=function(_0x2c7939,_0x199c98,_0x50a7e0){_0x2c7939[_0x334d('0x5d')]=_0x199c98;_0x2c7939['name']=_0x2c7939[_0x334d('0x5e')];_0x2c7939['interface']=_0x2c7939[_0x334d('0x46')];if(_0x50a7e0){_0x2c7939[_0x334d('0x5f')]=_0x50a7e0['mandatoryDisposition'];}return _0x2c7939;};exports[_0x334d('0x60')]=function(_0x4e9d73){var _0x1a1832={};_0x1a1832['queue']=_0x4e9d73[_0x334d('0x5e')];_0x1a1832[_0x334d('0x61')]=_0x4e9d73[_0x334d('0x46')];_0x1a1832[_0x334d('0x44')]=_0x4e9d73['uniqueid'];return _0x1a1832;};exports[_0x334d('0x62')]=function(_0x1c3ca3){var _0x2100ef=[];for(var _0x586608 in _0x1c3ca3){if(_0x1c3ca3[_0x334d('0x27')](_0x586608)){if(!_[_0x334d('0x2e')](_0x1c3ca3[_0x586608])&&_0x1c3ca3[_0x586608][_0x334d('0x3a')]===_0x334d('0x63')&&_0x1c3ca3[_0x586608][_0x334d('0x64')]===_0x334d('0x65')){_0x2100ef[_0x334d('0x66')](_0x1c3ca3[_0x586608]['id']);}}}return _0x2100ef;};exports['getDiff']=function(_0x263bb5){var _0x5dfac9=moment()['milliseconds'](0x0);var _0x35d47b=moment(_0x263bb5)['milliseconds'](0x0);return _0x5dfac9[_0x334d('0x7')](_0x35d47b,_0x334d('0x8'));};exports['createBody']=function(_0x2b22c5){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x2b22c5[_0x334d('0x18')],'ListId':_0x2b22c5[_0x334d('0x56')],'VoiceQueueId':_0x2b22c5[_0x334d('0x57')]||undefined,'CampaignId':_0x2b22c5['CampaignId']||undefined};};exports[_0x334d('0x67')]=function(_0xcb17ed){if(_0xcb17ed===_0x334d('0x44')||_0xcb17ed===_0x334d('0x68')||_0xcb17ed===_0x334d('0x5e')||_0xcb17ed===_0x334d('0x69')||_0xcb17ed===_0x334d('0x6a')||_0xcb17ed==='dialAnswer'||_0xcb17ed===_0x334d('0x6b')||_0xcb17ed==='channelAgent'||_0xcb17ed===_0x334d('0x16')||_0xcb17ed==='active'||_0xcb17ed==='calleridnum'||_0xcb17ed===_0x334d('0x53')||_0xcb17ed===_0x334d('0x49')||_0xcb17ed===_0x334d('0x4a')||_0xcb17ed===_0x334d('0x4b')||_0xcb17ed===_0x334d('0x6c')||_0xcb17ed===_0x334d('0x6d')||_0xcb17ed==='callbackuniqueid'||_0xcb17ed===_0x334d('0x6e')||_0xcb17ed===_0x334d('0x6f')||_0xcb17ed==='ContactId'||_0xcb17ed===_0x334d('0x56')||_0xcb17ed===_0x334d('0x3d')||_0xcb17ed==='VoiceQueueId'||_0xcb17ed===_0x334d('0x70')||_0xcb17ed===_0x334d('0x71')||_0xcb17ed===_0x334d('0x72')||_0xcb17ed==='xmd-phone'||_0xcb17ed===_0x334d('0x73')||_0xcb17ed===_0x334d('0x74')||_0xcb17ed===_0x334d('0x75')||_0xcb17ed===_0x334d('0x76')||_0xcb17ed===_0x334d('0x77')||_0xcb17ed===_0x334d('0x78')||_0xcb17ed==='xmd-contactid'||_0xcb17ed===_0x334d('0x79')||_0xcb17ed===_0x334d('0x7a')||_0xcb17ed===_0x334d('0x7b')||_0xcb17ed===_0x334d('0x7c')||_0xcb17ed===_0x334d('0x7d')||_0xcb17ed===_0x334d('0x7e')||_0xcb17ed===_0x334d('0x7f')||_0xcb17ed==='rtpaudioqosjitterbridged'||_0xcb17ed===_0x334d('0x80')||_0xcb17ed===_0x334d('0x81')||_0xcb17ed===_0x334d('0x82')||_0xcb17ed===_0x334d('0x83')||_0xcb17ed===_0x334d('0x7d')||_0xcb17ed==='rtpaudioqosbridged'||_0xcb17ed===_0x334d('0x7f')||_0xcb17ed===_0x334d('0x84')||_0xcb17ed==='rtpaudioqosloss'||_0xcb17ed===_0x334d('0x81')||_0xcb17ed===_0x334d('0x82')||_0xcb17ed===_0x334d('0x83')||_0xcb17ed===_0x334d('0x85')||_0xcb17ed==='bridgepvtcallid'||_0xcb17ed===_0x334d('0x3a')||_0xcb17ed===_0x334d('0x34')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x315a40,_0x51586e){var _0x55605a,_0x20be96,_0x245c90;if(_0x51586e<=0x0){_0x51586e=0x1;}_0x55605a=new RegExp('\x5cw{0,'+_0x51586e+'}$');_0x20be96=Math['pow'](0xa,_0x51586e-0x1);_0x245c90=Math[_0x334d('0x86')](0xa,_0x51586e)-0x1;return util[_0x334d('0x12')]('%s',_[_0x334d('0x87')](_0x315a40,_0x55605a,_[_0x334d('0x88')](_0x20be96,_0x245c90)));};exports[_0x334d('0x89')]=function(_0x335196){var _0x32d20f=_0x335196[_0x334d('0x8a')](/"(.*?)"/);return _0x32d20f?_0x32d20f[0x1]:_0x335196;};exports[_0x334d('0x8b')]=function(_0xd471d8){var _0x5e30c0=_0xd471d8[_0x334d('0x8a')](/<(.*?)>/);return _0x5e30c0?_0x5e30c0[0x1]:_0xd471d8;};