14fc9bb1c8f641253488196be14b471226630bec
[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 _0x676c=['logger2','message','getCallerId','string','isEmpty','\x22%s\x22\x20<%s>','format','isUndefined','isActive','addVariables','calleridname','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_FORMAT','Contact','hasOwnProperty','tags','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','isNil','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','logAgent','responsetime','ringtime','starttime','logLookAgent','UserId','logCustomer','endtime','talktime','answertime','isFailure','Failure','BOOKED','uniqueid','channelAgent','calleridnum','from-sip','totalGlobal','countbusyretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active','scheduledat','minutes','ContactId','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','IsNotLoggedIn','buildObj','lastevent','queue','buildAcw','interface','not_inuse','status','reachable','push','getDiff','createBody','CampaignId','filterKey','idContact','campaigntype','dialAnswer','membername','countglobal','callback','callbackuniqueid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','extractCalleridName','match','util','lodash','moment','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','inspect','logger','info','loggerError','error'];(function(_0x160c73,_0x2ee678){var _0xd9302=function(_0x169454){while(--_0x169454){_0x160c73['push'](_0x160c73['shift']());}};_0xd9302(++_0x2ee678);}(_0x676c,0x198));var _0xc676=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x676c[_0x3dd15e];return _0x231fd0;};'use strict';var util=require(_0xc676('0x0'));var _=require(_0xc676('0x1'));var moment=require(_0xc676('0x2'));var logger=require('../../../../config/logger')(_0xc676('0x3'));var ipAgi=process[_0xc676('0x4')][_0xc676('0x5')]||_0xc676('0x6');function getSeconds(_0x22b173,_0x2802bf){var _0x4e82ea=moment(_0x22b173)[_0xc676('0x7')](0x0);var _0x228e07=moment(_0x2802bf)[_0xc676('0x7')](0x0);return _0x4e82ea[_0xc676('0x8')](_0x228e07,_0xc676('0x9'));}exports['loggerCatch']=function(_0x26ad9c){return function(_0x5e8ad4){logger['error'](_0x26ad9c,util[_0xc676('0xa')](_0x5e8ad4,{'showHidden':![],'depth':null}));};};exports[_0xc676('0xb')]=function(_0x4aa733,_0x5085b6){logger[_0xc676('0xc')](_0x4aa733,util[_0xc676('0xa')](_0x5085b6,{'showHidden':![],'depth':null}));};exports[_0xc676('0xd')]=function(_0x4e72ff,_0x5c9329){logger[_0xc676('0xe')](_0x4e72ff,util[_0xc676('0xa')](_0x5c9329,{'showHidden':![],'depth':null}));};exports[_0xc676('0xf')]=function(_0x1e06ec){return function(_0x5e8565){logger[_0xc676('0xc')](_0x1e06ec,util[_0xc676('0xa')](_0x5e8565,{'showHidden':![],'depth':null}));};};exports[_0xc676('0x10')]=function(_0x23184f,_0x47adff,_0xcee1c5){return{'message':_0x23184f,'unlock':_0x47adff,'active':_0xcee1c5};};exports[_0xc676('0x11')]=function(_0x4f8832,_0x274463,_0x4fbfb7){if(!_['isUndefined'](_0x4fbfb7)&&_0xc676('0x12')===typeof _0x4fbfb7&&!_['isEmpty'](_0x4fbfb7)){if(!_['isUndefined'](_0x274463)&&'string'===typeof _0x274463&&!_[_0xc676('0x13')](_0x274463)){return util['format'](_0xc676('0x14'),_0x274463,_0x4fbfb7);}return util[_0xc676('0x15')](_0xc676('0x14'),_0x4fbfb7,_0x4fbfb7);}if(!_[_0xc676('0x16')](_0x4f8832)&&_0xc676('0x12')===typeof _0x4f8832&&!_[_0xc676('0x13')](_0x4f8832)){return _0x4f8832;}return'\x22\x22\x20<>';};exports[_0xc676('0x17')]=function(_0x289ed9){if(_['isNil'](_0x289ed9)){return![];}return _0x289ed9;};exports[_0xc676('0x18')]=function(_0xfc64cb,_0x1bd9d9,_0x27afd,_0x26a00b,_0x87b27d,_0x474ad2){var _0xc533a9={'XMD-QUEUE':_0x1bd9d9['Queue']?_0x1bd9d9['Queue']['name']:'','XMD-CALLERID':_0x26a00b,'XMD-CALLERID-PREVIEW':_0x474ad2?util[_0xc676('0x15')]('\x22%s\x22\x20<%s>',_0x474ad2[_0xc676('0x19')],_0x474ad2['calleridnum']):_0x26a00b,'XMD-DIALID':_0x87b27d,'XMD-CONTACTID':_0x1bd9d9['ContactId'],'XMD-CDRTYPE':_0xc676('0x1a'),'CALLERID(all)':_0x26a00b,'XMD-VOICEQUEUEID':_0x1bd9d9['VoiceQueueId'],'XMD-DIALCHANNEL':_0x27afd,'XMD-DIALTIMEOUT':_0xfc64cb[_0xc676('0x1b')]||0x1e,'XMD-DIALOPTIONS':util[_0xc676('0x15')](_0xc676('0x1c'),_0xfc64cb[_0xc676('0x1d')]?'g':'',_[_0xc676('0x13')](_0xfc64cb['monitor_format'])?'':_0xc676('0x1e')),'XMD-DIALURL':_0xfc64cb[_0xc676('0x1f')]||'','XMD-AGI':_0xfc64cb[_0xc676('0x20')]?util['format'](_0xc676('0x21'),ipAgi,_0xfc64cb['dialQueueProject']):_0xc676('0x22'),'XMD-AGIAFTER':_0xfc64cb[_0xc676('0x1d')]?util['format'](_0xc676('0x21'),ipAgi,_0xfc64cb[_0xc676('0x1d')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x474ad2?_0x474ad2[_0xc676('0x23')]:'','XMD-ORIGINATECALLERIDNAME':_0x474ad2?_0x474ad2[_0xc676('0x24')]:'','XMD-DESTINATION':_0xc676('0x25')};if(!_['isEmpty'](_0xfc64cb[_0xc676('0x26')])){_0xc533a9[util[_0xc676('0x15')]('%s',_0xc676('0x27'))]=_0xfc64cb[_0xc676('0x26')];_0xc533a9[util[_0xc676('0x15')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x87b27d;}if(_0x1bd9d9&&_0x1bd9d9[_0xc676('0x28')]){for(var _0x19338b in _0x1bd9d9[_0xc676('0x28')]){if(_0x1bd9d9[_0xc676('0x28')][_0xc676('0x29')](_0x19338b)){if(!_['isNil'](_0x1bd9d9[_0xc676('0x28')][_0x19338b])&&_0x19338b!=='id'&&_0x19338b!==_0xc676('0x2a')&&_0x19338b!==_0xc676('0x2b')&&_0x19338b!==_0xc676('0x2c')){_0xc533a9[util['format'](_0xc676('0x2d'),_0xc676('0x2e'),_[_0xc676('0x2f')](_0x19338b))]=_0x1bd9d9[_0xc676('0x28')][_0x19338b];}}}}return _0xc533a9;};exports[_0xc676('0x30')]=function(_0x3a38e0){var _0x1662c5={};for(var _0x30b018 in _0x3a38e0){if(_0x3a38e0[_0xc676('0x29')](_0x30b018)){_0x1662c5[util['format']('%s',_['toLower'](_0x30b018))]=_0x3a38e0[_0x30b018];}}return{'variables':_0x1662c5};};exports['updateOriginated']=function(_0x1c4120,_0x3cd065){if(!_[_0xc676('0x31')](_0x1c4120)){if(_0x1c4120[_0xc676('0x29')]('originated')){if(_0x1c4120[_0xc676('0x32')]>0x0){_0x1c4120[_0xc676('0x32')]-=0x1;}else{logger[_0xc676('0xe')](_0xc676('0x33'),_0x3cd065);}}}else{logger[_0xc676('0xe')](_0xc676('0x34'),_0x3cd065);}};exports['logBlacklist']=function(_0x51d533){var _0x41a3d8=moment()['format'](_0xc676('0x35'));_0x51d533[_0xc676('0x36')]=0xd;_0x51d533[_0xc676('0x37')]=_0xc676('0x38');_0x51d533['starttime']=_0x41a3d8;_0x51d533['responsetime']=_0x41a3d8;_0x51d533['endtime']=_0x41a3d8;};exports[_0xc676('0x39')]=function(_0x25e35f,_0xde0c55,_0x2704b1){var _0x2d40bc=moment()[_0xc676('0x15')](_0xc676('0x35'));_0x25e35f[_0xc676('0x36')]=_0xde0c55;_0x25e35f[_0xc676('0x37')]=_0x2704b1;_0x25e35f[_0xc676('0x3a')]=_0x2d40bc;_0x25e35f[_0xc676('0x3b')]=getSeconds(_0x25e35f[_0xc676('0x3a')],_0x25e35f[_0xc676('0x3c')]);};exports[_0xc676('0x3d')]=function(_0x455c7a,_0x2cba1a,_0x2b23a5){_0x455c7a['membername']=_0x2cba1a;_0x455c7a[_0xc676('0x3e')]=_0x2b23a5;};exports[_0xc676('0x3f')]=function(_0x2020d7,_0x584058,_0x2ce4a2){var _0x1373b6=moment()[_0xc676('0x15')](_0xc676('0x35'));_0x2020d7[_0xc676('0x36')]=_0x584058;_0x2020d7[_0xc676('0x37')]=_0x2ce4a2;_0x2020d7[_0xc676('0x3a')]=_0x2020d7['responsetime']?_0x2020d7[_0xc676('0x3a')]:_0x1373b6;_0x2020d7['endtime']=_0x2020d7[_0xc676('0x40')]?_0x2020d7[_0xc676('0x40')]:_0x1373b6;_0x2020d7['ringtime']=getSeconds(_0x2020d7[_0xc676('0x3a')]||0x0,_0x2020d7[_0xc676('0x3c')]||0x0);_0x2020d7[_0xc676('0x41')]=_0x2020d7[_0xc676('0x42')]?getSeconds(_0x2020d7[_0xc676('0x40')],_0x2020d7['answertime']):0x0;};exports[_0xc676('0x43')]=function(_0x2a5be2){return _0x2a5be2===_0xc676('0x44');};exports['variablesAction']=function(_0x78dbea,_0x3c3b91,_0xf3fbd1,_0x40cbeb,_0x488087){var _0x138f11=_0x40cbeb?'RECALL':_0x78dbea[_0xc676('0x19')];_0x138f11=_0x488087?_0xc676('0x45'):_0x138f11;return{'actionid':_0x78dbea[_0xc676('0x46')],'action':'originate','channel':_0x78dbea[_0xc676('0x47')],'callerid':util['format']('\x22%s\x22\x20<%s>',_0x138f11,_0x78dbea[_0xc676('0x48')]),'Exten':'xcally-motion-preview','Context':_0xc676('0x49'),'Priority':'1','variable':_0xf3fbd1,'timeout':(_0x3c3b91['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x78dbea['uniqueid']};};exports[_0xc676('0x4a')]=function(_0x55bbdf){return _0x55bbdf[_0xc676('0x4b')]+_0x55bbdf['countcongestionretry']+_0x55bbdf[_0xc676('0x4c')]+_0x55bbdf[_0xc676('0x4d')]+_0x55bbdf[_0xc676('0x4e')];};exports[_0xc676('0x4f')]=function(_0x4d8d1d){var _0x4e3329=_[_0xc676('0x50')](_0x4d8d1d);_0x4e3329[_0xc676('0x36')]=0xf;_0x4e3329['statedesc']=_0xc676('0x51');return _0x4e3329;};exports[_0xc676('0x52')]=function(_0x59be1a,_0x38d1bc,_0x28d937){var _0xa9b988={};_0xa9b988[_0x38d1bc]=_0x59be1a[_0x38d1bc];_0xa9b988[_0xc676('0x53')]=![];_0xa9b988[_0xc676('0x54')]=moment()['add'](_0x28d937,_0xc676('0x55'))[_0xc676('0x15')]('YYYY-MM-DD\x20HH:mm:ss');_0xa9b988[_0xc676('0x56')]=_0x59be1a[_0xc676('0x56')];_0xa9b988[_0xc676('0x57')]=_0x59be1a[_0xc676('0x57')];_0xa9b988['VoiceQueueId']=_0x59be1a[_0xc676('0x58')]||undefined;return _0xa9b988;};exports[_0xc676('0x59')]=function(_0x3e0e1d,_0x42ea7a){if(!_['isNil'](_0x3e0e1d)){if(_0x3e0e1d[_0xc676('0x5a')]>0x0){_0x3e0e1d[_0xc676('0x5a')]-=0x1;}else{logger[_0xc676('0xe')](_0x42ea7a,_0xc676('0x5b'));}}else{logger[_0xc676('0xe')](_0x42ea7a,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports[_0xc676('0x5c')]=function(_0x25c3f8){if(_0x25c3f8<=0x0){return!![];}return![];};exports[_0xc676('0x5d')]=function(_0x4b8ede,_0x447311){_0x4b8ede[_0xc676('0x5e')]=_0x447311;_0x4b8ede['name']=_0x4b8ede[_0xc676('0x5f')];_0x4b8ede['interface']=_0x4b8ede[_0xc676('0x47')];return _0x4b8ede;};exports[_0xc676('0x60')]=function(_0x3ac42f){var _0x2c2b1a={};_0x2c2b1a[_0xc676('0x5f')]=_0x3ac42f[_0xc676('0x5f')];_0x2c2b1a[_0xc676('0x61')]=_0x3ac42f[_0xc676('0x47')];_0x2c2b1a[_0xc676('0x46')]=_0x3ac42f['uniqueid'];return _0x2c2b1a;};exports['agentReadyId']=function(_0x365dd3){var _0x1b4a16=[];for(var _0x7e6447 in _0x365dd3){if(_0x365dd3['hasOwnProperty'](_0x7e6447)){if(!_[_0xc676('0x31')](_0x365dd3[_0x7e6447])&&_0x365dd3[_0x7e6447]['state']===_0xc676('0x62')&&_0x365dd3[_0x7e6447][_0xc676('0x63')]===_0xc676('0x64')){_0x1b4a16[_0xc676('0x65')](_0x365dd3[_0x7e6447]['id']);}}}return _0x1b4a16;};exports[_0xc676('0x66')]=function(_0x2f3c5d){var _0xd9eead=moment()[_0xc676('0x7')](0x0);var _0x2a1025=moment(_0x2f3c5d)[_0xc676('0x7')](0x0);return _0xd9eead[_0xc676('0x8')](_0x2a1025,_0xc676('0x9'));};exports[_0xc676('0x67')]=function(_0x4fadac){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x4fadac['ContactId'],'ListId':_0x4fadac['ListId'],'VoiceQueueId':_0x4fadac[_0xc676('0x58')]||undefined,'CampaignId':_0x4fadac[_0xc676('0x68')]||undefined};};exports[_0xc676('0x69')]=function(_0x3f4f17){if(_0x3f4f17===_0xc676('0x46')||_0x3f4f17===_0xc676('0x6a')||_0x3f4f17==='queue'||_0x3f4f17==='type'||_0x3f4f17===_0xc676('0x6b')||_0x3f4f17===_0xc676('0x6c')||_0x3f4f17===_0xc676('0x6d')||_0x3f4f17===_0xc676('0x47')||_0x3f4f17===_0xc676('0x19')||_0x3f4f17===_0xc676('0x53')||_0x3f4f17===_0xc676('0x48')||_0x3f4f17===_0xc676('0x54')||_0x3f4f17===_0xc676('0x4b')||_0x3f4f17==='countcongestionretry'||_0x3f4f17===_0xc676('0x4c')||_0x3f4f17===_0xc676('0x6e')||_0x3f4f17===_0xc676('0x6f')||_0x3f4f17===_0xc676('0x70')||_0x3f4f17==='callbackat'||_0x3f4f17==='recallme'||_0x3f4f17===_0xc676('0x56')||_0x3f4f17===_0xc676('0x57')||_0x3f4f17===_0xc676('0x3e')||_0x3f4f17===_0xc676('0x58')||_0x3f4f17==='sipcallid'||_0x3f4f17===_0xc676('0x71')||_0x3f4f17===_0xc676('0x72')||_0x3f4f17===_0xc676('0x73')||_0x3f4f17===_0xc676('0x74')||_0x3f4f17===_0xc676('0x75')||_0x3f4f17===_0xc676('0x76')||_0x3f4f17===_0xc676('0x77')||_0x3f4f17===_0xc676('0x78')||_0x3f4f17==='xmd-dialchannel'||_0x3f4f17===_0xc676('0x79')||_0x3f4f17===_0xc676('0x7a')||_0x3f4f17===_0xc676('0x7b')||_0x3f4f17===_0xc676('0x7c')||_0x3f4f17===_0xc676('0x7d')||_0x3f4f17===_0xc676('0x7e')||_0x3f4f17===_0xc676('0x7f')||_0x3f4f17===_0xc676('0x80')||_0x3f4f17===_0xc676('0x81')||_0x3f4f17===_0xc676('0x82')||_0x3f4f17===_0xc676('0x83')||_0x3f4f17===_0xc676('0x84')||_0x3f4f17===_0xc676('0x85')||_0x3f4f17==='rtpaudioqos'||_0x3f4f17==='rtpaudioqosbridged'||_0x3f4f17===_0xc676('0x80')||_0x3f4f17==='rtpaudioqosjitterbridged'||_0x3f4f17===_0xc676('0x82')||_0x3f4f17===_0xc676('0x83')||_0x3f4f17===_0xc676('0x84')||_0x3f4f17===_0xc676('0x85')||_0x3f4f17===_0xc676('0x86')||_0x3f4f17===_0xc676('0x87')||_0x3f4f17===_0xc676('0x36')||_0x3f4f17===_0xc676('0x37')){return![];}return!![];};exports[_0xc676('0x88')]=function(_0x409a18,_0x18219d){var _0x4ab37a,_0x1c6699,_0x4c3d34;if(_0x18219d<=0x0){_0x18219d=0x1;}_0x4ab37a=new RegExp(_0xc676('0x89')+_0x18219d+'}$');_0x1c6699=Math[_0xc676('0x8a')](0xa,_0x18219d-0x1);_0x4c3d34=Math['pow'](0xa,_0x18219d)-0x1;return util[_0xc676('0x15')]('%s',_['replace'](_0x409a18,_0x4ab37a,_['random'](_0x1c6699,_0x4c3d34)));};exports[_0xc676('0x8b')]=function(_0x38f9ac){var _0x387c57=_0x38f9ac[_0xc676('0x8c')](/"(.*?)"/);return _0x387c57?_0x387c57[0x1]:_0x38f9ac;};exports['extractCalleridNumber']=function(_0x21b860){var _0x51fdec=_0x21b860[_0xc676('0x8c')](/<(.*?)>/);return _0x51fdec?_0x51fdec[0x1]:_0x21b860;};