Built motion from commit (unavailable).|2.3.5
[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 _0xbbef=['countglobal','callback','callbackat','xmd-voicequeueid','xmd-phone','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','util','moment','../../../../config/logger','env','milliseconds','seconds','loggerCatch','error','inspect','logger','info','logger2','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','VoiceQueueId','dialOriginateTimeout','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','\x22agi://%s/square,%s\x22','dialQueueProject','NONE','originatecalleridnum','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','hasOwnProperty','updateOriginated','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','state','ringtime','logLookAgent','membername','UserId','logCustomer','answertime','isFailure','BOOKED','originate','channelAgent','from-sip','uniqueid','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','cloneAction','clone','Global','scheduledAt','active','scheduledat','add','minutes','ContactId','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','queue','interface','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','diff','CampaignId','filterKey','type','dialAnswer'];(function(_0x26dde2,_0x19686c){var _0x1d4bec=function(_0x45d380){while(--_0x45d380){_0x26dde2['push'](_0x26dde2['shift']());}};_0x1d4bec(++_0x19686c);}(_0xbbef,0x11e));var _0xfbbe=function(_0x284dfd,_0x24f3a3){_0x284dfd=_0x284dfd-0x0;var _0x34bc99=_0xbbef[_0x284dfd];return _0x34bc99;};'use strict';var util=require(_0xfbbe('0x0'));var _=require('lodash');var moment=require(_0xfbbe('0x1'));var logger=require(_0xfbbe('0x2'))('preview');var ipAgi=process[_0xfbbe('0x3')]['XCALLY_IP_AGI']||'127.0.0.1';function getSeconds(_0x3c1c6b,_0x4fc7e0){var _0x56e554=moment(_0x3c1c6b)[_0xfbbe('0x4')](0x0);var _0x33c9f9=moment(_0x4fc7e0)[_0xfbbe('0x4')](0x0);return _0x56e554['diff'](_0x33c9f9,_0xfbbe('0x5'));}exports[_0xfbbe('0x6')]=function(_0x59e811){return function(_0x15928a){logger[_0xfbbe('0x7')](_0x59e811,util[_0xfbbe('0x8')](_0x15928a,{'showHidden':![],'depth':null}));};};exports[_0xfbbe('0x9')]=function(_0xe90a11,_0x207db9){logger[_0xfbbe('0xa')](_0xe90a11,util[_0xfbbe('0x8')](_0x207db9,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0xe2c5c0,_0x3d1365){logger[_0xfbbe('0x7')](_0xe2c5c0,util[_0xfbbe('0x8')](_0x3d1365,{'showHidden':![],'depth':null}));};exports[_0xfbbe('0xb')]=function(_0x14cd83){return function(_0x5e854c){logger['info'](_0x14cd83,util[_0xfbbe('0x8')](_0x5e854c,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x5ccb4d,_0x17b5e9,_0x27f7c3){return{'message':_0x5ccb4d,'unlock':_0x17b5e9,'active':_0x27f7c3};};exports[_0xfbbe('0xc')]=function(_0x3bd370,_0x280fc9,_0x1128cc){if(!_[_0xfbbe('0xd')](_0x1128cc)&&_0xfbbe('0xe')===typeof _0x1128cc&&!_[_0xfbbe('0xf')](_0x1128cc)){if(!_[_0xfbbe('0xd')](_0x280fc9)&&_0xfbbe('0xe')===typeof _0x280fc9&&!_[_0xfbbe('0xf')](_0x280fc9)){return util[_0xfbbe('0x10')]('\x22%s\x22\x20<%s>',_0x280fc9,_0x1128cc);}return util[_0xfbbe('0x10')](_0xfbbe('0x11'),_0x1128cc,_0x1128cc);}if(!_[_0xfbbe('0xd')](_0x3bd370)&&_0xfbbe('0xe')===typeof _0x3bd370&&!_[_0xfbbe('0xf')](_0x3bd370)){return _0x3bd370;}return'\x22\x22\x20<>';};exports[_0xfbbe('0x12')]=function(_0x1023b4){if(_[_0xfbbe('0x13')](_0x1023b4)){return![];}return _0x1023b4;};exports[_0xfbbe('0x14')]=function(_0x59cf75,_0x2f1629,_0x3b854d,_0x55a09b,_0x27338a,_0x57cd6c){var _0x1b62bb={'XMD-QUEUE':_0x2f1629[_0xfbbe('0x15')]?_0x2f1629['Queue'][_0xfbbe('0x16')]:'','XMD-CALLERID':_0x55a09b,'XMD-CALLERID-PREVIEW':_0x57cd6c?util[_0xfbbe('0x10')](_0xfbbe('0x11'),_0x57cd6c[_0xfbbe('0x17')],_0x57cd6c[_0xfbbe('0x18')]):_0x55a09b,'XMD-DIALID':_0x27338a,'XMD-CONTACTID':_0x2f1629['ContactId'],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x55a09b,'XMD-VOICEQUEUEID':_0x2f1629[_0xfbbe('0x19')],'XMD-DIALCHANNEL':_0x3b854d,'XMD-DIALTIMEOUT':_0x59cf75[_0xfbbe('0x1a')]||0x1e,'XMD-DIALOPTIONS':util['format']('\x22rtTxX%s%s\x22',_0x59cf75[_0xfbbe('0x1b')]?'g':'',_['isEmpty'](_0x59cf75[_0xfbbe('0x1c')])?'':_0xfbbe('0x1d')),'XMD-DIALURL':_0x59cf75['dialPreviewUrl']||'','XMD-AGI':_0x59cf75['dialQueueProject']?util[_0xfbbe('0x10')](_0xfbbe('0x1e'),ipAgi,_0x59cf75[_0xfbbe('0x1f')]):_0xfbbe('0x20'),'XMD-AGIAFTER':_0x59cf75[_0xfbbe('0x1b')]?util[_0xfbbe('0x10')](_0xfbbe('0x1e'),ipAgi,_0x59cf75[_0xfbbe('0x1b')]):_0xfbbe('0x20'),'XMD-ORIGINATECALLERIDNUM':_0x57cd6c?_0x57cd6c[_0xfbbe('0x21')]:'','XMD-ORIGINATECALLERIDNAME':_0x57cd6c?_0x57cd6c['originatecalleridname']:'','XMD-DESTINATION':_0xfbbe('0x22')};if(!_[_0xfbbe('0xf')](_0x59cf75[_0xfbbe('0x1c')])){_0x1b62bb[util[_0xfbbe('0x10')]('%s',_0xfbbe('0x23'))]=_0x59cf75[_0xfbbe('0x1c')];_0x1b62bb[util[_0xfbbe('0x10')]('%s',_0xfbbe('0x24'))]=_0x27338a;}if(_0x2f1629&&_0x2f1629[_0xfbbe('0x25')]){for(var _0x35653c in _0x2f1629[_0xfbbe('0x25')]){if(_0x2f1629['Contact']['hasOwnProperty'](_0x35653c)){if(!_[_0xfbbe('0x13')](_0x2f1629[_0xfbbe('0x25')][_0x35653c])&&_0x35653c!=='id'&&_0x35653c!=='tags'&&_0x35653c!==_0xfbbe('0x26')&&_0x35653c!==_0xfbbe('0x27')){_0x1b62bb[util[_0xfbbe('0x10')](_0xfbbe('0x28'),_0xfbbe('0x29'),_[_0xfbbe('0x2a')](_0x35653c))]=_0x2f1629[_0xfbbe('0x25')][_0x35653c];}}}}return _0x1b62bb;};exports[_0xfbbe('0x2b')]=function(_0x4c775f){var _0x29b094={};for(var _0x27da80 in _0x4c775f){if(_0x4c775f[_0xfbbe('0x2c')](_0x27da80)){_0x29b094[util[_0xfbbe('0x10')]('%s',_['toLower'](_0x27da80))]=_0x4c775f[_0x27da80];}}return{'variables':_0x29b094};};exports[_0xfbbe('0x2d')]=function(_0x4063d7,_0x2833cd){if(!_[_0xfbbe('0x13')](_0x4063d7)){if(_0x4063d7['hasOwnProperty'](_0xfbbe('0x2e'))){if(_0x4063d7[_0xfbbe('0x2e')]>0x0){_0x4063d7['originated']-=0x1;}else{logger[_0xfbbe('0x7')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x2833cd);}}}else{logger[_0xfbbe('0x7')](_0xfbbe('0x2f'),_0x2833cd);}};exports['logBlacklist']=function(_0x9f30bc){var _0x402e9d=moment()[_0xfbbe('0x10')](_0xfbbe('0x30'));_0x9f30bc['state']=0xd;_0x9f30bc[_0xfbbe('0x31')]=_0xfbbe('0x32');_0x9f30bc[_0xfbbe('0x33')]=_0x402e9d;_0x9f30bc[_0xfbbe('0x34')]=_0x402e9d;_0x9f30bc[_0xfbbe('0x35')]=_0x402e9d;};exports[_0xfbbe('0x36')]=function(_0x563278,_0x3e97c0,_0x3c9a29){var _0x575378=moment()[_0xfbbe('0x10')](_0xfbbe('0x30'));_0x563278[_0xfbbe('0x37')]=_0x3e97c0;_0x563278['statedesc']=_0x3c9a29;_0x563278[_0xfbbe('0x34')]=_0x575378;_0x563278[_0xfbbe('0x38')]=getSeconds(_0x563278[_0xfbbe('0x34')],_0x563278[_0xfbbe('0x33')]);};exports[_0xfbbe('0x39')]=function(_0x5d74b4,_0x343697,_0x1c578c){_0x5d74b4[_0xfbbe('0x3a')]=_0x343697;_0x5d74b4[_0xfbbe('0x3b')]=_0x1c578c;};exports[_0xfbbe('0x3c')]=function(_0x3053f5,_0x4df027,_0x1e6bbe){var _0x256d95=moment()[_0xfbbe('0x10')]('YYYY-MM-DD\x20HH:mm:ss');_0x3053f5[_0xfbbe('0x37')]=_0x4df027;_0x3053f5[_0xfbbe('0x31')]=_0x1e6bbe;_0x3053f5[_0xfbbe('0x34')]=_0x3053f5['responsetime']?_0x3053f5['responsetime']:_0x256d95;_0x3053f5[_0xfbbe('0x35')]=_0x3053f5[_0xfbbe('0x35')]?_0x3053f5[_0xfbbe('0x35')]:_0x256d95;_0x3053f5[_0xfbbe('0x38')]=getSeconds(_0x3053f5[_0xfbbe('0x34')]||0x0,_0x3053f5[_0xfbbe('0x33')]||0x0);_0x3053f5['talktime']=_0x3053f5[_0xfbbe('0x3d')]?getSeconds(_0x3053f5[_0xfbbe('0x35')],_0x3053f5[_0xfbbe('0x3d')]):0x0;};exports[_0xfbbe('0x3e')]=function(_0x4955cb){return _0x4955cb==='Failure';};exports['variablesAction']=function(_0x471b70,_0xeb7546,_0x25c5e0,_0x5e5c71,_0x2ba5b0){var _0x46179a=_0x5e5c71?'RECALL':_0x471b70[_0xfbbe('0x17')];_0x46179a=_0x2ba5b0?_0xfbbe('0x3f'):_0x46179a;return{'actionid':_0x471b70['uniqueid'],'action':_0xfbbe('0x40'),'channel':_0x471b70[_0xfbbe('0x41')],'callerid':util[_0xfbbe('0x10')](_0xfbbe('0x11'),_0x46179a,_0x471b70[_0xfbbe('0x18')]),'Exten':'xcally-motion-preview','Context':_0xfbbe('0x42'),'Priority':'1','variable':_0x25c5e0,'timeout':(_0xeb7546['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x471b70[_0xfbbe('0x43')]};};exports[_0xfbbe('0x44')]=function(_0x3110b7){return _0x3110b7[_0xfbbe('0x45')]+_0x3110b7[_0xfbbe('0x46')]+_0x3110b7[_0xfbbe('0x47')];};exports[_0xfbbe('0x48')]=function(_0x131d23){var _0xc7fd6b=_[_0xfbbe('0x49')](_0x131d23);_0xc7fd6b[_0xfbbe('0x37')]=0xf;_0xc7fd6b[_0xfbbe('0x31')]=_0xfbbe('0x4a');return _0xc7fd6b;};exports[_0xfbbe('0x4b')]=function(_0x409ae3,_0x19b382,_0x386e0a){var _0x504fdc={};_0x504fdc[_0x19b382]=_0x409ae3[_0x19b382];_0x504fdc[_0xfbbe('0x4c')]=![];_0x504fdc[_0xfbbe('0x4d')]=moment()[_0xfbbe('0x4e')](_0x386e0a,_0xfbbe('0x4f'))[_0xfbbe('0x10')](_0xfbbe('0x30'));_0x504fdc[_0xfbbe('0x50')]=_0x409ae3['ContactId'];_0x504fdc['ListId']=_0x409ae3[_0xfbbe('0x51')];_0x504fdc[_0xfbbe('0x19')]=_0x409ae3[_0xfbbe('0x19')]||undefined;return _0x504fdc;};exports[_0xfbbe('0x52')]=function(_0x1068e1,_0xcc570f){if(!_['isNil'](_0x1068e1)){if(_0x1068e1[_0xfbbe('0x53')]>0x0){_0x1068e1[_0xfbbe('0x53')]-=0x1;}else{logger[_0xfbbe('0x7')](_0xcc570f,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger['error'](_0xcc570f,_0xfbbe('0x54'));}};exports[_0xfbbe('0x55')]=function(_0x1dbfca){if(_0x1dbfca<=0x0){return!![];}return![];};exports[_0xfbbe('0x56')]=function(_0x2e94f1,_0x9024e3){_0x2e94f1['lastevent']=_0x9024e3;_0x2e94f1['name']=_0x2e94f1[_0xfbbe('0x57')];_0x2e94f1[_0xfbbe('0x58')]=_0x2e94f1[_0xfbbe('0x41')];return _0x2e94f1;};exports[_0xfbbe('0x59')]=function(_0x59700f){var _0x2fd281={};_0x2fd281['queue']=_0x59700f[_0xfbbe('0x57')];_0x2fd281[_0xfbbe('0x58')]=_0x59700f[_0xfbbe('0x41')];_0x2fd281['uniqueid']=_0x59700f[_0xfbbe('0x43')];return _0x2fd281;};exports[_0xfbbe('0x5a')]=function(_0x38f954){var _0x5c3c0f=[];for(var _0x583191 in _0x38f954){if(_0x38f954[_0xfbbe('0x2c')](_0x583191)){if(!_[_0xfbbe('0x13')](_0x38f954[_0x583191])&&_0x38f954[_0x583191]['state']===_0xfbbe('0x5b')&&_0x38f954[_0x583191][_0xfbbe('0x5c')]===_0xfbbe('0x5d')){_0x5c3c0f[_0xfbbe('0x5e')](_0x38f954[_0x583191]['id']);}}}return _0x5c3c0f;};exports[_0xfbbe('0x5f')]=function(_0x52eccd){var _0x589c6c=moment()[_0xfbbe('0x4')](0x0);var _0xc523f8=moment(_0x52eccd)[_0xfbbe('0x4')](0x0);return _0x589c6c[_0xfbbe('0x60')](_0xc523f8,_0xfbbe('0x5'));};exports['createBody']=function(_0x9dd5da){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x9dd5da[_0xfbbe('0x50')],'ListId':_0x9dd5da[_0xfbbe('0x51')],'VoiceQueueId':_0x9dd5da['VoiceQueueId']||undefined,'CampaignId':_0x9dd5da[_0xfbbe('0x61')]||undefined};};exports[_0xfbbe('0x62')]=function(_0x401d23){if(_0x401d23===_0xfbbe('0x43')||_0x401d23==='idContact'||_0x401d23===_0xfbbe('0x57')||_0x401d23===_0xfbbe('0x63')||_0x401d23==='campaigntype'||_0x401d23===_0xfbbe('0x64')||_0x401d23===_0xfbbe('0x3a')||_0x401d23==='channelAgent'||_0x401d23===_0xfbbe('0x17')||_0x401d23===_0xfbbe('0x4c')||_0x401d23==='calleridnum'||_0x401d23==='scheduledat'||_0x401d23===_0xfbbe('0x45')||_0x401d23==='countcongestionretry'||_0x401d23===_0xfbbe('0x47')||_0x401d23===_0xfbbe('0x65')||_0x401d23===_0xfbbe('0x66')||_0x401d23==='callbackuniqueid'||_0x401d23===_0xfbbe('0x67')||_0x401d23==='recallme'||_0x401d23===_0xfbbe('0x50')||_0x401d23===_0xfbbe('0x51')||_0x401d23==='UserId'||_0x401d23===_0xfbbe('0x19')||_0x401d23==='sipcallid'||_0x401d23===_0xfbbe('0x68')||_0x401d23==='xmd-queue'||_0x401d23===_0xfbbe('0x69')||_0x401d23==='xmd-listid'||_0x401d23===_0xfbbe('0x6a')||_0x401d23===_0xfbbe('0x6b')||_0x401d23===_0xfbbe('0x6c')||_0x401d23==='xmd-dialid'||_0x401d23===_0xfbbe('0x6d')||_0x401d23==='xmd-contactid'||_0x401d23===_0xfbbe('0x6e')||_0x401d23===_0xfbbe('0x6f')||_0x401d23===_0xfbbe('0x70')||_0x401d23===_0xfbbe('0x71')||_0x401d23===_0xfbbe('0x72')||_0x401d23==='rtpaudioqosbridged'||_0x401d23==='rtpaudioqosjitter'||_0x401d23===_0xfbbe('0x73')||_0x401d23===_0xfbbe('0x74')||_0x401d23===_0xfbbe('0x75')||_0x401d23===_0xfbbe('0x76')||_0x401d23===_0xfbbe('0x77')||_0x401d23===_0xfbbe('0x72')||_0x401d23==='rtpaudioqosbridged'||_0x401d23==='rtpaudioqosjitter'||_0x401d23==='rtpaudioqosjitterbridged'||_0x401d23===_0xfbbe('0x74')||_0x401d23==='rtpaudioqoslossbridged'||_0x401d23===_0xfbbe('0x76')||_0x401d23===_0xfbbe('0x77')||_0x401d23===_0xfbbe('0x78')||_0x401d23===_0xfbbe('0x79')||_0x401d23==='state'||_0x401d23===_0xfbbe('0x31')){return![];}return!![];};exports[_0xfbbe('0x7a')]=function(_0x3f0d4f,_0x57a2da){var _0x480945,_0x3b70c8,_0x3db979;if(_0x57a2da<=0x0){_0x57a2da=0x1;}_0x480945=new RegExp(_0xfbbe('0x7b')+_0x57a2da+'}$');_0x3b70c8=Math[_0xfbbe('0x7c')](0xa,_0x57a2da-0x1);_0x3db979=Math[_0xfbbe('0x7c')](0xa,_0x57a2da)-0x1;return util[_0xfbbe('0x10')]('%s',_[_0xfbbe('0x7d')](_0x3f0d4f,_0x480945,_[_0xfbbe('0x7e')](_0x3b70c8,_0x3db979)));};exports[_0xfbbe('0x7f')]=function(_0x2a173e){var _0x377723=_0x2a173e['match'](/"(.*?)"/);return _0x377723?_0x377723[0x1]:_0x2a173e;};exports['extractCalleridNumber']=function(_0xdeda0){var _0x540cf3=_0xdeda0[_0xfbbe('0x80')](/<(.*?)>/);return _0x540cf3?_0x540cf3[0x1]:_0xdeda0;};