Built motion from commit (unavailable).|2.5.4
[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 _0x6d4b=['active','scheduledat','add','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','name','queue','interface','channelAgent','buildAcw','agentReadyId','not_inuse','status','push','createBody','CampaignId','filterKey','idContact','type','countglobal','callback','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepeer','getCallerIdRandom','\x5cw{0,','pow','extractCalleridName','extractCalleridNumber','match','util','lodash','moment','preview','env','milliseconds','diff','seconds','error','inspect','logger','info','loggerError','logger2','message','isUndefined','string','isEmpty','\x22%s\x22\x20<%s>','format','\x22\x22\x20<>','isActive','Queue','calleridnum','ContactId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','XMD-','toUpper','toLowerVariables','isNil','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','responsetime','endtime','logAgent','ringtime','logLookAgent','membername','UserId','starttime','talktime','isFailure','Failure','variablesAction','calleridname','BOOKED','uniqueid','from-sip','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','cloneAction','clone','Global','scheduledAt'];(function(_0x432682,_0x253044){var _0x463d05=function(_0xa73403){while(--_0xa73403){_0x432682['push'](_0x432682['shift']());}};_0x463d05(++_0x253044);}(_0x6d4b,0xbf));var _0xb6d4=function(_0x14eaf9,_0x5c0101){_0x14eaf9=_0x14eaf9-0x0;var _0x3b26e5=_0x6d4b[_0x14eaf9];return _0x3b26e5;};'use strict';var util=require(_0xb6d4('0x0'));var _=require(_0xb6d4('0x1'));var moment=require(_0xb6d4('0x2'));var logger=require('../../../../config/logger')(_0xb6d4('0x3'));var ipAgi=process[_0xb6d4('0x4')]['XCALLY_IP_AGI']||'127.0.0.1';function getSeconds(_0xe3f0b3,_0x13bcce){var _0x2710b2=moment(_0xe3f0b3)[_0xb6d4('0x5')](0x0);var _0x1e9c41=moment(_0x13bcce)[_0xb6d4('0x5')](0x0);return _0x2710b2[_0xb6d4('0x6')](_0x1e9c41,_0xb6d4('0x7'));}exports['loggerCatch']=function(_0x36d85f){return function(_0xe82b85){logger[_0xb6d4('0x8')](_0x36d85f,util[_0xb6d4('0x9')](_0xe82b85,{'showHidden':![],'depth':null}));};};exports[_0xb6d4('0xa')]=function(_0x1d54fb,_0x3f7d10){logger[_0xb6d4('0xb')](_0x1d54fb,util[_0xb6d4('0x9')](_0x3f7d10,{'showHidden':![],'depth':null}));};exports[_0xb6d4('0xc')]=function(_0x56bdae,_0x4c8bb2){logger['error'](_0x56bdae,util['inspect'](_0x4c8bb2,{'showHidden':![],'depth':null}));};exports[_0xb6d4('0xd')]=function(_0x5c6f06){return function(_0x900d20){logger[_0xb6d4('0xb')](_0x5c6f06,util[_0xb6d4('0x9')](_0x900d20,{'showHidden':![],'depth':null}));};};exports[_0xb6d4('0xe')]=function(_0x573c97,_0xe8d726,_0x2c3af8){return{'message':_0x573c97,'unlock':_0xe8d726,'active':_0x2c3af8};};exports['getCallerId']=function(_0xbad248,_0x4aae9b,_0x4585ee){if(!_[_0xb6d4('0xf')](_0x4585ee)&&_0xb6d4('0x10')===typeof _0x4585ee&&!_[_0xb6d4('0x11')](_0x4585ee)){if(!_[_0xb6d4('0xf')](_0x4aae9b)&&_0xb6d4('0x10')===typeof _0x4aae9b&&!_[_0xb6d4('0x11')](_0x4aae9b)){return util['format'](_0xb6d4('0x12'),_0x4aae9b,_0x4585ee);}return util[_0xb6d4('0x13')](_0xb6d4('0x12'),_0x4585ee,_0x4585ee);}if(!_[_0xb6d4('0xf')](_0xbad248)&&_0xb6d4('0x10')===typeof _0xbad248&&!_[_0xb6d4('0x11')](_0xbad248)){return _0xbad248;}return _0xb6d4('0x14');};exports[_0xb6d4('0x15')]=function(_0x1024c9){if(_['isNil'](_0x1024c9)){return![];}return _0x1024c9;};exports['addVariables']=function(_0x37595f,_0x1e1e0b,_0x122563,_0x3d3cd6,_0x4e034e,_0x5a719e){var _0x145157={'XMD-QUEUE':_0x1e1e0b[_0xb6d4('0x16')]?_0x1e1e0b[_0xb6d4('0x16')]['name']:'','XMD-CALLERID':_0x3d3cd6,'XMD-CALLERID-PREVIEW':_0x5a719e?util[_0xb6d4('0x13')]('\x22%s\x22\x20<%s>',_0x5a719e['calleridname'],_0x5a719e[_0xb6d4('0x17')]):_0x3d3cd6,'XMD-DIALID':_0x4e034e,'XMD-CONTACTID':_0x1e1e0b[_0xb6d4('0x18')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x3d3cd6,'XMD-VOICEQUEUEID':_0x1e1e0b['VoiceQueueId'],'XMD-DIALCHANNEL':_0x122563,'XMD-DIALTIMEOUT':_0x37595f[_0xb6d4('0x19')]||0x1e,'XMD-DIALOPTIONS':util[_0xb6d4('0x13')](_0xb6d4('0x1a'),_0x37595f[_0xb6d4('0x1b')]?'g':'',_[_0xb6d4('0x11')](_0x37595f[_0xb6d4('0x1c')])?'':_0xb6d4('0x1d')),'XMD-DIALURL':_0x37595f[_0xb6d4('0x1e')]||'','XMD-AGI':_0x37595f[_0xb6d4('0x1f')]?util[_0xb6d4('0x13')](_0xb6d4('0x20'),ipAgi,_0x37595f[_0xb6d4('0x1f')]):'NONE','XMD-AGIAFTER':_0x37595f[_0xb6d4('0x1b')]?util[_0xb6d4('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x37595f[_0xb6d4('0x1b')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x5a719e?_0x5a719e[_0xb6d4('0x21')]:'','XMD-ORIGINATECALLERIDNAME':_0x5a719e?_0x5a719e[_0xb6d4('0x22')]:'','XMD-DESTINATION':_0xb6d4('0x23')};if(!_[_0xb6d4('0x11')](_0x37595f[_0xb6d4('0x1c')])){_0x145157[util[_0xb6d4('0x13')]('%s',_0xb6d4('0x24'))]=_0x37595f[_0xb6d4('0x1c')];_0x145157[util['format']('%s',_0xb6d4('0x25'))]=_0x4e034e;}if(_0x1e1e0b&&_0x1e1e0b[_0xb6d4('0x26')]){for(var _0x112d10 in _0x1e1e0b['Contact']){if(_0x1e1e0b[_0xb6d4('0x26')][_0xb6d4('0x27')](_0x112d10)){if(!_['isNil'](_0x1e1e0b[_0xb6d4('0x26')][_0x112d10])&&_0x112d10!=='id'&&_0x112d10!==_0xb6d4('0x28')&&_0x112d10!==_0xb6d4('0x29')&&_0x112d10!=='updatedAt'){_0x145157[util['format']('%s%s',_0xb6d4('0x2a'),_[_0xb6d4('0x2b')](_0x112d10))]=_0x1e1e0b[_0xb6d4('0x26')][_0x112d10];}}}}return _0x145157;};exports[_0xb6d4('0x2c')]=function(_0x1a5a65){var _0x7e9693={};for(var _0x52638f in _0x1a5a65){if(_0x1a5a65['hasOwnProperty'](_0x52638f)){_0x7e9693[util[_0xb6d4('0x13')]('%s',_['toLower'](_0x52638f))]=_0x1a5a65[_0x52638f];}}return{'variables':_0x7e9693};};exports['updateOriginated']=function(_0x4a4572,_0x5b7771){if(!_[_0xb6d4('0x2d')](_0x4a4572)){if(_0x4a4572[_0xb6d4('0x27')]('originated')){if(_0x4a4572[_0xb6d4('0x2e')]>0x0){_0x4a4572['originated']-=0x1;}else{logger[_0xb6d4('0x8')](_0xb6d4('0x2f'),_0x5b7771);}}}else{logger[_0xb6d4('0x8')](_0xb6d4('0x30'),_0x5b7771);}};exports[_0xb6d4('0x31')]=function(_0x3f452){var _0x2b024a=moment()['format'](_0xb6d4('0x32'));_0x3f452[_0xb6d4('0x33')]=0xd;_0x3f452[_0xb6d4('0x34')]='Blacklist';_0x3f452['starttime']=_0x2b024a;_0x3f452[_0xb6d4('0x35')]=_0x2b024a;_0x3f452[_0xb6d4('0x36')]=_0x2b024a;};exports[_0xb6d4('0x37')]=function(_0x3a8d0e,_0x7c5b7e,_0x522a44){var _0x4167bf=moment()['format'](_0xb6d4('0x32'));_0x3a8d0e[_0xb6d4('0x33')]=_0x7c5b7e;_0x3a8d0e[_0xb6d4('0x34')]=_0x522a44;_0x3a8d0e['responsetime']=_0x4167bf;_0x3a8d0e[_0xb6d4('0x38')]=getSeconds(_0x3a8d0e['responsetime'],_0x3a8d0e['starttime']);};exports[_0xb6d4('0x39')]=function(_0x3ee184,_0xa71efc,_0x106fc0){_0x3ee184[_0xb6d4('0x3a')]=_0xa71efc;_0x3ee184[_0xb6d4('0x3b')]=_0x106fc0;};exports['logCustomer']=function(_0x9c3a24,_0x4b2b00,_0x30f152){var _0x4d0783=moment()[_0xb6d4('0x13')](_0xb6d4('0x32'));_0x9c3a24[_0xb6d4('0x33')]=_0x4b2b00;_0x9c3a24[_0xb6d4('0x34')]=_0x30f152;_0x9c3a24[_0xb6d4('0x35')]=_0x9c3a24['responsetime']?_0x9c3a24[_0xb6d4('0x35')]:_0x4d0783;_0x9c3a24['endtime']=_0x9c3a24[_0xb6d4('0x36')]?_0x9c3a24[_0xb6d4('0x36')]:_0x4d0783;_0x9c3a24[_0xb6d4('0x38')]=getSeconds(_0x9c3a24[_0xb6d4('0x35')]||0x0,_0x9c3a24[_0xb6d4('0x3c')]||0x0);_0x9c3a24[_0xb6d4('0x3d')]=_0x9c3a24['answertime']?getSeconds(_0x9c3a24[_0xb6d4('0x36')],_0x9c3a24['answertime']):0x0;};exports[_0xb6d4('0x3e')]=function(_0xe3158f){return _0xe3158f===_0xb6d4('0x3f');};exports[_0xb6d4('0x40')]=function(_0x27f802,_0x434ea2,_0x5c9c4b,_0x559a18,_0x32eb4d){var _0x52b9e6=_0x559a18?'RECALL':_0x27f802[_0xb6d4('0x41')];_0x52b9e6=_0x32eb4d?_0xb6d4('0x42'):_0x52b9e6;return{'actionid':_0x27f802[_0xb6d4('0x43')],'action':'originate','channel':_0x27f802['channelAgent'],'callerid':util[_0xb6d4('0x13')](_0xb6d4('0x12'),_0x52b9e6,_0x27f802[_0xb6d4('0x17')]),'Exten':_0xb6d4('0x23'),'Context':_0xb6d4('0x44'),'Priority':'1','variable':_0x5c9c4b,'timeout':(_0x434ea2['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x27f802[_0xb6d4('0x43')]};};exports[_0xb6d4('0x45')]=function(_0x220ac1){return _0x220ac1[_0xb6d4('0x46')]+_0x220ac1[_0xb6d4('0x47')]+_0x220ac1[_0xb6d4('0x48')]+_0x220ac1['countagentrejectretry']+_0x220ac1['countnosuchnumberretry'];};exports[_0xb6d4('0x49')]=function(_0x47efcf){var _0x51358a=_[_0xb6d4('0x4a')](_0x47efcf);_0x51358a[_0xb6d4('0x33')]=0xf;_0x51358a[_0xb6d4('0x34')]=_0xb6d4('0x4b');return _0x51358a;};exports[_0xb6d4('0x4c')]=function(_0x3544ed,_0x28a5d5,_0x56adb8){var _0x862453={};_0x862453[_0x28a5d5]=_0x3544ed[_0x28a5d5];_0x862453[_0xb6d4('0x4d')]=![];_0x862453[_0xb6d4('0x4e')]=moment()[_0xb6d4('0x4f')](_0x56adb8,'minutes')['format']('YYYY-MM-DD\x20HH:mm:ss');_0x862453['ContactId']=_0x3544ed[_0xb6d4('0x18')];_0x862453['ListId']=_0x3544ed[_0xb6d4('0x50')];_0x862453[_0xb6d4('0x51')]=_0x3544ed[_0xb6d4('0x51')]||undefined;return _0x862453;};exports[_0xb6d4('0x52')]=function(_0x3e3271,_0x80973){if(!_['isNil'](_0x3e3271)){if(_0x3e3271['pTalking']>0x0){_0x3e3271[_0xb6d4('0x53')]-=0x1;}else{logger[_0xb6d4('0x8')](_0x80973,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0xb6d4('0x8')](_0x80973,_0xb6d4('0x54'));}};exports[_0xb6d4('0x55')]=function(_0x2129d0){if(_0x2129d0<=0x0){return!![];}return![];};exports[_0xb6d4('0x56')]=function(_0x4c5b93,_0x5d6373){_0x4c5b93['lastevent']=_0x5d6373;_0x4c5b93[_0xb6d4('0x57')]=_0x4c5b93[_0xb6d4('0x58')];_0x4c5b93[_0xb6d4('0x59')]=_0x4c5b93[_0xb6d4('0x5a')];return _0x4c5b93;};exports[_0xb6d4('0x5b')]=function(_0x47fac8){var _0x264b3e={};_0x264b3e['queue']=_0x47fac8[_0xb6d4('0x58')];_0x264b3e[_0xb6d4('0x59')]=_0x47fac8[_0xb6d4('0x5a')];_0x264b3e['uniqueid']=_0x47fac8[_0xb6d4('0x43')];return _0x264b3e;};exports[_0xb6d4('0x5c')]=function(_0x554f44){var _0x57374a=[];for(var _0x560080 in _0x554f44){if(_0x554f44['hasOwnProperty'](_0x560080)){if(!_[_0xb6d4('0x2d')](_0x554f44[_0x560080])&&_0x554f44[_0x560080]['state']===_0xb6d4('0x5d')&&_0x554f44[_0x560080][_0xb6d4('0x5e')]==='reachable'){_0x57374a[_0xb6d4('0x5f')](_0x554f44[_0x560080]['id']);}}}return _0x57374a;};exports['getDiff']=function(_0x210c28){var _0x8a247e=moment()[_0xb6d4('0x5')](0x0);var _0x3be560=moment(_0x210c28)[_0xb6d4('0x5')](0x0);return _0x8a247e['diff'](_0x3be560,_0xb6d4('0x7'));};exports[_0xb6d4('0x60')]=function(_0x2124c2){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x2124c2['ContactId'],'ListId':_0x2124c2[_0xb6d4('0x50')],'VoiceQueueId':_0x2124c2['VoiceQueueId']||undefined,'CampaignId':_0x2124c2[_0xb6d4('0x61')]||undefined};};exports[_0xb6d4('0x62')]=function(_0x58aaef){if(_0x58aaef===_0xb6d4('0x43')||_0x58aaef===_0xb6d4('0x63')||_0x58aaef===_0xb6d4('0x58')||_0x58aaef===_0xb6d4('0x64')||_0x58aaef==='campaigntype'||_0x58aaef==='dialAnswer'||_0x58aaef===_0xb6d4('0x3a')||_0x58aaef===_0xb6d4('0x5a')||_0x58aaef==='calleridname'||_0x58aaef==='active'||_0x58aaef===_0xb6d4('0x17')||_0x58aaef===_0xb6d4('0x4e')||_0x58aaef===_0xb6d4('0x46')||_0x58aaef==='countcongestionretry'||_0x58aaef==='countnoanswerretry'||_0x58aaef===_0xb6d4('0x65')||_0x58aaef===_0xb6d4('0x66')||_0x58aaef==='callbackuniqueid'||_0x58aaef===_0xb6d4('0x67')||_0x58aaef===_0xb6d4('0x68')||_0x58aaef===_0xb6d4('0x18')||_0x58aaef===_0xb6d4('0x50')||_0x58aaef===_0xb6d4('0x3b')||_0x58aaef===_0xb6d4('0x51')||_0x58aaef===_0xb6d4('0x69')||_0x58aaef===_0xb6d4('0x6a')||_0x58aaef===_0xb6d4('0x6b')||_0x58aaef===_0xb6d4('0x6c')||_0x58aaef===_0xb6d4('0x6d')||_0x58aaef===_0xb6d4('0x6e')||_0x58aaef===_0xb6d4('0x6f')||_0x58aaef===_0xb6d4('0x70')||_0x58aaef===_0xb6d4('0x71')||_0x58aaef===_0xb6d4('0x72')||_0x58aaef===_0xb6d4('0x73')||_0x58aaef===_0xb6d4('0x74')||_0x58aaef===_0xb6d4('0x75')||_0x58aaef==='xmd-agiafter'||_0x58aaef===_0xb6d4('0x76')||_0x58aaef===_0xb6d4('0x77')||_0x58aaef===_0xb6d4('0x78')||_0x58aaef===_0xb6d4('0x79')||_0x58aaef===_0xb6d4('0x7a')||_0x58aaef===_0xb6d4('0x7b')||_0x58aaef===_0xb6d4('0x7c')||_0x58aaef===_0xb6d4('0x7d')||_0x58aaef===_0xb6d4('0x7e')||_0x58aaef==='rtpaudioqos'||_0x58aaef===_0xb6d4('0x78')||_0x58aaef===_0xb6d4('0x79')||_0x58aaef===_0xb6d4('0x7a')||_0x58aaef===_0xb6d4('0x7b')||_0x58aaef==='rtpaudioqoslossbridged'||_0x58aaef===_0xb6d4('0x7d')||_0x58aaef==='rtpaudioqosrttbridged'||_0x58aaef===_0xb6d4('0x7f')||_0x58aaef==='bridgepvtcallid'||_0x58aaef==='state'||_0x58aaef===_0xb6d4('0x34')){return![];}return!![];};exports[_0xb6d4('0x80')]=function(_0x265233,_0x33fdd1){var _0x51b8fa,_0x378ecc,_0xea0379;if(_0x33fdd1<=0x0){_0x33fdd1=0x1;}_0x51b8fa=new RegExp(_0xb6d4('0x81')+_0x33fdd1+'}$');_0x378ecc=Math[_0xb6d4('0x82')](0xa,_0x33fdd1-0x1);_0xea0379=Math[_0xb6d4('0x82')](0xa,_0x33fdd1)-0x1;return util[_0xb6d4('0x13')]('%s',_['replace'](_0x265233,_0x51b8fa,_['random'](_0x378ecc,_0xea0379)));};exports[_0xb6d4('0x83')]=function(_0x39eb24){var _0x48e28d=_0x39eb24['match'](/"(.*?)"/);return _0x48e28d?_0x48e28d[0x1]:_0x39eb24;};exports[_0xb6d4('0x84')]=function(_0x92b9eb){var _0x2c8ad2=_0x92b9eb[_0xb6d4('0x85')](/<(.*?)>/);return _0x2c8ad2?_0x2c8ad2[0x1]:_0x92b9eb;};