7b18ec7e60d224e948b908b03def07719814d81b
[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 _0x6d34=['calleridnum','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','dialQueueProject','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','toLower','updateOriginated','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','Blacklist','starttime','responsetime','endtime','logAgent','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','ringtime','logLookAgent','UserId','talktime','answertime','isFailure','Failure','RECALL','BOOKED','uniqueid','channelAgent','from-sip','timeout','totalGlobal','cloneAction','clone','scheduledAt','active','scheduledat','minutes','ContactId','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','buildObj','lastevent','queue','interface','not_inuse','reachable','getDiff','createBody','CampaignId','filterKey','idContact','campaigntype','dialAnswer','membername','countbusyretry','countnoanswerretry','countglobal','callback','recallme','sipcallid','xmd-voicequeueid','xmd-phone','xmd-dialurl','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','rtpaudioqosbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosrtt','bridgepeer','bridgepvtcallid','getCallerIdRandom','pow','replace','random','match','util','lodash','moment','../../../../config/logger','env','127.0.0.1','milliseconds','diff','seconds','error','inspect','logger','info','loggerError','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname'];(function(_0x13cf27,_0x38a69d){var _0x547dab=function(_0x4aca88){while(--_0x4aca88){_0x13cf27['push'](_0x13cf27['shift']());}};_0x547dab(++_0x38a69d);}(_0x6d34,0xf7));var _0x46d3=function(_0xe50e23,_0x3106d8){_0xe50e23=_0xe50e23-0x0;var _0x29c617=_0x6d34[_0xe50e23];return _0x29c617;};'use strict';var util=require(_0x46d3('0x0'));var _=require(_0x46d3('0x1'));var moment=require(_0x46d3('0x2'));var logger=require(_0x46d3('0x3'))('preview');var ipAgi=process[_0x46d3('0x4')]['XCALLY_IP_AGI']||_0x46d3('0x5');function getSeconds(_0x194970,_0x3cf80a){var _0x4b4f65=moment(_0x194970)['milliseconds'](0x0);var _0x57dcc8=moment(_0x3cf80a)[_0x46d3('0x6')](0x0);return _0x4b4f65[_0x46d3('0x7')](_0x57dcc8,_0x46d3('0x8'));}exports['loggerCatch']=function(_0x735a93){return function(_0x30780a){logger[_0x46d3('0x9')](_0x735a93,util[_0x46d3('0xa')](_0x30780a,{'showHidden':![],'depth':null}));};};exports[_0x46d3('0xb')]=function(_0x16a192,_0x4abd6e){logger[_0x46d3('0xc')](_0x16a192,util['inspect'](_0x4abd6e,{'showHidden':![],'depth':null}));};exports[_0x46d3('0xd')]=function(_0x433acc,_0xce6013){logger[_0x46d3('0x9')](_0x433acc,util[_0x46d3('0xa')](_0xce6013,{'showHidden':![],'depth':null}));};exports[_0x46d3('0xe')]=function(_0x2fae06){return function(_0x55127b){logger['info'](_0x2fae06,util[_0x46d3('0xa')](_0x55127b,{'showHidden':![],'depth':null}));};};exports[_0x46d3('0xf')]=function(_0xb88399,_0x24de99,_0x214b5b){return{'message':_0xb88399,'unlock':_0x24de99,'active':_0x214b5b};};exports[_0x46d3('0x10')]=function(_0x2bd66d,_0xbbe4a7,_0x495fce){if(!_[_0x46d3('0x11')](_0x495fce)&&_0x46d3('0x12')===typeof _0x495fce&&!_[_0x46d3('0x13')](_0x495fce)){if(!_[_0x46d3('0x11')](_0xbbe4a7)&&_0x46d3('0x12')===typeof _0xbbe4a7&&!_['isEmpty'](_0xbbe4a7)){return util[_0x46d3('0x14')](_0x46d3('0x15'),_0xbbe4a7,_0x495fce);}return util['format']('\x22%s\x22\x20<%s>',_0x495fce,_0x495fce);}if(!_['isUndefined'](_0x2bd66d)&&_0x46d3('0x12')===typeof _0x2bd66d&&!_[_0x46d3('0x13')](_0x2bd66d)){return _0x2bd66d;}return _0x46d3('0x16');};exports[_0x46d3('0x17')]=function(_0xfc8cda){if(_[_0x46d3('0x18')](_0xfc8cda)){return![];}return _0xfc8cda;};exports[_0x46d3('0x19')]=function(_0xcdeb76,_0xea927,_0x16683b,_0x3b5d9d,_0x21edfb,_0x33aed4){var _0x567bbd={'XMD-QUEUE':_0xea927[_0x46d3('0x1a')]?_0xea927['Queue'][_0x46d3('0x1b')]:'','XMD-CALLERID':_0x3b5d9d,'XMD-CALLERID-PREVIEW':_0x33aed4?util[_0x46d3('0x14')](_0x46d3('0x15'),_0x33aed4[_0x46d3('0x1c')],_0x33aed4[_0x46d3('0x1d')]):_0x3b5d9d,'XMD-DIALID':_0x21edfb,'XMD-CONTACTID':_0xea927['ContactId'],'XMD-CDRTYPE':_0x46d3('0x1e'),'CALLERID(all)':_0x3b5d9d,'XMD-VOICEQUEUEID':_0xea927[_0x46d3('0x1f')],'XMD-DIALCHANNEL':_0x16683b,'XMD-DIALTIMEOUT':_0xcdeb76[_0x46d3('0x20')]||0x1e,'XMD-DIALOPTIONS':util[_0x46d3('0x14')](_0x46d3('0x21'),_0xcdeb76[_0x46d3('0x22')]?'g':'',_[_0x46d3('0x13')](_0xcdeb76['monitor_format'])?'':_0x46d3('0x23')),'XMD-DIALURL':_0xcdeb76[_0x46d3('0x24')]||'','XMD-AGI':_0xcdeb76['dialQueueProject']?util[_0x46d3('0x14')](_0x46d3('0x25'),ipAgi,_0xcdeb76[_0x46d3('0x26')]):_0x46d3('0x27'),'XMD-AGIAFTER':_0xcdeb76[_0x46d3('0x22')]?util[_0x46d3('0x14')]('\x22agi://%s/square,%s\x22',ipAgi,_0xcdeb76[_0x46d3('0x22')]):_0x46d3('0x27'),'XMD-ORIGINATECALLERIDNUM':_0x33aed4?_0x33aed4[_0x46d3('0x28')]:'','XMD-ORIGINATECALLERIDNAME':_0x33aed4?_0x33aed4[_0x46d3('0x29')]:'','XMD-DESTINATION':_0x46d3('0x2a')};if(!_[_0x46d3('0x13')](_0xcdeb76[_0x46d3('0x2b')])){_0x567bbd[util[_0x46d3('0x14')]('%s',_0x46d3('0x2c'))]=_0xcdeb76[_0x46d3('0x2b')];_0x567bbd[util[_0x46d3('0x14')]('%s',_0x46d3('0x2d'))]=_0x21edfb;}if(_0xea927&&_0xea927[_0x46d3('0x2e')]){for(var _0x1c4e93 in _0xea927[_0x46d3('0x2e')]){if(_0xea927[_0x46d3('0x2e')][_0x46d3('0x2f')](_0x1c4e93)){if(!_['isNil'](_0xea927['Contact'][_0x1c4e93])&&_0x1c4e93!=='id'&&_0x1c4e93!==_0x46d3('0x30')&&_0x1c4e93!==_0x46d3('0x31')&&_0x1c4e93!==_0x46d3('0x32')){_0x567bbd[util['format'](_0x46d3('0x33'),_0x46d3('0x34'),_[_0x46d3('0x35')](_0x1c4e93))]=_0xea927[_0x46d3('0x2e')][_0x1c4e93];}}}}return _0x567bbd;};exports[_0x46d3('0x36')]=function(_0x5f5916){var _0x282192={};for(var _0x1b4ab6 in _0x5f5916){if(_0x5f5916[_0x46d3('0x2f')](_0x1b4ab6)){_0x282192[util['format']('%s',_[_0x46d3('0x37')](_0x1b4ab6))]=_0x5f5916[_0x1b4ab6];}}return{'variables':_0x282192};};exports[_0x46d3('0x38')]=function(_0x25c163,_0x3be4ca){if(!_['isNil'](_0x25c163)){if(_0x25c163[_0x46d3('0x2f')](_0x46d3('0x39'))){if(_0x25c163[_0x46d3('0x39')]>0x0){_0x25c163[_0x46d3('0x39')]-=0x1;}else{logger['error']('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x3be4ca);}}}else{logger[_0x46d3('0x9')](_0x46d3('0x3a'),_0x3be4ca);}};exports[_0x46d3('0x3b')]=function(_0x3cb1ab){var _0x554531=moment()[_0x46d3('0x14')]('YYYY-MM-DD\x20HH:mm:ss');_0x3cb1ab['state']=0xd;_0x3cb1ab['statedesc']=_0x46d3('0x3c');_0x3cb1ab[_0x46d3('0x3d')]=_0x554531;_0x3cb1ab[_0x46d3('0x3e')]=_0x554531;_0x3cb1ab[_0x46d3('0x3f')]=_0x554531;};exports[_0x46d3('0x40')]=function(_0x55f302,_0x56bb7e,_0x3e99a3){var _0x17ba36=moment()[_0x46d3('0x14')](_0x46d3('0x41'));_0x55f302[_0x46d3('0x42')]=_0x56bb7e;_0x55f302[_0x46d3('0x43')]=_0x3e99a3;_0x55f302['responsetime']=_0x17ba36;_0x55f302[_0x46d3('0x44')]=getSeconds(_0x55f302[_0x46d3('0x3e')],_0x55f302['starttime']);};exports[_0x46d3('0x45')]=function(_0x1904fa,_0x273b1d,_0xb37db7){_0x1904fa['membername']=_0x273b1d;_0x1904fa[_0x46d3('0x46')]=_0xb37db7;};exports['logCustomer']=function(_0x206151,_0x24658f,_0x1bcb20){var _0x4508e5=moment()[_0x46d3('0x14')]('YYYY-MM-DD\x20HH:mm:ss');_0x206151[_0x46d3('0x42')]=_0x24658f;_0x206151[_0x46d3('0x43')]=_0x1bcb20;_0x206151[_0x46d3('0x3e')]=_0x206151[_0x46d3('0x3e')]?_0x206151[_0x46d3('0x3e')]:_0x4508e5;_0x206151[_0x46d3('0x3f')]=_0x206151[_0x46d3('0x3f')]?_0x206151['endtime']:_0x4508e5;_0x206151[_0x46d3('0x44')]=getSeconds(_0x206151['responsetime']||0x0,_0x206151[_0x46d3('0x3d')]||0x0);_0x206151[_0x46d3('0x47')]=_0x206151[_0x46d3('0x48')]?getSeconds(_0x206151[_0x46d3('0x3f')],_0x206151['answertime']):0x0;};exports[_0x46d3('0x49')]=function(_0x51ec4c){return _0x51ec4c===_0x46d3('0x4a');};exports['variablesAction']=function(_0x167145,_0x186507,_0x1560ad,_0x25c79f,_0x2d9de3){var _0x585b24=_0x25c79f?_0x46d3('0x4b'):_0x167145[_0x46d3('0x1c')];_0x585b24=_0x2d9de3?_0x46d3('0x4c'):_0x585b24;return{'actionid':_0x167145[_0x46d3('0x4d')],'action':'originate','channel':_0x167145[_0x46d3('0x4e')],'callerid':util['format'](_0x46d3('0x15'),_0x585b24,_0x167145[_0x46d3('0x1d')]),'Exten':'xcally-motion-preview','Context':_0x46d3('0x4f'),'Priority':'1','variable':_0x1560ad,'timeout':(_0x186507[_0x46d3('0x50')]||0x1e)*0x3e8,'async':!![],'channelid':_0x167145[_0x46d3('0x4d')]};};exports[_0x46d3('0x51')]=function(_0x4c9678){return _0x4c9678['countbusyretry']+_0x4c9678['countcongestionretry']+_0x4c9678['countnoanswerretry'];};exports[_0x46d3('0x52')]=function(_0x1a59f4){var _0x54caf7=_[_0x46d3('0x53')](_0x1a59f4);_0x54caf7[_0x46d3('0x42')]=0xf;_0x54caf7[_0x46d3('0x43')]='Global';return _0x54caf7;};exports[_0x46d3('0x54')]=function(_0x111eb5,_0x5d14ee,_0x50dafd){var _0xb8046f={};_0xb8046f[_0x5d14ee]=_0x111eb5[_0x5d14ee];_0xb8046f[_0x46d3('0x55')]=![];_0xb8046f[_0x46d3('0x56')]=moment()['add'](_0x50dafd,_0x46d3('0x57'))['format'](_0x46d3('0x41'));_0xb8046f[_0x46d3('0x58')]=_0x111eb5['ContactId'];_0xb8046f['ListId']=_0x111eb5[_0x46d3('0x59')];_0xb8046f[_0x46d3('0x1f')]=_0x111eb5['VoiceQueueId']||undefined;return _0xb8046f;};exports[_0x46d3('0x5a')]=function(_0x5b0e01,_0x1f5e7f){if(!_['isNil'](_0x5b0e01)){if(_0x5b0e01[_0x46d3('0x5b')]>0x0){_0x5b0e01[_0x46d3('0x5b')]-=0x1;}else{logger[_0x46d3('0x9')](_0x1f5e7f,_0x46d3('0x5c'));}}else{logger[_0x46d3('0x9')](_0x1f5e7f,_0x46d3('0x5d'));}};exports['IsNotLoggedIn']=function(_0x2fd21b){if(_0x2fd21b<=0x0){return!![];}return![];};exports[_0x46d3('0x5e')]=function(_0x19b204,_0x2bce37){_0x19b204[_0x46d3('0x5f')]=_0x2bce37;_0x19b204[_0x46d3('0x1b')]=_0x19b204[_0x46d3('0x60')];_0x19b204['interface']=_0x19b204[_0x46d3('0x4e')];return _0x19b204;};exports['buildAcw']=function(_0xac77dd){var _0x2c1b5b={};_0x2c1b5b[_0x46d3('0x60')]=_0xac77dd['queue'];_0x2c1b5b[_0x46d3('0x61')]=_0xac77dd[_0x46d3('0x4e')];_0x2c1b5b['uniqueid']=_0xac77dd['uniqueid'];return _0x2c1b5b;};exports['agentReadyId']=function(_0x223997){var _0x1eee37=[];for(var _0x3ed5f1 in _0x223997){if(_0x223997['hasOwnProperty'](_0x3ed5f1)){if(!_[_0x46d3('0x18')](_0x223997[_0x3ed5f1])&&_0x223997[_0x3ed5f1][_0x46d3('0x42')]===_0x46d3('0x62')&&_0x223997[_0x3ed5f1]['status']===_0x46d3('0x63')){_0x1eee37['push'](_0x223997[_0x3ed5f1]['id']);}}}return _0x1eee37;};exports[_0x46d3('0x64')]=function(_0x441fbe){var _0x54ce31=moment()[_0x46d3('0x6')](0x0);var _0x12a7c5=moment(_0x441fbe)[_0x46d3('0x6')](0x0);return _0x54ce31[_0x46d3('0x7')](_0x12a7c5,_0x46d3('0x8'));};exports[_0x46d3('0x65')]=function(_0x1eb124){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x1eb124[_0x46d3('0x58')],'ListId':_0x1eb124[_0x46d3('0x59')],'VoiceQueueId':_0x1eb124[_0x46d3('0x1f')]||undefined,'CampaignId':_0x1eb124[_0x46d3('0x66')]||undefined};};exports[_0x46d3('0x67')]=function(_0x488e12){if(_0x488e12==='uniqueid'||_0x488e12===_0x46d3('0x68')||_0x488e12===_0x46d3('0x60')||_0x488e12==='type'||_0x488e12===_0x46d3('0x69')||_0x488e12===_0x46d3('0x6a')||_0x488e12===_0x46d3('0x6b')||_0x488e12===_0x46d3('0x4e')||_0x488e12===_0x46d3('0x1c')||_0x488e12===_0x46d3('0x55')||_0x488e12===_0x46d3('0x1d')||_0x488e12===_0x46d3('0x56')||_0x488e12===_0x46d3('0x6c')||_0x488e12==='countcongestionretry'||_0x488e12===_0x46d3('0x6d')||_0x488e12===_0x46d3('0x6e')||_0x488e12===_0x46d3('0x6f')||_0x488e12==='callbackuniqueid'||_0x488e12==='callbackat'||_0x488e12===_0x46d3('0x70')||_0x488e12===_0x46d3('0x58')||_0x488e12==='ListId'||_0x488e12===_0x46d3('0x46')||_0x488e12===_0x46d3('0x1f')||_0x488e12===_0x46d3('0x71')||_0x488e12===_0x46d3('0x72')||_0x488e12==='xmd-queue'||_0x488e12===_0x46d3('0x73')||_0x488e12==='xmd-listid'||_0x488e12===_0x46d3('0x74')||_0x488e12==='xmd-dialtimeout'||_0x488e12==='xmd-dialoptions'||_0x488e12===_0x46d3('0x75')||_0x488e12===_0x46d3('0x76')||_0x488e12===_0x46d3('0x77')||_0x488e12===_0x46d3('0x78')||_0x488e12===_0x46d3('0x79')||_0x488e12===_0x46d3('0x7a')||_0x488e12==='xmd-agi'||_0x488e12==='rtpaudioqos'||_0x488e12===_0x46d3('0x7b')||_0x488e12==='rtpaudioqosjitter'||_0x488e12==='rtpaudioqosjitterbridged'||_0x488e12===_0x46d3('0x7c')||_0x488e12===_0x46d3('0x7d')||_0x488e12==='rtpaudioqosrtt'||_0x488e12===_0x46d3('0x7e')||_0x488e12===_0x46d3('0x7f')||_0x488e12===_0x46d3('0x7b')||_0x488e12===_0x46d3('0x80')||_0x488e12===_0x46d3('0x81')||_0x488e12===_0x46d3('0x7c')||_0x488e12===_0x46d3('0x7d')||_0x488e12===_0x46d3('0x82')||_0x488e12===_0x46d3('0x7e')||_0x488e12===_0x46d3('0x83')||_0x488e12===_0x46d3('0x84')||_0x488e12===_0x46d3('0x42')||_0x488e12===_0x46d3('0x43')){return![];}return!![];};exports[_0x46d3('0x85')]=function(_0x38fc6e,_0x2d2e06){var _0x1a87cb,_0x52bee6,_0x3c3b76;if(_0x2d2e06<=0x0){_0x2d2e06=0x1;}_0x1a87cb=new RegExp('\x5cw{0,'+_0x2d2e06+'}$');_0x52bee6=Math[_0x46d3('0x86')](0xa,_0x2d2e06-0x1);_0x3c3b76=Math[_0x46d3('0x86')](0xa,_0x2d2e06)-0x1;return util[_0x46d3('0x14')]('%s',_[_0x46d3('0x87')](_0x38fc6e,_0x1a87cb,_[_0x46d3('0x88')](_0x52bee6,_0x3c3b76)));};exports['extractCalleridName']=function(_0x1639be){var _0x3e792b=_0x1639be[_0x46d3('0x89')](/"(.*?)"/);return _0x3e792b?_0x3e792b[0x1]:_0x1639be;};exports['extractCalleridNumber']=function(_0x341ae1){var _0x1f975a=_0x341ae1['match'](/<(.*?)>/);return _0x1f975a?_0x1f975a[0x1]:_0x341ae1;};