Built motion from commit (unavailable).|2.5.20
[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 _0x73d4=['Global','scheduledAt','scheduledat','add','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','name','queue','interface','mandatoryDisposition','buildAcw','agentReadyId','status','push','seconds','createBody','filterKey','campaigntype','dialAnswer','active','countglobal','callback','callbackat','sipcallid','xmd-queue','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-contactid','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqosjitterbridged','rtpaudioqosrtt','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','util','lodash','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','error','inspect','info','loggerError','logger2','message','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','isActive','isNil','Queue','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','createdAt','updatedAt','%s%s','toUpper','toLowerVariables','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','Blacklist','starttime','responsetime','endtime','statedesc','logLookAgent','membername','UserId','logCustomer','ringtime','talktime','answertime','isFailure','Failure','variablesAction','RECALL','originate','channelAgent','from-sip','timeout','uniqueid','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction'];(function(_0xad92d9,_0x3f9084){var _0x229033=function(_0x448f7f){while(--_0x448f7f){_0xad92d9['push'](_0xad92d9['shift']());}};_0x229033(++_0x3f9084);}(_0x73d4,0x1c4));var _0x473d=function(_0x3cb21e,_0x11849a){_0x3cb21e=_0x3cb21e-0x0;var _0xeacd6a=_0x73d4[_0x3cb21e];return _0xeacd6a;};'use strict';var util=require(_0x473d('0x0'));var _=require(_0x473d('0x1'));var moment=require(_0x473d('0x2'));var logger=require(_0x473d('0x3'))(_0x473d('0x4'));var ipAgi=process[_0x473d('0x5')][_0x473d('0x6')]||_0x473d('0x7');function getSeconds(_0x23a832,_0x17c9c1){var _0x6ed7f9=moment(_0x23a832)[_0x473d('0x8')](0x0);var _0xd8cd0c=moment(_0x17c9c1)[_0x473d('0x8')](0x0);return _0x6ed7f9[_0x473d('0x9')](_0xd8cd0c,'seconds');}exports['loggerCatch']=function(_0x5e6c8c){return function(_0x58a68d){logger[_0x473d('0xa')](_0x5e6c8c,util[_0x473d('0xb')](_0x58a68d,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x598f1f,_0x1ac998){logger[_0x473d('0xc')](_0x598f1f,util['inspect'](_0x1ac998,{'showHidden':![],'depth':null}));};exports[_0x473d('0xd')]=function(_0x355349,_0x37ffbd){logger[_0x473d('0xa')](_0x355349,util['inspect'](_0x37ffbd,{'showHidden':![],'depth':null}));};exports[_0x473d('0xe')]=function(_0x547e55){return function(_0x1451fb){logger[_0x473d('0xc')](_0x547e55,util[_0x473d('0xb')](_0x1451fb,{'showHidden':![],'depth':null}));};};exports[_0x473d('0xf')]=function(_0x4da8bb,_0x1b9deb,_0xd4c080){return{'message':_0x4da8bb,'unlock':_0x1b9deb,'active':_0xd4c080};};exports['getCallerId']=function(_0x5101d2,_0x2f683f,_0x33f14b){if(!_[_0x473d('0x10')](_0x33f14b)&&_0x473d('0x11')===typeof _0x33f14b&&!_[_0x473d('0x12')](_0x33f14b)){if(!_[_0x473d('0x10')](_0x2f683f)&&'string'===typeof _0x2f683f&&!_[_0x473d('0x12')](_0x2f683f)){return util[_0x473d('0x13')](_0x473d('0x14'),_0x2f683f,_0x33f14b);}return util[_0x473d('0x13')]('\x22%s\x22\x20<%s>',_0x33f14b,_0x33f14b);}if(!_[_0x473d('0x10')](_0x5101d2)&&'string'===typeof _0x5101d2&&!_[_0x473d('0x12')](_0x5101d2)){return _0x5101d2;}return'\x22\x22\x20<>';};exports[_0x473d('0x15')]=function(_0x34ba08){if(_[_0x473d('0x16')](_0x34ba08)){return![];}return _0x34ba08;};exports['addVariables']=function(_0x2e2cfb,_0x4ad92e,_0x59d7c7,_0x132aac,_0x2dafa4,_0x23a3b1){var _0x4750a3={'XMD-QUEUE':_0x4ad92e[_0x473d('0x17')]?_0x4ad92e['Queue']['name']:'','XMD-CALLERID':_0x132aac,'XMD-CALLERID-PREVIEW':_0x23a3b1?util['format'](_0x473d('0x14'),_0x23a3b1[_0x473d('0x18')],_0x23a3b1[_0x473d('0x19')]):_0x132aac,'XMD-DIALID':_0x2dafa4,'XMD-CONTACTID':_0x4ad92e[_0x473d('0x1a')],'XMD-CDRTYPE':_0x473d('0x1b'),'CALLERID(all)':_0x132aac,'XMD-VOICEQUEUEID':_0x4ad92e[_0x473d('0x1c')],'XMD-DIALCHANNEL':_0x59d7c7,'XMD-DIALTIMEOUT':_0x2e2cfb[_0x473d('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0x473d('0x13')](_0x473d('0x1e'),_0x2e2cfb[_0x473d('0x1f')]?'g':'',_[_0x473d('0x12')](_0x2e2cfb[_0x473d('0x20')])?'':_0x473d('0x21')),'XMD-DIALURL':_0x2e2cfb[_0x473d('0x22')]||'','XMD-AGI':_0x2e2cfb[_0x473d('0x23')]?util[_0x473d('0x13')](_0x473d('0x24'),ipAgi,_0x2e2cfb[_0x473d('0x23')]):'NONE','XMD-AGIAFTER':_0x2e2cfb[_0x473d('0x1f')]?util[_0x473d('0x13')](_0x473d('0x24'),ipAgi,_0x2e2cfb[_0x473d('0x1f')]):_0x473d('0x25'),'XMD-ORIGINATECALLERIDNUM':_0x23a3b1?_0x23a3b1[_0x473d('0x26')]:'','XMD-ORIGINATECALLERIDNAME':_0x23a3b1?_0x23a3b1['originatecalleridname']:'','XMD-DESTINATION':_0x473d('0x27')};if(!_[_0x473d('0x12')](_0x2e2cfb[_0x473d('0x20')])){_0x4750a3[util[_0x473d('0x13')]('%s',_0x473d('0x28'))]=_0x2e2cfb[_0x473d('0x20')];_0x4750a3[util[_0x473d('0x13')]('%s',_0x473d('0x29'))]=_0x2dafa4;}if(_0x4ad92e&&_0x4ad92e[_0x473d('0x2a')]){for(var _0x2d511f in _0x4ad92e['Contact']){if(_0x4ad92e['Contact'][_0x473d('0x2b')](_0x2d511f)){if(!_[_0x473d('0x16')](_0x4ad92e[_0x473d('0x2a')][_0x2d511f])&&_0x2d511f!=='id'&&_0x2d511f!==_0x473d('0x2c')&&_0x2d511f!==_0x473d('0x2d')&&_0x2d511f!==_0x473d('0x2e')){_0x4750a3[util[_0x473d('0x13')](_0x473d('0x2f'),'XMD-',_[_0x473d('0x30')](_0x2d511f))]=_0x4ad92e[_0x473d('0x2a')][_0x2d511f];}}}}return _0x4750a3;};exports[_0x473d('0x31')]=function(_0xed7bad){var _0xa442ef={};for(var _0x4243f4 in _0xed7bad){if(_0xed7bad[_0x473d('0x2b')](_0x4243f4)){_0xa442ef[util[_0x473d('0x13')]('%s',_[_0x473d('0x32')](_0x4243f4))]=_0xed7bad[_0x4243f4];}}return{'variables':_0xa442ef};};exports[_0x473d('0x33')]=function(_0x4ebd15,_0x2c804e){if(!_[_0x473d('0x16')](_0x4ebd15)){if(_0x4ebd15[_0x473d('0x2b')](_0x473d('0x34'))){if(_0x4ebd15[_0x473d('0x34')]>0x0){_0x4ebd15['originated']-=0x1;}else{logger[_0x473d('0xa')](_0x473d('0x35'),_0x2c804e);}}}else{logger[_0x473d('0xa')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x2c804e);}};exports[_0x473d('0x36')]=function(_0x2359bb){var _0x7f5dfc=moment()[_0x473d('0x13')](_0x473d('0x37'));_0x2359bb[_0x473d('0x38')]=0xd;_0x2359bb['statedesc']=_0x473d('0x39');_0x2359bb[_0x473d('0x3a')]=_0x7f5dfc;_0x2359bb[_0x473d('0x3b')]=_0x7f5dfc;_0x2359bb[_0x473d('0x3c')]=_0x7f5dfc;};exports['logAgent']=function(_0x13a835,_0x15e42e,_0x5eecbf){var _0x12341c=moment()[_0x473d('0x13')](_0x473d('0x37'));_0x13a835[_0x473d('0x38')]=_0x15e42e;_0x13a835[_0x473d('0x3d')]=_0x5eecbf;_0x13a835[_0x473d('0x3b')]=_0x12341c;_0x13a835['ringtime']=getSeconds(_0x13a835['responsetime'],_0x13a835[_0x473d('0x3a')]);};exports[_0x473d('0x3e')]=function(_0x125b84,_0x37a85c,_0x244e81){_0x125b84[_0x473d('0x3f')]=_0x37a85c;_0x125b84[_0x473d('0x40')]=_0x244e81;};exports[_0x473d('0x41')]=function(_0x58068,_0x294ab7,_0x19394e){var _0x3163ff=moment()[_0x473d('0x13')](_0x473d('0x37'));_0x58068[_0x473d('0x38')]=_0x294ab7;_0x58068[_0x473d('0x3d')]=_0x19394e;_0x58068[_0x473d('0x3b')]=_0x58068[_0x473d('0x3b')]?_0x58068[_0x473d('0x3b')]:_0x3163ff;_0x58068['endtime']=_0x58068[_0x473d('0x3c')]?_0x58068[_0x473d('0x3c')]:_0x3163ff;_0x58068[_0x473d('0x42')]=getSeconds(_0x58068[_0x473d('0x3b')]||0x0,_0x58068[_0x473d('0x3a')]||0x0);_0x58068[_0x473d('0x43')]=_0x58068['answertime']?getSeconds(_0x58068[_0x473d('0x3c')],_0x58068[_0x473d('0x44')]):0x0;};exports[_0x473d('0x45')]=function(_0x18d18c){return _0x18d18c===_0x473d('0x46');};exports[_0x473d('0x47')]=function(_0x1ba231,_0x3fd38d,_0x46a56c,_0x29ef99,_0x1409ac){var _0x3c1c39=_0x29ef99?_0x473d('0x48'):_0x1ba231['calleridname'];_0x3c1c39=_0x1409ac?'BOOKED':_0x3c1c39;return{'actionid':_0x1ba231['uniqueid'],'action':_0x473d('0x49'),'channel':_0x1ba231[_0x473d('0x4a')],'callerid':util[_0x473d('0x13')]('\x22%s\x22\x20<%s>',_0x3c1c39,_0x1ba231['calleridnum']),'Exten':'xcally-motion-preview','Context':_0x473d('0x4b'),'Priority':'1','variable':_0x46a56c,'timeout':(_0x3fd38d[_0x473d('0x4c')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1ba231[_0x473d('0x4d')]};};exports['totalGlobal']=function(_0x2c45c4){return _0x2c45c4[_0x473d('0x4e')]+_0x2c45c4[_0x473d('0x4f')]+_0x2c45c4[_0x473d('0x50')]+_0x2c45c4[_0x473d('0x51')]+_0x2c45c4[_0x473d('0x52')];};exports[_0x473d('0x53')]=function(_0x21e7dc){var _0x53b40e=_['clone'](_0x21e7dc);_0x53b40e[_0x473d('0x38')]=0xf;_0x53b40e[_0x473d('0x3d')]=_0x473d('0x54');return _0x53b40e;};exports[_0x473d('0x55')]=function(_0xf246e8,_0x5dd673,_0x22f91a){var _0x2c9443={};_0x2c9443[_0x5dd673]=_0xf246e8[_0x5dd673];_0x2c9443['active']=![];_0x2c9443[_0x473d('0x56')]=moment()[_0x473d('0x57')](_0x22f91a,'minutes')['format']('YYYY-MM-DD\x20HH:mm:ss');_0x2c9443['ContactId']=_0xf246e8[_0x473d('0x1a')];_0x2c9443[_0x473d('0x58')]=_0xf246e8[_0x473d('0x58')];_0x2c9443[_0x473d('0x1c')]=_0xf246e8[_0x473d('0x1c')]||undefined;return _0x2c9443;};exports[_0x473d('0x59')]=function(_0x31926d,_0x3e7b31){if(!_['isNil'](_0x31926d)){if(_0x31926d[_0x473d('0x5a')]>0x0){_0x31926d[_0x473d('0x5a')]-=0x1;}else{logger[_0x473d('0xa')](_0x3e7b31,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0x473d('0xa')](_0x3e7b31,_0x473d('0x5b'));}};exports[_0x473d('0x5c')]=function(_0x5398f0){if(_0x5398f0<=0x0){return!![];}return![];};exports[_0x473d('0x5d')]=function(_0x255a50,_0x623626,_0x2c7567){_0x255a50['lastevent']=_0x623626;_0x255a50[_0x473d('0x5e')]=_0x255a50[_0x473d('0x5f')];_0x255a50[_0x473d('0x60')]=_0x255a50[_0x473d('0x4a')];if(_0x2c7567){_0x255a50[_0x473d('0x61')]=_0x2c7567[_0x473d('0x61')];}return _0x255a50;};exports[_0x473d('0x62')]=function(_0x14a5be){var _0x3727e9={};_0x3727e9[_0x473d('0x5f')]=_0x14a5be[_0x473d('0x5f')];_0x3727e9[_0x473d('0x60')]=_0x14a5be[_0x473d('0x4a')];_0x3727e9[_0x473d('0x4d')]=_0x14a5be[_0x473d('0x4d')];return _0x3727e9;};exports[_0x473d('0x63')]=function(_0x4357d6){var _0x15bb1c=[];for(var _0x45cbd4 in _0x4357d6){if(_0x4357d6[_0x473d('0x2b')](_0x45cbd4)){if(!_[_0x473d('0x16')](_0x4357d6[_0x45cbd4])&&_0x4357d6[_0x45cbd4][_0x473d('0x38')]==='not_inuse'&&_0x4357d6[_0x45cbd4][_0x473d('0x64')]==='reachable'){_0x15bb1c[_0x473d('0x65')](_0x4357d6[_0x45cbd4]['id']);}}}return _0x15bb1c;};exports['getDiff']=function(_0x42707){var _0x57721d=moment()[_0x473d('0x8')](0x0);var _0x349db5=moment(_0x42707)[_0x473d('0x8')](0x0);return _0x57721d['diff'](_0x349db5,_0x473d('0x66'));};exports[_0x473d('0x67')]=function(_0x35d994){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x35d994[_0x473d('0x1a')],'ListId':_0x35d994[_0x473d('0x58')],'VoiceQueueId':_0x35d994[_0x473d('0x1c')]||undefined,'CampaignId':_0x35d994['CampaignId']||undefined};};exports[_0x473d('0x68')]=function(_0x2012e8){if(_0x2012e8===_0x473d('0x4d')||_0x2012e8==='idContact'||_0x2012e8==='queue'||_0x2012e8==='type'||_0x2012e8===_0x473d('0x69')||_0x2012e8===_0x473d('0x6a')||_0x2012e8===_0x473d('0x3f')||_0x2012e8===_0x473d('0x4a')||_0x2012e8===_0x473d('0x18')||_0x2012e8===_0x473d('0x6b')||_0x2012e8===_0x473d('0x19')||_0x2012e8===_0x473d('0x56')||_0x2012e8===_0x473d('0x4e')||_0x2012e8===_0x473d('0x4f')||_0x2012e8===_0x473d('0x50')||_0x2012e8===_0x473d('0x6c')||_0x2012e8===_0x473d('0x6d')||_0x2012e8==='callbackuniqueid'||_0x2012e8===_0x473d('0x6e')||_0x2012e8==='recallme'||_0x2012e8===_0x473d('0x1a')||_0x2012e8===_0x473d('0x58')||_0x2012e8==='UserId'||_0x2012e8===_0x473d('0x1c')||_0x2012e8===_0x473d('0x6f')||_0x2012e8==='xmd-voicequeueid'||_0x2012e8===_0x473d('0x70')||_0x2012e8==='xmd-phone'||_0x2012e8===_0x473d('0x71')||_0x2012e8===_0x473d('0x72')||_0x2012e8===_0x473d('0x73')||_0x2012e8===_0x473d('0x74')||_0x2012e8==='xmd-dialid'||_0x2012e8==='xmd-dialchannel'||_0x2012e8===_0x473d('0x75')||_0x2012e8==='xmd-cdrtype'||_0x2012e8===_0x473d('0x76')||_0x2012e8===_0x473d('0x77')||_0x2012e8==='xmd-agi'||_0x2012e8===_0x473d('0x78')||_0x2012e8===_0x473d('0x79')||_0x2012e8===_0x473d('0x7a')||_0x2012e8==='rtpaudioqosjitterbridged'||_0x2012e8==='rtpaudioqosloss'||_0x2012e8===_0x473d('0x7b')||_0x2012e8==='rtpaudioqosrtt'||_0x2012e8===_0x473d('0x7c')||_0x2012e8==='rtpaudioqos'||_0x2012e8===_0x473d('0x79')||_0x2012e8===_0x473d('0x7a')||_0x2012e8===_0x473d('0x7d')||_0x2012e8==='rtpaudioqosloss'||_0x2012e8==='rtpaudioqoslossbridged'||_0x2012e8===_0x473d('0x7e')||_0x2012e8===_0x473d('0x7c')||_0x2012e8==='bridgepeer'||_0x2012e8==='bridgepvtcallid'||_0x2012e8==='state'||_0x2012e8===_0x473d('0x3d')){return![];}return!![];};exports[_0x473d('0x7f')]=function(_0x42a504,_0xf4bc96){var _0x3bfb24,_0x6134bd,_0x47bc8b;if(_0xf4bc96<=0x0){_0xf4bc96=0x1;}_0x3bfb24=new RegExp(_0x473d('0x80')+_0xf4bc96+'}$');_0x6134bd=Math[_0x473d('0x81')](0xa,_0xf4bc96-0x1);_0x47bc8b=Math['pow'](0xa,_0xf4bc96)-0x1;return util[_0x473d('0x13')]('%s',_[_0x473d('0x82')](_0x42a504,_0x3bfb24,_[_0x473d('0x83')](_0x6134bd,_0x47bc8b)));};exports[_0x473d('0x84')]=function(_0x5835a7){var _0xcbe286=_0x5835a7[_0x473d('0x85')](/"(.*?)"/);return _0xcbe286?_0xcbe286[0x1]:_0x5835a7;};exports['extractCalleridNumber']=function(_0x18e73e){var _0x164eb2=_0x18e73e[_0x473d('0x85')](/<(.*?)>/);return _0x164eb2?_0x164eb2[0x1]:_0x18e73e;};