Built motion from commit 87cd5f02.|2.5.48
[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 _0xd699=['toLowerVariables','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','starttime','responsetime','endtime','logAgent','state','logLookAgent','membername','UserId','logCustomer','ringtime','talktime','answertime','isFailure','Failure','RECALL','BOOKED','uniqueid','originate','channelAgent','\x22%s\x22\x20<%s>','from-sip','timeout','totalGlobal','countbusyretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','active','scheduledat','minutes','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','lastevent','queue','motionChannel','voice','mandatoryDisposition','not_inuse','status','reachable','push','CampaignId','filterKey','idContact','campaigntype','countglobal','callback','callbackuniqueid','callbackat','recallme','sipcallid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialid','xmd-contactid','xmd-callerid','xmd-agiafter','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqos','bridgepeer','getCallerIdRandom','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','lodash','moment','preview','env','127.0.0.1','milliseconds','diff','seconds','inspect','info','loggerError','error','logger2','message','getCallerId','isUndefined','isEmpty','string','format','\x22\x22\x20<>','isActive','isNil','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','dialQueueProject2','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','updatedAt','%s%s','XMD-'];(function(_0x28f31a,_0x12d633){var _0x4c983c=function(_0x2112dc){while(--_0x2112dc){_0x28f31a['push'](_0x28f31a['shift']());}};_0x4c983c(++_0x12d633);}(_0xd699,0xe6));var _0x9d69=function(_0x4ae829,_0x2c842c){_0x4ae829=_0x4ae829-0x0;var _0x256b31=_0xd699[_0x4ae829];return _0x256b31;};'use strict';var util=require(_0x9d69('0x0'));var _=require(_0x9d69('0x1'));var moment=require(_0x9d69('0x2'));var logger=require('../../../../config/logger')(_0x9d69('0x3'));var ipAgi=process[_0x9d69('0x4')]['XCALLY_IP_AGI']||_0x9d69('0x5');function getSeconds(_0x1030d8,_0x1fab38){var _0x2394ce=moment(_0x1030d8)[_0x9d69('0x6')](0x0);var _0x2fc909=moment(_0x1fab38)[_0x9d69('0x6')](0x0);return _0x2394ce[_0x9d69('0x7')](_0x2fc909,_0x9d69('0x8'));}exports['loggerCatch']=function(_0x721e30){return function(_0xa59a36){logger['error'](_0x721e30,util[_0x9d69('0x9')](_0xa59a36,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x261444,_0x58acea){logger[_0x9d69('0xa')](_0x261444,util['inspect'](_0x58acea,{'showHidden':![],'depth':null}));};exports[_0x9d69('0xb')]=function(_0xa0c3bd,_0x76d28e){logger[_0x9d69('0xc')](_0xa0c3bd,util[_0x9d69('0x9')](_0x76d28e,{'showHidden':![],'depth':null}));};exports[_0x9d69('0xd')]=function(_0x559d8a){return function(_0x275968){logger[_0x9d69('0xa')](_0x559d8a,util['inspect'](_0x275968,{'showHidden':![],'depth':null}));};};exports[_0x9d69('0xe')]=function(_0x1cd9cb,_0x1f2848,_0x544325){return{'message':_0x1cd9cb,'unlock':_0x1f2848,'active':_0x544325};};exports[_0x9d69('0xf')]=function(_0x2bc9b8,_0x476768,_0x4b29fb){if(!_[_0x9d69('0x10')](_0x4b29fb)&&'string'===typeof _0x4b29fb&&!_[_0x9d69('0x11')](_0x4b29fb)){if(!_['isUndefined'](_0x476768)&&_0x9d69('0x12')===typeof _0x476768&&!_[_0x9d69('0x11')](_0x476768)){return util[_0x9d69('0x13')]('\x22%s\x22\x20<%s>',_0x476768,_0x4b29fb);}return util[_0x9d69('0x13')]('\x22%s\x22\x20<%s>',_0x4b29fb,_0x4b29fb);}if(!_[_0x9d69('0x10')](_0x2bc9b8)&&_0x9d69('0x12')===typeof _0x2bc9b8&&!_[_0x9d69('0x11')](_0x2bc9b8)){return _0x2bc9b8;}return _0x9d69('0x14');};exports[_0x9d69('0x15')]=function(_0xd63f5d){if(_[_0x9d69('0x16')](_0xd63f5d)){return![];}return _0xd63f5d;};exports['addVariables']=function(_0x473711,_0x298ffe,_0x37897d,_0x528d43,_0x45265b,_0x30a7f4){var _0x5b548e={'XMD-QUEUE':_0x298ffe[_0x9d69('0x17')]?_0x298ffe[_0x9d69('0x17')][_0x9d69('0x18')]:'','XMD-CALLERID':_0x528d43,'XMD-CALLERID-PREVIEW':_0x30a7f4?util[_0x9d69('0x13')]('\x22%s\x22\x20<%s>',_0x30a7f4[_0x9d69('0x19')],_0x30a7f4[_0x9d69('0x1a')]):_0x528d43,'XMD-DIALID':_0x45265b,'XMD-CONTACTID':_0x298ffe[_0x9d69('0x1b')],'XMD-CDRTYPE':_0x9d69('0x1c'),'CALLERID(all)':_0x528d43,'XMD-VOICEQUEUEID':_0x298ffe[_0x9d69('0x1d')],'XMD-DIALCHANNEL':_0x37897d,'XMD-DIALTIMEOUT':_0x473711[_0x9d69('0x1e')]||0x1e,'XMD-DIALOPTIONS':util[_0x9d69('0x13')](_0x9d69('0x1f'),_0x473711['dialQueueProject2']?'g':'',_[_0x9d69('0x11')](_0x473711[_0x9d69('0x20')])?'':_0x9d69('0x21')),'XMD-DIALURL':_0x473711[_0x9d69('0x22')]||'','XMD-AGI':_0x473711[_0x9d69('0x23')]?util['format'](_0x9d69('0x24'),ipAgi,_0x473711[_0x9d69('0x23')]):_0x9d69('0x25'),'XMD-AGIAFTER':_0x473711[_0x9d69('0x26')]?util[_0x9d69('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x473711['dialQueueProject2']):_0x9d69('0x25'),'XMD-ORIGINATECALLERIDNUM':_0x30a7f4?_0x30a7f4[_0x9d69('0x27')]:'','XMD-ORIGINATECALLERIDNAME':_0x30a7f4?_0x30a7f4[_0x9d69('0x28')]:'','XMD-DESTINATION':_0x9d69('0x29'),'SIPADDHEADER':_0x9d69('0x2a')};if(!_[_0x9d69('0x11')](_0x473711[_0x9d69('0x20')])){_0x5b548e[util[_0x9d69('0x13')]('%s',_0x9d69('0x2b'))]=_0x473711[_0x9d69('0x20')];_0x5b548e[util[_0x9d69('0x13')]('%s',_0x9d69('0x2c'))]=_0x45265b;}if(_0x298ffe&&_0x298ffe[_0x9d69('0x2d')]){for(var _0x393787 in _0x298ffe[_0x9d69('0x2d')]){if(_0x298ffe[_0x9d69('0x2d')][_0x9d69('0x2e')](_0x393787)){if(!_[_0x9d69('0x16')](_0x298ffe[_0x9d69('0x2d')][_0x393787])&&_0x393787!=='id'&&_0x393787!==_0x9d69('0x2f')&&_0x393787!==_0x9d69('0x30')&&_0x393787!==_0x9d69('0x31')){_0x5b548e[util[_0x9d69('0x13')](_0x9d69('0x32'),_0x9d69('0x33'),_['toUpper'](_0x393787))]=_0x298ffe[_0x9d69('0x2d')][_0x393787];}}}}return _0x5b548e;};exports[_0x9d69('0x34')]=function(_0x1865a7){var _0x3c182d={};for(var _0x213186 in _0x1865a7){if(_0x1865a7[_0x9d69('0x2e')](_0x213186)){_0x3c182d[util[_0x9d69('0x13')]('%s',_['toLower'](_0x213186))]=_0x1865a7[_0x213186];}}return{'variables':_0x3c182d};};exports[_0x9d69('0x35')]=function(_0x2f6395,_0x5c935c){if(!_[_0x9d69('0x16')](_0x2f6395)){if(_0x2f6395[_0x9d69('0x2e')](_0x9d69('0x36'))){if(_0x2f6395['originated']>0x0){_0x2f6395['originated']-=0x1;}else{logger[_0x9d69('0xc')](_0x9d69('0x37'),_0x5c935c);}}}else{logger[_0x9d69('0xc')](_0x9d69('0x38'),_0x5c935c);}};exports[_0x9d69('0x39')]=function(_0x1e487a){var _0x35a3fe=moment()[_0x9d69('0x13')](_0x9d69('0x3a'));_0x1e487a['state']=0xd;_0x1e487a[_0x9d69('0x3b')]='Blacklist';_0x1e487a[_0x9d69('0x3c')]=_0x35a3fe;_0x1e487a[_0x9d69('0x3d')]=_0x35a3fe;_0x1e487a[_0x9d69('0x3e')]=_0x35a3fe;};exports[_0x9d69('0x3f')]=function(_0x39bd04,_0xe739c9,_0x42e55d){var _0x351ece=moment()['format'](_0x9d69('0x3a'));_0x39bd04[_0x9d69('0x40')]=_0xe739c9;_0x39bd04['statedesc']=_0x42e55d;_0x39bd04[_0x9d69('0x3d')]=_0x351ece;_0x39bd04['ringtime']=getSeconds(_0x39bd04[_0x9d69('0x3d')],_0x39bd04[_0x9d69('0x3c')]);};exports[_0x9d69('0x41')]=function(_0x20dbba,_0x35fd61,_0x3f7351){_0x20dbba[_0x9d69('0x42')]=_0x35fd61;_0x20dbba[_0x9d69('0x43')]=_0x3f7351;};exports[_0x9d69('0x44')]=function(_0x3f4580,_0x194579,_0x49b482){var _0x3ebe45=moment()[_0x9d69('0x13')](_0x9d69('0x3a'));_0x3f4580[_0x9d69('0x40')]=_0x194579;_0x3f4580['statedesc']=_0x49b482;_0x3f4580[_0x9d69('0x3d')]=_0x3f4580[_0x9d69('0x3d')]?_0x3f4580['responsetime']:_0x3ebe45;_0x3f4580[_0x9d69('0x3e')]=_0x3f4580[_0x9d69('0x3e')]?_0x3f4580[_0x9d69('0x3e')]:_0x3ebe45;_0x3f4580[_0x9d69('0x45')]=getSeconds(_0x3f4580[_0x9d69('0x3d')]||0x0,_0x3f4580[_0x9d69('0x3c')]||0x0);_0x3f4580[_0x9d69('0x46')]=_0x3f4580[_0x9d69('0x47')]?getSeconds(_0x3f4580[_0x9d69('0x3e')],_0x3f4580['answertime']):0x0;};exports[_0x9d69('0x48')]=function(_0x9a545a){return _0x9a545a===_0x9d69('0x49');};exports['variablesAction']=function(_0x569a73,_0x132e39,_0x13ae3f,_0x4489d8,_0x10cdb5){var _0x4a3a9e=_0x4489d8?_0x9d69('0x4a'):_0x569a73[_0x9d69('0x19')];_0x4a3a9e=_0x10cdb5?_0x9d69('0x4b'):_0x4a3a9e;return{'actionid':_0x569a73[_0x9d69('0x4c')],'action':_0x9d69('0x4d'),'channel':_0x569a73[_0x9d69('0x4e')],'callerid':util['format'](_0x9d69('0x4f'),_0x4a3a9e,_0x569a73[_0x9d69('0x1a')]),'Exten':_0x9d69('0x29'),'Context':_0x9d69('0x50'),'Priority':'1','variable':_0x13ae3f,'timeout':(_0x132e39[_0x9d69('0x51')]||0x1e)*0x3e8,'async':!![],'channelid':_0x569a73[_0x9d69('0x4c')]};};exports[_0x9d69('0x52')]=function(_0x165368){return _0x165368[_0x9d69('0x53')]+_0x165368['countcongestionretry']+_0x165368[_0x9d69('0x54')]+_0x165368[_0x9d69('0x55')]+_0x165368[_0x9d69('0x56')];};exports[_0x9d69('0x57')]=function(_0x2f9d80){var _0x227aee=_[_0x9d69('0x58')](_0x2f9d80);_0x227aee[_0x9d69('0x40')]=0xf;_0x227aee[_0x9d69('0x3b')]=_0x9d69('0x59');return _0x227aee;};exports['scheduledAt']=function(_0x16fdb7,_0x47284c,_0x2f9182){var _0xd91fe8={};_0xd91fe8[_0x47284c]=_0x16fdb7[_0x47284c];_0xd91fe8[_0x9d69('0x5a')]=![];_0xd91fe8[_0x9d69('0x5b')]=moment()['add'](_0x2f9182,_0x9d69('0x5c'))['format'](_0x9d69('0x3a'));_0xd91fe8['ContactId']=_0x16fdb7[_0x9d69('0x1b')];_0xd91fe8[_0x9d69('0x5d')]=_0x16fdb7[_0x9d69('0x5d')];_0xd91fe8['VoiceQueueId']=_0x16fdb7['VoiceQueueId']||undefined;return _0xd91fe8;};exports['decrementTalkink']=function(_0x117869,_0x6b33f0){if(!_[_0x9d69('0x16')](_0x117869)){if(_0x117869[_0x9d69('0x5e')]>0x0){_0x117869[_0x9d69('0x5e')]-=0x1;}else{logger[_0x9d69('0xc')](_0x6b33f0,_0x9d69('0x5f'));}}else{logger[_0x9d69('0xc')](_0x6b33f0,_0x9d69('0x60'));}};exports['IsNotLoggedIn']=function(_0x482930){if(_0x482930<=0x0){return!![];}return![];};exports['buildObj']=function(_0x2fce9f,_0x5eec15,_0x204f91){_0x2fce9f[_0x9d69('0x61')]=_0x5eec15;_0x2fce9f[_0x9d69('0x18')]=_0x2fce9f[_0x9d69('0x62')];_0x2fce9f['interface']=_0x2fce9f[_0x9d69('0x4e')];_0x2fce9f[_0x9d69('0x63')]=_0x9d69('0x64');if(_0x204f91){_0x2fce9f[_0x9d69('0x65')]=_0x204f91[_0x9d69('0x65')];}return _0x2fce9f;};exports['buildAcw']=function(_0x8b9d33){var _0x49ef48={};_0x49ef48['queue']=_0x8b9d33[_0x9d69('0x62')];_0x49ef48['interface']=_0x8b9d33[_0x9d69('0x4e')];_0x49ef48[_0x9d69('0x4c')]=_0x8b9d33['uniqueid'];return _0x49ef48;};exports['agentReadyId']=function(_0x50e839){var _0x13a126=[];for(var _0x1a15f5 in _0x50e839){if(_0x50e839[_0x9d69('0x2e')](_0x1a15f5)){if(!_[_0x9d69('0x16')](_0x50e839[_0x1a15f5])&&_0x50e839[_0x1a15f5]['state']===_0x9d69('0x66')&&_0x50e839[_0x1a15f5][_0x9d69('0x67')]===_0x9d69('0x68')){_0x13a126[_0x9d69('0x69')](_0x50e839[_0x1a15f5]['id']);}}}return _0x13a126;};exports['getDiff']=function(_0x3f9285){var _0x1f23e8=moment()[_0x9d69('0x6')](0x0);var _0x3e907c=moment(_0x3f9285)[_0x9d69('0x6')](0x0);return _0x1f23e8['diff'](_0x3e907c,_0x9d69('0x8'));};exports['createBody']=function(_0x581b3f){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x581b3f[_0x9d69('0x1b')],'ListId':_0x581b3f['ListId'],'VoiceQueueId':_0x581b3f[_0x9d69('0x1d')]||undefined,'CampaignId':_0x581b3f[_0x9d69('0x6a')]||undefined};};exports[_0x9d69('0x6b')]=function(_0xaee142){if(_0xaee142===_0x9d69('0x4c')||_0xaee142===_0x9d69('0x6c')||_0xaee142===_0x9d69('0x62')||_0xaee142==='type'||_0xaee142===_0x9d69('0x6d')||_0xaee142==='dialAnswer'||_0xaee142==='membername'||_0xaee142===_0x9d69('0x4e')||_0xaee142===_0x9d69('0x19')||_0xaee142==='active'||_0xaee142===_0x9d69('0x1a')||_0xaee142==='scheduledat'||_0xaee142===_0x9d69('0x53')||_0xaee142==='countcongestionretry'||_0xaee142===_0x9d69('0x54')||_0xaee142===_0x9d69('0x6e')||_0xaee142===_0x9d69('0x6f')||_0xaee142===_0x9d69('0x70')||_0xaee142===_0x9d69('0x71')||_0xaee142===_0x9d69('0x72')||_0xaee142==='ContactId'||_0xaee142===_0x9d69('0x5d')||_0xaee142==='UserId'||_0xaee142===_0x9d69('0x1d')||_0xaee142===_0x9d69('0x73')||_0xaee142==='xmd-voicequeueid'||_0xaee142===_0x9d69('0x74')||_0xaee142===_0x9d69('0x75')||_0xaee142===_0x9d69('0x76')||_0xaee142===_0x9d69('0x77')||_0xaee142===_0x9d69('0x78')||_0xaee142==='xmd-dialoptions'||_0xaee142===_0x9d69('0x79')||_0xaee142==='xmd-dialchannel'||_0xaee142===_0x9d69('0x7a')||_0xaee142==='xmd-cdrtype'||_0xaee142===_0x9d69('0x7b')||_0xaee142===_0x9d69('0x7c')||_0xaee142==='xmd-agi'||_0xaee142==='rtpaudioqos'||_0xaee142===_0x9d69('0x7d')||_0xaee142===_0x9d69('0x7e')||_0xaee142===_0x9d69('0x7f')||_0xaee142===_0x9d69('0x80')||_0xaee142===_0x9d69('0x81')||_0xaee142===_0x9d69('0x82')||_0xaee142===_0x9d69('0x83')||_0xaee142===_0x9d69('0x84')||_0xaee142==='rtpaudioqosbridged'||_0xaee142===_0x9d69('0x7e')||_0xaee142==='rtpaudioqosjitterbridged'||_0xaee142===_0x9d69('0x80')||_0xaee142==='rtpaudioqoslossbridged'||_0xaee142===_0x9d69('0x82')||_0xaee142===_0x9d69('0x83')||_0xaee142===_0x9d69('0x85')||_0xaee142==='bridgepvtcallid'||_0xaee142===_0x9d69('0x40')||_0xaee142===_0x9d69('0x3b')){return![];}return!![];};exports[_0x9d69('0x86')]=function(_0x4f607e,_0x4a713d){var _0x4125b9,_0x3ded06,_0x3c54d6;if(_0x4a713d<=0x0){_0x4a713d=0x1;}_0x4125b9=new RegExp('\x5cw{0,'+_0x4a713d+'}$');_0x3ded06=Math[_0x9d69('0x87')](0xa,_0x4a713d-0x1);_0x3c54d6=Math[_0x9d69('0x87')](0xa,_0x4a713d)-0x1;return util[_0x9d69('0x13')]('%s',_[_0x9d69('0x88')](_0x4f607e,_0x4125b9,_[_0x9d69('0x89')](_0x3ded06,_0x3c54d6)));};exports[_0x9d69('0x8a')]=function(_0x6d82af){var _0x35296a=_0x6d82af[_0x9d69('0x8b')](/"(.*?)"/);return _0x35296a?_0x35296a[0x1]:_0x6d82af;};exports[_0x9d69('0x8c')]=function(_0x4d39f9){var _0x5a6d41=_0x4d39f9[_0x9d69('0x8b')](/<(.*?)>/);return _0x5a6d41?_0x5a6d41[0x1]:_0x4d39f9;};