Built motion from commit b5a10faa.|2.6.13
[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 _0x1712=['dialQueueProject2','originatecalleridnum','originatecalleridname','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','tags','createdAt','XMD-','toUpper','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','getSeconds','membername','UserId','logCustomer','endtime','talktime','answertime','isFailure','variablesAction','RECALL','BOOKED','uniqueid','channelAgent','from-sip','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','Global','scheduledAt','scheduledat','add','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','lastevent','queue','interface','voice','mandatoryDisposition','buildObj','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','milliseconds','diff','seconds','createBody','CampaignId','type','campaigntype','dialAnswer','active','countglobal','callbackat','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqoslossbridged','bridgepeer','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','noanswer','variables','forEach','toLowerCase','util','lodash','../../../../config/logger','preview','127.0.0.1','error','inspect','logger','info','logger2','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','isActive','isNil','Queue','name','calleridname','calleridnum','ContactId','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE'];(function(_0x119bce,_0x577591){var _0x36bdaf=function(_0x139f1f){while(--_0x139f1f){_0x119bce['push'](_0x119bce['shift']());}};_0x36bdaf(++_0x577591);}(_0x1712,0x72));var _0x2171=function(_0x42bafd,_0x3f0fe3){_0x42bafd=_0x42bafd-0x0;var _0x2ed705=_0x1712[_0x42bafd];return _0x2ed705;};'use strict';var util=require(_0x2171('0x0'));var _=require(_0x2171('0x1'));var moment=require('moment');var logger=require(_0x2171('0x2'))(_0x2171('0x3'));var ipAgi=process['env']['XCALLY_IP_AGI']||_0x2171('0x4');var utils=require('../../dialer/utils');exports['loggerCatch']=function(_0x5afe18){return function(_0x14bd34){logger[_0x2171('0x5')](_0x5afe18,util[_0x2171('0x6')](_0x14bd34,{'showHidden':![],'depth':null}));};};exports[_0x2171('0x7')]=function(_0x5960f4,_0x2124b7){logger[_0x2171('0x8')](_0x5960f4,util[_0x2171('0x6')](_0x2124b7,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x5061df,_0x422587){logger['error'](_0x5061df,util[_0x2171('0x6')](_0x422587,{'showHidden':![],'depth':null}));};exports[_0x2171('0x9')]=function(_0x564a8c){return function(_0x4eae1d){logger[_0x2171('0x8')](_0x564a8c,util[_0x2171('0x6')](_0x4eae1d,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x6104d7,_0x1b5036,_0x4b1666){return{'message':_0x6104d7,'unlock':_0x1b5036,'active':_0x4b1666};};exports['getCallerId']=function(_0x520432,_0x37f461,_0x3f5a97){if(!_[_0x2171('0xa')](_0x3f5a97)&&_0x2171('0xb')===typeof _0x3f5a97&&!_[_0x2171('0xc')](_0x3f5a97)){if(!_[_0x2171('0xa')](_0x37f461)&&'string'===typeof _0x37f461&&!_[_0x2171('0xc')](_0x37f461)){return util['format']('\x22%s\x22\x20<%s>',_0x37f461,_0x3f5a97);}return util[_0x2171('0xd')](_0x2171('0xe'),_0x3f5a97,_0x3f5a97);}if(!_[_0x2171('0xa')](_0x520432)&&'string'===typeof _0x520432&&!_[_0x2171('0xc')](_0x520432)){return _0x520432;}return'\x22\x22\x20<>';};exports[_0x2171('0xf')]=function(_0x339b8f){if(_[_0x2171('0x10')](_0x339b8f)){return![];}return _0x339b8f;};exports['addVariables']=function(_0x170928,_0x8c0ae6,_0x27ed1d,_0x2f7229,_0x108703,_0x1bfdf9){var _0x2662e7={'XMD-QUEUE':_0x8c0ae6[_0x2171('0x11')]?_0x8c0ae6['Queue'][_0x2171('0x12')]:'','XMD-CALLERID':_0x2f7229,'XMD-CALLERID-PREVIEW':_0x1bfdf9?util[_0x2171('0xd')]('\x22%s\x22\x20<%s>',_0x1bfdf9[_0x2171('0x13')],_0x1bfdf9[_0x2171('0x14')]):_0x2f7229,'XMD-DIALID':_0x108703,'XMD-CONTACTID':_0x8c0ae6[_0x2171('0x15')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x2f7229,'XMD-VOICEQUEUEID':_0x8c0ae6['VoiceQueueId'],'XMD-DIALCHANNEL':_0x27ed1d,'XMD-DIALTIMEOUT':_0x170928[_0x2171('0x16')]||0x1e,'XMD-DIALOPTIONS':util[_0x2171('0xd')](_0x2171('0x17'),_0x170928['dialQueueProject2']?'g':'',_[_0x2171('0xc')](_0x170928[_0x2171('0x18')])?'':_0x2171('0x19')),'XMD-DIALURL':_0x170928[_0x2171('0x1a')]||'','XMD-AGI':_0x170928[_0x2171('0x1b')]?util[_0x2171('0xd')](_0x2171('0x1c'),ipAgi,_0x170928[_0x2171('0x1b')]):_0x2171('0x1d'),'XMD-AGIAFTER':_0x170928[_0x2171('0x1e')]?util[_0x2171('0xd')]('\x22agi://%s/square,%s\x22',ipAgi,_0x170928[_0x2171('0x1e')]):_0x2171('0x1d'),'XMD-ORIGINATECALLERIDNUM':_0x1bfdf9?_0x1bfdf9[_0x2171('0x1f')]:'','XMD-ORIGINATECALLERIDNAME':_0x1bfdf9?_0x1bfdf9[_0x2171('0x20')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':_0x2171('0x21')};if(!_[_0x2171('0xc')](_0x170928['monitor_format'])){_0x2662e7[util[_0x2171('0xd')]('%s',_0x2171('0x22'))]=_0x170928[_0x2171('0x18')];_0x2662e7[util[_0x2171('0xd')]('%s',_0x2171('0x23'))]=_0x108703;}if(_0x8c0ae6&&_0x8c0ae6[_0x2171('0x24')]){for(var _0x27eac0 in _0x8c0ae6['Contact']){if(_0x8c0ae6['Contact']['hasOwnProperty'](_0x27eac0)){if(!_[_0x2171('0x10')](_0x8c0ae6[_0x2171('0x24')][_0x27eac0])&&_0x27eac0!=='id'&&_0x27eac0!==_0x2171('0x25')&&_0x27eac0!==_0x2171('0x26')&&_0x27eac0!=='updatedAt'){_0x2662e7[util[_0x2171('0xd')]('%s%s',_0x2171('0x27'),_[_0x2171('0x28')](_0x27eac0))]=_0x8c0ae6[_0x2171('0x24')][_0x27eac0];}}}}return _0x2662e7;};exports['toLowerVariables']=function(_0x336c31){var _0x330254={};for(var _0x35ae48 in _0x336c31){if(_0x336c31[_0x2171('0x29')](_0x35ae48)){_0x330254[util['format']('%s',_[_0x2171('0x2a')](_0x35ae48))]=_0x336c31[_0x35ae48];}}return{'variables':_0x330254};};exports[_0x2171('0x2b')]=function(_0x454e2c,_0x4bc6a1){if(!_[_0x2171('0x10')](_0x454e2c)){if(_0x454e2c[_0x2171('0x29')]('originated')){if(_0x454e2c[_0x2171('0x2c')]>0x0){_0x454e2c[_0x2171('0x2c')]-=0x1;}else{logger[_0x2171('0x5')](_0x2171('0x2d'),_0x4bc6a1);}}}else{logger['error'](_0x2171('0x2e'),_0x4bc6a1);}};exports[_0x2171('0x2f')]=function(_0x2798cb){var _0x23421b=moment()[_0x2171('0xd')](_0x2171('0x30'));_0x2798cb[_0x2171('0x31')]=0xd;_0x2798cb[_0x2171('0x32')]=_0x2171('0x33');_0x2798cb[_0x2171('0x34')]=_0x23421b;_0x2798cb[_0x2171('0x35')]=_0x23421b;_0x2798cb['endtime']=_0x23421b;};exports['logAgent']=function(_0x503d7e,_0x28ce1f,_0x563ca4){var _0x2371e7=moment()[_0x2171('0xd')]('YYYY-MM-DD\x20HH:mm:ss');_0x503d7e['state']=_0x28ce1f;_0x503d7e[_0x2171('0x32')]=_0x563ca4;_0x503d7e[_0x2171('0x35')]=_0x2371e7;_0x503d7e['ringtime']=utils[_0x2171('0x36')](_0x503d7e[_0x2171('0x35')],_0x503d7e[_0x2171('0x34')]);};exports['logLookAgent']=function(_0x48cdf7,_0xa789ed,_0x4850e6){_0x48cdf7[_0x2171('0x37')]=_0xa789ed;_0x48cdf7[_0x2171('0x38')]=_0x4850e6;};exports[_0x2171('0x39')]=function(_0x4a855a,_0x6eea3f,_0x591cbb){var _0x18b0ab=moment()[_0x2171('0xd')]('YYYY-MM-DD\x20HH:mm:ss');_0x4a855a[_0x2171('0x31')]=_0x6eea3f;_0x4a855a[_0x2171('0x32')]=_0x591cbb;_0x4a855a['responsetime']=_0x4a855a[_0x2171('0x35')]?_0x4a855a[_0x2171('0x35')]:_0x18b0ab;_0x4a855a[_0x2171('0x3a')]=_0x4a855a[_0x2171('0x3a')]?_0x4a855a[_0x2171('0x3a')]:_0x18b0ab;_0x4a855a['ringtime']=utils['getSeconds'](_0x4a855a[_0x2171('0x35')]||0x0,_0x4a855a[_0x2171('0x34')]||0x0);_0x4a855a[_0x2171('0x3b')]=_0x4a855a[_0x2171('0x3c')]?utils['getSeconds'](_0x4a855a[_0x2171('0x3a')],_0x4a855a[_0x2171('0x3c')]):0x0;};exports[_0x2171('0x3d')]=function(_0x4b52b9){return _0x4b52b9==='Failure';};exports[_0x2171('0x3e')]=function(_0x195d2a,_0xd65872,_0xdb300d,_0x19d138,_0x11a5a0){var _0x2de030=_0x19d138?_0x2171('0x3f'):_0x195d2a[_0x2171('0x13')];_0x2de030=_0x11a5a0?_0x2171('0x40'):_0x2de030;return{'actionid':_0x195d2a[_0x2171('0x41')],'action':'originate','channel':_0x195d2a[_0x2171('0x42')],'callerid':util[_0x2171('0xd')](_0x2171('0xe'),_0x2de030,_0x195d2a['calleridnum']),'Exten':'xcally-motion-preview','Context':_0x2171('0x43'),'Priority':'1','variable':_0xdb300d,'timeout':(_0xd65872[_0x2171('0x44')]||0x1e)*0x3e8,'async':!![],'channelid':_0x195d2a[_0x2171('0x41')]};};exports[_0x2171('0x45')]=function(_0x5573c8){return _0x5573c8[_0x2171('0x46')]+_0x5573c8[_0x2171('0x47')]+_0x5573c8[_0x2171('0x48')]+_0x5573c8[_0x2171('0x49')]+_0x5573c8[_0x2171('0x4a')];};exports[_0x2171('0x4b')]=function(_0x379147){var _0x25e6c3=_['clone'](_0x379147);_0x25e6c3[_0x2171('0x31')]=0xf;_0x25e6c3[_0x2171('0x32')]=_0x2171('0x4c');return _0x25e6c3;};exports[_0x2171('0x4d')]=function(_0x32cabd,_0x1fecd4,_0x2908be){var _0x40cd85={};_0x40cd85[_0x1fecd4]=_0x32cabd[_0x1fecd4];_0x40cd85['active']=![];_0x40cd85[_0x2171('0x4e')]=moment()[_0x2171('0x4f')](_0x2908be,'minutes')['format'](_0x2171('0x30'));_0x40cd85['ContactId']=_0x32cabd['ContactId'];_0x40cd85[_0x2171('0x50')]=_0x32cabd[_0x2171('0x50')];_0x40cd85[_0x2171('0x51')]=_0x32cabd['VoiceQueueId']||undefined;return _0x40cd85;};exports[_0x2171('0x52')]=function(_0x1bb432,_0x36ebce){if(!_[_0x2171('0x10')](_0x1bb432)){if(_0x1bb432[_0x2171('0x53')]>0x0){_0x1bb432[_0x2171('0x53')]-=0x1;}else{logger[_0x2171('0x5')](_0x36ebce,_0x2171('0x54'));}}else{logger[_0x2171('0x5')](_0x36ebce,_0x2171('0x55'));}};exports['IsNotLoggedIn']=function(_0x2dc976){if(_0x2dc976<=0x0){return!![];}return![];};function buildObj(_0xde2933,_0x31c137,_0x3b2f1a){_0xde2933[_0x2171('0x56')]=_0x31c137;_0xde2933['name']=_0xde2933[_0x2171('0x57')];_0xde2933[_0x2171('0x58')]=_0xde2933[_0x2171('0x42')];_0xde2933['motionChannel']=_0x2171('0x59');if(_0x3b2f1a){_0xde2933[_0x2171('0x5a')]=_0x3b2f1a['mandatoryDisposition'];}return _0xde2933;}exports[_0x2171('0x5b')]=buildObj;exports[_0x2171('0x5c')]=function(_0x38502b){var _0x831c4b={};_0x831c4b[_0x2171('0x57')]=_0x38502b[_0x2171('0x57')];_0x831c4b['interface']=_0x38502b[_0x2171('0x42')];_0x831c4b['uniqueid']=_0x38502b[_0x2171('0x41')];return _0x831c4b;};exports[_0x2171('0x5d')]=function(_0x5958c4){var _0x28c782=[];for(var _0xcd2ea3 in _0x5958c4){if(_0x5958c4['hasOwnProperty'](_0xcd2ea3)){if(!_[_0x2171('0x10')](_0x5958c4[_0xcd2ea3])&&_0x5958c4[_0xcd2ea3][_0x2171('0x31')]===_0x2171('0x5e')&&_0x5958c4[_0xcd2ea3][_0x2171('0x5f')]===_0x2171('0x60')){_0x28c782[_0x2171('0x61')](_0x5958c4[_0xcd2ea3]['id']);}}}return _0x28c782;};exports[_0x2171('0x62')]=function(_0x44a154){var _0x30a5b8=moment()[_0x2171('0x63')](0x0);var _0x102f2e=moment(_0x44a154)['milliseconds'](0x0);return _0x30a5b8[_0x2171('0x64')](_0x102f2e,_0x2171('0x65'));};exports[_0x2171('0x66')]=function(_0x51b5d7){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x51b5d7[_0x2171('0x15')],'ListId':_0x51b5d7[_0x2171('0x50')],'VoiceQueueId':_0x51b5d7[_0x2171('0x51')]||undefined,'CampaignId':_0x51b5d7[_0x2171('0x67')]||undefined};};exports['filterKey']=function(_0x56b307){if(_0x56b307===_0x2171('0x41')||_0x56b307==='idContact'||_0x56b307===_0x2171('0x57')||_0x56b307===_0x2171('0x68')||_0x56b307===_0x2171('0x69')||_0x56b307===_0x2171('0x6a')||_0x56b307===_0x2171('0x37')||_0x56b307===_0x2171('0x42')||_0x56b307==='calleridname'||_0x56b307===_0x2171('0x6b')||_0x56b307==='calleridnum'||_0x56b307===_0x2171('0x4e')||_0x56b307==='countbusyretry'||_0x56b307===_0x2171('0x47')||_0x56b307===_0x2171('0x48')||_0x56b307===_0x2171('0x6c')||_0x56b307==='callback'||_0x56b307==='callbackuniqueid'||_0x56b307===_0x2171('0x6d')||_0x56b307==='recallme'||_0x56b307===_0x2171('0x15')||_0x56b307==='ListId'||_0x56b307==='UserId'||_0x56b307===_0x2171('0x51')||_0x56b307===_0x2171('0x6e')||_0x56b307===_0x2171('0x6f')||_0x56b307===_0x2171('0x70')||_0x56b307===_0x2171('0x71')||_0x56b307==='xmd-listid'||_0x56b307===_0x2171('0x72')||_0x56b307===_0x2171('0x73')||_0x56b307===_0x2171('0x74')||_0x56b307===_0x2171('0x75')||_0x56b307===_0x2171('0x76')||_0x56b307===_0x2171('0x77')||_0x56b307===_0x2171('0x78')||_0x56b307===_0x2171('0x79')||_0x56b307===_0x2171('0x7a')||_0x56b307===_0x2171('0x7b')||_0x56b307===_0x2171('0x7c')||_0x56b307===_0x2171('0x7d')||_0x56b307===_0x2171('0x7e')||_0x56b307===_0x2171('0x7f')||_0x56b307===_0x2171('0x80')||_0x56b307==='rtpaudioqoslossbridged'||_0x56b307===_0x2171('0x81')||_0x56b307===_0x2171('0x82')||_0x56b307===_0x2171('0x7c')||_0x56b307===_0x2171('0x7d')||_0x56b307==='rtpaudioqosjitter'||_0x56b307===_0x2171('0x7f')||_0x56b307==='rtpaudioqosloss'||_0x56b307===_0x2171('0x83')||_0x56b307===_0x2171('0x81')||_0x56b307==='rtpaudioqosrttbridged'||_0x56b307===_0x2171('0x84')||_0x56b307==='bridgepvtcallid'||_0x56b307===_0x2171('0x31')||_0x56b307===_0x2171('0x32')){return![];}return!![];};exports[_0x2171('0x85')]=function(_0x3f1488,_0x416f10){var _0x1684a5,_0x525c71,_0x5e03b1;if(_0x416f10<=0x0){_0x416f10=0x1;}_0x1684a5=new RegExp(_0x2171('0x86')+_0x416f10+'}$');_0x525c71=Math['pow'](0xa,_0x416f10-0x1);_0x5e03b1=Math[_0x2171('0x87')](0xa,_0x416f10)-0x1;return util[_0x2171('0xd')]('%s',_[_0x2171('0x88')](_0x3f1488,_0x1684a5,_[_0x2171('0x89')](_0x525c71,_0x5e03b1)));};exports[_0x2171('0x8a')]=function(_0x1d9cd3){var _0x443343=_0x1d9cd3[_0x2171('0x8b')](/"(.*?)"/);return _0x443343?_0x443343[0x1]:_0x1d9cd3;};exports['extractCalleridNumber']=function(_0x557f90){var _0x383928=_0x557f90['match'](/<(.*?)>/);return _0x383928?_0x383928[0x1]:_0x557f90;};function buildNoAnswerEventPayload(_0x3c78cb,_0x6d7357){var _0x509ad6=buildObj(_0x3c78cb,_0x2171('0x8c'));if(!_['isEmpty'](_0x6d7357[_0x2171('0x8d')])){Object['keys'](_0x6d7357['variables'])[_0x2171('0x8e')](function(_0x56b80b){_0x509ad6[_0x56b80b[_0x2171('0x8f')]()]=_0x6d7357['variables'][_0x56b80b];});}return _0x509ad6;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;