b1fce4ff80369e331e1b36a23056775cf78747c1
[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 _0xf075=['util','lodash','moment','../../../../config/logger','env','127.0.0.1','milliseconds','diff','seconds','loggerCatch','inspect','logger','info','error','logger2','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','calleridname','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','dialQueueProject','NONE','dialQueueProject2','originatecalleridnum','xcally-motion-preview','_XCALLY_MIXMONITOR_UNIQUEID','Contact','tags','createdAt','updatedAt','%s%s','toUpper','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','starttime','responsetime','endtime','logAgent','membername','UserId','talktime','answertime','isFailure','variablesAction','RECALL','uniqueid','channelAgent','from-sip','timeout','countcongestionretry','countnoanswerretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','ContactId','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','name','queue','interface','motionChannel','voice','mandatoryDisposition','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','createBody','CampaignId','filterKey','idContact','type','dialAnswer','active','scheduledat','countbusyretry','countglobal','callbackuniqueid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepeer','pow','replace','random','extractCalleridName','extractCalleridNumber','match'];(function(_0x4be8ba,_0x5d10ba){var _0x1af822=function(_0x40ed8a){while(--_0x40ed8a){_0x4be8ba['push'](_0x4be8ba['shift']());}};_0x1af822(++_0x5d10ba);}(_0xf075,0x8a));var _0x5f07=function(_0xd2d0cf,_0x2ea0fb){_0xd2d0cf=_0xd2d0cf-0x0;var _0x21771c=_0xf075[_0xd2d0cf];return _0x21771c;};'use strict';var util=require(_0x5f07('0x0'));var _=require(_0x5f07('0x1'));var moment=require(_0x5f07('0x2'));var logger=require(_0x5f07('0x3'))('preview');var ipAgi=process[_0x5f07('0x4')]['XCALLY_IP_AGI']||_0x5f07('0x5');function getSeconds(_0x4d6146,_0x4eb82a){var _0x4c5ed8=moment(_0x4d6146)['milliseconds'](0x0);var _0xdc184b=moment(_0x4eb82a)[_0x5f07('0x6')](0x0);return _0x4c5ed8[_0x5f07('0x7')](_0xdc184b,_0x5f07('0x8'));}exports[_0x5f07('0x9')]=function(_0x1c55cb){return function(_0x3dffcc){logger['error'](_0x1c55cb,util[_0x5f07('0xa')](_0x3dffcc,{'showHidden':![],'depth':null}));};};exports[_0x5f07('0xb')]=function(_0x7f5370,_0x5ee1fd){logger[_0x5f07('0xc')](_0x7f5370,util[_0x5f07('0xa')](_0x5ee1fd,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x2c9de4,_0x393e74){logger[_0x5f07('0xd')](_0x2c9de4,util[_0x5f07('0xa')](_0x393e74,{'showHidden':![],'depth':null}));};exports[_0x5f07('0xe')]=function(_0x2696dc){return function(_0x1c0c16){logger[_0x5f07('0xc')](_0x2696dc,util[_0x5f07('0xa')](_0x1c0c16,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x1fd539,_0x3822dc,_0x113237){return{'message':_0x1fd539,'unlock':_0x3822dc,'active':_0x113237};};exports[_0x5f07('0xf')]=function(_0x508274,_0x41d0bf,_0x2d14a3){if(!_[_0x5f07('0x10')](_0x2d14a3)&&_0x5f07('0x11')===typeof _0x2d14a3&&!_[_0x5f07('0x12')](_0x2d14a3)){if(!_[_0x5f07('0x10')](_0x41d0bf)&&_0x5f07('0x11')===typeof _0x41d0bf&&!_[_0x5f07('0x12')](_0x41d0bf)){return util[_0x5f07('0x13')](_0x5f07('0x14'),_0x41d0bf,_0x2d14a3);}return util[_0x5f07('0x13')](_0x5f07('0x14'),_0x2d14a3,_0x2d14a3);}if(!_[_0x5f07('0x10')](_0x508274)&&_0x5f07('0x11')===typeof _0x508274&&!_['isEmpty'](_0x508274)){return _0x508274;}return _0x5f07('0x15');};exports[_0x5f07('0x16')]=function(_0x34b5b4){if(_[_0x5f07('0x17')](_0x34b5b4)){return![];}return _0x34b5b4;};exports[_0x5f07('0x18')]=function(_0x3be121,_0x468acc,_0x4fe301,_0x5978a2,_0x174ce8,_0x151a16){var _0x2ec65b={'XMD-QUEUE':_0x468acc[_0x5f07('0x19')]?_0x468acc[_0x5f07('0x19')]['name']:'','XMD-CALLERID':_0x5978a2,'XMD-CALLERID-PREVIEW':_0x151a16?util[_0x5f07('0x13')](_0x5f07('0x14'),_0x151a16[_0x5f07('0x1a')],_0x151a16['calleridnum']):_0x5978a2,'XMD-DIALID':_0x174ce8,'XMD-CONTACTID':_0x468acc['ContactId'],'XMD-CDRTYPE':_0x5f07('0x1b'),'CALLERID(all)':_0x5978a2,'XMD-VOICEQUEUEID':_0x468acc['VoiceQueueId'],'XMD-DIALCHANNEL':_0x4fe301,'XMD-DIALTIMEOUT':_0x3be121[_0x5f07('0x1c')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0x5f07('0x1d'),_0x3be121['dialQueueProject2']?'g':'',_[_0x5f07('0x12')](_0x3be121[_0x5f07('0x1e')])?'':_0x5f07('0x1f')),'XMD-DIALURL':_0x3be121[_0x5f07('0x20')]||'','XMD-AGI':_0x3be121['dialQueueProject']?util[_0x5f07('0x13')](_0x5f07('0x21'),ipAgi,_0x3be121[_0x5f07('0x22')]):_0x5f07('0x23'),'XMD-AGIAFTER':_0x3be121[_0x5f07('0x24')]?util[_0x5f07('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x3be121['dialQueueProject2']):_0x5f07('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x151a16?_0x151a16[_0x5f07('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x151a16?_0x151a16['originatecalleridname']:'','XMD-DESTINATION':_0x5f07('0x26'),'SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_['isEmpty'](_0x3be121[_0x5f07('0x1e')])){_0x2ec65b[util[_0x5f07('0x13')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x3be121[_0x5f07('0x1e')];_0x2ec65b[util[_0x5f07('0x13')]('%s',_0x5f07('0x27'))]=_0x174ce8;}if(_0x468acc&&_0x468acc[_0x5f07('0x28')]){for(var _0x33188f in _0x468acc[_0x5f07('0x28')]){if(_0x468acc[_0x5f07('0x28')]['hasOwnProperty'](_0x33188f)){if(!_[_0x5f07('0x17')](_0x468acc['Contact'][_0x33188f])&&_0x33188f!=='id'&&_0x33188f!==_0x5f07('0x29')&&_0x33188f!==_0x5f07('0x2a')&&_0x33188f!==_0x5f07('0x2b')){_0x2ec65b[util[_0x5f07('0x13')](_0x5f07('0x2c'),'XMD-',_[_0x5f07('0x2d')](_0x33188f))]=_0x468acc['Contact'][_0x33188f];}}}}return _0x2ec65b;};exports[_0x5f07('0x2e')]=function(_0x4b0eb6){var _0x56c88d={};for(var _0x1fde64 in _0x4b0eb6){if(_0x4b0eb6[_0x5f07('0x2f')](_0x1fde64)){_0x56c88d[util[_0x5f07('0x13')]('%s',_[_0x5f07('0x30')](_0x1fde64))]=_0x4b0eb6[_0x1fde64];}}return{'variables':_0x56c88d};};exports[_0x5f07('0x31')]=function(_0x8d4f6b,_0x2e9c8b){if(!_[_0x5f07('0x17')](_0x8d4f6b)){if(_0x8d4f6b[_0x5f07('0x2f')](_0x5f07('0x32'))){if(_0x8d4f6b[_0x5f07('0x32')]>0x0){_0x8d4f6b['originated']-=0x1;}else{logger[_0x5f07('0xd')](_0x5f07('0x33'),_0x2e9c8b);}}}else{logger['error'](_0x5f07('0x34'),_0x2e9c8b);}};exports['logBlacklist']=function(_0x1b5942){var _0x5db1ad=moment()[_0x5f07('0x13')](_0x5f07('0x35'));_0x1b5942[_0x5f07('0x36')]=0xd;_0x1b5942[_0x5f07('0x37')]='Blacklist';_0x1b5942[_0x5f07('0x38')]=_0x5db1ad;_0x1b5942[_0x5f07('0x39')]=_0x5db1ad;_0x1b5942[_0x5f07('0x3a')]=_0x5db1ad;};exports[_0x5f07('0x3b')]=function(_0x3ae703,_0x131980,_0xebb6dc){var _0x481d6c=moment()[_0x5f07('0x13')](_0x5f07('0x35'));_0x3ae703[_0x5f07('0x36')]=_0x131980;_0x3ae703[_0x5f07('0x37')]=_0xebb6dc;_0x3ae703[_0x5f07('0x39')]=_0x481d6c;_0x3ae703['ringtime']=getSeconds(_0x3ae703[_0x5f07('0x39')],_0x3ae703[_0x5f07('0x38')]);};exports['logLookAgent']=function(_0x22b9d2,_0x3769c9,_0xf7df8f){_0x22b9d2[_0x5f07('0x3c')]=_0x3769c9;_0x22b9d2[_0x5f07('0x3d')]=_0xf7df8f;};exports['logCustomer']=function(_0x32b84a,_0x368a82,_0xf2711c){var _0x114930=moment()[_0x5f07('0x13')](_0x5f07('0x35'));_0x32b84a[_0x5f07('0x36')]=_0x368a82;_0x32b84a[_0x5f07('0x37')]=_0xf2711c;_0x32b84a['responsetime']=_0x32b84a[_0x5f07('0x39')]?_0x32b84a[_0x5f07('0x39')]:_0x114930;_0x32b84a[_0x5f07('0x3a')]=_0x32b84a[_0x5f07('0x3a')]?_0x32b84a[_0x5f07('0x3a')]:_0x114930;_0x32b84a['ringtime']=getSeconds(_0x32b84a[_0x5f07('0x39')]||0x0,_0x32b84a[_0x5f07('0x38')]||0x0);_0x32b84a[_0x5f07('0x3e')]=_0x32b84a['answertime']?getSeconds(_0x32b84a[_0x5f07('0x3a')],_0x32b84a[_0x5f07('0x3f')]):0x0;};exports[_0x5f07('0x40')]=function(_0x22b83e){return _0x22b83e==='Failure';};exports[_0x5f07('0x41')]=function(_0x1484de,_0x54a25d,_0x3eaaf2,_0x3007a8,_0x38c226){var _0x26ae68=_0x3007a8?_0x5f07('0x42'):_0x1484de[_0x5f07('0x1a')];_0x26ae68=_0x38c226?'BOOKED':_0x26ae68;return{'actionid':_0x1484de[_0x5f07('0x43')],'action':'originate','channel':_0x1484de[_0x5f07('0x44')],'callerid':util[_0x5f07('0x13')]('\x22%s\x22\x20<%s>',_0x26ae68,_0x1484de['calleridnum']),'Exten':_0x5f07('0x26'),'Context':_0x5f07('0x45'),'Priority':'1','variable':_0x3eaaf2,'timeout':(_0x54a25d[_0x5f07('0x46')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1484de[_0x5f07('0x43')]};};exports['totalGlobal']=function(_0xa4d928){return _0xa4d928['countbusyretry']+_0xa4d928[_0x5f07('0x47')]+_0xa4d928[_0x5f07('0x48')]+_0xa4d928['countagentrejectretry']+_0xa4d928[_0x5f07('0x49')];};exports[_0x5f07('0x4a')]=function(_0x3e1a36){var _0xe30436=_[_0x5f07('0x4b')](_0x3e1a36);_0xe30436['state']=0xf;_0xe30436[_0x5f07('0x37')]=_0x5f07('0x4c');return _0xe30436;};exports[_0x5f07('0x4d')]=function(_0x5f34f2,_0x3fe362,_0x2d2631){var _0x2c04fc={};_0x2c04fc[_0x3fe362]=_0x5f34f2[_0x3fe362];_0x2c04fc['active']=![];_0x2c04fc['scheduledat']=moment()['add'](_0x2d2631,'minutes')[_0x5f07('0x13')](_0x5f07('0x35'));_0x2c04fc[_0x5f07('0x4e')]=_0x5f34f2[_0x5f07('0x4e')];_0x2c04fc[_0x5f07('0x4f')]=_0x5f34f2[_0x5f07('0x4f')];_0x2c04fc[_0x5f07('0x50')]=_0x5f34f2['VoiceQueueId']||undefined;return _0x2c04fc;};exports[_0x5f07('0x51')]=function(_0x13973a,_0xc9484e){if(!_[_0x5f07('0x17')](_0x13973a)){if(_0x13973a[_0x5f07('0x52')]>0x0){_0x13973a['pTalking']-=0x1;}else{logger[_0x5f07('0xd')](_0xc9484e,_0x5f07('0x53'));}}else{logger['error'](_0xc9484e,_0x5f07('0x54'));}};exports[_0x5f07('0x55')]=function(_0x4db858){if(_0x4db858<=0x0){return!![];}return![];};exports[_0x5f07('0x56')]=function(_0x5b5151,_0x181678,_0x4415f3){_0x5b5151[_0x5f07('0x57')]=_0x181678;_0x5b5151[_0x5f07('0x58')]=_0x5b5151[_0x5f07('0x59')];_0x5b5151[_0x5f07('0x5a')]=_0x5b5151[_0x5f07('0x44')];_0x5b5151[_0x5f07('0x5b')]=_0x5f07('0x5c');if(_0x4415f3){_0x5b5151[_0x5f07('0x5d')]=_0x4415f3['mandatoryDisposition'];}return _0x5b5151;};exports[_0x5f07('0x5e')]=function(_0x3a2c26){var _0x1d017e={};_0x1d017e['queue']=_0x3a2c26['queue'];_0x1d017e[_0x5f07('0x5a')]=_0x3a2c26[_0x5f07('0x44')];_0x1d017e['uniqueid']=_0x3a2c26[_0x5f07('0x43')];return _0x1d017e;};exports[_0x5f07('0x5f')]=function(_0x4a61c2){var _0x3b6fd9=[];for(var _0x503fa4 in _0x4a61c2){if(_0x4a61c2['hasOwnProperty'](_0x503fa4)){if(!_[_0x5f07('0x17')](_0x4a61c2[_0x503fa4])&&_0x4a61c2[_0x503fa4]['state']===_0x5f07('0x60')&&_0x4a61c2[_0x503fa4][_0x5f07('0x61')]===_0x5f07('0x62')){_0x3b6fd9[_0x5f07('0x63')](_0x4a61c2[_0x503fa4]['id']);}}}return _0x3b6fd9;};exports[_0x5f07('0x64')]=function(_0x50dae3){var _0x3aa956=moment()[_0x5f07('0x6')](0x0);var _0x28f0b6=moment(_0x50dae3)[_0x5f07('0x6')](0x0);return _0x3aa956[_0x5f07('0x7')](_0x28f0b6,'seconds');};exports[_0x5f07('0x65')]=function(_0x44d5be){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x44d5be['ContactId'],'ListId':_0x44d5be[_0x5f07('0x4f')],'VoiceQueueId':_0x44d5be['VoiceQueueId']||undefined,'CampaignId':_0x44d5be[_0x5f07('0x66')]||undefined};};exports[_0x5f07('0x67')]=function(_0x57ff42){if(_0x57ff42===_0x5f07('0x43')||_0x57ff42===_0x5f07('0x68')||_0x57ff42===_0x5f07('0x59')||_0x57ff42===_0x5f07('0x69')||_0x57ff42==='campaigntype'||_0x57ff42===_0x5f07('0x6a')||_0x57ff42==='membername'||_0x57ff42==='channelAgent'||_0x57ff42===_0x5f07('0x1a')||_0x57ff42===_0x5f07('0x6b')||_0x57ff42==='calleridnum'||_0x57ff42===_0x5f07('0x6c')||_0x57ff42===_0x5f07('0x6d')||_0x57ff42===_0x5f07('0x47')||_0x57ff42===_0x5f07('0x48')||_0x57ff42===_0x5f07('0x6e')||_0x57ff42==='callback'||_0x57ff42===_0x5f07('0x6f')||_0x57ff42==='callbackat'||_0x57ff42==='recallme'||_0x57ff42===_0x5f07('0x4e')||_0x57ff42===_0x5f07('0x4f')||_0x57ff42===_0x5f07('0x3d')||_0x57ff42===_0x5f07('0x50')||_0x57ff42==='sipcallid'||_0x57ff42===_0x5f07('0x70')||_0x57ff42===_0x5f07('0x71')||_0x57ff42===_0x5f07('0x72')||_0x57ff42===_0x5f07('0x73')||_0x57ff42==='xmd-dialurl'||_0x57ff42===_0x5f07('0x74')||_0x57ff42===_0x5f07('0x75')||_0x57ff42==='xmd-dialid'||_0x57ff42===_0x5f07('0x76')||_0x57ff42===_0x5f07('0x77')||_0x57ff42===_0x5f07('0x78')||_0x57ff42===_0x5f07('0x79')||_0x57ff42===_0x5f07('0x7a')||_0x57ff42==='xmd-agi'||_0x57ff42===_0x5f07('0x7b')||_0x57ff42===_0x5f07('0x7c')||_0x57ff42===_0x5f07('0x7d')||_0x57ff42===_0x5f07('0x7e')||_0x57ff42===_0x5f07('0x7f')||_0x57ff42===_0x5f07('0x80')||_0x57ff42===_0x5f07('0x81')||_0x57ff42===_0x5f07('0x82')||_0x57ff42==='rtpaudioqos'||_0x57ff42==='rtpaudioqosbridged'||_0x57ff42===_0x5f07('0x7d')||_0x57ff42===_0x5f07('0x7e')||_0x57ff42===_0x5f07('0x7f')||_0x57ff42===_0x5f07('0x80')||_0x57ff42===_0x5f07('0x81')||_0x57ff42===_0x5f07('0x82')||_0x57ff42===_0x5f07('0x83')||_0x57ff42==='bridgepvtcallid'||_0x57ff42==='state'||_0x57ff42===_0x5f07('0x37')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x346377,_0x2b6d7c){var _0x860e44,_0x24eb9a,_0x2788b1;if(_0x2b6d7c<=0x0){_0x2b6d7c=0x1;}_0x860e44=new RegExp('\x5cw{0,'+_0x2b6d7c+'}$');_0x24eb9a=Math['pow'](0xa,_0x2b6d7c-0x1);_0x2788b1=Math[_0x5f07('0x84')](0xa,_0x2b6d7c)-0x1;return util[_0x5f07('0x13')]('%s',_[_0x5f07('0x85')](_0x346377,_0x860e44,_[_0x5f07('0x86')](_0x24eb9a,_0x2788b1)));};exports[_0x5f07('0x87')]=function(_0x29bdc4){var _0x166ecc=_0x29bdc4['match'](/"(.*?)"/);return _0x166ecc?_0x166ecc[0x1]:_0x29bdc4;};exports[_0x5f07('0x88')]=function(_0xf5aaab){var _0x72355e=_0xf5aaab[_0x5f07('0x89')](/<(.*?)>/);return _0x72355e?_0x72355e[0x1]:_0xf5aaab;};