d9c74ed90ade37d9aa3d0692d0b58af0241c3955
[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 _0x1b2c=['status','reachable','push','getDiff','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','countbusyretry','countcongestionretry','countglobal','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialid','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agi','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqos','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','lodash','moment','../../../../config/logger','preview','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','loggerCatch','error','inspect','logger','logger2','info','message','getCallerId','isEmpty','isUndefined','string','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isNil','addVariables','Queue','name','calleridname','calleridnum','ContactId','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','\x22agi://%s/square,%s\x22','dialQueueProject','NONE','dialQueueProject2','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','tags','createdAt','toUpper','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','starttime','endtime','state','responsetime','logLookAgent','membername','UserId','logCustomer','ringtime','answertime','isFailure','Failure','RECALL','uniqueid','originate','channelAgent','from-sip','timeout','totalGlobal','countnoanswerretry','clone','scheduledAt','active','scheduledat','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','queue','motionChannel','mandatoryDisposition','buildAcw','agentReadyId'];(function(_0x454339,_0x3db174){var _0x48d4ce=function(_0x13e722){while(--_0x13e722){_0x454339['push'](_0x454339['shift']());}};_0x48d4ce(++_0x3db174);}(_0x1b2c,0x1cb));var _0xc1b2=function(_0x21b57f,_0x9ba5fb){_0x21b57f=_0x21b57f-0x0;var _0x3dac6f=_0x1b2c[_0x21b57f];return _0x3dac6f;};'use strict';var util=require('util');var _=require(_0xc1b2('0x0'));var moment=require(_0xc1b2('0x1'));var logger=require(_0xc1b2('0x2'))(_0xc1b2('0x3'));var ipAgi=process['env'][_0xc1b2('0x4')]||_0xc1b2('0x5');function getSeconds(_0x7acec7,_0x5dc6f3){var _0xa9ac44=moment(_0x7acec7)[_0xc1b2('0x6')](0x0);var _0x48f46d=moment(_0x5dc6f3)[_0xc1b2('0x6')](0x0);return _0xa9ac44[_0xc1b2('0x7')](_0x48f46d,_0xc1b2('0x8'));}exports[_0xc1b2('0x9')]=function(_0x38dd0d){return function(_0x2be9cd){logger[_0xc1b2('0xa')](_0x38dd0d,util[_0xc1b2('0xb')](_0x2be9cd,{'showHidden':![],'depth':null}));};};exports[_0xc1b2('0xc')]=function(_0x52533b,_0x52f35e){logger['info'](_0x52533b,util['inspect'](_0x52f35e,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x11d573,_0x4fe39a){logger['error'](_0x11d573,util[_0xc1b2('0xb')](_0x4fe39a,{'showHidden':![],'depth':null}));};exports[_0xc1b2('0xd')]=function(_0xc49424){return function(_0x36dd19){logger[_0xc1b2('0xe')](_0xc49424,util['inspect'](_0x36dd19,{'showHidden':![],'depth':null}));};};exports[_0xc1b2('0xf')]=function(_0x16dcca,_0x2513ff,_0x372b29){return{'message':_0x16dcca,'unlock':_0x2513ff,'active':_0x372b29};};exports[_0xc1b2('0x10')]=function(_0x1f99f3,_0x4cae6d,_0x1b33df){if(!_['isUndefined'](_0x1b33df)&&'string'===typeof _0x1b33df&&!_[_0xc1b2('0x11')](_0x1b33df)){if(!_[_0xc1b2('0x12')](_0x4cae6d)&&_0xc1b2('0x13')===typeof _0x4cae6d&&!_[_0xc1b2('0x11')](_0x4cae6d)){return util[_0xc1b2('0x14')]('\x22%s\x22\x20<%s>',_0x4cae6d,_0x1b33df);}return util[_0xc1b2('0x14')](_0xc1b2('0x15'),_0x1b33df,_0x1b33df);}if(!_['isUndefined'](_0x1f99f3)&&'string'===typeof _0x1f99f3&&!_['isEmpty'](_0x1f99f3)){return _0x1f99f3;}return _0xc1b2('0x16');};exports['isActive']=function(_0x148c8f){if(_[_0xc1b2('0x17')](_0x148c8f)){return![];}return _0x148c8f;};exports[_0xc1b2('0x18')]=function(_0x3cbc68,_0x51cc1b,_0xc1357,_0x26a727,_0x1200e3,_0x9aa539){var _0x235eec={'XMD-QUEUE':_0x51cc1b[_0xc1b2('0x19')]?_0x51cc1b['Queue'][_0xc1b2('0x1a')]:'','XMD-CALLERID':_0x26a727,'XMD-CALLERID-PREVIEW':_0x9aa539?util['format'](_0xc1b2('0x15'),_0x9aa539[_0xc1b2('0x1b')],_0x9aa539[_0xc1b2('0x1c')]):_0x26a727,'XMD-DIALID':_0x1200e3,'XMD-CONTACTID':_0x51cc1b[_0xc1b2('0x1d')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x26a727,'XMD-VOICEQUEUEID':_0x51cc1b[_0xc1b2('0x1e')],'XMD-DIALCHANNEL':_0xc1357,'XMD-DIALTIMEOUT':_0x3cbc68[_0xc1b2('0x1f')]||0x1e,'XMD-DIALOPTIONS':util[_0xc1b2('0x14')](_0xc1b2('0x20'),_0x3cbc68['dialQueueProject2']?'g':'',_[_0xc1b2('0x11')](_0x3cbc68[_0xc1b2('0x21')])?'':_0xc1b2('0x22')),'XMD-DIALURL':_0x3cbc68['dialPreviewUrl']||'','XMD-AGI':_0x3cbc68['dialQueueProject']?util[_0xc1b2('0x14')](_0xc1b2('0x23'),ipAgi,_0x3cbc68[_0xc1b2('0x24')]):_0xc1b2('0x25'),'XMD-AGIAFTER':_0x3cbc68['dialQueueProject2']?util[_0xc1b2('0x14')]('\x22agi://%s/square,%s\x22',ipAgi,_0x3cbc68[_0xc1b2('0x26')]):_0xc1b2('0x25'),'XMD-ORIGINATECALLERIDNUM':_0x9aa539?_0x9aa539['originatecalleridnum']:'','XMD-ORIGINATECALLERIDNAME':_0x9aa539?_0x9aa539['originatecalleridname']:'','XMD-DESTINATION':_0xc1b2('0x27'),'SIPADDHEADER':_0xc1b2('0x28')};if(!_['isEmpty'](_0x3cbc68[_0xc1b2('0x21')])){_0x235eec[util[_0xc1b2('0x14')]('%s',_0xc1b2('0x29'))]=_0x3cbc68['monitor_format'];_0x235eec[util[_0xc1b2('0x14')]('%s',_0xc1b2('0x2a'))]=_0x1200e3;}if(_0x51cc1b&&_0x51cc1b[_0xc1b2('0x2b')]){for(var _0x56efc8 in _0x51cc1b[_0xc1b2('0x2b')]){if(_0x51cc1b[_0xc1b2('0x2b')]['hasOwnProperty'](_0x56efc8)){if(!_[_0xc1b2('0x17')](_0x51cc1b[_0xc1b2('0x2b')][_0x56efc8])&&_0x56efc8!=='id'&&_0x56efc8!==_0xc1b2('0x2c')&&_0x56efc8!==_0xc1b2('0x2d')&&_0x56efc8!=='updatedAt'){_0x235eec[util[_0xc1b2('0x14')]('%s%s','XMD-',_[_0xc1b2('0x2e')](_0x56efc8))]=_0x51cc1b[_0xc1b2('0x2b')][_0x56efc8];}}}}return _0x235eec;};exports['toLowerVariables']=function(_0x1b96cf){var _0x33ecbe={};for(var _0x31b550 in _0x1b96cf){if(_0x1b96cf[_0xc1b2('0x2f')](_0x31b550)){_0x33ecbe[util[_0xc1b2('0x14')]('%s',_[_0xc1b2('0x30')](_0x31b550))]=_0x1b96cf[_0x31b550];}}return{'variables':_0x33ecbe};};exports[_0xc1b2('0x31')]=function(_0x305a8c,_0x3b6b8e){if(!_['isNil'](_0x305a8c)){if(_0x305a8c[_0xc1b2('0x2f')]('originated')){if(_0x305a8c[_0xc1b2('0x32')]>0x0){_0x305a8c[_0xc1b2('0x32')]-=0x1;}else{logger[_0xc1b2('0xa')](_0xc1b2('0x33'),_0x3b6b8e);}}}else{logger[_0xc1b2('0xa')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x3b6b8e);}};exports[_0xc1b2('0x34')]=function(_0x40423f){var _0x58caf6=moment()[_0xc1b2('0x14')](_0xc1b2('0x35'));_0x40423f['state']=0xd;_0x40423f[_0xc1b2('0x36')]=_0xc1b2('0x37');_0x40423f[_0xc1b2('0x38')]=_0x58caf6;_0x40423f['responsetime']=_0x58caf6;_0x40423f[_0xc1b2('0x39')]=_0x58caf6;};exports['logAgent']=function(_0x3d8962,_0x4137c9,_0x9f3019){var _0x1d197a=moment()[_0xc1b2('0x14')]('YYYY-MM-DD\x20HH:mm:ss');_0x3d8962[_0xc1b2('0x3a')]=_0x4137c9;_0x3d8962[_0xc1b2('0x36')]=_0x9f3019;_0x3d8962[_0xc1b2('0x3b')]=_0x1d197a;_0x3d8962['ringtime']=getSeconds(_0x3d8962[_0xc1b2('0x3b')],_0x3d8962[_0xc1b2('0x38')]);};exports[_0xc1b2('0x3c')]=function(_0x3d194e,_0x7b157a,_0xa4e997){_0x3d194e[_0xc1b2('0x3d')]=_0x7b157a;_0x3d194e[_0xc1b2('0x3e')]=_0xa4e997;};exports[_0xc1b2('0x3f')]=function(_0x26b167,_0x230dbb,_0x14e164){var _0x5691ff=moment()[_0xc1b2('0x14')](_0xc1b2('0x35'));_0x26b167[_0xc1b2('0x3a')]=_0x230dbb;_0x26b167[_0xc1b2('0x36')]=_0x14e164;_0x26b167[_0xc1b2('0x3b')]=_0x26b167[_0xc1b2('0x3b')]?_0x26b167[_0xc1b2('0x3b')]:_0x5691ff;_0x26b167['endtime']=_0x26b167[_0xc1b2('0x39')]?_0x26b167[_0xc1b2('0x39')]:_0x5691ff;_0x26b167[_0xc1b2('0x40')]=getSeconds(_0x26b167['responsetime']||0x0,_0x26b167['starttime']||0x0);_0x26b167['talktime']=_0x26b167[_0xc1b2('0x41')]?getSeconds(_0x26b167[_0xc1b2('0x39')],_0x26b167[_0xc1b2('0x41')]):0x0;};exports[_0xc1b2('0x42')]=function(_0x302d66){return _0x302d66===_0xc1b2('0x43');};exports['variablesAction']=function(_0x1e6656,_0x3f2138,_0x5784d1,_0xf8387a,_0x25702e){var _0x328d4b=_0xf8387a?_0xc1b2('0x44'):_0x1e6656[_0xc1b2('0x1b')];_0x328d4b=_0x25702e?'BOOKED':_0x328d4b;return{'actionid':_0x1e6656[_0xc1b2('0x45')],'action':_0xc1b2('0x46'),'channel':_0x1e6656[_0xc1b2('0x47')],'callerid':util[_0xc1b2('0x14')](_0xc1b2('0x15'),_0x328d4b,_0x1e6656['calleridnum']),'Exten':'xcally-motion-preview','Context':_0xc1b2('0x48'),'Priority':'1','variable':_0x5784d1,'timeout':(_0x3f2138[_0xc1b2('0x49')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1e6656[_0xc1b2('0x45')]};};exports[_0xc1b2('0x4a')]=function(_0x1619c1){return _0x1619c1['countbusyretry']+_0x1619c1['countcongestionretry']+_0x1619c1[_0xc1b2('0x4b')]+_0x1619c1['countagentrejectretry']+_0x1619c1['countnosuchnumberretry'];};exports['cloneAction']=function(_0x3fd5e9){var _0x85b6b0=_[_0xc1b2('0x4c')](_0x3fd5e9);_0x85b6b0[_0xc1b2('0x3a')]=0xf;_0x85b6b0[_0xc1b2('0x36')]='Global';return _0x85b6b0;};exports[_0xc1b2('0x4d')]=function(_0xf8e57c,_0x5555cb,_0x48f78d){var _0x56873b={};_0x56873b[_0x5555cb]=_0xf8e57c[_0x5555cb];_0x56873b[_0xc1b2('0x4e')]=![];_0x56873b[_0xc1b2('0x4f')]=moment()[_0xc1b2('0x50')](_0x48f78d,_0xc1b2('0x51'))[_0xc1b2('0x14')](_0xc1b2('0x35'));_0x56873b[_0xc1b2('0x1d')]=_0xf8e57c[_0xc1b2('0x1d')];_0x56873b['ListId']=_0xf8e57c[_0xc1b2('0x52')];_0x56873b[_0xc1b2('0x1e')]=_0xf8e57c[_0xc1b2('0x1e')]||undefined;return _0x56873b;};exports[_0xc1b2('0x53')]=function(_0x95adef,_0x553263){if(!_['isNil'](_0x95adef)){if(_0x95adef['pTalking']>0x0){_0x95adef[_0xc1b2('0x54')]-=0x1;}else{logger[_0xc1b2('0xa')](_0x553263,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0xc1b2('0xa')](_0x553263,_0xc1b2('0x55'));}};exports[_0xc1b2('0x56')]=function(_0x42c3dd){if(_0x42c3dd<=0x0){return!![];}return![];};exports[_0xc1b2('0x57')]=function(_0x12950e,_0x40de4b,_0x2e92c7){_0x12950e['lastevent']=_0x40de4b;_0x12950e[_0xc1b2('0x1a')]=_0x12950e[_0xc1b2('0x58')];_0x12950e['interface']=_0x12950e[_0xc1b2('0x47')];_0x12950e[_0xc1b2('0x59')]='voice';if(_0x2e92c7){_0x12950e[_0xc1b2('0x5a')]=_0x2e92c7[_0xc1b2('0x5a')];}return _0x12950e;};exports[_0xc1b2('0x5b')]=function(_0x23d2be){var _0x3eef0a={};_0x3eef0a[_0xc1b2('0x58')]=_0x23d2be[_0xc1b2('0x58')];_0x3eef0a['interface']=_0x23d2be['channelAgent'];_0x3eef0a[_0xc1b2('0x45')]=_0x23d2be[_0xc1b2('0x45')];return _0x3eef0a;};exports[_0xc1b2('0x5c')]=function(_0x3d65ec){var _0x1b5e4d=[];for(var _0x2c01ed in _0x3d65ec){if(_0x3d65ec['hasOwnProperty'](_0x2c01ed)){if(!_[_0xc1b2('0x17')](_0x3d65ec[_0x2c01ed])&&_0x3d65ec[_0x2c01ed][_0xc1b2('0x3a')]==='not_inuse'&&_0x3d65ec[_0x2c01ed][_0xc1b2('0x5d')]===_0xc1b2('0x5e')){_0x1b5e4d[_0xc1b2('0x5f')](_0x3d65ec[_0x2c01ed]['id']);}}}return _0x1b5e4d;};exports[_0xc1b2('0x60')]=function(_0x4ee052){var _0xd2d49=moment()[_0xc1b2('0x6')](0x0);var _0x5057f5=moment(_0x4ee052)[_0xc1b2('0x6')](0x0);return _0xd2d49[_0xc1b2('0x7')](_0x5057f5,_0xc1b2('0x8'));};exports[_0xc1b2('0x61')]=function(_0x477e86){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x477e86[_0xc1b2('0x1d')],'ListId':_0x477e86[_0xc1b2('0x52')],'VoiceQueueId':_0x477e86['VoiceQueueId']||undefined,'CampaignId':_0x477e86[_0xc1b2('0x62')]||undefined};};exports[_0xc1b2('0x63')]=function(_0x2b165b){if(_0x2b165b==='uniqueid'||_0x2b165b===_0xc1b2('0x64')||_0x2b165b===_0xc1b2('0x58')||_0x2b165b===_0xc1b2('0x65')||_0x2b165b===_0xc1b2('0x66')||_0x2b165b===_0xc1b2('0x67')||_0x2b165b===_0xc1b2('0x3d')||_0x2b165b===_0xc1b2('0x47')||_0x2b165b==='calleridname'||_0x2b165b==='active'||_0x2b165b===_0xc1b2('0x1c')||_0x2b165b===_0xc1b2('0x4f')||_0x2b165b===_0xc1b2('0x68')||_0x2b165b===_0xc1b2('0x69')||_0x2b165b===_0xc1b2('0x4b')||_0x2b165b===_0xc1b2('0x6a')||_0x2b165b==='callback'||_0x2b165b==='callbackuniqueid'||_0x2b165b===_0xc1b2('0x6b')||_0x2b165b===_0xc1b2('0x6c')||_0x2b165b===_0xc1b2('0x1d')||_0x2b165b===_0xc1b2('0x52')||_0x2b165b===_0xc1b2('0x3e')||_0x2b165b===_0xc1b2('0x1e')||_0x2b165b===_0xc1b2('0x6d')||_0x2b165b===_0xc1b2('0x6e')||_0x2b165b===_0xc1b2('0x6f')||_0x2b165b===_0xc1b2('0x70')||_0x2b165b===_0xc1b2('0x71')||_0x2b165b===_0xc1b2('0x72')||_0x2b165b===_0xc1b2('0x73')||_0x2b165b==='xmd-dialoptions'||_0x2b165b===_0xc1b2('0x74')||_0x2b165b==='xmd-dialchannel'||_0x2b165b===_0xc1b2('0x75')||_0x2b165b===_0xc1b2('0x76')||_0x2b165b===_0xc1b2('0x77')||_0x2b165b==='xmd-agiafter'||_0x2b165b===_0xc1b2('0x78')||_0x2b165b==='rtpaudioqos'||_0x2b165b===_0xc1b2('0x79')||_0x2b165b===_0xc1b2('0x7a')||_0x2b165b===_0xc1b2('0x7b')||_0x2b165b===_0xc1b2('0x7c')||_0x2b165b===_0xc1b2('0x7d')||_0x2b165b===_0xc1b2('0x7e')||_0x2b165b==='rtpaudioqosrttbridged'||_0x2b165b===_0xc1b2('0x7f')||_0x2b165b===_0xc1b2('0x79')||_0x2b165b===_0xc1b2('0x7a')||_0x2b165b===_0xc1b2('0x7b')||_0x2b165b===_0xc1b2('0x7c')||_0x2b165b==='rtpaudioqoslossbridged'||_0x2b165b===_0xc1b2('0x7e')||_0x2b165b===_0xc1b2('0x80')||_0x2b165b===_0xc1b2('0x81')||_0x2b165b===_0xc1b2('0x82')||_0x2b165b==='state'||_0x2b165b===_0xc1b2('0x36')){return![];}return!![];};exports[_0xc1b2('0x83')]=function(_0x5d79f3,_0x229040){var _0x55e803,_0x73a343,_0x30c8bb;if(_0x229040<=0x0){_0x229040=0x1;}_0x55e803=new RegExp(_0xc1b2('0x84')+_0x229040+'}$');_0x73a343=Math['pow'](0xa,_0x229040-0x1);_0x30c8bb=Math[_0xc1b2('0x85')](0xa,_0x229040)-0x1;return util[_0xc1b2('0x14')]('%s',_[_0xc1b2('0x86')](_0x5d79f3,_0x55e803,_[_0xc1b2('0x87')](_0x73a343,_0x30c8bb)));};exports[_0xc1b2('0x88')]=function(_0x13a3c9){var _0x5c42be=_0x13a3c9['match'](/"(.*?)"/);return _0x5c42be?_0x5c42be[0x1]:_0x13a3c9;};exports['extractCalleridNumber']=function(_0x21c144){var _0xc84728=_0x21c144[_0xc1b2('0x89')](/<(.*?)>/);return _0xc84728?_0xc84728[0x1]:_0x21c144;};