5b8c18f8e0a542bcc58ecbea1f85bfdc347dbadf
[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 _0x6946=['isUndefined','isEmpty','format','\x22%s\x22\x20<%s>','string','\x22\x22\x20<>','isActive','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','dialOriginateTimeout','dialQueueProject2','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_UNIQUEID','Contact','isNil','tags','updatedAt','%s%s','XMD-','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','logAgent','ringtime','membername','UserId','logCustomer','endtime','answertime','Failure','variablesAction','BOOKED','uniqueid','originate','from-sip','timeout','totalGlobal','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','Global','scheduledAt','active','scheduledat','add','minutes','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','interface','channelAgent','mandatoryDisposition','not_inuse','status','reachable','push','getDiff','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','countbusyretry','countglobal','callback','callbackuniqueid','callbackat','recallme','xmd-voicequeueid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosjitter','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','random','extractCalleridName','match','extractCalleridNumber','util','lodash','moment','../../../../config/logger','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','loggerCatch','error','inspect','logger','info','loggerError','logger2','message'];(function(_0x3ee55a,_0x19aeea){var _0x581800=function(_0x636cb7){while(--_0x636cb7){_0x3ee55a['push'](_0x3ee55a['shift']());}};_0x581800(++_0x19aeea);}(_0x6946,0x10a));var _0x6694=function(_0x586a0e,_0x2b6eac){_0x586a0e=_0x586a0e-0x0;var _0x484c02=_0x6946[_0x586a0e];return _0x484c02;};'use strict';var util=require(_0x6694('0x0'));var _=require(_0x6694('0x1'));var moment=require(_0x6694('0x2'));var logger=require(_0x6694('0x3'))('preview');var ipAgi=process[_0x6694('0x4')][_0x6694('0x5')]||_0x6694('0x6');function getSeconds(_0x2ecd26,_0x572f97){var _0x438964=moment(_0x2ecd26)['milliseconds'](0x0);var _0x360f15=moment(_0x572f97)[_0x6694('0x7')](0x0);return _0x438964[_0x6694('0x8')](_0x360f15,_0x6694('0x9'));}exports[_0x6694('0xa')]=function(_0x19fa04){return function(_0x4cf188){logger[_0x6694('0xb')](_0x19fa04,util[_0x6694('0xc')](_0x4cf188,{'showHidden':![],'depth':null}));};};exports[_0x6694('0xd')]=function(_0x2863e8,_0x174100){logger[_0x6694('0xe')](_0x2863e8,util[_0x6694('0xc')](_0x174100,{'showHidden':![],'depth':null}));};exports[_0x6694('0xf')]=function(_0x5cd4c2,_0x330316){logger[_0x6694('0xb')](_0x5cd4c2,util[_0x6694('0xc')](_0x330316,{'showHidden':![],'depth':null}));};exports[_0x6694('0x10')]=function(_0x41fb58){return function(_0x305275){logger[_0x6694('0xe')](_0x41fb58,util['inspect'](_0x305275,{'showHidden':![],'depth':null}));};};exports[_0x6694('0x11')]=function(_0x1b1e1c,_0x3ef3f4,_0x440d34){return{'message':_0x1b1e1c,'unlock':_0x3ef3f4,'active':_0x440d34};};exports['getCallerId']=function(_0x489514,_0x2277c4,_0x1e655e){if(!_[_0x6694('0x12')](_0x1e655e)&&'string'===typeof _0x1e655e&&!_['isEmpty'](_0x1e655e)){if(!_['isUndefined'](_0x2277c4)&&'string'===typeof _0x2277c4&&!_[_0x6694('0x13')](_0x2277c4)){return util[_0x6694('0x14')](_0x6694('0x15'),_0x2277c4,_0x1e655e);}return util[_0x6694('0x14')](_0x6694('0x15'),_0x1e655e,_0x1e655e);}if(!_[_0x6694('0x12')](_0x489514)&&_0x6694('0x16')===typeof _0x489514&&!_[_0x6694('0x13')](_0x489514)){return _0x489514;}return _0x6694('0x17');};exports[_0x6694('0x18')]=function(_0x467ab6){if(_['isNil'](_0x467ab6)){return![];}return _0x467ab6;};exports[_0x6694('0x19')]=function(_0x37e385,_0x44c35c,_0x2452c0,_0x39ee76,_0x1f2e3c,_0x26ea6c){var _0x2db772={'XMD-QUEUE':_0x44c35c[_0x6694('0x1a')]?_0x44c35c[_0x6694('0x1a')][_0x6694('0x1b')]:'','XMD-CALLERID':_0x39ee76,'XMD-CALLERID-PREVIEW':_0x26ea6c?util[_0x6694('0x14')](_0x6694('0x15'),_0x26ea6c[_0x6694('0x1c')],_0x26ea6c[_0x6694('0x1d')]):_0x39ee76,'XMD-DIALID':_0x1f2e3c,'XMD-CONTACTID':_0x44c35c[_0x6694('0x1e')],'XMD-CDRTYPE':_0x6694('0x1f'),'CALLERID(all)':_0x39ee76,'XMD-VOICEQUEUEID':_0x44c35c['VoiceQueueId'],'XMD-DIALCHANNEL':_0x2452c0,'XMD-DIALTIMEOUT':_0x37e385[_0x6694('0x20')]||0x1e,'XMD-DIALOPTIONS':util[_0x6694('0x14')]('\x22rtTxX%s%s\x22',_0x37e385[_0x6694('0x21')]?'g':'',_[_0x6694('0x13')](_0x37e385['monitor_format'])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x37e385[_0x6694('0x22')]||'','XMD-AGI':_0x37e385[_0x6694('0x23')]?util[_0x6694('0x14')](_0x6694('0x24'),ipAgi,_0x37e385[_0x6694('0x23')]):_0x6694('0x25'),'XMD-AGIAFTER':_0x37e385[_0x6694('0x21')]?util['format'](_0x6694('0x24'),ipAgi,_0x37e385['dialQueueProject2']):_0x6694('0x25'),'XMD-ORIGINATECALLERIDNUM':_0x26ea6c?_0x26ea6c[_0x6694('0x26')]:'','XMD-ORIGINATECALLERIDNAME':_0x26ea6c?_0x26ea6c[_0x6694('0x27')]:'','XMD-DESTINATION':_0x6694('0x28')};if(!_[_0x6694('0x13')](_0x37e385[_0x6694('0x29')])){_0x2db772[util['format']('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x37e385[_0x6694('0x29')];_0x2db772[util['format']('%s',_0x6694('0x2a'))]=_0x1f2e3c;}if(_0x44c35c&&_0x44c35c[_0x6694('0x2b')]){for(var _0x4633fa in _0x44c35c[_0x6694('0x2b')]){if(_0x44c35c[_0x6694('0x2b')]['hasOwnProperty'](_0x4633fa)){if(!_[_0x6694('0x2c')](_0x44c35c[_0x6694('0x2b')][_0x4633fa])&&_0x4633fa!=='id'&&_0x4633fa!==_0x6694('0x2d')&&_0x4633fa!=='createdAt'&&_0x4633fa!==_0x6694('0x2e')){_0x2db772[util['format'](_0x6694('0x2f'),_0x6694('0x30'),_['toUpper'](_0x4633fa))]=_0x44c35c['Contact'][_0x4633fa];}}}}return _0x2db772;};exports[_0x6694('0x31')]=function(_0x3bd3ea){var _0x15dadb={};for(var _0x5268b9 in _0x3bd3ea){if(_0x3bd3ea[_0x6694('0x32')](_0x5268b9)){_0x15dadb[util['format']('%s',_[_0x6694('0x33')](_0x5268b9))]=_0x3bd3ea[_0x5268b9];}}return{'variables':_0x15dadb};};exports[_0x6694('0x34')]=function(_0x5d0c60,_0x4becab){if(!_[_0x6694('0x2c')](_0x5d0c60)){if(_0x5d0c60['hasOwnProperty'](_0x6694('0x35'))){if(_0x5d0c60[_0x6694('0x35')]>0x0){_0x5d0c60[_0x6694('0x35')]-=0x1;}else{logger['error'](_0x6694('0x36'),_0x4becab);}}}else{logger[_0x6694('0xb')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x4becab);}};exports[_0x6694('0x37')]=function(_0x3d0d1e){var _0x2e3161=moment()[_0x6694('0x14')](_0x6694('0x38'));_0x3d0d1e[_0x6694('0x39')]=0xd;_0x3d0d1e[_0x6694('0x3a')]=_0x6694('0x3b');_0x3d0d1e[_0x6694('0x3c')]=_0x2e3161;_0x3d0d1e[_0x6694('0x3d')]=_0x2e3161;_0x3d0d1e['endtime']=_0x2e3161;};exports[_0x6694('0x3e')]=function(_0x257896,_0x90ac41,_0xa3a4a1){var _0x480d8e=moment()[_0x6694('0x14')]('YYYY-MM-DD\x20HH:mm:ss');_0x257896[_0x6694('0x39')]=_0x90ac41;_0x257896[_0x6694('0x3a')]=_0xa3a4a1;_0x257896[_0x6694('0x3d')]=_0x480d8e;_0x257896[_0x6694('0x3f')]=getSeconds(_0x257896[_0x6694('0x3d')],_0x257896[_0x6694('0x3c')]);};exports['logLookAgent']=function(_0x642db0,_0x6bf429,_0x32850b){_0x642db0[_0x6694('0x40')]=_0x6bf429;_0x642db0[_0x6694('0x41')]=_0x32850b;};exports[_0x6694('0x42')]=function(_0x4bbcee,_0x2fab97,_0x15549e){var _0xe8cad2=moment()[_0x6694('0x14')](_0x6694('0x38'));_0x4bbcee[_0x6694('0x39')]=_0x2fab97;_0x4bbcee[_0x6694('0x3a')]=_0x15549e;_0x4bbcee['responsetime']=_0x4bbcee[_0x6694('0x3d')]?_0x4bbcee[_0x6694('0x3d')]:_0xe8cad2;_0x4bbcee[_0x6694('0x43')]=_0x4bbcee[_0x6694('0x43')]?_0x4bbcee[_0x6694('0x43')]:_0xe8cad2;_0x4bbcee[_0x6694('0x3f')]=getSeconds(_0x4bbcee[_0x6694('0x3d')]||0x0,_0x4bbcee[_0x6694('0x3c')]||0x0);_0x4bbcee['talktime']=_0x4bbcee[_0x6694('0x44')]?getSeconds(_0x4bbcee[_0x6694('0x43')],_0x4bbcee[_0x6694('0x44')]):0x0;};exports['isFailure']=function(_0x1e2dc9){return _0x1e2dc9===_0x6694('0x45');};exports[_0x6694('0x46')]=function(_0x252ed7,_0x281420,_0x33779a,_0x2310bc,_0x3a444f){var _0x2a6c8f=_0x2310bc?'RECALL':_0x252ed7[_0x6694('0x1c')];_0x2a6c8f=_0x3a444f?_0x6694('0x47'):_0x2a6c8f;return{'actionid':_0x252ed7[_0x6694('0x48')],'action':_0x6694('0x49'),'channel':_0x252ed7['channelAgent'],'callerid':util[_0x6694('0x14')](_0x6694('0x15'),_0x2a6c8f,_0x252ed7[_0x6694('0x1d')]),'Exten':'xcally-motion-preview','Context':_0x6694('0x4a'),'Priority':'1','variable':_0x33779a,'timeout':(_0x281420[_0x6694('0x4b')]||0x1e)*0x3e8,'async':!![],'channelid':_0x252ed7['uniqueid']};};exports[_0x6694('0x4c')]=function(_0x598d39){return _0x598d39['countbusyretry']+_0x598d39['countcongestionretry']+_0x598d39[_0x6694('0x4d')]+_0x598d39[_0x6694('0x4e')]+_0x598d39[_0x6694('0x4f')];};exports[_0x6694('0x50')]=function(_0x4a0933){var _0x5ed3de=_['clone'](_0x4a0933);_0x5ed3de[_0x6694('0x39')]=0xf;_0x5ed3de[_0x6694('0x3a')]=_0x6694('0x51');return _0x5ed3de;};exports[_0x6694('0x52')]=function(_0x1d4aa1,_0x393ad6,_0x378ac8){var _0x4e44b2={};_0x4e44b2[_0x393ad6]=_0x1d4aa1[_0x393ad6];_0x4e44b2[_0x6694('0x53')]=![];_0x4e44b2[_0x6694('0x54')]=moment()[_0x6694('0x55')](_0x378ac8,_0x6694('0x56'))[_0x6694('0x14')]('YYYY-MM-DD\x20HH:mm:ss');_0x4e44b2[_0x6694('0x1e')]=_0x1d4aa1['ContactId'];_0x4e44b2[_0x6694('0x57')]=_0x1d4aa1['ListId'];_0x4e44b2[_0x6694('0x58')]=_0x1d4aa1[_0x6694('0x58')]||undefined;return _0x4e44b2;};exports[_0x6694('0x59')]=function(_0x5ee1f1,_0xd89a54){if(!_[_0x6694('0x2c')](_0x5ee1f1)){if(_0x5ee1f1[_0x6694('0x5a')]>0x0){_0x5ee1f1[_0x6694('0x5a')]-=0x1;}else{logger[_0x6694('0xb')](_0xd89a54,_0x6694('0x5b'));}}else{logger[_0x6694('0xb')](_0xd89a54,_0x6694('0x5c'));}};exports[_0x6694('0x5d')]=function(_0x1c4cb7){if(_0x1c4cb7<=0x0){return!![];}return![];};exports['buildObj']=function(_0x35fe87,_0x7065f9,_0x274458){_0x35fe87[_0x6694('0x5e')]=_0x7065f9;_0x35fe87[_0x6694('0x1b')]=_0x35fe87[_0x6694('0x5f')];_0x35fe87[_0x6694('0x60')]=_0x35fe87[_0x6694('0x61')];if(_0x274458){_0x35fe87['mandatoryDisposition']=_0x274458[_0x6694('0x62')];}return _0x35fe87;};exports['buildAcw']=function(_0x5acadb){var _0x166432={};_0x166432['queue']=_0x5acadb[_0x6694('0x5f')];_0x166432[_0x6694('0x60')]=_0x5acadb['channelAgent'];_0x166432[_0x6694('0x48')]=_0x5acadb[_0x6694('0x48')];return _0x166432;};exports['agentReadyId']=function(_0x25f30a){var _0x511b02=[];for(var _0xa0e1be in _0x25f30a){if(_0x25f30a[_0x6694('0x32')](_0xa0e1be)){if(!_['isNil'](_0x25f30a[_0xa0e1be])&&_0x25f30a[_0xa0e1be][_0x6694('0x39')]===_0x6694('0x63')&&_0x25f30a[_0xa0e1be][_0x6694('0x64')]===_0x6694('0x65')){_0x511b02[_0x6694('0x66')](_0x25f30a[_0xa0e1be]['id']);}}}return _0x511b02;};exports[_0x6694('0x67')]=function(_0x5e2eb5){var _0x25d969=moment()[_0x6694('0x7')](0x0);var _0x1d7221=moment(_0x5e2eb5)[_0x6694('0x7')](0x0);return _0x25d969['diff'](_0x1d7221,_0x6694('0x9'));};exports[_0x6694('0x68')]=function(_0x59071b){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x59071b[_0x6694('0x1e')],'ListId':_0x59071b[_0x6694('0x57')],'VoiceQueueId':_0x59071b['VoiceQueueId']||undefined,'CampaignId':_0x59071b[_0x6694('0x69')]||undefined};};exports[_0x6694('0x6a')]=function(_0x21b390){if(_0x21b390===_0x6694('0x48')||_0x21b390===_0x6694('0x6b')||_0x21b390===_0x6694('0x5f')||_0x21b390===_0x6694('0x6c')||_0x21b390===_0x6694('0x6d')||_0x21b390===_0x6694('0x6e')||_0x21b390===_0x6694('0x40')||_0x21b390===_0x6694('0x61')||_0x21b390===_0x6694('0x1c')||_0x21b390===_0x6694('0x53')||_0x21b390===_0x6694('0x1d')||_0x21b390===_0x6694('0x54')||_0x21b390===_0x6694('0x6f')||_0x21b390==='countcongestionretry'||_0x21b390===_0x6694('0x4d')||_0x21b390===_0x6694('0x70')||_0x21b390===_0x6694('0x71')||_0x21b390===_0x6694('0x72')||_0x21b390===_0x6694('0x73')||_0x21b390===_0x6694('0x74')||_0x21b390===_0x6694('0x1e')||_0x21b390==='ListId'||_0x21b390===_0x6694('0x41')||_0x21b390===_0x6694('0x58')||_0x21b390==='sipcallid'||_0x21b390===_0x6694('0x75')||_0x21b390==='xmd-queue'||_0x21b390==='xmd-phone'||_0x21b390==='xmd-listid'||_0x21b390===_0x6694('0x76')||_0x21b390===_0x6694('0x77')||_0x21b390===_0x6694('0x78')||_0x21b390===_0x6694('0x79')||_0x21b390===_0x6694('0x7a')||_0x21b390==='xmd-contactid'||_0x21b390==='xmd-cdrtype'||_0x21b390===_0x6694('0x7b')||_0x21b390===_0x6694('0x7c')||_0x21b390==='xmd-agi'||_0x21b390===_0x6694('0x7d')||_0x21b390===_0x6694('0x7e')||_0x21b390==='rtpaudioqosjitter'||_0x21b390===_0x6694('0x7f')||_0x21b390===_0x6694('0x80')||_0x21b390===_0x6694('0x81')||_0x21b390===_0x6694('0x82')||_0x21b390===_0x6694('0x83')||_0x21b390==='rtpaudioqos'||_0x21b390===_0x6694('0x7e')||_0x21b390===_0x6694('0x84')||_0x21b390==='rtpaudioqosjitterbridged'||_0x21b390===_0x6694('0x80')||_0x21b390==='rtpaudioqoslossbridged'||_0x21b390==='rtpaudioqosrtt'||_0x21b390===_0x6694('0x83')||_0x21b390===_0x6694('0x85')||_0x21b390===_0x6694('0x86')||_0x21b390==='state'||_0x21b390==='statedesc'){return![];}return!![];};exports[_0x6694('0x87')]=function(_0xa281ad,_0xb299a8){var _0x344449,_0x1a2957,_0x2977f6;if(_0xb299a8<=0x0){_0xb299a8=0x1;}_0x344449=new RegExp(_0x6694('0x88')+_0xb299a8+'}$');_0x1a2957=Math[_0x6694('0x89')](0xa,_0xb299a8-0x1);_0x2977f6=Math[_0x6694('0x89')](0xa,_0xb299a8)-0x1;return util[_0x6694('0x14')]('%s',_['replace'](_0xa281ad,_0x344449,_[_0x6694('0x8a')](_0x1a2957,_0x2977f6)));};exports[_0x6694('0x8b')]=function(_0x558680){var _0x483bfd=_0x558680[_0x6694('0x8c')](/"(.*?)"/);return _0x483bfd?_0x483bfd[0x1]:_0x558680;};exports[_0x6694('0x8d')]=function(_0x18707e){var _0x305248=_0x18707e[_0x6694('0x8c')](/<(.*?)>/);return _0x305248?_0x305248[0x1]:_0x18707e;};