Built motion from commit (unavailable).|2.5.14
[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 _0x3aa7=['lodash','../../../../config/logger','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','loggerCatch','error','inspect','logger','logger2','info','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isNil','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_UNIQUEID','Contact','tags','createdAt','updatedAt','%s%s','toUpper','toLowerVariables','hasOwnProperty','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','endtime','membername','UserId','logCustomer','answertime','Failure','RECALL','BOOKED','uniqueid','channelAgent','from-sip','timeout','totalGlobal','countnoanswerretry','countnosuchnumberretry','cloneAction','clone','Global','active','scheduledat','add','minutes','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','queue','interface','mandatoryDisposition','agentReadyId','status','reachable','getDiff','createBody','CampaignId','idContact','type','countbusyretry','countcongestionretry','callback','callbackuniqueid','callbackat','sipcallid','xmd-queue','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','extractCalleridNumber','match','util'];(function(_0x132c19,_0x3385f2){var _0xaf4a68=function(_0x154d25){while(--_0x154d25){_0x132c19['push'](_0x132c19['shift']());}};_0xaf4a68(++_0x3385f2);}(_0x3aa7,0x105));var _0x73aa=function(_0xff8193,_0xb9e9ef){_0xff8193=_0xff8193-0x0;var _0xa9f2f4=_0x3aa7[_0xff8193];return _0xa9f2f4;};'use strict';var util=require(_0x73aa('0x0'));var _=require(_0x73aa('0x1'));var moment=require('moment');var logger=require(_0x73aa('0x2'))('preview');var ipAgi=process[_0x73aa('0x3')][_0x73aa('0x4')]||_0x73aa('0x5');function getSeconds(_0x43d0bc,_0xb04f4e){var _0x4ba97d=moment(_0x43d0bc)[_0x73aa('0x6')](0x0);var _0x5a1f02=moment(_0xb04f4e)[_0x73aa('0x6')](0x0);return _0x4ba97d[_0x73aa('0x7')](_0x5a1f02,_0x73aa('0x8'));}exports[_0x73aa('0x9')]=function(_0x3867c5){return function(_0x115e69){logger[_0x73aa('0xa')](_0x3867c5,util[_0x73aa('0xb')](_0x115e69,{'showHidden':![],'depth':null}));};};exports[_0x73aa('0xc')]=function(_0xfbbf52,_0xf68422){logger['info'](_0xfbbf52,util[_0x73aa('0xb')](_0xf68422,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x36e60d,_0x5e735b){logger['error'](_0x36e60d,util['inspect'](_0x5e735b,{'showHidden':![],'depth':null}));};exports[_0x73aa('0xd')]=function(_0x31e4e6){return function(_0x1e9b79){logger[_0x73aa('0xe')](_0x31e4e6,util[_0x73aa('0xb')](_0x1e9b79,{'showHidden':![],'depth':null}));};};exports[_0x73aa('0xf')]=function(_0x3e5cb9,_0xecab77,_0x297bec){return{'message':_0x3e5cb9,'unlock':_0xecab77,'active':_0x297bec};};exports[_0x73aa('0x10')]=function(_0x335d08,_0x3c3e41,_0x3bcf99){if(!_[_0x73aa('0x11')](_0x3bcf99)&&_0x73aa('0x12')===typeof _0x3bcf99&&!_[_0x73aa('0x13')](_0x3bcf99)){if(!_[_0x73aa('0x11')](_0x3c3e41)&&_0x73aa('0x12')===typeof _0x3c3e41&&!_[_0x73aa('0x13')](_0x3c3e41)){return util[_0x73aa('0x14')](_0x73aa('0x15'),_0x3c3e41,_0x3bcf99);}return util[_0x73aa('0x14')](_0x73aa('0x15'),_0x3bcf99,_0x3bcf99);}if(!_[_0x73aa('0x11')](_0x335d08)&&'string'===typeof _0x335d08&&!_['isEmpty'](_0x335d08)){return _0x335d08;}return _0x73aa('0x16');};exports['isActive']=function(_0x5cd066){if(_[_0x73aa('0x17')](_0x5cd066)){return![];}return _0x5cd066;};exports['addVariables']=function(_0x5a4448,_0x4ea08b,_0x2385ba,_0x10faad,_0x39f9fd,_0x15d607){var _0x37bec6={'XMD-QUEUE':_0x4ea08b[_0x73aa('0x18')]?_0x4ea08b[_0x73aa('0x18')][_0x73aa('0x19')]:'','XMD-CALLERID':_0x10faad,'XMD-CALLERID-PREVIEW':_0x15d607?util['format'](_0x73aa('0x15'),_0x15d607[_0x73aa('0x1a')],_0x15d607[_0x73aa('0x1b')]):_0x10faad,'XMD-DIALID':_0x39f9fd,'XMD-CONTACTID':_0x4ea08b[_0x73aa('0x1c')],'XMD-CDRTYPE':_0x73aa('0x1d'),'CALLERID(all)':_0x10faad,'XMD-VOICEQUEUEID':_0x4ea08b[_0x73aa('0x1e')],'XMD-DIALCHANNEL':_0x2385ba,'XMD-DIALTIMEOUT':_0x5a4448[_0x73aa('0x1f')]||0x1e,'XMD-DIALOPTIONS':util['format']('\x22rtTxX%s%s\x22',_0x5a4448[_0x73aa('0x20')]?'g':'',_['isEmpty'](_0x5a4448[_0x73aa('0x21')])?'':_0x73aa('0x22')),'XMD-DIALURL':_0x5a4448[_0x73aa('0x23')]||'','XMD-AGI':_0x5a4448[_0x73aa('0x24')]?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0x5a4448[_0x73aa('0x24')]):'NONE','XMD-AGIAFTER':_0x5a4448['dialQueueProject2']?util[_0x73aa('0x14')](_0x73aa('0x25'),ipAgi,_0x5a4448[_0x73aa('0x20')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x15d607?_0x15d607[_0x73aa('0x26')]:'','XMD-ORIGINATECALLERIDNAME':_0x15d607?_0x15d607[_0x73aa('0x27')]:'','XMD-DESTINATION':_0x73aa('0x28')};if(!_['isEmpty'](_0x5a4448[_0x73aa('0x21')])){_0x37bec6[util[_0x73aa('0x14')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x5a4448[_0x73aa('0x21')];_0x37bec6[util['format']('%s',_0x73aa('0x29'))]=_0x39f9fd;}if(_0x4ea08b&&_0x4ea08b[_0x73aa('0x2a')]){for(var _0x4c5d3b in _0x4ea08b['Contact']){if(_0x4ea08b[_0x73aa('0x2a')]['hasOwnProperty'](_0x4c5d3b)){if(!_[_0x73aa('0x17')](_0x4ea08b[_0x73aa('0x2a')][_0x4c5d3b])&&_0x4c5d3b!=='id'&&_0x4c5d3b!==_0x73aa('0x2b')&&_0x4c5d3b!==_0x73aa('0x2c')&&_0x4c5d3b!==_0x73aa('0x2d')){_0x37bec6[util[_0x73aa('0x14')](_0x73aa('0x2e'),'XMD-',_[_0x73aa('0x2f')](_0x4c5d3b))]=_0x4ea08b[_0x73aa('0x2a')][_0x4c5d3b];}}}}return _0x37bec6;};exports[_0x73aa('0x30')]=function(_0x6a94ff){var _0x1fc7ad={};for(var _0x433a24 in _0x6a94ff){if(_0x6a94ff[_0x73aa('0x31')](_0x433a24)){_0x1fc7ad[util[_0x73aa('0x14')]('%s',_['toLower'](_0x433a24))]=_0x6a94ff[_0x433a24];}}return{'variables':_0x1fc7ad};};exports[_0x73aa('0x32')]=function(_0x525150,_0x21a73d){if(!_[_0x73aa('0x17')](_0x525150)){if(_0x525150[_0x73aa('0x31')](_0x73aa('0x33'))){if(_0x525150[_0x73aa('0x33')]>0x0){_0x525150[_0x73aa('0x33')]-=0x1;}else{logger['error'](_0x73aa('0x34'),_0x21a73d);}}}else{logger['error'](_0x73aa('0x35'),_0x21a73d);}};exports[_0x73aa('0x36')]=function(_0x46b28d){var _0x39452e=moment()[_0x73aa('0x14')](_0x73aa('0x37'));_0x46b28d[_0x73aa('0x38')]=0xd;_0x46b28d[_0x73aa('0x39')]=_0x73aa('0x3a');_0x46b28d[_0x73aa('0x3b')]=_0x39452e;_0x46b28d[_0x73aa('0x3c')]=_0x39452e;_0x46b28d[_0x73aa('0x3d')]=_0x39452e;};exports['logAgent']=function(_0xec73e9,_0x25fd7,_0x5b9486){var _0x3a7aa9=moment()['format'](_0x73aa('0x37'));_0xec73e9[_0x73aa('0x38')]=_0x25fd7;_0xec73e9['statedesc']=_0x5b9486;_0xec73e9[_0x73aa('0x3c')]=_0x3a7aa9;_0xec73e9['ringtime']=getSeconds(_0xec73e9[_0x73aa('0x3c')],_0xec73e9[_0x73aa('0x3b')]);};exports['logLookAgent']=function(_0x36a75e,_0x2d3f77,_0x1df124){_0x36a75e[_0x73aa('0x3e')]=_0x2d3f77;_0x36a75e[_0x73aa('0x3f')]=_0x1df124;};exports[_0x73aa('0x40')]=function(_0x174be7,_0x1e40c7,_0x687910){var _0x2da09a=moment()[_0x73aa('0x14')](_0x73aa('0x37'));_0x174be7[_0x73aa('0x38')]=_0x1e40c7;_0x174be7[_0x73aa('0x39')]=_0x687910;_0x174be7['responsetime']=_0x174be7[_0x73aa('0x3c')]?_0x174be7[_0x73aa('0x3c')]:_0x2da09a;_0x174be7[_0x73aa('0x3d')]=_0x174be7['endtime']?_0x174be7[_0x73aa('0x3d')]:_0x2da09a;_0x174be7['ringtime']=getSeconds(_0x174be7[_0x73aa('0x3c')]||0x0,_0x174be7[_0x73aa('0x3b')]||0x0);_0x174be7['talktime']=_0x174be7[_0x73aa('0x41')]?getSeconds(_0x174be7['endtime'],_0x174be7[_0x73aa('0x41')]):0x0;};exports['isFailure']=function(_0x4acf3b){return _0x4acf3b===_0x73aa('0x42');};exports['variablesAction']=function(_0x1347c0,_0x13c81b,_0x29b289,_0x16aad4,_0x15f48b){var _0x4d66ce=_0x16aad4?_0x73aa('0x43'):_0x1347c0[_0x73aa('0x1a')];_0x4d66ce=_0x15f48b?_0x73aa('0x44'):_0x4d66ce;return{'actionid':_0x1347c0[_0x73aa('0x45')],'action':'originate','channel':_0x1347c0[_0x73aa('0x46')],'callerid':util[_0x73aa('0x14')](_0x73aa('0x15'),_0x4d66ce,_0x1347c0[_0x73aa('0x1b')]),'Exten':_0x73aa('0x28'),'Context':_0x73aa('0x47'),'Priority':'1','variable':_0x29b289,'timeout':(_0x13c81b[_0x73aa('0x48')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1347c0['uniqueid']};};exports[_0x73aa('0x49')]=function(_0x443a5d){return _0x443a5d['countbusyretry']+_0x443a5d['countcongestionretry']+_0x443a5d[_0x73aa('0x4a')]+_0x443a5d['countagentrejectretry']+_0x443a5d[_0x73aa('0x4b')];};exports[_0x73aa('0x4c')]=function(_0x196918){var _0x1627a6=_[_0x73aa('0x4d')](_0x196918);_0x1627a6[_0x73aa('0x38')]=0xf;_0x1627a6[_0x73aa('0x39')]=_0x73aa('0x4e');return _0x1627a6;};exports['scheduledAt']=function(_0x2c8de3,_0x5e7920,_0x6e18d0){var _0x2f1ade={};_0x2f1ade[_0x5e7920]=_0x2c8de3[_0x5e7920];_0x2f1ade[_0x73aa('0x4f')]=![];_0x2f1ade[_0x73aa('0x50')]=moment()[_0x73aa('0x51')](_0x6e18d0,_0x73aa('0x52'))[_0x73aa('0x14')](_0x73aa('0x37'));_0x2f1ade[_0x73aa('0x1c')]=_0x2c8de3['ContactId'];_0x2f1ade[_0x73aa('0x53')]=_0x2c8de3[_0x73aa('0x53')];_0x2f1ade[_0x73aa('0x1e')]=_0x2c8de3[_0x73aa('0x1e')]||undefined;return _0x2f1ade;};exports['decrementTalkink']=function(_0x4cc405,_0x5ca2e1){if(!_['isNil'](_0x4cc405)){if(_0x4cc405[_0x73aa('0x54')]>0x0){_0x4cc405[_0x73aa('0x54')]-=0x1;}else{logger['error'](_0x5ca2e1,_0x73aa('0x55'));}}else{logger[_0x73aa('0xa')](_0x5ca2e1,_0x73aa('0x56'));}};exports[_0x73aa('0x57')]=function(_0x3a844f){if(_0x3a844f<=0x0){return!![];}return![];};exports[_0x73aa('0x58')]=function(_0x374a5f,_0x20f938,_0x2e3992){_0x374a5f[_0x73aa('0x59')]=_0x20f938;_0x374a5f['name']=_0x374a5f[_0x73aa('0x5a')];_0x374a5f[_0x73aa('0x5b')]=_0x374a5f[_0x73aa('0x46')];if(_0x2e3992){_0x374a5f[_0x73aa('0x5c')]=_0x2e3992[_0x73aa('0x5c')];}return _0x374a5f;};exports['buildAcw']=function(_0x4e597f){var _0x5722df={};_0x5722df[_0x73aa('0x5a')]=_0x4e597f[_0x73aa('0x5a')];_0x5722df[_0x73aa('0x5b')]=_0x4e597f['channelAgent'];_0x5722df[_0x73aa('0x45')]=_0x4e597f[_0x73aa('0x45')];return _0x5722df;};exports[_0x73aa('0x5d')]=function(_0x39a5f4){var _0x2f6db0=[];for(var _0x17be6a in _0x39a5f4){if(_0x39a5f4[_0x73aa('0x31')](_0x17be6a)){if(!_[_0x73aa('0x17')](_0x39a5f4[_0x17be6a])&&_0x39a5f4[_0x17be6a][_0x73aa('0x38')]==='not_inuse'&&_0x39a5f4[_0x17be6a][_0x73aa('0x5e')]===_0x73aa('0x5f')){_0x2f6db0['push'](_0x39a5f4[_0x17be6a]['id']);}}}return _0x2f6db0;};exports[_0x73aa('0x60')]=function(_0x3d1d98){var _0x69a1b=moment()[_0x73aa('0x6')](0x0);var _0x378c81=moment(_0x3d1d98)[_0x73aa('0x6')](0x0);return _0x69a1b[_0x73aa('0x7')](_0x378c81,'seconds');};exports[_0x73aa('0x61')]=function(_0x3f5c2e){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x3f5c2e[_0x73aa('0x1c')],'ListId':_0x3f5c2e['ListId'],'VoiceQueueId':_0x3f5c2e[_0x73aa('0x1e')]||undefined,'CampaignId':_0x3f5c2e[_0x73aa('0x62')]||undefined};};exports['filterKey']=function(_0x1e9681){if(_0x1e9681===_0x73aa('0x45')||_0x1e9681===_0x73aa('0x63')||_0x1e9681===_0x73aa('0x5a')||_0x1e9681===_0x73aa('0x64')||_0x1e9681==='campaigntype'||_0x1e9681==='dialAnswer'||_0x1e9681===_0x73aa('0x3e')||_0x1e9681===_0x73aa('0x46')||_0x1e9681===_0x73aa('0x1a')||_0x1e9681===_0x73aa('0x4f')||_0x1e9681===_0x73aa('0x1b')||_0x1e9681===_0x73aa('0x50')||_0x1e9681===_0x73aa('0x65')||_0x1e9681===_0x73aa('0x66')||_0x1e9681==='countnoanswerretry'||_0x1e9681==='countglobal'||_0x1e9681===_0x73aa('0x67')||_0x1e9681===_0x73aa('0x68')||_0x1e9681===_0x73aa('0x69')||_0x1e9681==='recallme'||_0x1e9681==='ContactId'||_0x1e9681===_0x73aa('0x53')||_0x1e9681===_0x73aa('0x3f')||_0x1e9681==='VoiceQueueId'||_0x1e9681===_0x73aa('0x6a')||_0x1e9681==='xmd-voicequeueid'||_0x1e9681===_0x73aa('0x6b')||_0x1e9681==='xmd-phone'||_0x1e9681==='xmd-listid'||_0x1e9681===_0x73aa('0x6c')||_0x1e9681===_0x73aa('0x6d')||_0x1e9681===_0x73aa('0x6e')||_0x1e9681==='xmd-dialid'||_0x1e9681===_0x73aa('0x6f')||_0x1e9681===_0x73aa('0x70')||_0x1e9681===_0x73aa('0x71')||_0x1e9681==='xmd-callerid'||_0x1e9681===_0x73aa('0x72')||_0x1e9681==='xmd-agi'||_0x1e9681===_0x73aa('0x73')||_0x1e9681===_0x73aa('0x74')||_0x1e9681===_0x73aa('0x75')||_0x1e9681===_0x73aa('0x76')||_0x1e9681===_0x73aa('0x77')||_0x1e9681==='rtpaudioqoslossbridged'||_0x1e9681===_0x73aa('0x78')||_0x1e9681==='rtpaudioqosrttbridged'||_0x1e9681===_0x73aa('0x73')||_0x1e9681===_0x73aa('0x74')||_0x1e9681==='rtpaudioqosjitter'||_0x1e9681===_0x73aa('0x76')||_0x1e9681==='rtpaudioqosloss'||_0x1e9681==='rtpaudioqoslossbridged'||_0x1e9681===_0x73aa('0x78')||_0x1e9681===_0x73aa('0x79')||_0x1e9681==='bridgepeer'||_0x1e9681===_0x73aa('0x7a')||_0x1e9681===_0x73aa('0x38')||_0x1e9681===_0x73aa('0x39')){return![];}return!![];};exports[_0x73aa('0x7b')]=function(_0x52b41b,_0x3a0e31){var _0x133cf3,_0x188f44,_0x513b59;if(_0x3a0e31<=0x0){_0x3a0e31=0x1;}_0x133cf3=new RegExp(_0x73aa('0x7c')+_0x3a0e31+'}$');_0x188f44=Math['pow'](0xa,_0x3a0e31-0x1);_0x513b59=Math[_0x73aa('0x7d')](0xa,_0x3a0e31)-0x1;return util['format']('%s',_[_0x73aa('0x7e')](_0x52b41b,_0x133cf3,_[_0x73aa('0x7f')](_0x188f44,_0x513b59)));};exports[_0x73aa('0x80')]=function(_0x4942f9){var _0x52e4ca=_0x4942f9['match'](/"(.*?)"/);return _0x52e4ca?_0x52e4ca[0x1]:_0x4942f9;};exports[_0x73aa('0x81')]=function(_0x245b34){var _0xa4d532=_0x245b34[_0x73aa('0x82')](/<(.*?)>/);return _0xa4d532?_0xa4d532[0x1]:_0x245b34;};