Built motion from commit f7863d46.|2.5.41
[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 _0x275c=['status','reachable','push','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','membername','countglobal','callback','callbackuniqueid','recallme','VoiceQueueId','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialid','xmd-contactid','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqosrtt','bridgepvtcallid','\x5cw{0,','pow','replace','random','extractCalleridName','match','lodash','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','loggerCatch','error','inspect','logger','info','loggerError','logger2','isUndefined','isEmpty','format','\x22%s\x22\x20<%s>','string','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','ContactId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','createdAt','updatedAt','%s%s','toUpper','toLowerVariables','toLower','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','state','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','YYYY-MM-DD\x20HH:mm:ss','logLookAgent','UserId','logCustomer','ringtime','talktime','answertime','isFailure','variablesAction','RECALL','calleridname','uniqueid','originate','channelAgent','calleridnum','timeout','totalGlobal','countcongestionretry','countnoanswerretry','Global','scheduledAt','active','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','interface','motionChannel','mandatoryDisposition','agentReadyId','not_inuse'];(function(_0x3fbc41,_0x3bb81a){var _0x592c38=function(_0x3fcc2d){while(--_0x3fcc2d){_0x3fbc41['push'](_0x3fbc41['shift']());}};_0x592c38(++_0x3bb81a);}(_0x275c,0x13d));var _0xc275=function(_0x573186,_0x4f9550){_0x573186=_0x573186-0x0;var _0x3cfde5=_0x275c[_0x573186];return _0x3cfde5;};'use strict';var util=require('util');var _=require(_0xc275('0x0'));var moment=require(_0xc275('0x1'));var logger=require(_0xc275('0x2'))(_0xc275('0x3'));var ipAgi=process[_0xc275('0x4')][_0xc275('0x5')]||_0xc275('0x6');function getSeconds(_0x1af160,_0x8375e1){var _0x53343e=moment(_0x1af160)[_0xc275('0x7')](0x0);var _0x3dbc18=moment(_0x8375e1)[_0xc275('0x7')](0x0);return _0x53343e[_0xc275('0x8')](_0x3dbc18,'seconds');}exports[_0xc275('0x9')]=function(_0x1c7225){return function(_0x46aaa3){logger[_0xc275('0xa')](_0x1c7225,util[_0xc275('0xb')](_0x46aaa3,{'showHidden':![],'depth':null}));};};exports[_0xc275('0xc')]=function(_0x2672bb,_0xafdd8a){logger[_0xc275('0xd')](_0x2672bb,util[_0xc275('0xb')](_0xafdd8a,{'showHidden':![],'depth':null}));};exports[_0xc275('0xe')]=function(_0x3299e9,_0x4e4c64){logger[_0xc275('0xa')](_0x3299e9,util[_0xc275('0xb')](_0x4e4c64,{'showHidden':![],'depth':null}));};exports[_0xc275('0xf')]=function(_0x483385){return function(_0x120b9d){logger[_0xc275('0xd')](_0x483385,util[_0xc275('0xb')](_0x120b9d,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x535029,_0x323dda,_0x4cb68a){return{'message':_0x535029,'unlock':_0x323dda,'active':_0x4cb68a};};exports['getCallerId']=function(_0x3122f8,_0x36e098,_0x263ed9){if(!_[_0xc275('0x10')](_0x263ed9)&&'string'===typeof _0x263ed9&&!_[_0xc275('0x11')](_0x263ed9)){if(!_[_0xc275('0x10')](_0x36e098)&&'string'===typeof _0x36e098&&!_[_0xc275('0x11')](_0x36e098)){return util[_0xc275('0x12')](_0xc275('0x13'),_0x36e098,_0x263ed9);}return util[_0xc275('0x12')]('\x22%s\x22\x20<%s>',_0x263ed9,_0x263ed9);}if(!_[_0xc275('0x10')](_0x3122f8)&&_0xc275('0x14')===typeof _0x3122f8&&!_['isEmpty'](_0x3122f8)){return _0x3122f8;}return _0xc275('0x15');};exports[_0xc275('0x16')]=function(_0x1d0b8a){if(_[_0xc275('0x17')](_0x1d0b8a)){return![];}return _0x1d0b8a;};exports[_0xc275('0x18')]=function(_0x18b0a1,_0x33b05a,_0x4e8239,_0x55a57a,_0x7525f5,_0x507429){var _0x5b2c0b={'XMD-QUEUE':_0x33b05a[_0xc275('0x19')]?_0x33b05a[_0xc275('0x19')][_0xc275('0x1a')]:'','XMD-CALLERID':_0x55a57a,'XMD-CALLERID-PREVIEW':_0x507429?util['format'](_0xc275('0x13'),_0x507429['calleridname'],_0x507429['calleridnum']):_0x55a57a,'XMD-DIALID':_0x7525f5,'XMD-CONTACTID':_0x33b05a[_0xc275('0x1b')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x55a57a,'XMD-VOICEQUEUEID':_0x33b05a['VoiceQueueId'],'XMD-DIALCHANNEL':_0x4e8239,'XMD-DIALTIMEOUT':_0x18b0a1[_0xc275('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0xc275('0x12')](_0xc275('0x1d'),_0x18b0a1[_0xc275('0x1e')]?'g':'',_[_0xc275('0x11')](_0x18b0a1[_0xc275('0x1f')])?'':_0xc275('0x20')),'XMD-DIALURL':_0x18b0a1[_0xc275('0x21')]||'','XMD-AGI':_0x18b0a1['dialQueueProject']?util[_0xc275('0x12')](_0xc275('0x22'),ipAgi,_0x18b0a1['dialQueueProject']):_0xc275('0x23'),'XMD-AGIAFTER':_0x18b0a1[_0xc275('0x1e')]?util[_0xc275('0x12')](_0xc275('0x22'),ipAgi,_0x18b0a1[_0xc275('0x1e')]):_0xc275('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x507429?_0x507429[_0xc275('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x507429?_0x507429[_0xc275('0x25')]:'','XMD-DESTINATION':_0xc275('0x26'),'SIPADDHEADER':_0xc275('0x27')};if(!_[_0xc275('0x11')](_0x18b0a1[_0xc275('0x1f')])){_0x5b2c0b[util['format']('%s',_0xc275('0x28'))]=_0x18b0a1[_0xc275('0x1f')];_0x5b2c0b[util['format']('%s',_0xc275('0x29'))]=_0x7525f5;}if(_0x33b05a&&_0x33b05a['Contact']){for(var _0x17f307 in _0x33b05a[_0xc275('0x2a')]){if(_0x33b05a['Contact'][_0xc275('0x2b')](_0x17f307)){if(!_[_0xc275('0x17')](_0x33b05a[_0xc275('0x2a')][_0x17f307])&&_0x17f307!=='id'&&_0x17f307!=='tags'&&_0x17f307!==_0xc275('0x2c')&&_0x17f307!==_0xc275('0x2d')){_0x5b2c0b[util[_0xc275('0x12')](_0xc275('0x2e'),'XMD-',_[_0xc275('0x2f')](_0x17f307))]=_0x33b05a[_0xc275('0x2a')][_0x17f307];}}}}return _0x5b2c0b;};exports[_0xc275('0x30')]=function(_0x5a6fff){var _0x1da088={};for(var _0x4b589e in _0x5a6fff){if(_0x5a6fff[_0xc275('0x2b')](_0x4b589e)){_0x1da088[util[_0xc275('0x12')]('%s',_[_0xc275('0x31')](_0x4b589e))]=_0x5a6fff[_0x4b589e];}}return{'variables':_0x1da088};};exports['updateOriginated']=function(_0x57c49b,_0x3ec846){if(!_['isNil'](_0x57c49b)){if(_0x57c49b[_0xc275('0x2b')](_0xc275('0x32'))){if(_0x57c49b[_0xc275('0x32')]>0x0){_0x57c49b[_0xc275('0x32')]-=0x1;}else{logger[_0xc275('0xa')](_0xc275('0x33'),_0x3ec846);}}}else{logger[_0xc275('0xa')](_0xc275('0x34'),_0x3ec846);}};exports[_0xc275('0x35')]=function(_0x161795){var _0x18873a=moment()[_0xc275('0x12')]('YYYY-MM-DD\x20HH:mm:ss');_0x161795[_0xc275('0x36')]=0xd;_0x161795[_0xc275('0x37')]=_0xc275('0x38');_0x161795[_0xc275('0x39')]=_0x18873a;_0x161795[_0xc275('0x3a')]=_0x18873a;_0x161795[_0xc275('0x3b')]=_0x18873a;};exports[_0xc275('0x3c')]=function(_0x9dc28b,_0x13a5bb,_0x419bfe){var _0x4e88c6=moment()[_0xc275('0x12')](_0xc275('0x3d'));_0x9dc28b[_0xc275('0x36')]=_0x13a5bb;_0x9dc28b['statedesc']=_0x419bfe;_0x9dc28b[_0xc275('0x3a')]=_0x4e88c6;_0x9dc28b['ringtime']=getSeconds(_0x9dc28b['responsetime'],_0x9dc28b[_0xc275('0x39')]);};exports[_0xc275('0x3e')]=function(_0x4f89c3,_0x5b893c,_0x162ef8){_0x4f89c3['membername']=_0x5b893c;_0x4f89c3[_0xc275('0x3f')]=_0x162ef8;};exports[_0xc275('0x40')]=function(_0x5d6613,_0x273ebe,_0x28eb3c){var _0x228089=moment()[_0xc275('0x12')]('YYYY-MM-DD\x20HH:mm:ss');_0x5d6613['state']=_0x273ebe;_0x5d6613['statedesc']=_0x28eb3c;_0x5d6613[_0xc275('0x3a')]=_0x5d6613[_0xc275('0x3a')]?_0x5d6613[_0xc275('0x3a')]:_0x228089;_0x5d6613[_0xc275('0x3b')]=_0x5d6613[_0xc275('0x3b')]?_0x5d6613['endtime']:_0x228089;_0x5d6613[_0xc275('0x41')]=getSeconds(_0x5d6613[_0xc275('0x3a')]||0x0,_0x5d6613[_0xc275('0x39')]||0x0);_0x5d6613[_0xc275('0x42')]=_0x5d6613[_0xc275('0x43')]?getSeconds(_0x5d6613[_0xc275('0x3b')],_0x5d6613[_0xc275('0x43')]):0x0;};exports[_0xc275('0x44')]=function(_0x260bd5){return _0x260bd5==='Failure';};exports[_0xc275('0x45')]=function(_0x560b6f,_0x16597a,_0xe33aba,_0x9aff06,_0x2233af){var _0x1b4bcc=_0x9aff06?_0xc275('0x46'):_0x560b6f[_0xc275('0x47')];_0x1b4bcc=_0x2233af?'BOOKED':_0x1b4bcc;return{'actionid':_0x560b6f[_0xc275('0x48')],'action':_0xc275('0x49'),'channel':_0x560b6f[_0xc275('0x4a')],'callerid':util['format'](_0xc275('0x13'),_0x1b4bcc,_0x560b6f[_0xc275('0x4b')]),'Exten':_0xc275('0x26'),'Context':'from-sip','Priority':'1','variable':_0xe33aba,'timeout':(_0x16597a[_0xc275('0x4c')]||0x1e)*0x3e8,'async':!![],'channelid':_0x560b6f[_0xc275('0x48')]};};exports[_0xc275('0x4d')]=function(_0x606e8d){return _0x606e8d['countbusyretry']+_0x606e8d[_0xc275('0x4e')]+_0x606e8d[_0xc275('0x4f')]+_0x606e8d['countagentrejectretry']+_0x606e8d['countnosuchnumberretry'];};exports['cloneAction']=function(_0x524ba9){var _0x140e15=_['clone'](_0x524ba9);_0x140e15[_0xc275('0x36')]=0xf;_0x140e15[_0xc275('0x37')]=_0xc275('0x50');return _0x140e15;};exports[_0xc275('0x51')]=function(_0x5dcaa4,_0x27f240,_0x4bd5bf){var _0x382a3e={};_0x382a3e[_0x27f240]=_0x5dcaa4[_0x27f240];_0x382a3e[_0xc275('0x52')]=![];_0x382a3e['scheduledat']=moment()[_0xc275('0x53')](_0x4bd5bf,_0xc275('0x54'))[_0xc275('0x12')](_0xc275('0x3d'));_0x382a3e[_0xc275('0x1b')]=_0x5dcaa4[_0xc275('0x1b')];_0x382a3e['ListId']=_0x5dcaa4[_0xc275('0x55')];_0x382a3e['VoiceQueueId']=_0x5dcaa4['VoiceQueueId']||undefined;return _0x382a3e;};exports[_0xc275('0x56')]=function(_0x364672,_0x586a09){if(!_[_0xc275('0x17')](_0x364672)){if(_0x364672[_0xc275('0x57')]>0x0){_0x364672[_0xc275('0x57')]-=0x1;}else{logger['error'](_0x586a09,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0xc275('0xa')](_0x586a09,_0xc275('0x58'));}};exports[_0xc275('0x59')]=function(_0x2cbb57){if(_0x2cbb57<=0x0){return!![];}return![];};exports[_0xc275('0x5a')]=function(_0x2c4e33,_0x4f84ce,_0x16f7ed){_0x2c4e33[_0xc275('0x5b')]=_0x4f84ce;_0x2c4e33['name']=_0x2c4e33['queue'];_0x2c4e33[_0xc275('0x5c')]=_0x2c4e33['channelAgent'];_0x2c4e33[_0xc275('0x5d')]='voice';if(_0x16f7ed){_0x2c4e33[_0xc275('0x5e')]=_0x16f7ed[_0xc275('0x5e')];}return _0x2c4e33;};exports['buildAcw']=function(_0x41ccde){var _0x15fec8={};_0x15fec8['queue']=_0x41ccde['queue'];_0x15fec8[_0xc275('0x5c')]=_0x41ccde[_0xc275('0x4a')];_0x15fec8[_0xc275('0x48')]=_0x41ccde[_0xc275('0x48')];return _0x15fec8;};exports[_0xc275('0x5f')]=function(_0x24da9c){var _0x19d37e=[];for(var _0x21a433 in _0x24da9c){if(_0x24da9c[_0xc275('0x2b')](_0x21a433)){if(!_[_0xc275('0x17')](_0x24da9c[_0x21a433])&&_0x24da9c[_0x21a433][_0xc275('0x36')]===_0xc275('0x60')&&_0x24da9c[_0x21a433][_0xc275('0x61')]===_0xc275('0x62')){_0x19d37e[_0xc275('0x63')](_0x24da9c[_0x21a433]['id']);}}}return _0x19d37e;};exports['getDiff']=function(_0x537945){var _0x4226f1=moment()[_0xc275('0x7')](0x0);var _0x1f0653=moment(_0x537945)[_0xc275('0x7')](0x0);return _0x4226f1[_0xc275('0x8')](_0x1f0653,'seconds');};exports[_0xc275('0x64')]=function(_0x5597f7){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x5597f7['ContactId'],'ListId':_0x5597f7['ListId'],'VoiceQueueId':_0x5597f7['VoiceQueueId']||undefined,'CampaignId':_0x5597f7[_0xc275('0x65')]||undefined};};exports[_0xc275('0x66')]=function(_0x15f433){if(_0x15f433===_0xc275('0x48')||_0x15f433===_0xc275('0x67')||_0x15f433==='queue'||_0x15f433===_0xc275('0x68')||_0x15f433===_0xc275('0x69')||_0x15f433===_0xc275('0x6a')||_0x15f433===_0xc275('0x6b')||_0x15f433==='channelAgent'||_0x15f433===_0xc275('0x47')||_0x15f433==='active'||_0x15f433===_0xc275('0x4b')||_0x15f433==='scheduledat'||_0x15f433==='countbusyretry'||_0x15f433===_0xc275('0x4e')||_0x15f433===_0xc275('0x4f')||_0x15f433===_0xc275('0x6c')||_0x15f433===_0xc275('0x6d')||_0x15f433===_0xc275('0x6e')||_0x15f433==='callbackat'||_0x15f433===_0xc275('0x6f')||_0x15f433==='ContactId'||_0x15f433===_0xc275('0x55')||_0x15f433===_0xc275('0x3f')||_0x15f433===_0xc275('0x70')||_0x15f433===_0xc275('0x71')||_0x15f433===_0xc275('0x72')||_0x15f433===_0xc275('0x73')||_0x15f433===_0xc275('0x74')||_0x15f433===_0xc275('0x75')||_0x15f433===_0xc275('0x76')||_0x15f433===_0xc275('0x77')||_0x15f433==='xmd-dialoptions'||_0x15f433===_0xc275('0x78')||_0x15f433==='xmd-dialchannel'||_0x15f433===_0xc275('0x79')||_0x15f433==='xmd-cdrtype'||_0x15f433==='xmd-callerid'||_0x15f433==='xmd-agiafter'||_0x15f433===_0xc275('0x7a')||_0x15f433===_0xc275('0x7b')||_0x15f433===_0xc275('0x7c')||_0x15f433===_0xc275('0x7d')||_0x15f433===_0xc275('0x7e')||_0x15f433===_0xc275('0x7f')||_0x15f433===_0xc275('0x80')||_0x15f433==='rtpaudioqosrtt'||_0x15f433===_0xc275('0x81')||_0x15f433===_0xc275('0x7b')||_0x15f433===_0xc275('0x7c')||_0x15f433==='rtpaudioqosjitter'||_0x15f433==='rtpaudioqosjitterbridged'||_0x15f433===_0xc275('0x7f')||_0x15f433===_0xc275('0x80')||_0x15f433===_0xc275('0x82')||_0x15f433===_0xc275('0x81')||_0x15f433==='bridgepeer'||_0x15f433===_0xc275('0x83')||_0x15f433===_0xc275('0x36')||_0x15f433===_0xc275('0x37')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x33b59b,_0x39046d){var _0x4a1bd5,_0x1f3df6,_0x1dcd8a;if(_0x39046d<=0x0){_0x39046d=0x1;}_0x4a1bd5=new RegExp(_0xc275('0x84')+_0x39046d+'}$');_0x1f3df6=Math[_0xc275('0x85')](0xa,_0x39046d-0x1);_0x1dcd8a=Math[_0xc275('0x85')](0xa,_0x39046d)-0x1;return util['format']('%s',_[_0xc275('0x86')](_0x33b59b,_0x4a1bd5,_[_0xc275('0x87')](_0x1f3df6,_0x1dcd8a)));};exports[_0xc275('0x88')]=function(_0x40d013){var _0x5a0fba=_0x40d013[_0xc275('0x89')](/"(.*?)"/);return _0x5a0fba?_0x5a0fba[0x1]:_0x40d013;};exports['extractCalleridNumber']=function(_0x322f52){var _0x24162a=_0x322f52[_0xc275('0x89')](/<(.*?)>/);return _0x24162a?_0x24162a[0x1]:_0x322f52;};