2e6204c71e9c3acc51290fe1cc03aa6cc4c0a0d6
[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 _0x20dd=['getCallerId','isUndefined','string','isEmpty','\x22%s\x22\x20<%s>','format','\x22\x22\x20<>','isActive','addVariables','calleridname','calleridnum','ContactId','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','toLowerVariables','hasOwnProperty','toLower','logBlacklist','state','Blacklist','starttime','responsetime','logAgent','YYYY-MM-DD\x20HH:mm:ss','statedesc','ringtime','logLookAgent','membername','UserId','endtime','talktime','Failure','variablesAction','RECALL','BOOKED','uniqueid','originate','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','cloneAction','scheduledAt','active','add','minutes','ListId','decrementTalking','isNil','pTalking','[decrementTalking]\x20object\x20talking\x20is\x20negative','[decrementTalking]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','interface','channelAgent','motionChannel','voice','mandatoryDisposition','buildObj','agentReadyId','not_inuse','status','push','getDiff','milliseconds','diff','seconds','filterKey','queue','type','dialAnswer','scheduledat','countglobal','callback','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-agiafter','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqos','rtpaudioqosjitter','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','noanswer','variables','keys','forEach','toLowerCase','buildNoAnswerEventPayload','util','lodash','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','loggerCatch','inspect','logger','info','loggerError','error','logger2'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0x20dd,0x110));var _0xd20d=function(_0x499d3c,_0x52342a){_0x499d3c=_0x499d3c-0x0;var _0x3a63f6=_0x20dd[_0x499d3c];return _0x3a63f6;};'use strict';var util=require(_0xd20d('0x0'));var _=require(_0xd20d('0x1'));var moment=require(_0xd20d('0x2'));var logger=require(_0xd20d('0x3'))(_0xd20d('0x4'));var ipAgi=process[_0xd20d('0x5')][_0xd20d('0x6')]||_0xd20d('0x7');var utils=require(_0xd20d('0x8'));exports[_0xd20d('0x9')]=function(_0x299cbd){return function(_0x26b79d){logger['error'](_0x299cbd,util[_0xd20d('0xa')](_0x26b79d,{'showHidden':![],'depth':null}));};};exports[_0xd20d('0xb')]=function(_0xf75846,_0x27c284){logger[_0xd20d('0xc')](_0xf75846,util[_0xd20d('0xa')](_0x27c284,{'showHidden':![],'depth':null}));};exports[_0xd20d('0xd')]=function(_0x47582e,_0x1dfa2c){logger[_0xd20d('0xe')](_0x47582e,util[_0xd20d('0xa')](_0x1dfa2c,{'showHidden':![],'depth':null}));};exports[_0xd20d('0xf')]=function(_0x4f2837){return function(_0x575edc){logger[_0xd20d('0xc')](_0x4f2837,util[_0xd20d('0xa')](_0x575edc,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x1aeb93,_0x55f32c,_0x1e9803){return{'message':_0x1aeb93,'unlock':_0x55f32c,'active':_0x1e9803};};exports[_0xd20d('0x10')]=function(_0x895c40,_0x392ba7,_0x528405){if(!_[_0xd20d('0x11')](_0x528405)&&_0xd20d('0x12')===typeof _0x528405&&!_[_0xd20d('0x13')](_0x528405)){if(!_['isUndefined'](_0x392ba7)&&_0xd20d('0x12')===typeof _0x392ba7&&!_[_0xd20d('0x13')](_0x392ba7)){return util['format'](_0xd20d('0x14'),_0x392ba7,_0x528405);}return util[_0xd20d('0x15')](_0xd20d('0x14'),_0x528405,_0x528405);}if(!_['isUndefined'](_0x895c40)&&'string'===typeof _0x895c40&&!_[_0xd20d('0x13')](_0x895c40)){return _0x895c40;}return _0xd20d('0x16');};exports[_0xd20d('0x17')]=function(_0x56fe36){if(_['isNil'](_0x56fe36)){return![];}return _0x56fe36;};exports[_0xd20d('0x18')]=function(_0x48f1fb,_0x3e611f,_0xdc918,_0x4e5ff5,_0x1b3067,_0x1b648c){var _0xc6d003={'XMD-QUEUE':_0x3e611f['Queue']?_0x3e611f['Queue']['name']:'','XMD-CALLERID':_0x4e5ff5,'XMD-CALLERID-PREVIEW':_0x1b648c?util[_0xd20d('0x15')](_0xd20d('0x14'),_0x1b648c[_0xd20d('0x19')],_0x1b648c[_0xd20d('0x1a')]):_0x4e5ff5,'XMD-DIALID':_0x1b3067,'XMD-CONTACTID':_0x3e611f[_0xd20d('0x1b')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x4e5ff5,'XMD-VOICEQUEUEID':_0x3e611f[_0xd20d('0x1c')],'XMD-DIALCHANNEL':_0xdc918,'XMD-DIALTIMEOUT':_0x48f1fb[_0xd20d('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0xd20d('0x15')](_0xd20d('0x1e'),_0x48f1fb[_0xd20d('0x1f')]?'g':'',_[_0xd20d('0x13')](_0x48f1fb[_0xd20d('0x20')])?'':_0xd20d('0x21')),'XMD-DIALURL':_0x48f1fb[_0xd20d('0x22')]||'','XMD-AGI':_0x48f1fb[_0xd20d('0x23')]?util[_0xd20d('0x15')](_0xd20d('0x24'),ipAgi,_0x48f1fb['dialQueueProject']):_0xd20d('0x25'),'XMD-AGIAFTER':_0x48f1fb['dialQueueProject2']?util[_0xd20d('0x15')](_0xd20d('0x24'),ipAgi,_0x48f1fb[_0xd20d('0x1f')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x1b648c?_0x1b648c[_0xd20d('0x26')]:'','XMD-ORIGINATECALLERIDNAME':_0x1b648c?_0x1b648c[_0xd20d('0x27')]:'','XMD-DESTINATION':_0xd20d('0x28'),'SIPADDHEADER':_0xd20d('0x29')};if(!_['isEmpty'](_0x48f1fb[_0xd20d('0x20')])){_0xc6d003[util[_0xd20d('0x15')]('%s',_0xd20d('0x2a'))]=_0x48f1fb[_0xd20d('0x20')];_0xc6d003[util[_0xd20d('0x15')]('%s',_0xd20d('0x2b'))]=_0x1b3067;}return _0xc6d003;};exports[_0xd20d('0x2c')]=function(_0x15249e){var _0xb2f09c={};for(var _0x1a2c33 in _0x15249e){if(_0x15249e[_0xd20d('0x2d')](_0x1a2c33)){_0xb2f09c[util['format']('%s',_[_0xd20d('0x2e')](_0x1a2c33))]=_0x15249e[_0x1a2c33];}}return{'variables':_0xb2f09c};};exports[_0xd20d('0x2f')]=function(_0xb39e04){var _0x545b6c=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0xb39e04[_0xd20d('0x30')]=0xd;_0xb39e04['statedesc']=_0xd20d('0x31');_0xb39e04[_0xd20d('0x32')]=_0x545b6c;_0xb39e04[_0xd20d('0x33')]=_0x545b6c;_0xb39e04['endtime']=_0x545b6c;};exports[_0xd20d('0x34')]=function(_0x1a7b5f,_0x37f6c4,_0x39bf96){var _0x5dbcdb=moment()[_0xd20d('0x15')](_0xd20d('0x35'));_0x1a7b5f['state']=_0x37f6c4;_0x1a7b5f[_0xd20d('0x36')]=_0x39bf96;_0x1a7b5f[_0xd20d('0x33')]=_0x5dbcdb;_0x1a7b5f[_0xd20d('0x37')]=utils['getSeconds'](_0x1a7b5f['responsetime'],_0x1a7b5f[_0xd20d('0x32')]);};exports[_0xd20d('0x38')]=function(_0x25520d,_0x601e5d,_0x383556){_0x25520d[_0xd20d('0x39')]=_0x601e5d;_0x25520d[_0xd20d('0x3a')]=_0x383556;};exports['logCustomer']=function(_0xff2bf3,_0x340f88,_0x196d60){var _0xc2dd76=moment()[_0xd20d('0x15')](_0xd20d('0x35'));_0xff2bf3[_0xd20d('0x30')]=_0x340f88;_0xff2bf3[_0xd20d('0x36')]=_0x196d60;_0xff2bf3['responsetime']=_0xff2bf3['responsetime']?_0xff2bf3[_0xd20d('0x33')]:_0xc2dd76;_0xff2bf3[_0xd20d('0x3b')]=_0xff2bf3[_0xd20d('0x3b')]?_0xff2bf3[_0xd20d('0x3b')]:_0xc2dd76;_0xff2bf3[_0xd20d('0x37')]=utils['getSeconds'](_0xff2bf3[_0xd20d('0x33')]||0x0,_0xff2bf3[_0xd20d('0x32')]||0x0);_0xff2bf3[_0xd20d('0x3c')]=_0xff2bf3['answertime']?utils['getSeconds'](_0xff2bf3[_0xd20d('0x3b')],_0xff2bf3['answertime']):0x0;};exports['isFailure']=function(_0x6866a0){return _0x6866a0===_0xd20d('0x3d');};exports[_0xd20d('0x3e')]=function(_0x2718fe,_0x4a8ac1,_0x8fad8c,_0x6c3027,_0xd58a08){var _0x470b79=_0x6c3027?_0xd20d('0x3f'):_0x2718fe[_0xd20d('0x19')];_0x470b79=_0xd58a08?_0xd20d('0x40'):_0x470b79;return{'actionid':_0x2718fe[_0xd20d('0x41')],'action':_0xd20d('0x42'),'channel':_0x2718fe['channelAgent'],'callerid':util['format'](_0xd20d('0x14'),_0x470b79,_0x2718fe['calleridnum']),'Exten':_0xd20d('0x28'),'Context':'from-sip','Priority':'1','variable':_0x8fad8c,'timeout':(_0x4a8ac1[_0xd20d('0x43')]||0x1e)*0x3e8,'async':!![],'channelid':_0x2718fe[_0xd20d('0x41')]};};exports[_0xd20d('0x44')]=function(_0x43d5e7){return _0x43d5e7[_0xd20d('0x45')]+_0x43d5e7[_0xd20d('0x46')]+_0x43d5e7[_0xd20d('0x47')]+_0x43d5e7[_0xd20d('0x48')]+_0x43d5e7['countnosuchnumberretry'];};exports[_0xd20d('0x49')]=function(_0x34f930){var _0x1344ac=_['clone'](_0x34f930);_0x1344ac[_0xd20d('0x30')]=0xf;_0x1344ac[_0xd20d('0x36')]='Global';return _0x1344ac;};exports[_0xd20d('0x4a')]=function(_0x4a14fb,_0x2b94d7,_0x4de6e6){var _0xd918ad={};_0xd918ad[_0x2b94d7]=_0x4a14fb[_0x2b94d7];_0xd918ad[_0xd20d('0x4b')]=![];_0xd918ad['scheduledat']=moment()[_0xd20d('0x4c')](_0x4de6e6,_0xd20d('0x4d'))[_0xd20d('0x15')]('YYYY-MM-DD\x20HH:mm:ss');_0xd918ad[_0xd20d('0x1b')]=_0x4a14fb[_0xd20d('0x1b')];_0xd918ad[_0xd20d('0x4e')]=_0x4a14fb[_0xd20d('0x4e')];_0xd918ad[_0xd20d('0x1c')]=_0x4a14fb['VoiceQueueId']||undefined;return _0xd918ad;};exports[_0xd20d('0x4f')]=function(_0x5c5b99,_0x4f54ba){if(!_[_0xd20d('0x50')](_0x5c5b99)){if(_0x5c5b99['pTalking']>0x0){_0x5c5b99[_0xd20d('0x51')]-=0x1;}else{logger['info'](_0x4f54ba,_0xd20d('0x52'));}}else{logger[_0xd20d('0xe')](_0x4f54ba,_0xd20d('0x53'));}};exports[_0xd20d('0x54')]=function(_0x90ecbf){if(_0x90ecbf<=0x0){return!![];}return![];};function buildObj(_0x36b39e,_0x2f9d94,_0x5024d4){_0x36b39e[_0xd20d('0x55')]=_0x2f9d94;_0x36b39e['name']=_0x36b39e['queue'];_0x36b39e[_0xd20d('0x56')]=_0x36b39e[_0xd20d('0x57')];_0x36b39e[_0xd20d('0x58')]=_0xd20d('0x59');if(_0x5024d4){_0x36b39e[_0xd20d('0x5a')]=_0x5024d4[_0xd20d('0x5a')];}return _0x36b39e;}exports[_0xd20d('0x5b')]=buildObj;exports[_0xd20d('0x5c')]=function(_0xf56818){var _0x4222d6=[];for(var _0x348a46 in _0xf56818){if(_0xf56818[_0xd20d('0x2d')](_0x348a46)){if(!_['isNil'](_0xf56818[_0x348a46])&&_0xf56818[_0x348a46][_0xd20d('0x30')]===_0xd20d('0x5d')&&_0xf56818[_0x348a46][_0xd20d('0x5e')]==='reachable'){_0x4222d6[_0xd20d('0x5f')](_0xf56818[_0x348a46]['id']);}}}return _0x4222d6;};exports[_0xd20d('0x60')]=function(_0x831284){var _0xc0d903=moment()[_0xd20d('0x61')](0x0);var _0x571211=moment(_0x831284)[_0xd20d('0x61')](0x0);return _0xc0d903[_0xd20d('0x62')](_0x571211,_0xd20d('0x63'));};exports['createBody']=function(_0x4d78fe){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x4d78fe[_0xd20d('0x1b')],'ListId':_0x4d78fe['ListId'],'VoiceQueueId':_0x4d78fe[_0xd20d('0x1c')]||undefined,'CampaignId':_0x4d78fe['CampaignId']||undefined};};exports[_0xd20d('0x64')]=function(_0x25b999){if(_0x25b999==='uniqueid'||_0x25b999==='idContact'||_0x25b999===_0xd20d('0x65')||_0x25b999===_0xd20d('0x66')||_0x25b999==='campaigntype'||_0x25b999===_0xd20d('0x67')||_0x25b999===_0xd20d('0x39')||_0x25b999===_0xd20d('0x57')||_0x25b999==='calleridname'||_0x25b999==='active'||_0x25b999==='calleridnum'||_0x25b999===_0xd20d('0x68')||_0x25b999===_0xd20d('0x45')||_0x25b999===_0xd20d('0x46')||_0x25b999===_0xd20d('0x47')||_0x25b999===_0xd20d('0x69')||_0x25b999===_0xd20d('0x6a')||_0x25b999===_0xd20d('0x6b')||_0x25b999===_0xd20d('0x6c')||_0x25b999===_0xd20d('0x6d')||_0x25b999===_0xd20d('0x1b')||_0x25b999===_0xd20d('0x4e')||_0x25b999===_0xd20d('0x3a')||_0x25b999===_0xd20d('0x1c')||_0x25b999===_0xd20d('0x6e')||_0x25b999===_0xd20d('0x6f')||_0x25b999===_0xd20d('0x70')||_0x25b999===_0xd20d('0x71')||_0x25b999===_0xd20d('0x72')||_0x25b999===_0xd20d('0x73')||_0x25b999===_0xd20d('0x74')||_0x25b999===_0xd20d('0x75')||_0x25b999===_0xd20d('0x76')||_0x25b999===_0xd20d('0x77')||_0x25b999===_0xd20d('0x78')||_0x25b999===_0xd20d('0x79')||_0x25b999==='xmd-callerid'||_0x25b999===_0xd20d('0x7a')||_0x25b999==='xmd-agi'||_0x25b999==='rtpaudioqos'||_0x25b999===_0xd20d('0x7b')||_0x25b999==='rtpaudioqosjitter'||_0x25b999===_0xd20d('0x7c')||_0x25b999==='rtpaudioqosloss'||_0x25b999===_0xd20d('0x7d')||_0x25b999===_0xd20d('0x7e')||_0x25b999==='rtpaudioqosrttbridged'||_0x25b999===_0xd20d('0x7f')||_0x25b999===_0xd20d('0x7b')||_0x25b999===_0xd20d('0x80')||_0x25b999===_0xd20d('0x7c')||_0x25b999==='rtpaudioqosloss'||_0x25b999===_0xd20d('0x7d')||_0x25b999==='rtpaudioqosrtt'||_0x25b999==='rtpaudioqosrttbridged'||_0x25b999===_0xd20d('0x81')||_0x25b999===_0xd20d('0x82')||_0x25b999===_0xd20d('0x30')||_0x25b999===_0xd20d('0x36')){return![];}return!![];};exports[_0xd20d('0x83')]=function(_0x343a7e,_0x1bc808){var _0xeaeed8,_0xf2bc59,_0x304749;if(_0x1bc808<=0x0){_0x1bc808=0x1;}_0xeaeed8=new RegExp(_0xd20d('0x84')+_0x1bc808+'}$');_0xf2bc59=Math[_0xd20d('0x85')](0xa,_0x1bc808-0x1);_0x304749=Math[_0xd20d('0x85')](0xa,_0x1bc808)-0x1;return util[_0xd20d('0x15')]('%s',_[_0xd20d('0x86')](_0x343a7e,_0xeaeed8,_[_0xd20d('0x87')](_0xf2bc59,_0x304749)));};exports[_0xd20d('0x88')]=function(_0x3bac5a){var _0x1f3fd0=_0x3bac5a['match'](/"(.*?)"/);return _0x1f3fd0?_0x1f3fd0[0x1]:_0x3bac5a;};exports['extractCalleridNumber']=function(_0x3399bb){var _0x56e940=_0x3399bb[_0xd20d('0x89')](/<(.*?)>/);return _0x56e940?_0x56e940[0x1]:_0x3399bb;};function buildNoAnswerEventPayload(_0x4e2cd5,_0x324ffa){var _0x4de7f0=buildObj(_0x4e2cd5,_0xd20d('0x8a'));if(!_[_0xd20d('0x13')](_0x324ffa[_0xd20d('0x8b')])){Object[_0xd20d('0x8c')](_0x324ffa[_0xd20d('0x8b')])[_0xd20d('0x8d')](function(_0x5474e2){_0x4de7f0[_0x5474e2[_0xd20d('0x8e')]()]=_0x324ffa[_0xd20d('0x8b')][_0x5474e2];});}return _0x4de7f0;}exports[_0xd20d('0x8f')]=buildNoAnswerEventPayload;