1908c44975a091cc13be94c515dee4a50b002ab5
[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 _0x16a7=['voice','mandatoryDisposition','buildAcw','not_inuse','status','push','getDiff','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','active','countbusyretry','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialoptions','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','pow','replace','random','extractCalleridName','match','extractCalleridNumber','util','lodash','moment','../../../../config/logger','preview','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','error','inspect','logger','loggerError','info','message','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','dialQueueProject2','monitor_format','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','updatedAt','toUpper','toLowerVariables','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','logAgent','ringtime','logLookAgent','membername','UserId','logCustomer','endtime','talktime','answertime','isFailure','Failure','variablesAction','uniqueid','channelAgent','calleridnum','from-sip','timeout','totalGlobal','countcongestionretry','countagentrejectretry','cloneAction','clone','Global','scheduledAt','scheduledat','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','queue','interface'];(function(_0x35160e,_0x4784a8){var _0x34aa46=function(_0x4a384c){while(--_0x4a384c){_0x35160e['push'](_0x35160e['shift']());}};_0x34aa46(++_0x4784a8);}(_0x16a7,0xc2));var _0x716a=function(_0x48db32,_0x3b40ad){_0x48db32=_0x48db32-0x0;var _0x1867d0=_0x16a7[_0x48db32];return _0x1867d0;};'use strict';var util=require(_0x716a('0x0'));var _=require(_0x716a('0x1'));var moment=require(_0x716a('0x2'));var logger=require(_0x716a('0x3'))(_0x716a('0x4'));var ipAgi=process['env'][_0x716a('0x5')]||_0x716a('0x6');function getSeconds(_0x3d904c,_0x36c6b5){var _0x2b7ddc=moment(_0x3d904c)['milliseconds'](0x0);var _0x3c897d=moment(_0x36c6b5)[_0x716a('0x7')](0x0);return _0x2b7ddc[_0x716a('0x8')](_0x3c897d,_0x716a('0x9'));}exports['loggerCatch']=function(_0x462ba4){return function(_0xf7bc57){logger[_0x716a('0xa')](_0x462ba4,util[_0x716a('0xb')](_0xf7bc57,{'showHidden':![],'depth':null}));};};exports[_0x716a('0xc')]=function(_0x18fced,_0x291309){logger['info'](_0x18fced,util['inspect'](_0x291309,{'showHidden':![],'depth':null}));};exports[_0x716a('0xd')]=function(_0x3b80d2,_0x2ec397){logger[_0x716a('0xa')](_0x3b80d2,util[_0x716a('0xb')](_0x2ec397,{'showHidden':![],'depth':null}));};exports['logger2']=function(_0x205f23){return function(_0x1364c8){logger[_0x716a('0xe')](_0x205f23,util[_0x716a('0xb')](_0x1364c8,{'showHidden':![],'depth':null}));};};exports[_0x716a('0xf')]=function(_0x48f5a8,_0x965940,_0x4b8891){return{'message':_0x48f5a8,'unlock':_0x965940,'active':_0x4b8891};};exports['getCallerId']=function(_0x59afe2,_0x515ffd,_0x3de4ff){if(!_[_0x716a('0x10')](_0x3de4ff)&&_0x716a('0x11')===typeof _0x3de4ff&&!_[_0x716a('0x12')](_0x3de4ff)){if(!_[_0x716a('0x10')](_0x515ffd)&&_0x716a('0x11')===typeof _0x515ffd&&!_[_0x716a('0x12')](_0x515ffd)){return util[_0x716a('0x13')](_0x716a('0x14'),_0x515ffd,_0x3de4ff);}return util[_0x716a('0x13')](_0x716a('0x14'),_0x3de4ff,_0x3de4ff);}if(!_['isUndefined'](_0x59afe2)&&'string'===typeof _0x59afe2&&!_[_0x716a('0x12')](_0x59afe2)){return _0x59afe2;}return _0x716a('0x15');};exports[_0x716a('0x16')]=function(_0x2bf38f){if(_[_0x716a('0x17')](_0x2bf38f)){return![];}return _0x2bf38f;};exports[_0x716a('0x18')]=function(_0x1a848e,_0x1aa8d4,_0x37c183,_0x5ffb95,_0x267030,_0x48b832){var _0xe2dbda={'XMD-QUEUE':_0x1aa8d4[_0x716a('0x19')]?_0x1aa8d4[_0x716a('0x19')][_0x716a('0x1a')]:'','XMD-CALLERID':_0x5ffb95,'XMD-CALLERID-PREVIEW':_0x48b832?util[_0x716a('0x13')]('\x22%s\x22\x20<%s>',_0x48b832[_0x716a('0x1b')],_0x48b832['calleridnum']):_0x5ffb95,'XMD-DIALID':_0x267030,'XMD-CONTACTID':_0x1aa8d4[_0x716a('0x1c')],'XMD-CDRTYPE':_0x716a('0x1d'),'CALLERID(all)':_0x5ffb95,'XMD-VOICEQUEUEID':_0x1aa8d4[_0x716a('0x1e')],'XMD-DIALCHANNEL':_0x37c183,'XMD-DIALTIMEOUT':_0x1a848e[_0x716a('0x1f')]||0x1e,'XMD-DIALOPTIONS':util[_0x716a('0x13')]('\x22rtTxX%s%s\x22',_0x1a848e[_0x716a('0x20')]?'g':'',_['isEmpty'](_0x1a848e[_0x716a('0x21')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x1a848e[_0x716a('0x22')]||'','XMD-AGI':_0x1a848e[_0x716a('0x23')]?util[_0x716a('0x13')](_0x716a('0x24'),ipAgi,_0x1a848e[_0x716a('0x23')]):_0x716a('0x25'),'XMD-AGIAFTER':_0x1a848e[_0x716a('0x20')]?util['format'](_0x716a('0x24'),ipAgi,_0x1a848e['dialQueueProject2']):_0x716a('0x25'),'XMD-ORIGINATECALLERIDNUM':_0x48b832?_0x48b832[_0x716a('0x26')]:'','XMD-ORIGINATECALLERIDNAME':_0x48b832?_0x48b832['originatecalleridname']:'','XMD-DESTINATION':_0x716a('0x27'),'SIPADDHEADER':_0x716a('0x28')};if(!_[_0x716a('0x12')](_0x1a848e[_0x716a('0x21')])){_0xe2dbda[util['format']('%s',_0x716a('0x29'))]=_0x1a848e[_0x716a('0x21')];_0xe2dbda[util['format']('%s',_0x716a('0x2a'))]=_0x267030;}if(_0x1aa8d4&&_0x1aa8d4[_0x716a('0x2b')]){for(var _0x4b5d86 in _0x1aa8d4[_0x716a('0x2b')]){if(_0x1aa8d4[_0x716a('0x2b')][_0x716a('0x2c')](_0x4b5d86)){if(!_['isNil'](_0x1aa8d4[_0x716a('0x2b')][_0x4b5d86])&&_0x4b5d86!=='id'&&_0x4b5d86!==_0x716a('0x2d')&&_0x4b5d86!==_0x716a('0x2e')&&_0x4b5d86!==_0x716a('0x2f')){_0xe2dbda[util[_0x716a('0x13')]('%s%s','XMD-',_[_0x716a('0x30')](_0x4b5d86))]=_0x1aa8d4['Contact'][_0x4b5d86];}}}}return _0xe2dbda;};exports[_0x716a('0x31')]=function(_0x3243f2){var _0x24c98f={};for(var _0x4e25a3 in _0x3243f2){if(_0x3243f2[_0x716a('0x2c')](_0x4e25a3)){_0x24c98f[util['format']('%s',_['toLower'](_0x4e25a3))]=_0x3243f2[_0x4e25a3];}}return{'variables':_0x24c98f};};exports[_0x716a('0x32')]=function(_0x464252,_0x236ef5){if(!_[_0x716a('0x17')](_0x464252)){if(_0x464252[_0x716a('0x2c')](_0x716a('0x33'))){if(_0x464252[_0x716a('0x33')]>0x0){_0x464252[_0x716a('0x33')]-=0x1;}else{logger[_0x716a('0xa')](_0x716a('0x34'),_0x236ef5);}}}else{logger[_0x716a('0xa')](_0x716a('0x35'),_0x236ef5);}};exports[_0x716a('0x36')]=function(_0x4de7c3){var _0x3e3ddc=moment()[_0x716a('0x13')](_0x716a('0x37'));_0x4de7c3[_0x716a('0x38')]=0xd;_0x4de7c3[_0x716a('0x39')]=_0x716a('0x3a');_0x4de7c3[_0x716a('0x3b')]=_0x3e3ddc;_0x4de7c3[_0x716a('0x3c')]=_0x3e3ddc;_0x4de7c3['endtime']=_0x3e3ddc;};exports[_0x716a('0x3d')]=function(_0x9212e0,_0x5a6e97,_0x46a25f){var _0x1572bd=moment()[_0x716a('0x13')](_0x716a('0x37'));_0x9212e0[_0x716a('0x38')]=_0x5a6e97;_0x9212e0[_0x716a('0x39')]=_0x46a25f;_0x9212e0['responsetime']=_0x1572bd;_0x9212e0[_0x716a('0x3e')]=getSeconds(_0x9212e0[_0x716a('0x3c')],_0x9212e0[_0x716a('0x3b')]);};exports[_0x716a('0x3f')]=function(_0x349378,_0x5ce78d,_0x45cce5){_0x349378[_0x716a('0x40')]=_0x5ce78d;_0x349378[_0x716a('0x41')]=_0x45cce5;};exports[_0x716a('0x42')]=function(_0x14d9bb,_0x322542,_0x70f8e9){var _0x3d63c6=moment()[_0x716a('0x13')]('YYYY-MM-DD\x20HH:mm:ss');_0x14d9bb[_0x716a('0x38')]=_0x322542;_0x14d9bb[_0x716a('0x39')]=_0x70f8e9;_0x14d9bb[_0x716a('0x3c')]=_0x14d9bb[_0x716a('0x3c')]?_0x14d9bb[_0x716a('0x3c')]:_0x3d63c6;_0x14d9bb[_0x716a('0x43')]=_0x14d9bb[_0x716a('0x43')]?_0x14d9bb['endtime']:_0x3d63c6;_0x14d9bb[_0x716a('0x3e')]=getSeconds(_0x14d9bb['responsetime']||0x0,_0x14d9bb[_0x716a('0x3b')]||0x0);_0x14d9bb[_0x716a('0x44')]=_0x14d9bb[_0x716a('0x45')]?getSeconds(_0x14d9bb['endtime'],_0x14d9bb[_0x716a('0x45')]):0x0;};exports[_0x716a('0x46')]=function(_0x5911c0){return _0x5911c0===_0x716a('0x47');};exports[_0x716a('0x48')]=function(_0x1bfa47,_0x23d6cc,_0x1a4c43,_0x47756f,_0x2a8d27){var _0x38d825=_0x47756f?'RECALL':_0x1bfa47[_0x716a('0x1b')];_0x38d825=_0x2a8d27?'BOOKED':_0x38d825;return{'actionid':_0x1bfa47[_0x716a('0x49')],'action':'originate','channel':_0x1bfa47[_0x716a('0x4a')],'callerid':util[_0x716a('0x13')](_0x716a('0x14'),_0x38d825,_0x1bfa47[_0x716a('0x4b')]),'Exten':_0x716a('0x27'),'Context':_0x716a('0x4c'),'Priority':'1','variable':_0x1a4c43,'timeout':(_0x23d6cc[_0x716a('0x4d')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1bfa47[_0x716a('0x49')]};};exports[_0x716a('0x4e')]=function(_0x3b4b2d){return _0x3b4b2d['countbusyretry']+_0x3b4b2d[_0x716a('0x4f')]+_0x3b4b2d['countnoanswerretry']+_0x3b4b2d[_0x716a('0x50')]+_0x3b4b2d['countnosuchnumberretry'];};exports[_0x716a('0x51')]=function(_0x216e6d){var _0x19925e=_[_0x716a('0x52')](_0x216e6d);_0x19925e[_0x716a('0x38')]=0xf;_0x19925e['statedesc']=_0x716a('0x53');return _0x19925e;};exports[_0x716a('0x54')]=function(_0xdefd1,_0x329b59,_0x134db2){var _0x44bde8={};_0x44bde8[_0x329b59]=_0xdefd1[_0x329b59];_0x44bde8['active']=![];_0x44bde8[_0x716a('0x55')]=moment()[_0x716a('0x56')](_0x134db2,_0x716a('0x57'))[_0x716a('0x13')](_0x716a('0x37'));_0x44bde8[_0x716a('0x1c')]=_0xdefd1[_0x716a('0x1c')];_0x44bde8[_0x716a('0x58')]=_0xdefd1[_0x716a('0x58')];_0x44bde8[_0x716a('0x1e')]=_0xdefd1['VoiceQueueId']||undefined;return _0x44bde8;};exports[_0x716a('0x59')]=function(_0x4a1a45,_0x2a43d6){if(!_[_0x716a('0x17')](_0x4a1a45)){if(_0x4a1a45[_0x716a('0x5a')]>0x0){_0x4a1a45[_0x716a('0x5a')]-=0x1;}else{logger[_0x716a('0xa')](_0x2a43d6,_0x716a('0x5b'));}}else{logger['error'](_0x2a43d6,_0x716a('0x5c'));}};exports[_0x716a('0x5d')]=function(_0x131741){if(_0x131741<=0x0){return!![];}return![];};exports[_0x716a('0x5e')]=function(_0x2513d7,_0x3b2e4b,_0x4a80de){_0x2513d7[_0x716a('0x5f')]=_0x3b2e4b;_0x2513d7[_0x716a('0x1a')]=_0x2513d7[_0x716a('0x60')];_0x2513d7[_0x716a('0x61')]=_0x2513d7[_0x716a('0x4a')];_0x2513d7['motionChannel']=_0x716a('0x62');if(_0x4a80de){_0x2513d7[_0x716a('0x63')]=_0x4a80de[_0x716a('0x63')];}return _0x2513d7;};exports[_0x716a('0x64')]=function(_0x54c6fd){var _0x44077b={};_0x44077b[_0x716a('0x60')]=_0x54c6fd['queue'];_0x44077b[_0x716a('0x61')]=_0x54c6fd['channelAgent'];_0x44077b[_0x716a('0x49')]=_0x54c6fd[_0x716a('0x49')];return _0x44077b;};exports['agentReadyId']=function(_0xa6d358){var _0x31b92b=[];for(var _0x1c28fe in _0xa6d358){if(_0xa6d358[_0x716a('0x2c')](_0x1c28fe)){if(!_[_0x716a('0x17')](_0xa6d358[_0x1c28fe])&&_0xa6d358[_0x1c28fe]['state']===_0x716a('0x65')&&_0xa6d358[_0x1c28fe][_0x716a('0x66')]==='reachable'){_0x31b92b[_0x716a('0x67')](_0xa6d358[_0x1c28fe]['id']);}}}return _0x31b92b;};exports[_0x716a('0x68')]=function(_0x1286d4){var _0x231d13=moment()[_0x716a('0x7')](0x0);var _0xd29868=moment(_0x1286d4)[_0x716a('0x7')](0x0);return _0x231d13[_0x716a('0x8')](_0xd29868,_0x716a('0x9'));};exports[_0x716a('0x69')]=function(_0x4bd0dc){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x4bd0dc['ContactId'],'ListId':_0x4bd0dc[_0x716a('0x58')],'VoiceQueueId':_0x4bd0dc[_0x716a('0x1e')]||undefined,'CampaignId':_0x4bd0dc[_0x716a('0x6a')]||undefined};};exports[_0x716a('0x6b')]=function(_0x26d8af){if(_0x26d8af===_0x716a('0x49')||_0x26d8af===_0x716a('0x6c')||_0x26d8af===_0x716a('0x60')||_0x26d8af===_0x716a('0x6d')||_0x26d8af===_0x716a('0x6e')||_0x26d8af===_0x716a('0x6f')||_0x26d8af==='membername'||_0x26d8af===_0x716a('0x4a')||_0x26d8af===_0x716a('0x1b')||_0x26d8af===_0x716a('0x70')||_0x26d8af===_0x716a('0x4b')||_0x26d8af===_0x716a('0x55')||_0x26d8af===_0x716a('0x71')||_0x26d8af===_0x716a('0x4f')||_0x26d8af==='countnoanswerretry'||_0x26d8af==='countglobal'||_0x26d8af==='callback'||_0x26d8af===_0x716a('0x72')||_0x26d8af===_0x716a('0x73')||_0x26d8af===_0x716a('0x74')||_0x26d8af===_0x716a('0x1c')||_0x26d8af==='ListId'||_0x26d8af==='UserId'||_0x26d8af===_0x716a('0x1e')||_0x26d8af===_0x716a('0x75')||_0x26d8af===_0x716a('0x76')||_0x26d8af===_0x716a('0x77')||_0x26d8af===_0x716a('0x78')||_0x26d8af===_0x716a('0x79')||_0x26d8af===_0x716a('0x7a')||_0x26d8af==='xmd-dialtimeout'||_0x26d8af===_0x716a('0x7b')||_0x26d8af==='xmd-dialid'||_0x26d8af==='xmd-dialchannel'||_0x26d8af===_0x716a('0x7c')||_0x26d8af===_0x716a('0x7d')||_0x26d8af===_0x716a('0x7e')||_0x26d8af===_0x716a('0x7f')||_0x26d8af===_0x716a('0x80')||_0x26d8af===_0x716a('0x81')||_0x26d8af===_0x716a('0x82')||_0x26d8af===_0x716a('0x83')||_0x26d8af==='rtpaudioqosjitterbridged'||_0x26d8af===_0x716a('0x84')||_0x26d8af==='rtpaudioqoslossbridged'||_0x26d8af===_0x716a('0x85')||_0x26d8af===_0x716a('0x86')||_0x26d8af===_0x716a('0x81')||_0x26d8af===_0x716a('0x82')||_0x26d8af===_0x716a('0x83')||_0x26d8af===_0x716a('0x87')||_0x26d8af===_0x716a('0x84')||_0x26d8af===_0x716a('0x88')||_0x26d8af===_0x716a('0x85')||_0x26d8af===_0x716a('0x86')||_0x26d8af===_0x716a('0x89')||_0x26d8af===_0x716a('0x8a')||_0x26d8af===_0x716a('0x38')||_0x26d8af===_0x716a('0x39')){return![];}return!![];};exports[_0x716a('0x8b')]=function(_0x2ec09c,_0xfb0ad2){var _0x385ac4,_0x3d058b,_0x26f405;if(_0xfb0ad2<=0x0){_0xfb0ad2=0x1;}_0x385ac4=new RegExp('\x5cw{0,'+_0xfb0ad2+'}$');_0x3d058b=Math['pow'](0xa,_0xfb0ad2-0x1);_0x26f405=Math[_0x716a('0x8c')](0xa,_0xfb0ad2)-0x1;return util[_0x716a('0x13')]('%s',_[_0x716a('0x8d')](_0x2ec09c,_0x385ac4,_[_0x716a('0x8e')](_0x3d058b,_0x26f405)));};exports[_0x716a('0x8f')]=function(_0x1fec98){var _0x4a891b=_0x1fec98[_0x716a('0x90')](/"(.*?)"/);return _0x4a891b?_0x4a891b[0x1]:_0x1fec98;};exports[_0x716a('0x91')]=function(_0x20d366){var _0x369dd2=_0x20d366['match'](/<(.*?)>/);return _0x369dd2?_0x369dd2[0x1]:_0x20d366;};