Built motion from commit (unavailable).|2.4.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 _0xdb26=['queue','interface','buildAcw','status','reachable','push','getDiff','milliseconds','createBody','CampaignId','type','campaigntype','countbusyretry','countglobal','callback','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-dialurl','xmd-dialtimeout','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqosloss','rtpaudioqosrtt','bridgepvtcallid','\x5cw{0,','pow','replace','random','match','extractCalleridNumber','util','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','diff','seconds','loggerCatch','error','inspect','info','loggerError','logger2','message','getCallerId','isUndefined','string','format','\x22%s\x22\x20<%s>','isEmpty','\x22\x22\x20<>','isNil','addVariables','Queue','name','calleridname','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','dialQueueProject2','originatecalleridnum','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','updatedAt','%s%s','toUpper','toLowerVariables','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','endtime','logAgent','ringtime','responsetime','logLookAgent','membername','UserId','logCustomer','talktime','answertime','Failure','RECALL','uniqueid','originate','channelAgent','calleridnum','from-sip','timeout','totalGlobal','countnoanswerretry','cloneAction','Global','active','scheduledat','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent'];(function(_0x155c64,_0x26ff95){var _0x1f154a=function(_0xbc46e4){while(--_0xbc46e4){_0x155c64['push'](_0x155c64['shift']());}};_0x1f154a(++_0x26ff95);}(_0xdb26,0xb7));var _0x6db2=function(_0x210f72,_0x47c505){_0x210f72=_0x210f72-0x0;var _0x222218=_0xdb26[_0x210f72];return _0x222218;};'use strict';var util=require(_0x6db2('0x0'));var _=require('lodash');var moment=require(_0x6db2('0x1'));var logger=require(_0x6db2('0x2'))(_0x6db2('0x3'));var ipAgi=process[_0x6db2('0x4')][_0x6db2('0x5')]||_0x6db2('0x6');function getSeconds(_0x41d1c5,_0x240f42){var _0x148db9=moment(_0x41d1c5)['milliseconds'](0x0);var _0x57fcee=moment(_0x240f42)['milliseconds'](0x0);return _0x148db9[_0x6db2('0x7')](_0x57fcee,_0x6db2('0x8'));}exports[_0x6db2('0x9')]=function(_0x9ebfcf){return function(_0x9490d5){logger[_0x6db2('0xa')](_0x9ebfcf,util[_0x6db2('0xb')](_0x9490d5,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x1b4713,_0x13ff27){logger[_0x6db2('0xc')](_0x1b4713,util[_0x6db2('0xb')](_0x13ff27,{'showHidden':![],'depth':null}));};exports[_0x6db2('0xd')]=function(_0x456907,_0x2c5ab1){logger[_0x6db2('0xa')](_0x456907,util[_0x6db2('0xb')](_0x2c5ab1,{'showHidden':![],'depth':null}));};exports[_0x6db2('0xe')]=function(_0x34feef){return function(_0x5926d6){logger[_0x6db2('0xc')](_0x34feef,util[_0x6db2('0xb')](_0x5926d6,{'showHidden':![],'depth':null}));};};exports[_0x6db2('0xf')]=function(_0x6a4574,_0x198f8,_0x365f06){return{'message':_0x6a4574,'unlock':_0x198f8,'active':_0x365f06};};exports[_0x6db2('0x10')]=function(_0x51e178,_0x255c78,_0x3a91aa){if(!_[_0x6db2('0x11')](_0x3a91aa)&&_0x6db2('0x12')===typeof _0x3a91aa&&!_['isEmpty'](_0x3a91aa)){if(!_[_0x6db2('0x11')](_0x255c78)&&'string'===typeof _0x255c78&&!_['isEmpty'](_0x255c78)){return util[_0x6db2('0x13')](_0x6db2('0x14'),_0x255c78,_0x3a91aa);}return util['format'](_0x6db2('0x14'),_0x3a91aa,_0x3a91aa);}if(!_['isUndefined'](_0x51e178)&&_0x6db2('0x12')===typeof _0x51e178&&!_[_0x6db2('0x15')](_0x51e178)){return _0x51e178;}return _0x6db2('0x16');};exports['isActive']=function(_0x402c62){if(_[_0x6db2('0x17')](_0x402c62)){return![];}return _0x402c62;};exports[_0x6db2('0x18')]=function(_0x2865c8,_0x3d6f8d,_0x2a5677,_0x339854,_0x47d827,_0x4cad41){var _0x383d2a={'XMD-QUEUE':_0x3d6f8d['Queue']?_0x3d6f8d[_0x6db2('0x19')][_0x6db2('0x1a')]:'','XMD-CALLERID':_0x339854,'XMD-CALLERID-PREVIEW':_0x4cad41?util['format'](_0x6db2('0x14'),_0x4cad41[_0x6db2('0x1b')],_0x4cad41['calleridnum']):_0x339854,'XMD-DIALID':_0x47d827,'XMD-CONTACTID':_0x3d6f8d[_0x6db2('0x1c')],'XMD-CDRTYPE':_0x6db2('0x1d'),'CALLERID(all)':_0x339854,'XMD-VOICEQUEUEID':_0x3d6f8d[_0x6db2('0x1e')],'XMD-DIALCHANNEL':_0x2a5677,'XMD-DIALTIMEOUT':_0x2865c8[_0x6db2('0x1f')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0x6db2('0x20'),_0x2865c8['dialQueueProject2']?'g':'',_[_0x6db2('0x15')](_0x2865c8[_0x6db2('0x21')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x2865c8[_0x6db2('0x22')]||'','XMD-AGI':_0x2865c8[_0x6db2('0x23')]?util[_0x6db2('0x13')](_0x6db2('0x24'),ipAgi,_0x2865c8[_0x6db2('0x23')]):_0x6db2('0x25'),'XMD-AGIAFTER':_0x2865c8[_0x6db2('0x26')]?util[_0x6db2('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x2865c8[_0x6db2('0x26')]):_0x6db2('0x25'),'XMD-ORIGINATECALLERIDNUM':_0x4cad41?_0x4cad41[_0x6db2('0x27')]:'','XMD-ORIGINATECALLERIDNAME':_0x4cad41?_0x4cad41['originatecalleridname']:'','XMD-DESTINATION':_0x6db2('0x28')};if(!_[_0x6db2('0x15')](_0x2865c8['monitor_format'])){_0x383d2a[util['format']('%s',_0x6db2('0x29'))]=_0x2865c8[_0x6db2('0x21')];_0x383d2a[util[_0x6db2('0x13')]('%s',_0x6db2('0x2a'))]=_0x47d827;}if(_0x3d6f8d&&_0x3d6f8d[_0x6db2('0x2b')]){for(var _0x51520c in _0x3d6f8d[_0x6db2('0x2b')]){if(_0x3d6f8d['Contact'][_0x6db2('0x2c')](_0x51520c)){if(!_['isNil'](_0x3d6f8d[_0x6db2('0x2b')][_0x51520c])&&_0x51520c!=='id'&&_0x51520c!==_0x6db2('0x2d')&&_0x51520c!==_0x6db2('0x2e')&&_0x51520c!==_0x6db2('0x2f')){_0x383d2a[util[_0x6db2('0x13')](_0x6db2('0x30'),'XMD-',_[_0x6db2('0x31')](_0x51520c))]=_0x3d6f8d[_0x6db2('0x2b')][_0x51520c];}}}}return _0x383d2a;};exports[_0x6db2('0x32')]=function(_0x1e596f){var _0x2f44f1={};for(var _0x3f65cc in _0x1e596f){if(_0x1e596f['hasOwnProperty'](_0x3f65cc)){_0x2f44f1[util[_0x6db2('0x13')]('%s',_['toLower'](_0x3f65cc))]=_0x1e596f[_0x3f65cc];}}return{'variables':_0x2f44f1};};exports[_0x6db2('0x33')]=function(_0x595164,_0x5eab78){if(!_[_0x6db2('0x17')](_0x595164)){if(_0x595164[_0x6db2('0x2c')](_0x6db2('0x34'))){if(_0x595164['originated']>0x0){_0x595164[_0x6db2('0x34')]-=0x1;}else{logger[_0x6db2('0xa')](_0x6db2('0x35'),_0x5eab78);}}}else{logger[_0x6db2('0xa')](_0x6db2('0x36'),_0x5eab78);}};exports[_0x6db2('0x37')]=function(_0x18f7b3){var _0x24aadc=moment()['format'](_0x6db2('0x38'));_0x18f7b3[_0x6db2('0x39')]=0xd;_0x18f7b3[_0x6db2('0x3a')]=_0x6db2('0x3b');_0x18f7b3[_0x6db2('0x3c')]=_0x24aadc;_0x18f7b3['responsetime']=_0x24aadc;_0x18f7b3[_0x6db2('0x3d')]=_0x24aadc;};exports[_0x6db2('0x3e')]=function(_0x216e1b,_0x32d9d6,_0x2241b0){var _0x3a9566=moment()['format'](_0x6db2('0x38'));_0x216e1b[_0x6db2('0x39')]=_0x32d9d6;_0x216e1b[_0x6db2('0x3a')]=_0x2241b0;_0x216e1b['responsetime']=_0x3a9566;_0x216e1b[_0x6db2('0x3f')]=getSeconds(_0x216e1b[_0x6db2('0x40')],_0x216e1b[_0x6db2('0x3c')]);};exports[_0x6db2('0x41')]=function(_0x1fd67f,_0x496eed,_0xeaa40f){_0x1fd67f[_0x6db2('0x42')]=_0x496eed;_0x1fd67f[_0x6db2('0x43')]=_0xeaa40f;};exports[_0x6db2('0x44')]=function(_0x4b9d83,_0x2a1c1c,_0x2cc788){var _0x170a7d=moment()[_0x6db2('0x13')](_0x6db2('0x38'));_0x4b9d83['state']=_0x2a1c1c;_0x4b9d83['statedesc']=_0x2cc788;_0x4b9d83[_0x6db2('0x40')]=_0x4b9d83[_0x6db2('0x40')]?_0x4b9d83['responsetime']:_0x170a7d;_0x4b9d83[_0x6db2('0x3d')]=_0x4b9d83[_0x6db2('0x3d')]?_0x4b9d83[_0x6db2('0x3d')]:_0x170a7d;_0x4b9d83[_0x6db2('0x3f')]=getSeconds(_0x4b9d83[_0x6db2('0x40')]||0x0,_0x4b9d83[_0x6db2('0x3c')]||0x0);_0x4b9d83[_0x6db2('0x45')]=_0x4b9d83[_0x6db2('0x46')]?getSeconds(_0x4b9d83['endtime'],_0x4b9d83[_0x6db2('0x46')]):0x0;};exports['isFailure']=function(_0x3ba073){return _0x3ba073===_0x6db2('0x47');};exports['variablesAction']=function(_0x29ffb3,_0x16c712,_0x26c34b,_0x26aec4,_0xc14b1c){var _0xe9a049=_0x26aec4?_0x6db2('0x48'):_0x29ffb3['calleridname'];_0xe9a049=_0xc14b1c?'BOOKED':_0xe9a049;return{'actionid':_0x29ffb3[_0x6db2('0x49')],'action':_0x6db2('0x4a'),'channel':_0x29ffb3[_0x6db2('0x4b')],'callerid':util[_0x6db2('0x13')]('\x22%s\x22\x20<%s>',_0xe9a049,_0x29ffb3[_0x6db2('0x4c')]),'Exten':_0x6db2('0x28'),'Context':_0x6db2('0x4d'),'Priority':'1','variable':_0x26c34b,'timeout':(_0x16c712[_0x6db2('0x4e')]||0x1e)*0x3e8,'async':!![],'channelid':_0x29ffb3['uniqueid']};};exports[_0x6db2('0x4f')]=function(_0x4be644){return _0x4be644['countbusyretry']+_0x4be644['countcongestionretry']+_0x4be644[_0x6db2('0x50')];};exports[_0x6db2('0x51')]=function(_0x123a1d){var _0x3f0016=_['clone'](_0x123a1d);_0x3f0016[_0x6db2('0x39')]=0xf;_0x3f0016[_0x6db2('0x3a')]=_0x6db2('0x52');return _0x3f0016;};exports['scheduledAt']=function(_0x2753cb,_0x31a1dc,_0x153d5c){var _0x37b390={};_0x37b390[_0x31a1dc]=_0x2753cb[_0x31a1dc];_0x37b390[_0x6db2('0x53')]=![];_0x37b390[_0x6db2('0x54')]=moment()['add'](_0x153d5c,'minutes')['format'](_0x6db2('0x38'));_0x37b390[_0x6db2('0x1c')]=_0x2753cb[_0x6db2('0x1c')];_0x37b390[_0x6db2('0x55')]=_0x2753cb['ListId'];_0x37b390['VoiceQueueId']=_0x2753cb[_0x6db2('0x1e')]||undefined;return _0x37b390;};exports[_0x6db2('0x56')]=function(_0xe1c120,_0x122d3f){if(!_[_0x6db2('0x17')](_0xe1c120)){if(_0xe1c120['pTalking']>0x0){_0xe1c120[_0x6db2('0x57')]-=0x1;}else{logger['error'](_0x122d3f,_0x6db2('0x58'));}}else{logger['error'](_0x122d3f,_0x6db2('0x59'));}};exports[_0x6db2('0x5a')]=function(_0x381709){if(_0x381709<=0x0){return!![];}return![];};exports[_0x6db2('0x5b')]=function(_0x73fb9e,_0x35cfa1){_0x73fb9e[_0x6db2('0x5c')]=_0x35cfa1;_0x73fb9e[_0x6db2('0x1a')]=_0x73fb9e[_0x6db2('0x5d')];_0x73fb9e[_0x6db2('0x5e')]=_0x73fb9e[_0x6db2('0x4b')];return _0x73fb9e;};exports[_0x6db2('0x5f')]=function(_0x174140){var _0x5b4a86={};_0x5b4a86[_0x6db2('0x5d')]=_0x174140[_0x6db2('0x5d')];_0x5b4a86[_0x6db2('0x5e')]=_0x174140[_0x6db2('0x4b')];_0x5b4a86['uniqueid']=_0x174140[_0x6db2('0x49')];return _0x5b4a86;};exports['agentReadyId']=function(_0xe82d14){var _0xcf749e=[];for(var _0x4657ad in _0xe82d14){if(_0xe82d14[_0x6db2('0x2c')](_0x4657ad)){if(!_['isNil'](_0xe82d14[_0x4657ad])&&_0xe82d14[_0x4657ad][_0x6db2('0x39')]==='not_inuse'&&_0xe82d14[_0x4657ad][_0x6db2('0x60')]===_0x6db2('0x61')){_0xcf749e[_0x6db2('0x62')](_0xe82d14[_0x4657ad]['id']);}}}return _0xcf749e;};exports[_0x6db2('0x63')]=function(_0xd580de){var _0x1bc82f=moment()[_0x6db2('0x64')](0x0);var _0x166a56=moment(_0xd580de)[_0x6db2('0x64')](0x0);return _0x1bc82f[_0x6db2('0x7')](_0x166a56,_0x6db2('0x8'));};exports[_0x6db2('0x65')]=function(_0x24fa9a){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x24fa9a['ContactId'],'ListId':_0x24fa9a[_0x6db2('0x55')],'VoiceQueueId':_0x24fa9a[_0x6db2('0x1e')]||undefined,'CampaignId':_0x24fa9a[_0x6db2('0x66')]||undefined};};exports['filterKey']=function(_0x48bf24){if(_0x48bf24==='uniqueid'||_0x48bf24==='idContact'||_0x48bf24===_0x6db2('0x5d')||_0x48bf24===_0x6db2('0x67')||_0x48bf24===_0x6db2('0x68')||_0x48bf24==='dialAnswer'||_0x48bf24===_0x6db2('0x42')||_0x48bf24===_0x6db2('0x4b')||_0x48bf24===_0x6db2('0x1b')||_0x48bf24===_0x6db2('0x53')||_0x48bf24===_0x6db2('0x4c')||_0x48bf24==='scheduledat'||_0x48bf24===_0x6db2('0x69')||_0x48bf24==='countcongestionretry'||_0x48bf24==='countnoanswerretry'||_0x48bf24===_0x6db2('0x6a')||_0x48bf24===_0x6db2('0x6b')||_0x48bf24===_0x6db2('0x6c')||_0x48bf24===_0x6db2('0x6d')||_0x48bf24===_0x6db2('0x6e')||_0x48bf24===_0x6db2('0x1c')||_0x48bf24===_0x6db2('0x55')||_0x48bf24===_0x6db2('0x43')||_0x48bf24===_0x6db2('0x1e')||_0x48bf24===_0x6db2('0x6f')||_0x48bf24===_0x6db2('0x70')||_0x48bf24===_0x6db2('0x71')||_0x48bf24===_0x6db2('0x72')||_0x48bf24==='xmd-listid'||_0x48bf24===_0x6db2('0x73')||_0x48bf24===_0x6db2('0x74')||_0x48bf24==='xmd-dialoptions'||_0x48bf24==='xmd-dialid'||_0x48bf24===_0x6db2('0x75')||_0x48bf24===_0x6db2('0x76')||_0x48bf24===_0x6db2('0x77')||_0x48bf24===_0x6db2('0x78')||_0x48bf24===_0x6db2('0x79')||_0x48bf24===_0x6db2('0x7a')||_0x48bf24===_0x6db2('0x7b')||_0x48bf24===_0x6db2('0x7c')||_0x48bf24===_0x6db2('0x7d')||_0x48bf24===_0x6db2('0x7e')||_0x48bf24==='rtpaudioqosloss'||_0x48bf24===_0x6db2('0x7f')||_0x48bf24==='rtpaudioqosrtt'||_0x48bf24===_0x6db2('0x80')||_0x48bf24===_0x6db2('0x7b')||_0x48bf24==='rtpaudioqosbridged'||_0x48bf24==='rtpaudioqosjitter'||_0x48bf24===_0x6db2('0x7e')||_0x48bf24===_0x6db2('0x81')||_0x48bf24==='rtpaudioqoslossbridged'||_0x48bf24===_0x6db2('0x82')||_0x48bf24===_0x6db2('0x80')||_0x48bf24==='bridgepeer'||_0x48bf24===_0x6db2('0x83')||_0x48bf24==='state'||_0x48bf24===_0x6db2('0x3a')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x206f68,_0x216625){var _0x4e59cf,_0x4ef9a7,_0x3deb49;if(_0x216625<=0x0){_0x216625=0x1;}_0x4e59cf=new RegExp(_0x6db2('0x84')+_0x216625+'}$');_0x4ef9a7=Math[_0x6db2('0x85')](0xa,_0x216625-0x1);_0x3deb49=Math[_0x6db2('0x85')](0xa,_0x216625)-0x1;return util[_0x6db2('0x13')]('%s',_[_0x6db2('0x86')](_0x206f68,_0x4e59cf,_[_0x6db2('0x87')](_0x4ef9a7,_0x3deb49)));};exports['extractCalleridName']=function(_0x2279ef){var _0x3bdb54=_0x2279ef[_0x6db2('0x88')](/"(.*?)"/);return _0x3bdb54?_0x3bdb54[0x1]:_0x2279ef;};exports[_0x6db2('0x89')]=function(_0x1f4d00){var _0x3a8bd3=_0x1f4d00[_0x6db2('0x88')](/<(.*?)>/);return _0x3a8bd3?_0x3a8bd3[0x1]:_0x1f4d00;};