Built motion from commit c738b9ac.|2.6.25
[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 _0xb0a4=['rtpaudioqosrttbridged','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','extractCalleridNumber','noanswer','variables','keys','forEach','toLowerCase','buildNoAnswerEventPayload','lodash','moment','../../../../config/logger','env','XCALLY_IP_AGI','127.0.0.1','loggerCatch','error','inspect','logger','logger2','message','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','dialPreviewUrl','\x22agi://%s/square,%s\x22','dialQueueProject','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','monitor_format','_XCALLY_MIXMONITOR_FORMAT','toLowerVariables','hasOwnProperty','toLower','updateOriginated','isNil','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','responsetime','endtime','state','ringtime','getSeconds','starttime','logLookAgent','UserId','logCustomer','talktime','answertime','isFailure','Failure','variablesAction','RECALL','BOOKED','uniqueid','channelAgent','from-sip','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','scheduledAt','active','scheduledat','add','minutes','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','interface','voice','mandatoryDisposition','buildObj','agentReadyId','status','reachable','push','getDiff','milliseconds','diff','seconds','filterKey','type','dialAnswer','membername','countglobal','callback','callbackuniqueid','callbackat','recallme','xmd-voicequeueid','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-contactid','xmd-cdrtype','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt'];(function(_0x1de5c5,_0x213802){var _0x17cb1f=function(_0x57c89e){while(--_0x57c89e){_0x1de5c5['push'](_0x1de5c5['shift']());}};_0x17cb1f(++_0x213802);}(_0xb0a4,0x127));var _0x4b0a=function(_0x1694ca,_0xaff2b2){_0x1694ca=_0x1694ca-0x0;var _0x176b53=_0xb0a4[_0x1694ca];return _0x176b53;};'use strict';var util=require('util');var _=require(_0x4b0a('0x0'));var moment=require(_0x4b0a('0x1'));var logger=require(_0x4b0a('0x2'))('preview');var ipAgi=process[_0x4b0a('0x3')][_0x4b0a('0x4')]||_0x4b0a('0x5');var utils=require('../../dialer/utils');exports[_0x4b0a('0x6')]=function(_0x564396){return function(_0x7fffd3){logger[_0x4b0a('0x7')](_0x564396,util[_0x4b0a('0x8')](_0x7fffd3,{'showHidden':![],'depth':null}));};};exports[_0x4b0a('0x9')]=function(_0x2b6040,_0x9e85af){logger['info'](_0x2b6040,util[_0x4b0a('0x8')](_0x9e85af,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x5bb37e,_0xfd9156){logger['error'](_0x5bb37e,util[_0x4b0a('0x8')](_0xfd9156,{'showHidden':![],'depth':null}));};exports[_0x4b0a('0xa')]=function(_0x2852a4){return function(_0x2b1a92){logger['info'](_0x2852a4,util[_0x4b0a('0x8')](_0x2b1a92,{'showHidden':![],'depth':null}));};};exports[_0x4b0a('0xb')]=function(_0x5b100d,_0x46dfb9,_0xa8acbc){return{'message':_0x5b100d,'unlock':_0x46dfb9,'active':_0xa8acbc};};exports['getCallerId']=function(_0x29f7ac,_0x2bbb25,_0x40804c){if(!_[_0x4b0a('0xc')](_0x40804c)&&_0x4b0a('0xd')===typeof _0x40804c&&!_[_0x4b0a('0xe')](_0x40804c)){if(!_[_0x4b0a('0xc')](_0x2bbb25)&&'string'===typeof _0x2bbb25&&!_['isEmpty'](_0x2bbb25)){return util[_0x4b0a('0xf')](_0x4b0a('0x10'),_0x2bbb25,_0x40804c);}return util['format']('\x22%s\x22\x20<%s>',_0x40804c,_0x40804c);}if(!_[_0x4b0a('0xc')](_0x29f7ac)&&_0x4b0a('0xd')===typeof _0x29f7ac&&!_[_0x4b0a('0xe')](_0x29f7ac)){return _0x29f7ac;}return'\x22\x22\x20<>';};exports['isActive']=function(_0x574760){if(_['isNil'](_0x574760)){return![];}return _0x574760;};exports[_0x4b0a('0x11')]=function(_0x1fee67,_0x5ce284,_0x52981c,_0x282a44,_0x27f3c6,_0xda88a3){var _0x237df4={'XMD-QUEUE':_0x5ce284['Queue']?_0x5ce284[_0x4b0a('0x12')][_0x4b0a('0x13')]:'','XMD-CALLERID':_0x282a44,'XMD-CALLERID-PREVIEW':_0xda88a3?util[_0x4b0a('0xf')](_0x4b0a('0x10'),_0xda88a3[_0x4b0a('0x14')],_0xda88a3[_0x4b0a('0x15')]):_0x282a44,'XMD-DIALID':_0x27f3c6,'XMD-CONTACTID':_0x5ce284[_0x4b0a('0x16')],'XMD-CDRTYPE':_0x4b0a('0x17'),'CALLERID(all)':_0x282a44,'XMD-VOICEQUEUEID':_0x5ce284['VoiceQueueId'],'XMD-DIALCHANNEL':_0x52981c,'XMD-DIALTIMEOUT':_0x1fee67[_0x4b0a('0x18')]||0x1e,'XMD-DIALOPTIONS':util[_0x4b0a('0xf')](_0x4b0a('0x19'),_0x1fee67[_0x4b0a('0x1a')]?'g':'',_[_0x4b0a('0xe')](_0x1fee67['monitor_format'])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x1fee67[_0x4b0a('0x1b')]||'','XMD-AGI':_0x1fee67['dialQueueProject']?util[_0x4b0a('0xf')](_0x4b0a('0x1c'),ipAgi,_0x1fee67[_0x4b0a('0x1d')]):_0x4b0a('0x1e'),'XMD-AGIAFTER':_0x1fee67['dialQueueProject2']?util[_0x4b0a('0xf')](_0x4b0a('0x1c'),ipAgi,_0x1fee67[_0x4b0a('0x1a')]):_0x4b0a('0x1e'),'XMD-ORIGINATECALLERIDNUM':_0xda88a3?_0xda88a3[_0x4b0a('0x1f')]:'','XMD-ORIGINATECALLERIDNAME':_0xda88a3?_0xda88a3[_0x4b0a('0x20')]:'','XMD-DESTINATION':_0x4b0a('0x21'),'SIPADDHEADER':_0x4b0a('0x22')};if(!_[_0x4b0a('0xe')](_0x1fee67[_0x4b0a('0x23')])){_0x237df4[util[_0x4b0a('0xf')]('%s',_0x4b0a('0x24'))]=_0x1fee67[_0x4b0a('0x23')];_0x237df4[util['format']('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x27f3c6;}return _0x237df4;};exports[_0x4b0a('0x25')]=function(_0x40aa4a){var _0x35560e={};for(var _0x206b43 in _0x40aa4a){if(_0x40aa4a[_0x4b0a('0x26')](_0x206b43)){_0x35560e[util[_0x4b0a('0xf')]('%s',_[_0x4b0a('0x27')](_0x206b43))]=_0x40aa4a[_0x206b43];}}return{'variables':_0x35560e};};exports[_0x4b0a('0x28')]=function(_0x5cf876,_0x33d27d){if(!_[_0x4b0a('0x29')](_0x5cf876)){if(_0x5cf876['hasOwnProperty'](_0x4b0a('0x2a'))){if(_0x5cf876[_0x4b0a('0x2a')]>0x0){_0x5cf876[_0x4b0a('0x2a')]-=0x1;}else{logger[_0x4b0a('0x7')](_0x4b0a('0x2b'),_0x33d27d);}}}else{logger['error']('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x33d27d);}};exports[_0x4b0a('0x2c')]=function(_0x409c5a){var _0x3bd212=moment()['format'](_0x4b0a('0x2d'));_0x409c5a['state']=0xd;_0x409c5a[_0x4b0a('0x2e')]='Blacklist';_0x409c5a['starttime']=_0x3bd212;_0x409c5a[_0x4b0a('0x2f')]=_0x3bd212;_0x409c5a[_0x4b0a('0x30')]=_0x3bd212;};exports['logAgent']=function(_0xebc3f1,_0x127dbd,_0x3e1a81){var _0x15ba97=moment()['format'](_0x4b0a('0x2d'));_0xebc3f1[_0x4b0a('0x31')]=_0x127dbd;_0xebc3f1[_0x4b0a('0x2e')]=_0x3e1a81;_0xebc3f1[_0x4b0a('0x2f')]=_0x15ba97;_0xebc3f1[_0x4b0a('0x32')]=utils[_0x4b0a('0x33')](_0xebc3f1['responsetime'],_0xebc3f1[_0x4b0a('0x34')]);};exports[_0x4b0a('0x35')]=function(_0x3a1884,_0x3c50cc,_0xb23b61){_0x3a1884['membername']=_0x3c50cc;_0x3a1884[_0x4b0a('0x36')]=_0xb23b61;};exports[_0x4b0a('0x37')]=function(_0x1cdc62,_0x4bccce,_0x6654fc){var _0x107cac=moment()[_0x4b0a('0xf')](_0x4b0a('0x2d'));_0x1cdc62['state']=_0x4bccce;_0x1cdc62[_0x4b0a('0x2e')]=_0x6654fc;_0x1cdc62[_0x4b0a('0x2f')]=_0x1cdc62[_0x4b0a('0x2f')]?_0x1cdc62[_0x4b0a('0x2f')]:_0x107cac;_0x1cdc62[_0x4b0a('0x30')]=_0x1cdc62[_0x4b0a('0x30')]?_0x1cdc62[_0x4b0a('0x30')]:_0x107cac;_0x1cdc62[_0x4b0a('0x32')]=utils[_0x4b0a('0x33')](_0x1cdc62['responsetime']||0x0,_0x1cdc62[_0x4b0a('0x34')]||0x0);_0x1cdc62[_0x4b0a('0x38')]=_0x1cdc62[_0x4b0a('0x39')]?utils['getSeconds'](_0x1cdc62[_0x4b0a('0x30')],_0x1cdc62[_0x4b0a('0x39')]):0x0;};exports[_0x4b0a('0x3a')]=function(_0x4d58de){return _0x4d58de===_0x4b0a('0x3b');};exports[_0x4b0a('0x3c')]=function(_0x23e0ef,_0x3be78e,_0x5a9b42,_0x568dc5,_0x364f13){var _0x444045=_0x568dc5?_0x4b0a('0x3d'):_0x23e0ef['calleridname'];_0x444045=_0x364f13?_0x4b0a('0x3e'):_0x444045;return{'actionid':_0x23e0ef[_0x4b0a('0x3f')],'action':'originate','channel':_0x23e0ef[_0x4b0a('0x40')],'callerid':util[_0x4b0a('0xf')](_0x4b0a('0x10'),_0x444045,_0x23e0ef['calleridnum']),'Exten':'xcally-motion-preview','Context':_0x4b0a('0x41'),'Priority':'1','variable':_0x5a9b42,'timeout':(_0x3be78e['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x23e0ef['uniqueid']};};exports[_0x4b0a('0x42')]=function(_0x3d0077){return _0x3d0077[_0x4b0a('0x43')]+_0x3d0077[_0x4b0a('0x44')]+_0x3d0077[_0x4b0a('0x45')]+_0x3d0077[_0x4b0a('0x46')]+_0x3d0077[_0x4b0a('0x47')];};exports[_0x4b0a('0x48')]=function(_0x3f4cc8){var _0x2ded57=_[_0x4b0a('0x49')](_0x3f4cc8);_0x2ded57[_0x4b0a('0x31')]=0xf;_0x2ded57['statedesc']='Global';return _0x2ded57;};exports[_0x4b0a('0x4a')]=function(_0x145ef8,_0x14362d,_0xb059ac){var _0xc5b0ed={};_0xc5b0ed[_0x14362d]=_0x145ef8[_0x14362d];_0xc5b0ed[_0x4b0a('0x4b')]=![];_0xc5b0ed[_0x4b0a('0x4c')]=moment()[_0x4b0a('0x4d')](_0xb059ac,_0x4b0a('0x4e'))['format'](_0x4b0a('0x2d'));_0xc5b0ed[_0x4b0a('0x16')]=_0x145ef8['ContactId'];_0xc5b0ed[_0x4b0a('0x4f')]=_0x145ef8[_0x4b0a('0x4f')];_0xc5b0ed[_0x4b0a('0x50')]=_0x145ef8[_0x4b0a('0x50')]||undefined;return _0xc5b0ed;};exports[_0x4b0a('0x51')]=function(_0x76503a,_0x53f1ec){if(!_[_0x4b0a('0x29')](_0x76503a)){if(_0x76503a[_0x4b0a('0x52')]>0x0){_0x76503a['pTalking']-=0x1;}else{logger['error'](_0x53f1ec,_0x4b0a('0x53'));}}else{logger[_0x4b0a('0x7')](_0x53f1ec,_0x4b0a('0x54'));}};exports[_0x4b0a('0x55')]=function(_0x193cf5){if(_0x193cf5<=0x0){return!![];}return![];};function buildObj(_0x3b8000,_0x1b279a,_0x3ae107){_0x3b8000[_0x4b0a('0x56')]=_0x1b279a;_0x3b8000[_0x4b0a('0x13')]=_0x3b8000[_0x4b0a('0x57')];_0x3b8000[_0x4b0a('0x58')]=_0x3b8000['channelAgent'];_0x3b8000['motionChannel']=_0x4b0a('0x59');if(_0x3ae107){_0x3b8000[_0x4b0a('0x5a')]=_0x3ae107[_0x4b0a('0x5a')];}return _0x3b8000;}exports[_0x4b0a('0x5b')]=buildObj;exports[_0x4b0a('0x5c')]=function(_0x3d6f9b){var _0x2cad2a=[];for(var _0x289421 in _0x3d6f9b){if(_0x3d6f9b[_0x4b0a('0x26')](_0x289421)){if(!_['isNil'](_0x3d6f9b[_0x289421])&&_0x3d6f9b[_0x289421]['state']==='not_inuse'&&_0x3d6f9b[_0x289421][_0x4b0a('0x5d')]===_0x4b0a('0x5e')){_0x2cad2a[_0x4b0a('0x5f')](_0x3d6f9b[_0x289421]['id']);}}}return _0x2cad2a;};exports[_0x4b0a('0x60')]=function(_0x4876d7){var _0x1e9188=moment()[_0x4b0a('0x61')](0x0);var _0xd4b15c=moment(_0x4876d7)['milliseconds'](0x0);return _0x1e9188[_0x4b0a('0x62')](_0xd4b15c,_0x4b0a('0x63'));};exports['createBody']=function(_0x51a9e8){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x51a9e8[_0x4b0a('0x16')],'ListId':_0x51a9e8[_0x4b0a('0x4f')],'VoiceQueueId':_0x51a9e8[_0x4b0a('0x50')]||undefined,'CampaignId':_0x51a9e8['CampaignId']||undefined};};exports[_0x4b0a('0x64')]=function(_0x1a30ef){if(_0x1a30ef==='uniqueid'||_0x1a30ef==='idContact'||_0x1a30ef===_0x4b0a('0x57')||_0x1a30ef===_0x4b0a('0x65')||_0x1a30ef==='campaigntype'||_0x1a30ef===_0x4b0a('0x66')||_0x1a30ef===_0x4b0a('0x67')||_0x1a30ef===_0x4b0a('0x40')||_0x1a30ef===_0x4b0a('0x14')||_0x1a30ef===_0x4b0a('0x4b')||_0x1a30ef==='calleridnum'||_0x1a30ef===_0x4b0a('0x4c')||_0x1a30ef===_0x4b0a('0x43')||_0x1a30ef===_0x4b0a('0x44')||_0x1a30ef===_0x4b0a('0x45')||_0x1a30ef===_0x4b0a('0x68')||_0x1a30ef===_0x4b0a('0x69')||_0x1a30ef===_0x4b0a('0x6a')||_0x1a30ef===_0x4b0a('0x6b')||_0x1a30ef===_0x4b0a('0x6c')||_0x1a30ef==='ContactId'||_0x1a30ef===_0x4b0a('0x4f')||_0x1a30ef==='UserId'||_0x1a30ef==='VoiceQueueId'||_0x1a30ef==='sipcallid'||_0x1a30ef===_0x4b0a('0x6d')||_0x1a30ef==='xmd-queue'||_0x1a30ef==='xmd-phone'||_0x1a30ef===_0x4b0a('0x6e')||_0x1a30ef===_0x4b0a('0x6f')||_0x1a30ef===_0x4b0a('0x70')||_0x1a30ef===_0x4b0a('0x71')||_0x1a30ef===_0x4b0a('0x72')||_0x1a30ef==='xmd-dialchannel'||_0x1a30ef===_0x4b0a('0x73')||_0x1a30ef===_0x4b0a('0x74')||_0x1a30ef==='xmd-callerid'||_0x1a30ef===_0x4b0a('0x75')||_0x1a30ef===_0x4b0a('0x76')||_0x1a30ef===_0x4b0a('0x77')||_0x1a30ef==='rtpaudioqosbridged'||_0x1a30ef===_0x4b0a('0x78')||_0x1a30ef===_0x4b0a('0x79')||_0x1a30ef===_0x4b0a('0x7a')||_0x1a30ef==='rtpaudioqoslossbridged'||_0x1a30ef==='rtpaudioqosrtt'||_0x1a30ef==='rtpaudioqosrttbridged'||_0x1a30ef===_0x4b0a('0x77')||_0x1a30ef==='rtpaudioqosbridged'||_0x1a30ef===_0x4b0a('0x78')||_0x1a30ef===_0x4b0a('0x79')||_0x1a30ef===_0x4b0a('0x7a')||_0x1a30ef===_0x4b0a('0x7b')||_0x1a30ef===_0x4b0a('0x7c')||_0x1a30ef===_0x4b0a('0x7d')||_0x1a30ef==='bridgepeer'||_0x1a30ef==='bridgepvtcallid'||_0x1a30ef==='state'||_0x1a30ef==='statedesc'){return![];}return!![];};exports[_0x4b0a('0x7e')]=function(_0x5af7bd,_0xf4aaef){var _0x5cc9a4,_0x971c8a,_0x51f6e5;if(_0xf4aaef<=0x0){_0xf4aaef=0x1;}_0x5cc9a4=new RegExp(_0x4b0a('0x7f')+_0xf4aaef+'}$');_0x971c8a=Math['pow'](0xa,_0xf4aaef-0x1);_0x51f6e5=Math[_0x4b0a('0x80')](0xa,_0xf4aaef)-0x1;return util['format']('%s',_[_0x4b0a('0x81')](_0x5af7bd,_0x5cc9a4,_[_0x4b0a('0x82')](_0x971c8a,_0x51f6e5)));};exports[_0x4b0a('0x83')]=function(_0x4d60f1){var _0x35ff93=_0x4d60f1[_0x4b0a('0x84')](/"(.*?)"/);return _0x35ff93?_0x35ff93[0x1]:_0x4d60f1;};exports[_0x4b0a('0x85')]=function(_0x90ba39){var _0x1dd6b2=_0x90ba39['match'](/<(.*?)>/);return _0x1dd6b2?_0x1dd6b2[0x1]:_0x90ba39;};function buildNoAnswerEventPayload(_0x4a435e,_0x15f697){var _0x4705b9=buildObj(_0x4a435e,_0x4b0a('0x86'));if(!_[_0x4b0a('0xe')](_0x15f697[_0x4b0a('0x87')])){Object[_0x4b0a('0x88')](_0x15f697[_0x4b0a('0x87')])[_0x4b0a('0x89')](function(_0x5649ff){_0x4705b9[_0x5649ff[_0x4b0a('0x8a')]()]=_0x15f697[_0x4b0a('0x87')][_0x5649ff];});}return _0x4705b9;}exports[_0x4b0a('0x8b')]=buildNoAnswerEventPayload;