c903fde516bc8dfea776448ab9ad29388949a265
[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 _0xe2a7=['xmd-voicequeueid','xmd-queue','xmd-phone','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqoslossbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','pow','replace','random','extractCalleridName','match','lodash','moment','../../../../config/logger','preview','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','inspect','logger','info','loggerError','error','logger2','message','getCallerId','string','isEmpty','format','\x22%s\x22\x20<%s>','isUndefined','isActive','addVariables','Queue','name','calleridname','ContactId','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','NONE','dialQueueProject2','originatecalleridnum','originatecalleridname','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','isNil','tags','%s%s','XMD-','toLowerVariables','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','state','ringtime','membername','UserId','logCustomer','talktime','isFailure','Failure','variablesAction','BOOKED','uniqueid','originate','channelAgent','calleridnum','xcally-motion-preview','from-sip','timeout','totalGlobal','countbusyretry','countcongestionretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active','add','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','queue','interface','motionChannel','voice','mandatoryDisposition','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','createBody','CampaignId','filterKey','type','campaigntype','dialAnswer','scheduledat','countnoanswerretry','countglobal','callback','callbackuniqueid','callbackat','recallme','sipcallid'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0xe2a7,0x1d1));var _0x7e2a=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xe2a7[_0x3dd15e];return _0x231fd0;};'use strict';var util=require('util');var _=require(_0x7e2a('0x0'));var moment=require(_0x7e2a('0x1'));var logger=require(_0x7e2a('0x2'))(_0x7e2a('0x3'));var ipAgi=process['env'][_0x7e2a('0x4')]||_0x7e2a('0x5');function getSeconds(_0x554c97,_0xd87bab){var _0x388416=moment(_0x554c97)['milliseconds'](0x0);var _0x24cfbc=moment(_0xd87bab)[_0x7e2a('0x6')](0x0);return _0x388416[_0x7e2a('0x7')](_0x24cfbc,_0x7e2a('0x8'));}exports['loggerCatch']=function(_0x165c65){return function(_0x4d30ca){logger['error'](_0x165c65,util[_0x7e2a('0x9')](_0x4d30ca,{'showHidden':![],'depth':null}));};};exports[_0x7e2a('0xa')]=function(_0x8e01d5,_0x5bd612){logger[_0x7e2a('0xb')](_0x8e01d5,util['inspect'](_0x5bd612,{'showHidden':![],'depth':null}));};exports[_0x7e2a('0xc')]=function(_0x3e1c60,_0x62133a){logger[_0x7e2a('0xd')](_0x3e1c60,util['inspect'](_0x62133a,{'showHidden':![],'depth':null}));};exports[_0x7e2a('0xe')]=function(_0x3eb58c){return function(_0x461204){logger['info'](_0x3eb58c,util[_0x7e2a('0x9')](_0x461204,{'showHidden':![],'depth':null}));};};exports[_0x7e2a('0xf')]=function(_0x265b04,_0x4df1b1,_0x19fa5d){return{'message':_0x265b04,'unlock':_0x4df1b1,'active':_0x19fa5d};};exports[_0x7e2a('0x10')]=function(_0xfe6e74,_0x5efd58,_0x3679d1){if(!_['isUndefined'](_0x3679d1)&&_0x7e2a('0x11')===typeof _0x3679d1&&!_[_0x7e2a('0x12')](_0x3679d1)){if(!_['isUndefined'](_0x5efd58)&&_0x7e2a('0x11')===typeof _0x5efd58&&!_['isEmpty'](_0x5efd58)){return util[_0x7e2a('0x13')](_0x7e2a('0x14'),_0x5efd58,_0x3679d1);}return util['format'](_0x7e2a('0x14'),_0x3679d1,_0x3679d1);}if(!_[_0x7e2a('0x15')](_0xfe6e74)&&_0x7e2a('0x11')===typeof _0xfe6e74&&!_[_0x7e2a('0x12')](_0xfe6e74)){return _0xfe6e74;}return'\x22\x22\x20<>';};exports[_0x7e2a('0x16')]=function(_0x5b7750){if(_['isNil'](_0x5b7750)){return![];}return _0x5b7750;};exports[_0x7e2a('0x17')]=function(_0x1b9759,_0xf7fb01,_0x1840c8,_0x495dfc,_0x428660,_0x8fa03d){var _0x5676a7={'XMD-QUEUE':_0xf7fb01['Queue']?_0xf7fb01[_0x7e2a('0x18')][_0x7e2a('0x19')]:'','XMD-CALLERID':_0x495dfc,'XMD-CALLERID-PREVIEW':_0x8fa03d?util[_0x7e2a('0x13')](_0x7e2a('0x14'),_0x8fa03d[_0x7e2a('0x1a')],_0x8fa03d['calleridnum']):_0x495dfc,'XMD-DIALID':_0x428660,'XMD-CONTACTID':_0xf7fb01[_0x7e2a('0x1b')],'XMD-CDRTYPE':_0x7e2a('0x1c'),'CALLERID(all)':_0x495dfc,'XMD-VOICEQUEUEID':_0xf7fb01['VoiceQueueId'],'XMD-DIALCHANNEL':_0x1840c8,'XMD-DIALTIMEOUT':_0x1b9759[_0x7e2a('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0x7e2a('0x13')](_0x7e2a('0x1e'),_0x1b9759['dialQueueProject2']?'g':'',_['isEmpty'](_0x1b9759[_0x7e2a('0x1f')])?'':_0x7e2a('0x20')),'XMD-DIALURL':_0x1b9759[_0x7e2a('0x21')]||'','XMD-AGI':_0x1b9759['dialQueueProject']?util['format'](_0x7e2a('0x22'),ipAgi,_0x1b9759['dialQueueProject']):_0x7e2a('0x23'),'XMD-AGIAFTER':_0x1b9759[_0x7e2a('0x24')]?util[_0x7e2a('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x1b9759['dialQueueProject2']):_0x7e2a('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x8fa03d?_0x8fa03d[_0x7e2a('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x8fa03d?_0x8fa03d[_0x7e2a('0x26')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_['isEmpty'](_0x1b9759[_0x7e2a('0x1f')])){_0x5676a7[util['format']('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x1b9759[_0x7e2a('0x1f')];_0x5676a7[util[_0x7e2a('0x13')]('%s',_0x7e2a('0x27'))]=_0x428660;}if(_0xf7fb01&&_0xf7fb01[_0x7e2a('0x28')]){for(var _0x3d76dc in _0xf7fb01[_0x7e2a('0x28')]){if(_0xf7fb01[_0x7e2a('0x28')][_0x7e2a('0x29')](_0x3d76dc)){if(!_[_0x7e2a('0x2a')](_0xf7fb01['Contact'][_0x3d76dc])&&_0x3d76dc!=='id'&&_0x3d76dc!==_0x7e2a('0x2b')&&_0x3d76dc!=='createdAt'&&_0x3d76dc!=='updatedAt'){_0x5676a7[util[_0x7e2a('0x13')](_0x7e2a('0x2c'),_0x7e2a('0x2d'),_['toUpper'](_0x3d76dc))]=_0xf7fb01['Contact'][_0x3d76dc];}}}}return _0x5676a7;};exports[_0x7e2a('0x2e')]=function(_0x38f4c1){var _0x8e9b50={};for(var _0x213da2 in _0x38f4c1){if(_0x38f4c1['hasOwnProperty'](_0x213da2)){_0x8e9b50[util[_0x7e2a('0x13')]('%s',_['toLower'](_0x213da2))]=_0x38f4c1[_0x213da2];}}return{'variables':_0x8e9b50};};exports['updateOriginated']=function(_0x118c6b,_0x25b87a){if(!_[_0x7e2a('0x2a')](_0x118c6b)){if(_0x118c6b['hasOwnProperty']('originated')){if(_0x118c6b[_0x7e2a('0x2f')]>0x0){_0x118c6b['originated']-=0x1;}else{logger[_0x7e2a('0xd')](_0x7e2a('0x30'),_0x25b87a);}}}else{logger['error'](_0x7e2a('0x31'),_0x25b87a);}};exports[_0x7e2a('0x32')]=function(_0x4b3e3e){var _0x5a5421=moment()['format'](_0x7e2a('0x33'));_0x4b3e3e['state']=0xd;_0x4b3e3e[_0x7e2a('0x34')]=_0x7e2a('0x35');_0x4b3e3e[_0x7e2a('0x36')]=_0x5a5421;_0x4b3e3e[_0x7e2a('0x37')]=_0x5a5421;_0x4b3e3e[_0x7e2a('0x38')]=_0x5a5421;};exports[_0x7e2a('0x39')]=function(_0x4e601b,_0x5029e6,_0x143a61){var _0x3439e1=moment()[_0x7e2a('0x13')]('YYYY-MM-DD\x20HH:mm:ss');_0x4e601b[_0x7e2a('0x3a')]=_0x5029e6;_0x4e601b[_0x7e2a('0x34')]=_0x143a61;_0x4e601b['responsetime']=_0x3439e1;_0x4e601b[_0x7e2a('0x3b')]=getSeconds(_0x4e601b[_0x7e2a('0x37')],_0x4e601b[_0x7e2a('0x36')]);};exports['logLookAgent']=function(_0x28623c,_0x3671ee,_0x513d31){_0x28623c[_0x7e2a('0x3c')]=_0x3671ee;_0x28623c[_0x7e2a('0x3d')]=_0x513d31;};exports[_0x7e2a('0x3e')]=function(_0x2931a4,_0x20be15,_0x55de3f){var _0x590c26=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x2931a4['state']=_0x20be15;_0x2931a4['statedesc']=_0x55de3f;_0x2931a4[_0x7e2a('0x37')]=_0x2931a4[_0x7e2a('0x37')]?_0x2931a4[_0x7e2a('0x37')]:_0x590c26;_0x2931a4[_0x7e2a('0x38')]=_0x2931a4[_0x7e2a('0x38')]?_0x2931a4[_0x7e2a('0x38')]:_0x590c26;_0x2931a4[_0x7e2a('0x3b')]=getSeconds(_0x2931a4[_0x7e2a('0x37')]||0x0,_0x2931a4[_0x7e2a('0x36')]||0x0);_0x2931a4[_0x7e2a('0x3f')]=_0x2931a4['answertime']?getSeconds(_0x2931a4[_0x7e2a('0x38')],_0x2931a4['answertime']):0x0;};exports[_0x7e2a('0x40')]=function(_0xa61175){return _0xa61175===_0x7e2a('0x41');};exports[_0x7e2a('0x42')]=function(_0x1a4e52,_0x47d2e5,_0x139d93,_0x5f3127,_0x4cfada){var _0x5b96fb=_0x5f3127?'RECALL':_0x1a4e52[_0x7e2a('0x1a')];_0x5b96fb=_0x4cfada?_0x7e2a('0x43'):_0x5b96fb;return{'actionid':_0x1a4e52[_0x7e2a('0x44')],'action':_0x7e2a('0x45'),'channel':_0x1a4e52[_0x7e2a('0x46')],'callerid':util[_0x7e2a('0x13')](_0x7e2a('0x14'),_0x5b96fb,_0x1a4e52[_0x7e2a('0x47')]),'Exten':_0x7e2a('0x48'),'Context':_0x7e2a('0x49'),'Priority':'1','variable':_0x139d93,'timeout':(_0x47d2e5[_0x7e2a('0x4a')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1a4e52[_0x7e2a('0x44')]};};exports[_0x7e2a('0x4b')]=function(_0x4293c2){return _0x4293c2[_0x7e2a('0x4c')]+_0x4293c2[_0x7e2a('0x4d')]+_0x4293c2['countnoanswerretry']+_0x4293c2[_0x7e2a('0x4e')]+_0x4293c2[_0x7e2a('0x4f')];};exports[_0x7e2a('0x50')]=function(_0x57dd82){var _0x36d1fb=_[_0x7e2a('0x51')](_0x57dd82);_0x36d1fb[_0x7e2a('0x3a')]=0xf;_0x36d1fb[_0x7e2a('0x34')]=_0x7e2a('0x52');return _0x36d1fb;};exports[_0x7e2a('0x53')]=function(_0xe8957d,_0x34d012,_0x48dc27){var _0x462f88={};_0x462f88[_0x34d012]=_0xe8957d[_0x34d012];_0x462f88[_0x7e2a('0x54')]=![];_0x462f88['scheduledat']=moment()[_0x7e2a('0x55')](_0x48dc27,'minutes')[_0x7e2a('0x13')]('YYYY-MM-DD\x20HH:mm:ss');_0x462f88[_0x7e2a('0x1b')]=_0xe8957d[_0x7e2a('0x1b')];_0x462f88['ListId']=_0xe8957d[_0x7e2a('0x56')];_0x462f88['VoiceQueueId']=_0xe8957d[_0x7e2a('0x57')]||undefined;return _0x462f88;};exports[_0x7e2a('0x58')]=function(_0xcdc1f3,_0x2c2b2c){if(!_['isNil'](_0xcdc1f3)){if(_0xcdc1f3[_0x7e2a('0x59')]>0x0){_0xcdc1f3[_0x7e2a('0x59')]-=0x1;}else{logger[_0x7e2a('0xd')](_0x2c2b2c,_0x7e2a('0x5a'));}}else{logger[_0x7e2a('0xd')](_0x2c2b2c,_0x7e2a('0x5b'));}};exports[_0x7e2a('0x5c')]=function(_0x52b3d0){if(_0x52b3d0<=0x0){return!![];}return![];};exports['buildObj']=function(_0x41c99a,_0xff2c7a,_0x18a5ba){_0x41c99a['lastevent']=_0xff2c7a;_0x41c99a['name']=_0x41c99a[_0x7e2a('0x5d')];_0x41c99a[_0x7e2a('0x5e')]=_0x41c99a[_0x7e2a('0x46')];_0x41c99a[_0x7e2a('0x5f')]=_0x7e2a('0x60');if(_0x18a5ba){_0x41c99a[_0x7e2a('0x61')]=_0x18a5ba[_0x7e2a('0x61')];}return _0x41c99a;};exports[_0x7e2a('0x62')]=function(_0x50183c){var _0x520914={};_0x520914['queue']=_0x50183c[_0x7e2a('0x5d')];_0x520914[_0x7e2a('0x5e')]=_0x50183c['channelAgent'];_0x520914['uniqueid']=_0x50183c[_0x7e2a('0x44')];return _0x520914;};exports[_0x7e2a('0x63')]=function(_0x289c00){var _0xa49ba3=[];for(var _0x1eccf9 in _0x289c00){if(_0x289c00[_0x7e2a('0x29')](_0x1eccf9)){if(!_[_0x7e2a('0x2a')](_0x289c00[_0x1eccf9])&&_0x289c00[_0x1eccf9][_0x7e2a('0x3a')]===_0x7e2a('0x64')&&_0x289c00[_0x1eccf9][_0x7e2a('0x65')]===_0x7e2a('0x66')){_0xa49ba3[_0x7e2a('0x67')](_0x289c00[_0x1eccf9]['id']);}}}return _0xa49ba3;};exports[_0x7e2a('0x68')]=function(_0x35fb75){var _0x5b95d6=moment()[_0x7e2a('0x6')](0x0);var _0x37f183=moment(_0x35fb75)[_0x7e2a('0x6')](0x0);return _0x5b95d6['diff'](_0x37f183,_0x7e2a('0x8'));};exports[_0x7e2a('0x69')]=function(_0x4954c0){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x4954c0['ContactId'],'ListId':_0x4954c0[_0x7e2a('0x56')],'VoiceQueueId':_0x4954c0['VoiceQueueId']||undefined,'CampaignId':_0x4954c0[_0x7e2a('0x6a')]||undefined};};exports[_0x7e2a('0x6b')]=function(_0x2bfb4d){if(_0x2bfb4d===_0x7e2a('0x44')||_0x2bfb4d==='idContact'||_0x2bfb4d==='queue'||_0x2bfb4d===_0x7e2a('0x6c')||_0x2bfb4d===_0x7e2a('0x6d')||_0x2bfb4d===_0x7e2a('0x6e')||_0x2bfb4d===_0x7e2a('0x3c')||_0x2bfb4d===_0x7e2a('0x46')||_0x2bfb4d==='calleridname'||_0x2bfb4d==='active'||_0x2bfb4d===_0x7e2a('0x47')||_0x2bfb4d===_0x7e2a('0x6f')||_0x2bfb4d==='countbusyretry'||_0x2bfb4d==='countcongestionretry'||_0x2bfb4d===_0x7e2a('0x70')||_0x2bfb4d===_0x7e2a('0x71')||_0x2bfb4d===_0x7e2a('0x72')||_0x2bfb4d===_0x7e2a('0x73')||_0x2bfb4d===_0x7e2a('0x74')||_0x2bfb4d===_0x7e2a('0x75')||_0x2bfb4d===_0x7e2a('0x1b')||_0x2bfb4d===_0x7e2a('0x56')||_0x2bfb4d===_0x7e2a('0x3d')||_0x2bfb4d===_0x7e2a('0x57')||_0x2bfb4d===_0x7e2a('0x76')||_0x2bfb4d===_0x7e2a('0x77')||_0x2bfb4d===_0x7e2a('0x78')||_0x2bfb4d===_0x7e2a('0x79')||_0x2bfb4d==='xmd-listid'||_0x2bfb4d===_0x7e2a('0x7a')||_0x2bfb4d===_0x7e2a('0x7b')||_0x2bfb4d===_0x7e2a('0x7c')||_0x2bfb4d==='xmd-dialid'||_0x2bfb4d===_0x7e2a('0x7d')||_0x2bfb4d===_0x7e2a('0x7e')||_0x2bfb4d===_0x7e2a('0x7f')||_0x2bfb4d===_0x7e2a('0x80')||_0x2bfb4d===_0x7e2a('0x81')||_0x2bfb4d==='xmd-agi'||_0x2bfb4d===_0x7e2a('0x82')||_0x2bfb4d===_0x7e2a('0x83')||_0x2bfb4d===_0x7e2a('0x84')||_0x2bfb4d===_0x7e2a('0x85')||_0x2bfb4d===_0x7e2a('0x86')||_0x2bfb4d==='rtpaudioqoslossbridged'||_0x2bfb4d===_0x7e2a('0x87')||_0x2bfb4d===_0x7e2a('0x88')||_0x2bfb4d===_0x7e2a('0x82')||_0x2bfb4d==='rtpaudioqosbridged'||_0x2bfb4d===_0x7e2a('0x84')||_0x2bfb4d===_0x7e2a('0x85')||_0x2bfb4d===_0x7e2a('0x86')||_0x2bfb4d===_0x7e2a('0x89')||_0x2bfb4d==='rtpaudioqosrtt'||_0x2bfb4d===_0x7e2a('0x88')||_0x2bfb4d===_0x7e2a('0x8a')||_0x2bfb4d===_0x7e2a('0x8b')||_0x2bfb4d===_0x7e2a('0x3a')||_0x2bfb4d==='statedesc'){return![];}return!![];};exports[_0x7e2a('0x8c')]=function(_0xa56039,_0x103895){var _0xaf4fd9,_0x4caa97,_0x2631d0;if(_0x103895<=0x0){_0x103895=0x1;}_0xaf4fd9=new RegExp('\x5cw{0,'+_0x103895+'}$');_0x4caa97=Math[_0x7e2a('0x8d')](0xa,_0x103895-0x1);_0x2631d0=Math['pow'](0xa,_0x103895)-0x1;return util[_0x7e2a('0x13')]('%s',_[_0x7e2a('0x8e')](_0xa56039,_0xaf4fd9,_[_0x7e2a('0x8f')](_0x4caa97,_0x2631d0)));};exports[_0x7e2a('0x90')]=function(_0x3b2780){var _0x4e098d=_0x3b2780[_0x7e2a('0x91')](/"(.*?)"/);return _0x4e098d?_0x4e098d[0x1]:_0x3b2780;};exports['extractCalleridNumber']=function(_0x51732b){var _0x2798cf=_0x51732b[_0x7e2a('0x91')](/<(.*?)>/);return _0x2798cf?_0x2798cf[0x1]:_0x51732b;};