Built motion from commit a61a4a20.|2.5.46
[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 _0xca78=['error','inspect','logger','info','logger2','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','addVariables','Queue','calleridname','ContactId','dialer','VoiceQueueId','\x22rtTxX%s%s\x22','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','Call-Type:\x20PREVIEW','monitor_format','Contact','hasOwnProperty','tags','createdAt','updatedAt','%s%s','XMD-','toLowerVariables','toLower','updateOriginated','isNil','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','responsetime','endtime','logAgent','state','ringtime','logLookAgent','UserId','logCustomer','starttime','talktime','answertime','isFailure','Failure','variablesAction','RECALL','BOOKED','uniqueid','originate','channelAgent','calleridnum','xcally-motion-preview','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countnosuchnumberretry','clone','Global','scheduledAt','active','scheduledat','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','name','interface','motionChannel','voice','mandatoryDisposition','buildAcw','queue','agentReadyId','not_inuse','status','push','getDiff','diff','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','membername','countglobal','callback','callbackuniqueid','callbackat','recallme','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialoptions','xmd-dialid','xmd-contactid','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosjitter','rtpaudioqoslossbridged','rtpaudioqosrttbridged','bridgepeer','\x5cw{0,','pow','random','match','extractCalleridNumber','util','moment','../../../../config/logger','env','milliseconds','seconds','loggerCatch'];(function(_0x385eb1,_0x497a94){var _0x5d40eb=function(_0x159029){while(--_0x159029){_0x385eb1['push'](_0x385eb1['shift']());}};_0x5d40eb(++_0x497a94);}(_0xca78,0x119));var _0x8ca7=function(_0x3e44fa,_0x75ed2a){_0x3e44fa=_0x3e44fa-0x0;var _0x2a0aba=_0xca78[_0x3e44fa];return _0x2a0aba;};'use strict';var util=require(_0x8ca7('0x0'));var _=require('lodash');var moment=require(_0x8ca7('0x1'));var logger=require(_0x8ca7('0x2'))('preview');var ipAgi=process[_0x8ca7('0x3')]['XCALLY_IP_AGI']||'127.0.0.1';function getSeconds(_0x24f605,_0x573da6){var _0x54c1ba=moment(_0x24f605)[_0x8ca7('0x4')](0x0);var _0x2fd4af=moment(_0x573da6)[_0x8ca7('0x4')](0x0);return _0x54c1ba['diff'](_0x2fd4af,_0x8ca7('0x5'));}exports[_0x8ca7('0x6')]=function(_0x4be207){return function(_0x25a2d2){logger[_0x8ca7('0x7')](_0x4be207,util[_0x8ca7('0x8')](_0x25a2d2,{'showHidden':![],'depth':null}));};};exports[_0x8ca7('0x9')]=function(_0x12dd9e,_0x18d489){logger[_0x8ca7('0xa')](_0x12dd9e,util['inspect'](_0x18d489,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x421993,_0x2c3af5){logger[_0x8ca7('0x7')](_0x421993,util[_0x8ca7('0x8')](_0x2c3af5,{'showHidden':![],'depth':null}));};exports[_0x8ca7('0xb')]=function(_0xf7a1c0){return function(_0x5f2763){logger['info'](_0xf7a1c0,util[_0x8ca7('0x8')](_0x5f2763,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x591bba,_0x40ee9,_0x254f0e){return{'message':_0x591bba,'unlock':_0x40ee9,'active':_0x254f0e};};exports['getCallerId']=function(_0x5ac2c0,_0x5b3e56,_0x2ac3aa){if(!_[_0x8ca7('0xc')](_0x2ac3aa)&&_0x8ca7('0xd')===typeof _0x2ac3aa&&!_[_0x8ca7('0xe')](_0x2ac3aa)){if(!_['isUndefined'](_0x5b3e56)&&_0x8ca7('0xd')===typeof _0x5b3e56&&!_[_0x8ca7('0xe')](_0x5b3e56)){return util[_0x8ca7('0xf')](_0x8ca7('0x10'),_0x5b3e56,_0x2ac3aa);}return util[_0x8ca7('0xf')](_0x8ca7('0x10'),_0x2ac3aa,_0x2ac3aa);}if(!_[_0x8ca7('0xc')](_0x5ac2c0)&&_0x8ca7('0xd')===typeof _0x5ac2c0&&!_[_0x8ca7('0xe')](_0x5ac2c0)){return _0x5ac2c0;}return _0x8ca7('0x11');};exports[_0x8ca7('0x12')]=function(_0x24f233){if(_['isNil'](_0x24f233)){return![];}return _0x24f233;};exports[_0x8ca7('0x13')]=function(_0x39837f,_0x44f4e8,_0x1bc4fd,_0xb4b49e,_0x12d60a,_0x9d076d){var _0x4c4fa6={'XMD-QUEUE':_0x44f4e8[_0x8ca7('0x14')]?_0x44f4e8[_0x8ca7('0x14')]['name']:'','XMD-CALLERID':_0xb4b49e,'XMD-CALLERID-PREVIEW':_0x9d076d?util[_0x8ca7('0xf')](_0x8ca7('0x10'),_0x9d076d[_0x8ca7('0x15')],_0x9d076d['calleridnum']):_0xb4b49e,'XMD-DIALID':_0x12d60a,'XMD-CONTACTID':_0x44f4e8[_0x8ca7('0x16')],'XMD-CDRTYPE':_0x8ca7('0x17'),'CALLERID(all)':_0xb4b49e,'XMD-VOICEQUEUEID':_0x44f4e8[_0x8ca7('0x18')],'XMD-DIALCHANNEL':_0x1bc4fd,'XMD-DIALTIMEOUT':_0x39837f['dialOriginateTimeout']||0x1e,'XMD-DIALOPTIONS':util[_0x8ca7('0xf')](_0x8ca7('0x19'),_0x39837f[_0x8ca7('0x1a')]?'g':'',_[_0x8ca7('0xe')](_0x39837f['monitor_format'])?'':_0x8ca7('0x1b')),'XMD-DIALURL':_0x39837f[_0x8ca7('0x1c')]||'','XMD-AGI':_0x39837f[_0x8ca7('0x1d')]?util[_0x8ca7('0xf')](_0x8ca7('0x1e'),ipAgi,_0x39837f[_0x8ca7('0x1d')]):_0x8ca7('0x1f'),'XMD-AGIAFTER':_0x39837f[_0x8ca7('0x1a')]?util[_0x8ca7('0xf')](_0x8ca7('0x1e'),ipAgi,_0x39837f[_0x8ca7('0x1a')]):_0x8ca7('0x1f'),'XMD-ORIGINATECALLERIDNUM':_0x9d076d?_0x9d076d[_0x8ca7('0x20')]:'','XMD-ORIGINATECALLERIDNAME':_0x9d076d?_0x9d076d[_0x8ca7('0x21')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':_0x8ca7('0x22')};if(!_['isEmpty'](_0x39837f[_0x8ca7('0x23')])){_0x4c4fa6[util[_0x8ca7('0xf')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x39837f[_0x8ca7('0x23')];_0x4c4fa6[util[_0x8ca7('0xf')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x12d60a;}if(_0x44f4e8&&_0x44f4e8['Contact']){for(var _0x1b26bf in _0x44f4e8[_0x8ca7('0x24')]){if(_0x44f4e8[_0x8ca7('0x24')][_0x8ca7('0x25')](_0x1b26bf)){if(!_['isNil'](_0x44f4e8['Contact'][_0x1b26bf])&&_0x1b26bf!=='id'&&_0x1b26bf!==_0x8ca7('0x26')&&_0x1b26bf!==_0x8ca7('0x27')&&_0x1b26bf!==_0x8ca7('0x28')){_0x4c4fa6[util[_0x8ca7('0xf')](_0x8ca7('0x29'),_0x8ca7('0x2a'),_['toUpper'](_0x1b26bf))]=_0x44f4e8[_0x8ca7('0x24')][_0x1b26bf];}}}}return _0x4c4fa6;};exports[_0x8ca7('0x2b')]=function(_0x427d25){var _0x5a5e0b={};for(var _0x399835 in _0x427d25){if(_0x427d25[_0x8ca7('0x25')](_0x399835)){_0x5a5e0b[util['format']('%s',_[_0x8ca7('0x2c')](_0x399835))]=_0x427d25[_0x399835];}}return{'variables':_0x5a5e0b};};exports[_0x8ca7('0x2d')]=function(_0x430e91,_0x3072a8){if(!_[_0x8ca7('0x2e')](_0x430e91)){if(_0x430e91[_0x8ca7('0x25')]('originated')){if(_0x430e91[_0x8ca7('0x2f')]>0x0){_0x430e91['originated']-=0x1;}else{logger[_0x8ca7('0x7')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x3072a8);}}}else{logger[_0x8ca7('0x7')](_0x8ca7('0x30'),_0x3072a8);}};exports[_0x8ca7('0x31')]=function(_0x16973a){var _0x2b88d0=moment()[_0x8ca7('0xf')](_0x8ca7('0x32'));_0x16973a['state']=0xd;_0x16973a[_0x8ca7('0x33')]=_0x8ca7('0x34');_0x16973a['starttime']=_0x2b88d0;_0x16973a[_0x8ca7('0x35')]=_0x2b88d0;_0x16973a[_0x8ca7('0x36')]=_0x2b88d0;};exports[_0x8ca7('0x37')]=function(_0x4a8f8c,_0x388228,_0x37cbe4){var _0x8494e7=moment()[_0x8ca7('0xf')](_0x8ca7('0x32'));_0x4a8f8c[_0x8ca7('0x38')]=_0x388228;_0x4a8f8c['statedesc']=_0x37cbe4;_0x4a8f8c[_0x8ca7('0x35')]=_0x8494e7;_0x4a8f8c[_0x8ca7('0x39')]=getSeconds(_0x4a8f8c['responsetime'],_0x4a8f8c['starttime']);};exports[_0x8ca7('0x3a')]=function(_0x3fc0e6,_0x5166e3,_0x48d675){_0x3fc0e6['membername']=_0x5166e3;_0x3fc0e6[_0x8ca7('0x3b')]=_0x48d675;};exports[_0x8ca7('0x3c')]=function(_0x97ede9,_0x1825a0,_0x15c618){var _0x30f8b9=moment()['format'](_0x8ca7('0x32'));_0x97ede9['state']=_0x1825a0;_0x97ede9['statedesc']=_0x15c618;_0x97ede9[_0x8ca7('0x35')]=_0x97ede9[_0x8ca7('0x35')]?_0x97ede9['responsetime']:_0x30f8b9;_0x97ede9[_0x8ca7('0x36')]=_0x97ede9['endtime']?_0x97ede9[_0x8ca7('0x36')]:_0x30f8b9;_0x97ede9[_0x8ca7('0x39')]=getSeconds(_0x97ede9[_0x8ca7('0x35')]||0x0,_0x97ede9[_0x8ca7('0x3d')]||0x0);_0x97ede9[_0x8ca7('0x3e')]=_0x97ede9[_0x8ca7('0x3f')]?getSeconds(_0x97ede9[_0x8ca7('0x36')],_0x97ede9[_0x8ca7('0x3f')]):0x0;};exports[_0x8ca7('0x40')]=function(_0x33bf91){return _0x33bf91===_0x8ca7('0x41');};exports[_0x8ca7('0x42')]=function(_0x53a50f,_0x308652,_0x4ea6bc,_0x41b5e7,_0x3c00db){var _0x1a9554=_0x41b5e7?_0x8ca7('0x43'):_0x53a50f['calleridname'];_0x1a9554=_0x3c00db?_0x8ca7('0x44'):_0x1a9554;return{'actionid':_0x53a50f[_0x8ca7('0x45')],'action':_0x8ca7('0x46'),'channel':_0x53a50f[_0x8ca7('0x47')],'callerid':util[_0x8ca7('0xf')]('\x22%s\x22\x20<%s>',_0x1a9554,_0x53a50f[_0x8ca7('0x48')]),'Exten':_0x8ca7('0x49'),'Context':'from-sip','Priority':'1','variable':_0x4ea6bc,'timeout':(_0x308652[_0x8ca7('0x4a')]||0x1e)*0x3e8,'async':!![],'channelid':_0x53a50f[_0x8ca7('0x45')]};};exports[_0x8ca7('0x4b')]=function(_0x509f4c){return _0x509f4c[_0x8ca7('0x4c')]+_0x509f4c[_0x8ca7('0x4d')]+_0x509f4c[_0x8ca7('0x4e')]+_0x509f4c['countagentrejectretry']+_0x509f4c[_0x8ca7('0x4f')];};exports['cloneAction']=function(_0x56b4a2){var _0x534faf=_[_0x8ca7('0x50')](_0x56b4a2);_0x534faf['state']=0xf;_0x534faf[_0x8ca7('0x33')]=_0x8ca7('0x51');return _0x534faf;};exports[_0x8ca7('0x52')]=function(_0x5b6bb1,_0x517632,_0x468a20){var _0x2b1508={};_0x2b1508[_0x517632]=_0x5b6bb1[_0x517632];_0x2b1508[_0x8ca7('0x53')]=![];_0x2b1508[_0x8ca7('0x54')]=moment()['add'](_0x468a20,_0x8ca7('0x55'))[_0x8ca7('0xf')](_0x8ca7('0x32'));_0x2b1508[_0x8ca7('0x16')]=_0x5b6bb1[_0x8ca7('0x16')];_0x2b1508[_0x8ca7('0x56')]=_0x5b6bb1[_0x8ca7('0x56')];_0x2b1508[_0x8ca7('0x18')]=_0x5b6bb1['VoiceQueueId']||undefined;return _0x2b1508;};exports[_0x8ca7('0x57')]=function(_0x469cd1,_0x581648){if(!_[_0x8ca7('0x2e')](_0x469cd1)){if(_0x469cd1[_0x8ca7('0x58')]>0x0){_0x469cd1[_0x8ca7('0x58')]-=0x1;}else{logger[_0x8ca7('0x7')](_0x581648,_0x8ca7('0x59'));}}else{logger['error'](_0x581648,_0x8ca7('0x5a'));}};exports[_0x8ca7('0x5b')]=function(_0x25a153){if(_0x25a153<=0x0){return!![];}return![];};exports['buildObj']=function(_0x36c665,_0x56894b,_0x22039e){_0x36c665[_0x8ca7('0x5c')]=_0x56894b;_0x36c665[_0x8ca7('0x5d')]=_0x36c665['queue'];_0x36c665[_0x8ca7('0x5e')]=_0x36c665[_0x8ca7('0x47')];_0x36c665[_0x8ca7('0x5f')]=_0x8ca7('0x60');if(_0x22039e){_0x36c665[_0x8ca7('0x61')]=_0x22039e['mandatoryDisposition'];}return _0x36c665;};exports[_0x8ca7('0x62')]=function(_0x18b4dc){var _0x34fb74={};_0x34fb74[_0x8ca7('0x63')]=_0x18b4dc[_0x8ca7('0x63')];_0x34fb74[_0x8ca7('0x5e')]=_0x18b4dc[_0x8ca7('0x47')];_0x34fb74['uniqueid']=_0x18b4dc['uniqueid'];return _0x34fb74;};exports[_0x8ca7('0x64')]=function(_0x33f8c5){var _0x2ecdd5=[];for(var _0x38ac10 in _0x33f8c5){if(_0x33f8c5[_0x8ca7('0x25')](_0x38ac10)){if(!_['isNil'](_0x33f8c5[_0x38ac10])&&_0x33f8c5[_0x38ac10][_0x8ca7('0x38')]===_0x8ca7('0x65')&&_0x33f8c5[_0x38ac10][_0x8ca7('0x66')]==='reachable'){_0x2ecdd5[_0x8ca7('0x67')](_0x33f8c5[_0x38ac10]['id']);}}}return _0x2ecdd5;};exports[_0x8ca7('0x68')]=function(_0x146b16){var _0x4641e1=moment()[_0x8ca7('0x4')](0x0);var _0x438398=moment(_0x146b16)['milliseconds'](0x0);return _0x4641e1[_0x8ca7('0x69')](_0x438398,_0x8ca7('0x5'));};exports[_0x8ca7('0x6a')]=function(_0xb99a8b){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0xb99a8b[_0x8ca7('0x16')],'ListId':_0xb99a8b[_0x8ca7('0x56')],'VoiceQueueId':_0xb99a8b[_0x8ca7('0x18')]||undefined,'CampaignId':_0xb99a8b[_0x8ca7('0x6b')]||undefined};};exports[_0x8ca7('0x6c')]=function(_0x20e3ba){if(_0x20e3ba===_0x8ca7('0x45')||_0x20e3ba===_0x8ca7('0x6d')||_0x20e3ba===_0x8ca7('0x63')||_0x20e3ba===_0x8ca7('0x6e')||_0x20e3ba===_0x8ca7('0x6f')||_0x20e3ba===_0x8ca7('0x70')||_0x20e3ba===_0x8ca7('0x71')||_0x20e3ba===_0x8ca7('0x47')||_0x20e3ba===_0x8ca7('0x15')||_0x20e3ba==='active'||_0x20e3ba===_0x8ca7('0x48')||_0x20e3ba===_0x8ca7('0x54')||_0x20e3ba==='countbusyretry'||_0x20e3ba==='countcongestionretry'||_0x20e3ba===_0x8ca7('0x4e')||_0x20e3ba===_0x8ca7('0x72')||_0x20e3ba===_0x8ca7('0x73')||_0x20e3ba===_0x8ca7('0x74')||_0x20e3ba===_0x8ca7('0x75')||_0x20e3ba===_0x8ca7('0x76')||_0x20e3ba===_0x8ca7('0x16')||_0x20e3ba===_0x8ca7('0x56')||_0x20e3ba===_0x8ca7('0x3b')||_0x20e3ba===_0x8ca7('0x18')||_0x20e3ba==='sipcallid'||_0x20e3ba===_0x8ca7('0x77')||_0x20e3ba===_0x8ca7('0x78')||_0x20e3ba===_0x8ca7('0x79')||_0x20e3ba===_0x8ca7('0x7a')||_0x20e3ba===_0x8ca7('0x7b')||_0x20e3ba==='xmd-dialtimeout'||_0x20e3ba===_0x8ca7('0x7c')||_0x20e3ba===_0x8ca7('0x7d')||_0x20e3ba==='xmd-dialchannel'||_0x20e3ba===_0x8ca7('0x7e')||_0x20e3ba==='xmd-cdrtype'||_0x20e3ba===_0x8ca7('0x7f')||_0x20e3ba===_0x8ca7('0x80')||_0x20e3ba===_0x8ca7('0x81')||_0x20e3ba===_0x8ca7('0x82')||_0x20e3ba===_0x8ca7('0x83')||_0x20e3ba==='rtpaudioqosjitter'||_0x20e3ba===_0x8ca7('0x84')||_0x20e3ba===_0x8ca7('0x85')||_0x20e3ba==='rtpaudioqoslossbridged'||_0x20e3ba===_0x8ca7('0x86')||_0x20e3ba==='rtpaudioqosrttbridged'||_0x20e3ba===_0x8ca7('0x82')||_0x20e3ba==='rtpaudioqosbridged'||_0x20e3ba===_0x8ca7('0x87')||_0x20e3ba===_0x8ca7('0x84')||_0x20e3ba===_0x8ca7('0x85')||_0x20e3ba===_0x8ca7('0x88')||_0x20e3ba===_0x8ca7('0x86')||_0x20e3ba===_0x8ca7('0x89')||_0x20e3ba===_0x8ca7('0x8a')||_0x20e3ba==='bridgepvtcallid'||_0x20e3ba==='state'||_0x20e3ba===_0x8ca7('0x33')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x5b52dd,_0x24266c){var _0x1efa0d,_0x2866c7,_0x4b73c4;if(_0x24266c<=0x0){_0x24266c=0x1;}_0x1efa0d=new RegExp(_0x8ca7('0x8b')+_0x24266c+'}$');_0x2866c7=Math[_0x8ca7('0x8c')](0xa,_0x24266c-0x1);_0x4b73c4=Math['pow'](0xa,_0x24266c)-0x1;return util[_0x8ca7('0xf')]('%s',_['replace'](_0x5b52dd,_0x1efa0d,_[_0x8ca7('0x8d')](_0x2866c7,_0x4b73c4)));};exports['extractCalleridName']=function(_0x4e9e05){var _0x1a5592=_0x4e9e05[_0x8ca7('0x8e')](/"(.*?)"/);return _0x1a5592?_0x1a5592[0x1]:_0x4e9e05;};exports[_0x8ca7('0x8f')]=function(_0x27cd8a){var _0x56c9b8=_0x27cd8a[_0x8ca7('0x8e')](/<(.*?)>/);return _0x56c9b8?_0x56c9b8[0x1]:_0x27cd8a;};