2716b7138b3813aa3c5e445191ecd6582540715d
[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 _0xb2d1=['push','getDiff','diff','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','countbusyretry','countglobal','callback','callbackuniqueid','callbackat','recallme','UserId','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-dialurl','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','getCallerIdRandom','\x5cw{0,','random','extractCalleridName','match','extractCalleridNumber','util','lodash','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','seconds','loggerCatch','error','logger','info','inspect','loggerError','logger2','message','getCallerId','isUndefined','isEmpty','string','format','\x22%s\x22\x20<%s>','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_FORMAT','Contact','tags','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','logAgent','responsetime','ringtime','logLookAgent','membername','logCustomer','endtime','talktime','answertime','Failure','RECALL','uniqueid','channelAgent','timeout','totalGlobal','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','Global','scheduledAt','active','scheduledat','minutes','ListId','VoiceQueueId','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','mandatoryDisposition','buildAcw','queue','agentReadyId','not_inuse','status','reachable'];(function(_0x2f6cc5,_0x18d82b){var _0x21f007=function(_0x337191){while(--_0x337191){_0x2f6cc5['push'](_0x2f6cc5['shift']());}};_0x21f007(++_0x18d82b);}(_0xb2d1,0x1d4));var _0x1b2d=function(_0xc0a3d3,_0x2c8d00){_0xc0a3d3=_0xc0a3d3-0x0;var _0x3386e8=_0xb2d1[_0xc0a3d3];return _0x3386e8;};'use strict';var util=require(_0x1b2d('0x0'));var _=require(_0x1b2d('0x1'));var moment=require(_0x1b2d('0x2'));var logger=require(_0x1b2d('0x3'))(_0x1b2d('0x4'));var ipAgi=process[_0x1b2d('0x5')][_0x1b2d('0x6')]||_0x1b2d('0x7');function getSeconds(_0x2902b2,_0x3f761b){var _0xcf3fac=moment(_0x2902b2)[_0x1b2d('0x8')](0x0);var _0x306bd2=moment(_0x3f761b)[_0x1b2d('0x8')](0x0);return _0xcf3fac['diff'](_0x306bd2,_0x1b2d('0x9'));}exports[_0x1b2d('0xa')]=function(_0xbf5fdc){return function(_0x1939a6){logger[_0x1b2d('0xb')](_0xbf5fdc,util['inspect'](_0x1939a6,{'showHidden':![],'depth':null}));};};exports[_0x1b2d('0xc')]=function(_0x3a5745,_0x3d4c66){logger[_0x1b2d('0xd')](_0x3a5745,util[_0x1b2d('0xe')](_0x3d4c66,{'showHidden':![],'depth':null}));};exports[_0x1b2d('0xf')]=function(_0x4c9ba5,_0x46419a){logger[_0x1b2d('0xb')](_0x4c9ba5,util[_0x1b2d('0xe')](_0x46419a,{'showHidden':![],'depth':null}));};exports[_0x1b2d('0x10')]=function(_0x1dd587){return function(_0x35b6ce){logger[_0x1b2d('0xd')](_0x1dd587,util['inspect'](_0x35b6ce,{'showHidden':![],'depth':null}));};};exports[_0x1b2d('0x11')]=function(_0xa9bce3,_0x1e7b03,_0x2ee7dc){return{'message':_0xa9bce3,'unlock':_0x1e7b03,'active':_0x2ee7dc};};exports[_0x1b2d('0x12')]=function(_0xc22e88,_0x32c260,_0x2651b2){if(!_[_0x1b2d('0x13')](_0x2651b2)&&'string'===typeof _0x2651b2&&!_[_0x1b2d('0x14')](_0x2651b2)){if(!_[_0x1b2d('0x13')](_0x32c260)&&_0x1b2d('0x15')===typeof _0x32c260&&!_[_0x1b2d('0x14')](_0x32c260)){return util[_0x1b2d('0x16')]('\x22%s\x22\x20<%s>',_0x32c260,_0x2651b2);}return util['format'](_0x1b2d('0x17'),_0x2651b2,_0x2651b2);}if(!_[_0x1b2d('0x13')](_0xc22e88)&&_0x1b2d('0x15')===typeof _0xc22e88&&!_[_0x1b2d('0x14')](_0xc22e88)){return _0xc22e88;}return'\x22\x22\x20<>';};exports[_0x1b2d('0x18')]=function(_0x18749b){if(_[_0x1b2d('0x19')](_0x18749b)){return![];}return _0x18749b;};exports[_0x1b2d('0x1a')]=function(_0x3e3a6b,_0x39e245,_0x2d31e1,_0x429e54,_0x1a9038,_0x32c54c){var _0x2591a4={'XMD-QUEUE':_0x39e245[_0x1b2d('0x1b')]?_0x39e245[_0x1b2d('0x1b')][_0x1b2d('0x1c')]:'','XMD-CALLERID':_0x429e54,'XMD-CALLERID-PREVIEW':_0x32c54c?util[_0x1b2d('0x16')](_0x1b2d('0x17'),_0x32c54c[_0x1b2d('0x1d')],_0x32c54c[_0x1b2d('0x1e')]):_0x429e54,'XMD-DIALID':_0x1a9038,'XMD-CONTACTID':_0x39e245[_0x1b2d('0x1f')],'XMD-CDRTYPE':_0x1b2d('0x20'),'CALLERID(all)':_0x429e54,'XMD-VOICEQUEUEID':_0x39e245['VoiceQueueId'],'XMD-DIALCHANNEL':_0x2d31e1,'XMD-DIALTIMEOUT':_0x3e3a6b[_0x1b2d('0x21')]||0x1e,'XMD-DIALOPTIONS':util[_0x1b2d('0x16')](_0x1b2d('0x22'),_0x3e3a6b[_0x1b2d('0x23')]?'g':'',_[_0x1b2d('0x14')](_0x3e3a6b['monitor_format'])?'':_0x1b2d('0x24')),'XMD-DIALURL':_0x3e3a6b[_0x1b2d('0x25')]||'','XMD-AGI':_0x3e3a6b[_0x1b2d('0x26')]?util[_0x1b2d('0x16')](_0x1b2d('0x27'),ipAgi,_0x3e3a6b[_0x1b2d('0x26')]):'NONE','XMD-AGIAFTER':_0x3e3a6b[_0x1b2d('0x23')]?util[_0x1b2d('0x16')](_0x1b2d('0x27'),ipAgi,_0x3e3a6b['dialQueueProject2']):_0x1b2d('0x28'),'XMD-ORIGINATECALLERIDNUM':_0x32c54c?_0x32c54c[_0x1b2d('0x29')]:'','XMD-ORIGINATECALLERIDNAME':_0x32c54c?_0x32c54c[_0x1b2d('0x2a')]:'','XMD-DESTINATION':_0x1b2d('0x2b')};if(!_['isEmpty'](_0x3e3a6b[_0x1b2d('0x2c')])){_0x2591a4[util['format']('%s',_0x1b2d('0x2d'))]=_0x3e3a6b[_0x1b2d('0x2c')];_0x2591a4[util['format']('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x1a9038;}if(_0x39e245&&_0x39e245[_0x1b2d('0x2e')]){for(var _0x5a13e1 in _0x39e245[_0x1b2d('0x2e')]){if(_0x39e245[_0x1b2d('0x2e')]['hasOwnProperty'](_0x5a13e1)){if(!_[_0x1b2d('0x19')](_0x39e245[_0x1b2d('0x2e')][_0x5a13e1])&&_0x5a13e1!=='id'&&_0x5a13e1!==_0x1b2d('0x2f')&&_0x5a13e1!==_0x1b2d('0x30')&&_0x5a13e1!==_0x1b2d('0x31')){_0x2591a4[util[_0x1b2d('0x16')](_0x1b2d('0x32'),_0x1b2d('0x33'),_[_0x1b2d('0x34')](_0x5a13e1))]=_0x39e245['Contact'][_0x5a13e1];}}}}return _0x2591a4;};exports[_0x1b2d('0x35')]=function(_0x42aac7){var _0x2ea795={};for(var _0x1cc5db in _0x42aac7){if(_0x42aac7[_0x1b2d('0x36')](_0x1cc5db)){_0x2ea795[util[_0x1b2d('0x16')]('%s',_[_0x1b2d('0x37')](_0x1cc5db))]=_0x42aac7[_0x1cc5db];}}return{'variables':_0x2ea795};};exports[_0x1b2d('0x38')]=function(_0xa3008e,_0x537b32){if(!_[_0x1b2d('0x19')](_0xa3008e)){if(_0xa3008e[_0x1b2d('0x36')]('originated')){if(_0xa3008e[_0x1b2d('0x39')]>0x0){_0xa3008e[_0x1b2d('0x39')]-=0x1;}else{logger[_0x1b2d('0xb')](_0x1b2d('0x3a'),_0x537b32);}}}else{logger['error'](_0x1b2d('0x3b'),_0x537b32);}};exports[_0x1b2d('0x3c')]=function(_0xc941f6){var _0x27aff5=moment()[_0x1b2d('0x16')](_0x1b2d('0x3d'));_0xc941f6[_0x1b2d('0x3e')]=0xd;_0xc941f6[_0x1b2d('0x3f')]=_0x1b2d('0x40');_0xc941f6[_0x1b2d('0x41')]=_0x27aff5;_0xc941f6['responsetime']=_0x27aff5;_0xc941f6['endtime']=_0x27aff5;};exports[_0x1b2d('0x42')]=function(_0x1af004,_0x270e3d,_0x20835e){var _0xd3b0ca=moment()[_0x1b2d('0x16')](_0x1b2d('0x3d'));_0x1af004[_0x1b2d('0x3e')]=_0x270e3d;_0x1af004['statedesc']=_0x20835e;_0x1af004[_0x1b2d('0x43')]=_0xd3b0ca;_0x1af004[_0x1b2d('0x44')]=getSeconds(_0x1af004['responsetime'],_0x1af004[_0x1b2d('0x41')]);};exports[_0x1b2d('0x45')]=function(_0x43a757,_0x5a322c,_0x957ef2){_0x43a757[_0x1b2d('0x46')]=_0x5a322c;_0x43a757['UserId']=_0x957ef2;};exports[_0x1b2d('0x47')]=function(_0x1c577c,_0x5527e1,_0x212c5f){var _0x557254=moment()['format'](_0x1b2d('0x3d'));_0x1c577c['state']=_0x5527e1;_0x1c577c[_0x1b2d('0x3f')]=_0x212c5f;_0x1c577c[_0x1b2d('0x43')]=_0x1c577c[_0x1b2d('0x43')]?_0x1c577c[_0x1b2d('0x43')]:_0x557254;_0x1c577c[_0x1b2d('0x48')]=_0x1c577c[_0x1b2d('0x48')]?_0x1c577c[_0x1b2d('0x48')]:_0x557254;_0x1c577c[_0x1b2d('0x44')]=getSeconds(_0x1c577c[_0x1b2d('0x43')]||0x0,_0x1c577c[_0x1b2d('0x41')]||0x0);_0x1c577c[_0x1b2d('0x49')]=_0x1c577c[_0x1b2d('0x4a')]?getSeconds(_0x1c577c[_0x1b2d('0x48')],_0x1c577c['answertime']):0x0;};exports['isFailure']=function(_0x3971a6){return _0x3971a6===_0x1b2d('0x4b');};exports['variablesAction']=function(_0x3f5cb7,_0x328c86,_0x48489b,_0x14b112,_0x27c9ce){var _0x12a296=_0x14b112?_0x1b2d('0x4c'):_0x3f5cb7[_0x1b2d('0x1d')];_0x12a296=_0x27c9ce?'BOOKED':_0x12a296;return{'actionid':_0x3f5cb7[_0x1b2d('0x4d')],'action':'originate','channel':_0x3f5cb7[_0x1b2d('0x4e')],'callerid':util[_0x1b2d('0x16')](_0x1b2d('0x17'),_0x12a296,_0x3f5cb7['calleridnum']),'Exten':_0x1b2d('0x2b'),'Context':'from-sip','Priority':'1','variable':_0x48489b,'timeout':(_0x328c86[_0x1b2d('0x4f')]||0x1e)*0x3e8,'async':!![],'channelid':_0x3f5cb7['uniqueid']};};exports[_0x1b2d('0x50')]=function(_0x2e9386){return _0x2e9386['countbusyretry']+_0x2e9386[_0x1b2d('0x51')]+_0x2e9386[_0x1b2d('0x52')]+_0x2e9386[_0x1b2d('0x53')]+_0x2e9386[_0x1b2d('0x54')];};exports['cloneAction']=function(_0x8ad0dd){var _0x5ba671=_['clone'](_0x8ad0dd);_0x5ba671[_0x1b2d('0x3e')]=0xf;_0x5ba671[_0x1b2d('0x3f')]=_0x1b2d('0x55');return _0x5ba671;};exports[_0x1b2d('0x56')]=function(_0xa98a4e,_0x18dc8c,_0x3fe530){var _0x1b7302={};_0x1b7302[_0x18dc8c]=_0xa98a4e[_0x18dc8c];_0x1b7302[_0x1b2d('0x57')]=![];_0x1b7302[_0x1b2d('0x58')]=moment()['add'](_0x3fe530,_0x1b2d('0x59'))[_0x1b2d('0x16')]('YYYY-MM-DD\x20HH:mm:ss');_0x1b7302['ContactId']=_0xa98a4e[_0x1b2d('0x1f')];_0x1b7302[_0x1b2d('0x5a')]=_0xa98a4e[_0x1b2d('0x5a')];_0x1b7302[_0x1b2d('0x5b')]=_0xa98a4e[_0x1b2d('0x5b')]||undefined;return _0x1b7302;};exports['decrementTalkink']=function(_0x215253,_0x58a8b2){if(!_[_0x1b2d('0x19')](_0x215253)){if(_0x215253[_0x1b2d('0x5c')]>0x0){_0x215253[_0x1b2d('0x5c')]-=0x1;}else{logger[_0x1b2d('0xb')](_0x58a8b2,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0x1b2d('0xb')](_0x58a8b2,_0x1b2d('0x5d'));}};exports[_0x1b2d('0x5e')]=function(_0x1d88ef){if(_0x1d88ef<=0x0){return!![];}return![];};exports[_0x1b2d('0x5f')]=function(_0x163a4e,_0x371c7c,_0x207342){_0x163a4e[_0x1b2d('0x60')]=_0x371c7c;_0x163a4e['name']=_0x163a4e['queue'];_0x163a4e['interface']=_0x163a4e[_0x1b2d('0x4e')];if(_0x207342){_0x163a4e[_0x1b2d('0x61')]=_0x207342[_0x1b2d('0x61')];}return _0x163a4e;};exports[_0x1b2d('0x62')]=function(_0x42c181){var _0x32c97c={};_0x32c97c[_0x1b2d('0x63')]=_0x42c181['queue'];_0x32c97c['interface']=_0x42c181[_0x1b2d('0x4e')];_0x32c97c[_0x1b2d('0x4d')]=_0x42c181[_0x1b2d('0x4d')];return _0x32c97c;};exports[_0x1b2d('0x64')]=function(_0x583924){var _0xa967dc=[];for(var _0x3b1305 in _0x583924){if(_0x583924[_0x1b2d('0x36')](_0x3b1305)){if(!_['isNil'](_0x583924[_0x3b1305])&&_0x583924[_0x3b1305][_0x1b2d('0x3e')]===_0x1b2d('0x65')&&_0x583924[_0x3b1305][_0x1b2d('0x66')]===_0x1b2d('0x67')){_0xa967dc[_0x1b2d('0x68')](_0x583924[_0x3b1305]['id']);}}}return _0xa967dc;};exports[_0x1b2d('0x69')]=function(_0x44b459){var _0x579f0a=moment()[_0x1b2d('0x8')](0x0);var _0x5a5e74=moment(_0x44b459)[_0x1b2d('0x8')](0x0);return _0x579f0a[_0x1b2d('0x6a')](_0x5a5e74,'seconds');};exports[_0x1b2d('0x6b')]=function(_0x245ea4){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x245ea4[_0x1b2d('0x1f')],'ListId':_0x245ea4[_0x1b2d('0x5a')],'VoiceQueueId':_0x245ea4[_0x1b2d('0x5b')]||undefined,'CampaignId':_0x245ea4[_0x1b2d('0x6c')]||undefined};};exports[_0x1b2d('0x6d')]=function(_0x2d1c78){if(_0x2d1c78===_0x1b2d('0x4d')||_0x2d1c78===_0x1b2d('0x6e')||_0x2d1c78===_0x1b2d('0x63')||_0x2d1c78===_0x1b2d('0x6f')||_0x2d1c78===_0x1b2d('0x70')||_0x2d1c78===_0x1b2d('0x71')||_0x2d1c78===_0x1b2d('0x46')||_0x2d1c78===_0x1b2d('0x4e')||_0x2d1c78===_0x1b2d('0x1d')||_0x2d1c78===_0x1b2d('0x57')||_0x2d1c78===_0x1b2d('0x1e')||_0x2d1c78===_0x1b2d('0x58')||_0x2d1c78===_0x1b2d('0x72')||_0x2d1c78===_0x1b2d('0x51')||_0x2d1c78===_0x1b2d('0x52')||_0x2d1c78===_0x1b2d('0x73')||_0x2d1c78===_0x1b2d('0x74')||_0x2d1c78===_0x1b2d('0x75')||_0x2d1c78===_0x1b2d('0x76')||_0x2d1c78===_0x1b2d('0x77')||_0x2d1c78===_0x1b2d('0x1f')||_0x2d1c78==='ListId'||_0x2d1c78===_0x1b2d('0x78')||_0x2d1c78===_0x1b2d('0x5b')||_0x2d1c78===_0x1b2d('0x79')||_0x2d1c78===_0x1b2d('0x7a')||_0x2d1c78===_0x1b2d('0x7b')||_0x2d1c78===_0x1b2d('0x7c')||_0x2d1c78==='xmd-listid'||_0x2d1c78===_0x1b2d('0x7d')||_0x2d1c78==='xmd-dialtimeout'||_0x2d1c78==='xmd-dialoptions'||_0x2d1c78===_0x1b2d('0x7e')||_0x2d1c78===_0x1b2d('0x7f')||_0x2d1c78===_0x1b2d('0x80')||_0x2d1c78==='xmd-cdrtype'||_0x2d1c78==='xmd-callerid'||_0x2d1c78==='xmd-agiafter'||_0x2d1c78===_0x1b2d('0x81')||_0x2d1c78===_0x1b2d('0x82')||_0x2d1c78===_0x1b2d('0x83')||_0x2d1c78===_0x1b2d('0x84')||_0x2d1c78===_0x1b2d('0x85')||_0x2d1c78==='rtpaudioqosloss'||_0x2d1c78===_0x1b2d('0x86')||_0x2d1c78===_0x1b2d('0x87')||_0x2d1c78===_0x1b2d('0x88')||_0x2d1c78===_0x1b2d('0x82')||_0x2d1c78===_0x1b2d('0x83')||_0x2d1c78===_0x1b2d('0x84')||_0x2d1c78===_0x1b2d('0x85')||_0x2d1c78==='rtpaudioqosloss'||_0x2d1c78===_0x1b2d('0x86')||_0x2d1c78===_0x1b2d('0x87')||_0x2d1c78===_0x1b2d('0x88')||_0x2d1c78==='bridgepeer'||_0x2d1c78==='bridgepvtcallid'||_0x2d1c78===_0x1b2d('0x3e')||_0x2d1c78===_0x1b2d('0x3f')){return![];}return!![];};exports[_0x1b2d('0x89')]=function(_0x403465,_0x26114a){var _0x50b8b4,_0x43a8ff,_0x5181eb;if(_0x26114a<=0x0){_0x26114a=0x1;}_0x50b8b4=new RegExp(_0x1b2d('0x8a')+_0x26114a+'}$');_0x43a8ff=Math['pow'](0xa,_0x26114a-0x1);_0x5181eb=Math['pow'](0xa,_0x26114a)-0x1;return util[_0x1b2d('0x16')]('%s',_['replace'](_0x403465,_0x50b8b4,_[_0x1b2d('0x8b')](_0x43a8ff,_0x5181eb)));};exports[_0x1b2d('0x8c')]=function(_0x34341d){var _0x24f884=_0x34341d[_0x1b2d('0x8d')](/"(.*?)"/);return _0x24f884?_0x24f884[0x1]:_0x34341d;};exports[_0x1b2d('0x8e')]=function(_0x3ff2de){var _0x16e937=_0x3ff2de['match'](/<(.*?)>/);return _0x16e937?_0x16e937[0x1]:_0x3ff2de;};