Built motion from commit (unavailable).|2.5.4
[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 _0x6132=['isNil','addVariables','Queue','name','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialQueueProject','NONE','originatecalleridnum','_XCALLY_MIXMONITOR_FORMAT','Contact','hasOwnProperty','tags','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','toLower','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','ringtime','membername','UserId','talktime','answertime','Failure','variablesAction','calleridname','BOOKED','uniqueid','originate','xcally-motion-preview','from-sip','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','cloneAction','clone','Global','active','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','interface','channelAgent','queue','agentReadyId','not_inuse','status','reachable','getDiff','seconds','createBody','CampaignId','idContact','type','campaigntype','dialAnswer','scheduledat','countglobal','callback','callbackuniqueid','callbackat','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialchannel','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','random','match','lodash','../../../../config/logger','preview','env','milliseconds','diff','loggerCatch','inspect','info','loggerError','error','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive'];(function(_0x166acc,_0x111e4e){var _0x209f4d=function(_0x354b62){while(--_0x354b62){_0x166acc['push'](_0x166acc['shift']());}};_0x209f4d(++_0x111e4e);}(_0x6132,0xf3));var _0x2613=function(_0x4326e4,_0x1e1efc){_0x4326e4=_0x4326e4-0x0;var _0x57b1a2=_0x6132[_0x4326e4];return _0x57b1a2;};'use strict';var util=require('util');var _=require(_0x2613('0x0'));var moment=require('moment');var logger=require(_0x2613('0x1'))(_0x2613('0x2'));var ipAgi=process[_0x2613('0x3')]['XCALLY_IP_AGI']||'127.0.0.1';function getSeconds(_0x3c1186,_0x521394){var _0x41719b=moment(_0x3c1186)['milliseconds'](0x0);var _0x4479f6=moment(_0x521394)[_0x2613('0x4')](0x0);return _0x41719b[_0x2613('0x5')](_0x4479f6,'seconds');}exports[_0x2613('0x6')]=function(_0x43c876){return function(_0x51f79d){logger['error'](_0x43c876,util[_0x2613('0x7')](_0x51f79d,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x7c5e0b,_0x5894a5){logger[_0x2613('0x8')](_0x7c5e0b,util[_0x2613('0x7')](_0x5894a5,{'showHidden':![],'depth':null}));};exports[_0x2613('0x9')]=function(_0x3dd7aa,_0x49d6a9){logger[_0x2613('0xa')](_0x3dd7aa,util[_0x2613('0x7')](_0x49d6a9,{'showHidden':![],'depth':null}));};exports[_0x2613('0xb')]=function(_0xd7e8ae){return function(_0x5db104){logger[_0x2613('0x8')](_0xd7e8ae,util[_0x2613('0x7')](_0x5db104,{'showHidden':![],'depth':null}));};};exports[_0x2613('0xc')]=function(_0x163b44,_0xfea102,_0x18acee){return{'message':_0x163b44,'unlock':_0xfea102,'active':_0x18acee};};exports[_0x2613('0xd')]=function(_0x2b3e5e,_0x34ce5b,_0x166b99){if(!_[_0x2613('0xe')](_0x166b99)&&_0x2613('0xf')===typeof _0x166b99&&!_[_0x2613('0x10')](_0x166b99)){if(!_[_0x2613('0xe')](_0x34ce5b)&&_0x2613('0xf')===typeof _0x34ce5b&&!_[_0x2613('0x10')](_0x34ce5b)){return util[_0x2613('0x11')](_0x2613('0x12'),_0x34ce5b,_0x166b99);}return util[_0x2613('0x11')](_0x2613('0x12'),_0x166b99,_0x166b99);}if(!_[_0x2613('0xe')](_0x2b3e5e)&&_0x2613('0xf')===typeof _0x2b3e5e&&!_['isEmpty'](_0x2b3e5e)){return _0x2b3e5e;}return _0x2613('0x13');};exports[_0x2613('0x14')]=function(_0x838811){if(_[_0x2613('0x15')](_0x838811)){return![];}return _0x838811;};exports[_0x2613('0x16')]=function(_0x363754,_0x22c4db,_0xaace51,_0x41f86d,_0x335bf5,_0x44cfac){var _0x48811a={'XMD-QUEUE':_0x22c4db[_0x2613('0x17')]?_0x22c4db[_0x2613('0x17')][_0x2613('0x18')]:'','XMD-CALLERID':_0x41f86d,'XMD-CALLERID-PREVIEW':_0x44cfac?util['format'](_0x2613('0x12'),_0x44cfac['calleridname'],_0x44cfac[_0x2613('0x19')]):_0x41f86d,'XMD-DIALID':_0x335bf5,'XMD-CONTACTID':_0x22c4db[_0x2613('0x1a')],'XMD-CDRTYPE':_0x2613('0x1b'),'CALLERID(all)':_0x41f86d,'XMD-VOICEQUEUEID':_0x22c4db[_0x2613('0x1c')],'XMD-DIALCHANNEL':_0xaace51,'XMD-DIALTIMEOUT':_0x363754[_0x2613('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0x2613('0x11')](_0x2613('0x1e'),_0x363754[_0x2613('0x1f')]?'g':'',_[_0x2613('0x10')](_0x363754[_0x2613('0x20')])?'':_0x2613('0x21')),'XMD-DIALURL':_0x363754['dialPreviewUrl']||'','XMD-AGI':_0x363754[_0x2613('0x22')]?util[_0x2613('0x11')]('\x22agi://%s/square,%s\x22',ipAgi,_0x363754[_0x2613('0x22')]):'NONE','XMD-AGIAFTER':_0x363754[_0x2613('0x1f')]?util[_0x2613('0x11')]('\x22agi://%s/square,%s\x22',ipAgi,_0x363754[_0x2613('0x1f')]):_0x2613('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x44cfac?_0x44cfac[_0x2613('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x44cfac?_0x44cfac['originatecalleridname']:'','XMD-DESTINATION':'xcally-motion-preview'};if(!_[_0x2613('0x10')](_0x363754['monitor_format'])){_0x48811a[util[_0x2613('0x11')]('%s',_0x2613('0x25'))]=_0x363754[_0x2613('0x20')];_0x48811a[util[_0x2613('0x11')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x335bf5;}if(_0x22c4db&&_0x22c4db[_0x2613('0x26')]){for(var _0x38519 in _0x22c4db[_0x2613('0x26')]){if(_0x22c4db['Contact'][_0x2613('0x27')](_0x38519)){if(!_[_0x2613('0x15')](_0x22c4db['Contact'][_0x38519])&&_0x38519!=='id'&&_0x38519!==_0x2613('0x28')&&_0x38519!=='createdAt'&&_0x38519!==_0x2613('0x29')){_0x48811a[util['format'](_0x2613('0x2a'),_0x2613('0x2b'),_[_0x2613('0x2c')](_0x38519))]=_0x22c4db[_0x2613('0x26')][_0x38519];}}}}return _0x48811a;};exports[_0x2613('0x2d')]=function(_0x22755c){var _0x34a858={};for(var _0x3ad841 in _0x22755c){if(_0x22755c[_0x2613('0x27')](_0x3ad841)){_0x34a858[util[_0x2613('0x11')]('%s',_[_0x2613('0x2e')](_0x3ad841))]=_0x22755c[_0x3ad841];}}return{'variables':_0x34a858};};exports['updateOriginated']=function(_0x485a92,_0x2c6aad){if(!_['isNil'](_0x485a92)){if(_0x485a92['hasOwnProperty'](_0x2613('0x2f'))){if(_0x485a92[_0x2613('0x2f')]>0x0){_0x485a92[_0x2613('0x2f')]-=0x1;}else{logger['error']('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x2c6aad);}}}else{logger['error'](_0x2613('0x30'),_0x2c6aad);}};exports[_0x2613('0x31')]=function(_0x416f25){var _0x35dd2b=moment()[_0x2613('0x11')](_0x2613('0x32'));_0x416f25[_0x2613('0x33')]=0xd;_0x416f25[_0x2613('0x34')]=_0x2613('0x35');_0x416f25[_0x2613('0x36')]=_0x35dd2b;_0x416f25[_0x2613('0x37')]=_0x35dd2b;_0x416f25[_0x2613('0x38')]=_0x35dd2b;};exports[_0x2613('0x39')]=function(_0x166fbb,_0x22d9eb,_0x2b2029){var _0x14e4bb=moment()[_0x2613('0x11')]('YYYY-MM-DD\x20HH:mm:ss');_0x166fbb['state']=_0x22d9eb;_0x166fbb['statedesc']=_0x2b2029;_0x166fbb['responsetime']=_0x14e4bb;_0x166fbb[_0x2613('0x3a')]=getSeconds(_0x166fbb[_0x2613('0x37')],_0x166fbb['starttime']);};exports['logLookAgent']=function(_0x19af11,_0x51bf5a,_0x1fa7b3){_0x19af11[_0x2613('0x3b')]=_0x51bf5a;_0x19af11[_0x2613('0x3c')]=_0x1fa7b3;};exports['logCustomer']=function(_0x2aacff,_0x33a62a,_0x1679e5){var _0x1e8319=moment()[_0x2613('0x11')]('YYYY-MM-DD\x20HH:mm:ss');_0x2aacff['state']=_0x33a62a;_0x2aacff[_0x2613('0x34')]=_0x1679e5;_0x2aacff[_0x2613('0x37')]=_0x2aacff['responsetime']?_0x2aacff[_0x2613('0x37')]:_0x1e8319;_0x2aacff[_0x2613('0x38')]=_0x2aacff[_0x2613('0x38')]?_0x2aacff['endtime']:_0x1e8319;_0x2aacff[_0x2613('0x3a')]=getSeconds(_0x2aacff[_0x2613('0x37')]||0x0,_0x2aacff[_0x2613('0x36')]||0x0);_0x2aacff[_0x2613('0x3d')]=_0x2aacff['answertime']?getSeconds(_0x2aacff['endtime'],_0x2aacff[_0x2613('0x3e')]):0x0;};exports['isFailure']=function(_0x444176){return _0x444176===_0x2613('0x3f');};exports[_0x2613('0x40')]=function(_0x13e49e,_0x2930e1,_0x2e35a5,_0x555caf,_0x5bc650){var _0x31d21d=_0x555caf?'RECALL':_0x13e49e[_0x2613('0x41')];_0x31d21d=_0x5bc650?_0x2613('0x42'):_0x31d21d;return{'actionid':_0x13e49e[_0x2613('0x43')],'action':_0x2613('0x44'),'channel':_0x13e49e['channelAgent'],'callerid':util['format'](_0x2613('0x12'),_0x31d21d,_0x13e49e[_0x2613('0x19')]),'Exten':_0x2613('0x45'),'Context':_0x2613('0x46'),'Priority':'1','variable':_0x2e35a5,'timeout':(_0x2930e1['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x13e49e[_0x2613('0x43')]};};exports['totalGlobal']=function(_0x538bd9){return _0x538bd9[_0x2613('0x47')]+_0x538bd9[_0x2613('0x48')]+_0x538bd9[_0x2613('0x49')]+_0x538bd9[_0x2613('0x4a')]+_0x538bd9['countnosuchnumberretry'];};exports[_0x2613('0x4b')]=function(_0x1bdc0f){var _0x111231=_[_0x2613('0x4c')](_0x1bdc0f);_0x111231['state']=0xf;_0x111231[_0x2613('0x34')]=_0x2613('0x4d');return _0x111231;};exports['scheduledAt']=function(_0x2a01de,_0x16f6d0,_0xa20e71){var _0x48756d={};_0x48756d[_0x16f6d0]=_0x2a01de[_0x16f6d0];_0x48756d[_0x2613('0x4e')]=![];_0x48756d['scheduledat']=moment()[_0x2613('0x4f')](_0xa20e71,_0x2613('0x50'))[_0x2613('0x11')](_0x2613('0x32'));_0x48756d[_0x2613('0x1a')]=_0x2a01de[_0x2613('0x1a')];_0x48756d['ListId']=_0x2a01de[_0x2613('0x51')];_0x48756d[_0x2613('0x1c')]=_0x2a01de[_0x2613('0x1c')]||undefined;return _0x48756d;};exports[_0x2613('0x52')]=function(_0x28c708,_0x4a3704){if(!_[_0x2613('0x15')](_0x28c708)){if(_0x28c708[_0x2613('0x53')]>0x0){_0x28c708[_0x2613('0x53')]-=0x1;}else{logger[_0x2613('0xa')](_0x4a3704,_0x2613('0x54'));}}else{logger['error'](_0x4a3704,_0x2613('0x55'));}};exports[_0x2613('0x56')]=function(_0x22e0aa){if(_0x22e0aa<=0x0){return!![];}return![];};exports[_0x2613('0x57')]=function(_0x3a78fe,_0x50063f){_0x3a78fe[_0x2613('0x58')]=_0x50063f;_0x3a78fe[_0x2613('0x18')]=_0x3a78fe['queue'];_0x3a78fe[_0x2613('0x59')]=_0x3a78fe[_0x2613('0x5a')];return _0x3a78fe;};exports['buildAcw']=function(_0x194907){var _0x32a661={};_0x32a661[_0x2613('0x5b')]=_0x194907['queue'];_0x32a661[_0x2613('0x59')]=_0x194907[_0x2613('0x5a')];_0x32a661[_0x2613('0x43')]=_0x194907[_0x2613('0x43')];return _0x32a661;};exports[_0x2613('0x5c')]=function(_0x3a3c37){var _0x13e5dd=[];for(var _0x2f9ed0 in _0x3a3c37){if(_0x3a3c37[_0x2613('0x27')](_0x2f9ed0)){if(!_['isNil'](_0x3a3c37[_0x2f9ed0])&&_0x3a3c37[_0x2f9ed0]['state']===_0x2613('0x5d')&&_0x3a3c37[_0x2f9ed0][_0x2613('0x5e')]===_0x2613('0x5f')){_0x13e5dd['push'](_0x3a3c37[_0x2f9ed0]['id']);}}}return _0x13e5dd;};exports[_0x2613('0x60')]=function(_0x2c7b61){var _0x5cf4d3=moment()[_0x2613('0x4')](0x0);var _0x15c96c=moment(_0x2c7b61)[_0x2613('0x4')](0x0);return _0x5cf4d3[_0x2613('0x5')](_0x15c96c,_0x2613('0x61'));};exports[_0x2613('0x62')]=function(_0x2bc548){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x2bc548['ContactId'],'ListId':_0x2bc548[_0x2613('0x51')],'VoiceQueueId':_0x2bc548['VoiceQueueId']||undefined,'CampaignId':_0x2bc548[_0x2613('0x63')]||undefined};};exports['filterKey']=function(_0x41a599){if(_0x41a599==='uniqueid'||_0x41a599===_0x2613('0x64')||_0x41a599===_0x2613('0x5b')||_0x41a599===_0x2613('0x65')||_0x41a599===_0x2613('0x66')||_0x41a599===_0x2613('0x67')||_0x41a599==='membername'||_0x41a599===_0x2613('0x5a')||_0x41a599==='calleridname'||_0x41a599===_0x2613('0x4e')||_0x41a599===_0x2613('0x19')||_0x41a599===_0x2613('0x68')||_0x41a599==='countbusyretry'||_0x41a599===_0x2613('0x48')||_0x41a599===_0x2613('0x49')||_0x41a599===_0x2613('0x69')||_0x41a599===_0x2613('0x6a')||_0x41a599===_0x2613('0x6b')||_0x41a599===_0x2613('0x6c')||_0x41a599==='recallme'||_0x41a599==='ContactId'||_0x41a599==='ListId'||_0x41a599===_0x2613('0x3c')||_0x41a599==='VoiceQueueId'||_0x41a599==='sipcallid'||_0x41a599===_0x2613('0x6d')||_0x41a599===_0x2613('0x6e')||_0x41a599===_0x2613('0x6f')||_0x41a599===_0x2613('0x70')||_0x41a599===_0x2613('0x71')||_0x41a599===_0x2613('0x72')||_0x41a599==='xmd-dialoptions'||_0x41a599==='xmd-dialid'||_0x41a599===_0x2613('0x73')||_0x41a599==='xmd-contactid'||_0x41a599==='xmd-cdrtype'||_0x41a599===_0x2613('0x74')||_0x41a599===_0x2613('0x75')||_0x41a599==='xmd-agi'||_0x41a599===_0x2613('0x76')||_0x41a599===_0x2613('0x77')||_0x41a599===_0x2613('0x78')||_0x41a599===_0x2613('0x79')||_0x41a599===_0x2613('0x7a')||_0x41a599===_0x2613('0x7b')||_0x41a599===_0x2613('0x7c')||_0x41a599==='rtpaudioqosrttbridged'||_0x41a599===_0x2613('0x76')||_0x41a599===_0x2613('0x77')||_0x41a599==='rtpaudioqosjitter'||_0x41a599===_0x2613('0x79')||_0x41a599===_0x2613('0x7a')||_0x41a599===_0x2613('0x7b')||_0x41a599===_0x2613('0x7c')||_0x41a599===_0x2613('0x7d')||_0x41a599==='bridgepeer'||_0x41a599===_0x2613('0x7e')||_0x41a599===_0x2613('0x33')||_0x41a599===_0x2613('0x34')){return![];}return!![];};exports[_0x2613('0x7f')]=function(_0x4355de,_0x5467bd){var _0x5c1e9d,_0x83b8fb,_0x156edb;if(_0x5467bd<=0x0){_0x5467bd=0x1;}_0x5c1e9d=new RegExp(_0x2613('0x80')+_0x5467bd+'}$');_0x83b8fb=Math[_0x2613('0x81')](0xa,_0x5467bd-0x1);_0x156edb=Math['pow'](0xa,_0x5467bd)-0x1;return util['format']('%s',_['replace'](_0x4355de,_0x5c1e9d,_[_0x2613('0x82')](_0x83b8fb,_0x156edb)));};exports['extractCalleridName']=function(_0x2dcc84){var _0x29ec08=_0x2dcc84[_0x2613('0x83')](/"(.*?)"/);return _0x29ec08?_0x29ec08[0x1]:_0x2dcc84;};exports['extractCalleridNumber']=function(_0x4ee679){var _0x1bcc9f=_0x4ee679[_0x2613('0x83')](/<(.*?)>/);return _0x1bcc9f?_0x1bcc9f[0x1]:_0x4ee679;};