a34620fc27db32fa89025cfecaf679655813a440
[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 _0x8514=['xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','bridgepeer','bridgepvtcallid','\x5cw{0,','pow','replace','random','extractCalleridName','match','noanswer','variables','keys','forEach','buildNoAnswerEventPayload','util','lodash','moment','preview','env','127.0.0.1','loggerCatch','inspect','info','loggerError','logger2','message','getCallerId','string','isEmpty','isUndefined','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','monitor_format','_XCALLY_MIXMONITOR_FORMAT','toLowerVariables','hasOwnProperty','toLower','originated','error','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','responsetime','endtime','logAgent','getSeconds','logLookAgent','UserId','logCustomer','ringtime','starttime','talktime','answertime','isFailure','variablesAction','BOOKED','originate','channelAgent','from-sip','uniqueid','totalGlobal','countbusyretry','countcongestionretry','cloneAction','clone','add','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','interface','motionChannel','voice','agentReadyId','not_inuse','status','reachable','push','getDiff','milliseconds','diff','seconds','CampaignId','type','campaigntype','dialAnswer','membername','countnoanswerretry','callback','callbackuniqueid','callbackat','recallme','xmd-voicequeueid','xmd-phone','xmd-listid','xmd-dialoptions','xmd-dialid','xmd-contactid','xmd-cdrtype','xmd-callerid'];(function(_0xacfeb9,_0x14eafd){var _0xf43316=function(_0x4c39fa){while(--_0x4c39fa){_0xacfeb9['push'](_0xacfeb9['shift']());}};_0xf43316(++_0x14eafd);}(_0x8514,0x1b5));var _0x4851=function(_0xc460e3,_0xd0c1c7){_0xc460e3=_0xc460e3-0x0;var _0x10a1a5=_0x8514[_0xc460e3];return _0x10a1a5;};'use strict';var util=require(_0x4851('0x0'));var _=require(_0x4851('0x1'));var moment=require(_0x4851('0x2'));var logger=require('../../../../config/logger')(_0x4851('0x3'));var ipAgi=process[_0x4851('0x4')]['XCALLY_IP_AGI']||_0x4851('0x5');var utils=require('../../dialer/utils');exports[_0x4851('0x6')]=function(_0x33f276){return function(_0x1c0f3c){logger['error'](_0x33f276,util[_0x4851('0x7')](_0x1c0f3c,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x1084fc,_0x4e1941){logger[_0x4851('0x8')](_0x1084fc,util[_0x4851('0x7')](_0x4e1941,{'showHidden':![],'depth':null}));};exports[_0x4851('0x9')]=function(_0x1eb374,_0x4ab373){logger['error'](_0x1eb374,util[_0x4851('0x7')](_0x4ab373,{'showHidden':![],'depth':null}));};exports[_0x4851('0xa')]=function(_0x10b54f){return function(_0xd79650){logger['info'](_0x10b54f,util[_0x4851('0x7')](_0xd79650,{'showHidden':![],'depth':null}));};};exports[_0x4851('0xb')]=function(_0x284176,_0xfb34d8,_0x8511e6){return{'message':_0x284176,'unlock':_0xfb34d8,'active':_0x8511e6};};exports[_0x4851('0xc')]=function(_0x52c770,_0x53ef0a,_0x4c5a3e){if(!_['isUndefined'](_0x4c5a3e)&&_0x4851('0xd')===typeof _0x4c5a3e&&!_[_0x4851('0xe')](_0x4c5a3e)){if(!_[_0x4851('0xf')](_0x53ef0a)&&_0x4851('0xd')===typeof _0x53ef0a&&!_[_0x4851('0xe')](_0x53ef0a)){return util[_0x4851('0x10')](_0x4851('0x11'),_0x53ef0a,_0x4c5a3e);}return util[_0x4851('0x10')](_0x4851('0x11'),_0x4c5a3e,_0x4c5a3e);}if(!_[_0x4851('0xf')](_0x52c770)&&'string'===typeof _0x52c770&&!_[_0x4851('0xe')](_0x52c770)){return _0x52c770;}return _0x4851('0x12');};exports[_0x4851('0x13')]=function(_0x23be2e){if(_[_0x4851('0x14')](_0x23be2e)){return![];}return _0x23be2e;};exports[_0x4851('0x15')]=function(_0x18f852,_0x1ad633,_0x3e9051,_0x16a9db,_0x40023a,_0x2b9199){var _0x594c22={'XMD-QUEUE':_0x1ad633[_0x4851('0x16')]?_0x1ad633[_0x4851('0x16')][_0x4851('0x17')]:'','XMD-CALLERID':_0x16a9db,'XMD-CALLERID-PREVIEW':_0x2b9199?util['format'](_0x4851('0x11'),_0x2b9199[_0x4851('0x18')],_0x2b9199[_0x4851('0x19')]):_0x16a9db,'XMD-DIALID':_0x40023a,'XMD-CONTACTID':_0x1ad633[_0x4851('0x1a')],'XMD-CDRTYPE':_0x4851('0x1b'),'CALLERID(all)':_0x16a9db,'XMD-VOICEQUEUEID':_0x1ad633[_0x4851('0x1c')],'XMD-DIALCHANNEL':_0x3e9051,'XMD-DIALTIMEOUT':_0x18f852[_0x4851('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0x4851('0x10')](_0x4851('0x1e'),_0x18f852[_0x4851('0x1f')]?'g':'',_[_0x4851('0xe')](_0x18f852['monitor_format'])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x18f852['dialPreviewUrl']||'','XMD-AGI':_0x18f852[_0x4851('0x20')]?util['format'](_0x4851('0x21'),ipAgi,_0x18f852[_0x4851('0x20')]):_0x4851('0x22'),'XMD-AGIAFTER':_0x18f852[_0x4851('0x1f')]?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0x18f852[_0x4851('0x1f')]):_0x4851('0x22'),'XMD-ORIGINATECALLERIDNUM':_0x2b9199?_0x2b9199[_0x4851('0x23')]:'','XMD-ORIGINATECALLERIDNAME':_0x2b9199?_0x2b9199[_0x4851('0x24')]:'','XMD-DESTINATION':_0x4851('0x25'),'SIPADDHEADER':_0x4851('0x26')};if(!_[_0x4851('0xe')](_0x18f852[_0x4851('0x27')])){_0x594c22[util['format']('%s',_0x4851('0x28'))]=_0x18f852[_0x4851('0x27')];_0x594c22[util[_0x4851('0x10')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x40023a;}return _0x594c22;};exports[_0x4851('0x29')]=function(_0x3a41e8){var _0x1989c5={};for(var _0x3ba83e in _0x3a41e8){if(_0x3a41e8[_0x4851('0x2a')](_0x3ba83e)){_0x1989c5[util['format']('%s',_[_0x4851('0x2b')](_0x3ba83e))]=_0x3a41e8[_0x3ba83e];}}return{'variables':_0x1989c5};};exports['updateOriginated']=function(_0x8890b4,_0x1b092a){if(!_[_0x4851('0x14')](_0x8890b4)){if(_0x8890b4[_0x4851('0x2a')]('originated')){if(_0x8890b4[_0x4851('0x2c')]>0x0){_0x8890b4[_0x4851('0x2c')]-=0x1;}else{logger[_0x4851('0x2d')](_0x4851('0x2e'),_0x1b092a);}}}else{logger['error'](_0x4851('0x2f'),_0x1b092a);}};exports[_0x4851('0x30')]=function(_0x59679e){var _0x4dd724=moment()['format'](_0x4851('0x31'));_0x59679e[_0x4851('0x32')]=0xd;_0x59679e[_0x4851('0x33')]=_0x4851('0x34');_0x59679e['starttime']=_0x4dd724;_0x59679e[_0x4851('0x35')]=_0x4dd724;_0x59679e[_0x4851('0x36')]=_0x4dd724;};exports[_0x4851('0x37')]=function(_0x114482,_0x46e25a,_0x17acb9){var _0x45e0b0=moment()['format'](_0x4851('0x31'));_0x114482[_0x4851('0x32')]=_0x46e25a;_0x114482[_0x4851('0x33')]=_0x17acb9;_0x114482['responsetime']=_0x45e0b0;_0x114482['ringtime']=utils[_0x4851('0x38')](_0x114482['responsetime'],_0x114482['starttime']);};exports[_0x4851('0x39')]=function(_0x544066,_0x584f26,_0x5e09d3){_0x544066['membername']=_0x584f26;_0x544066[_0x4851('0x3a')]=_0x5e09d3;};exports[_0x4851('0x3b')]=function(_0x1fa164,_0x5bc53d,_0x9ac11d){var _0x444ea8=moment()[_0x4851('0x10')](_0x4851('0x31'));_0x1fa164['state']=_0x5bc53d;_0x1fa164[_0x4851('0x33')]=_0x9ac11d;_0x1fa164['responsetime']=_0x1fa164[_0x4851('0x35')]?_0x1fa164[_0x4851('0x35')]:_0x444ea8;_0x1fa164[_0x4851('0x36')]=_0x1fa164[_0x4851('0x36')]?_0x1fa164[_0x4851('0x36')]:_0x444ea8;_0x1fa164[_0x4851('0x3c')]=utils[_0x4851('0x38')](_0x1fa164['responsetime']||0x0,_0x1fa164[_0x4851('0x3d')]||0x0);_0x1fa164[_0x4851('0x3e')]=_0x1fa164['answertime']?utils[_0x4851('0x38')](_0x1fa164[_0x4851('0x36')],_0x1fa164[_0x4851('0x3f')]):0x0;};exports[_0x4851('0x40')]=function(_0x13d652){return _0x13d652==='Failure';};exports[_0x4851('0x41')]=function(_0x20f2fe,_0x5a8de6,_0x4e10b6,_0x6c22ff,_0x2bb7d9){var _0x298008=_0x6c22ff?'RECALL':_0x20f2fe[_0x4851('0x18')];_0x298008=_0x2bb7d9?_0x4851('0x42'):_0x298008;return{'actionid':_0x20f2fe['uniqueid'],'action':_0x4851('0x43'),'channel':_0x20f2fe[_0x4851('0x44')],'callerid':util[_0x4851('0x10')](_0x4851('0x11'),_0x298008,_0x20f2fe[_0x4851('0x19')]),'Exten':_0x4851('0x25'),'Context':_0x4851('0x45'),'Priority':'1','variable':_0x4e10b6,'timeout':(_0x5a8de6['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x20f2fe[_0x4851('0x46')]};};exports[_0x4851('0x47')]=function(_0x495674){return _0x495674[_0x4851('0x48')]+_0x495674[_0x4851('0x49')]+_0x495674['countnoanswerretry']+_0x495674['countagentrejectretry']+_0x495674['countnosuchnumberretry'];};exports[_0x4851('0x4a')]=function(_0x1edd0d){var _0x2081f9=_[_0x4851('0x4b')](_0x1edd0d);_0x2081f9[_0x4851('0x32')]=0xf;_0x2081f9['statedesc']='Global';return _0x2081f9;};exports['scheduledAt']=function(_0x55cf2e,_0xf407ab,_0x58f553){var _0x4b05e3={};_0x4b05e3[_0xf407ab]=_0x55cf2e[_0xf407ab];_0x4b05e3['active']=![];_0x4b05e3['scheduledat']=moment()[_0x4851('0x4c')](_0x58f553,'minutes')['format'](_0x4851('0x31'));_0x4b05e3[_0x4851('0x1a')]=_0x55cf2e[_0x4851('0x1a')];_0x4b05e3[_0x4851('0x4d')]=_0x55cf2e[_0x4851('0x4d')];_0x4b05e3['VoiceQueueId']=_0x55cf2e[_0x4851('0x1c')]||undefined;return _0x4b05e3;};exports[_0x4851('0x4e')]=function(_0x26bea6,_0x3793cc){if(!_[_0x4851('0x14')](_0x26bea6)){if(_0x26bea6[_0x4851('0x4f')]>0x0){_0x26bea6['pTalking']-=0x1;}else{logger[_0x4851('0x2d')](_0x3793cc,_0x4851('0x50'));}}else{logger['error'](_0x3793cc,_0x4851('0x51'));}};exports[_0x4851('0x52')]=function(_0x3fab88){if(_0x3fab88<=0x0){return!![];}return![];};function buildObj(_0x1e0eb7,_0x2b2a71,_0x184572){_0x1e0eb7[_0x4851('0x53')]=_0x2b2a71;_0x1e0eb7['name']=_0x1e0eb7[_0x4851('0x54')];_0x1e0eb7[_0x4851('0x55')]=_0x1e0eb7[_0x4851('0x44')];_0x1e0eb7[_0x4851('0x56')]=_0x4851('0x57');if(_0x184572){_0x1e0eb7['mandatoryDisposition']=_0x184572['mandatoryDisposition'];}return _0x1e0eb7;}exports['buildObj']=buildObj;exports[_0x4851('0x58')]=function(_0x13d6c3){var _0x4625a6=[];for(var _0x57852d in _0x13d6c3){if(_0x13d6c3['hasOwnProperty'](_0x57852d)){if(!_['isNil'](_0x13d6c3[_0x57852d])&&_0x13d6c3[_0x57852d][_0x4851('0x32')]===_0x4851('0x59')&&_0x13d6c3[_0x57852d][_0x4851('0x5a')]===_0x4851('0x5b')){_0x4625a6[_0x4851('0x5c')](_0x13d6c3[_0x57852d]['id']);}}}return _0x4625a6;};exports[_0x4851('0x5d')]=function(_0x31dd91){var _0x56c6ef=moment()[_0x4851('0x5e')](0x0);var _0x45ba1b=moment(_0x31dd91)['milliseconds'](0x0);return _0x56c6ef[_0x4851('0x5f')](_0x45ba1b,_0x4851('0x60'));};exports['createBody']=function(_0x265bb8){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x265bb8[_0x4851('0x1a')],'ListId':_0x265bb8[_0x4851('0x4d')],'VoiceQueueId':_0x265bb8[_0x4851('0x1c')]||undefined,'CampaignId':_0x265bb8[_0x4851('0x61')]||undefined};};exports['filterKey']=function(_0x2c5a04){if(_0x2c5a04===_0x4851('0x46')||_0x2c5a04==='idContact'||_0x2c5a04===_0x4851('0x54')||_0x2c5a04===_0x4851('0x62')||_0x2c5a04===_0x4851('0x63')||_0x2c5a04===_0x4851('0x64')||_0x2c5a04===_0x4851('0x65')||_0x2c5a04==='channelAgent'||_0x2c5a04==='calleridname'||_0x2c5a04==='active'||_0x2c5a04==='calleridnum'||_0x2c5a04==='scheduledat'||_0x2c5a04==='countbusyretry'||_0x2c5a04===_0x4851('0x49')||_0x2c5a04===_0x4851('0x66')||_0x2c5a04==='countglobal'||_0x2c5a04===_0x4851('0x67')||_0x2c5a04===_0x4851('0x68')||_0x2c5a04===_0x4851('0x69')||_0x2c5a04===_0x4851('0x6a')||_0x2c5a04===_0x4851('0x1a')||_0x2c5a04===_0x4851('0x4d')||_0x2c5a04===_0x4851('0x3a')||_0x2c5a04===_0x4851('0x1c')||_0x2c5a04==='sipcallid'||_0x2c5a04===_0x4851('0x6b')||_0x2c5a04==='xmd-queue'||_0x2c5a04===_0x4851('0x6c')||_0x2c5a04===_0x4851('0x6d')||_0x2c5a04==='xmd-dialurl'||_0x2c5a04==='xmd-dialtimeout'||_0x2c5a04===_0x4851('0x6e')||_0x2c5a04===_0x4851('0x6f')||_0x2c5a04==='xmd-dialchannel'||_0x2c5a04===_0x4851('0x70')||_0x2c5a04===_0x4851('0x71')||_0x2c5a04===_0x4851('0x72')||_0x2c5a04===_0x4851('0x73')||_0x2c5a04===_0x4851('0x74')||_0x2c5a04===_0x4851('0x75')||_0x2c5a04===_0x4851('0x76')||_0x2c5a04===_0x4851('0x77')||_0x2c5a04==='rtpaudioqosjitterbridged'||_0x2c5a04==='rtpaudioqosloss'||_0x2c5a04==='rtpaudioqoslossbridged'||_0x2c5a04===_0x4851('0x78')||_0x2c5a04===_0x4851('0x79')||_0x2c5a04===_0x4851('0x75')||_0x2c5a04===_0x4851('0x76')||_0x2c5a04===_0x4851('0x77')||_0x2c5a04===_0x4851('0x7a')||_0x2c5a04===_0x4851('0x7b')||_0x2c5a04===_0x4851('0x7c')||_0x2c5a04===_0x4851('0x78')||_0x2c5a04==='rtpaudioqosrttbridged'||_0x2c5a04===_0x4851('0x7d')||_0x2c5a04===_0x4851('0x7e')||_0x2c5a04===_0x4851('0x32')||_0x2c5a04===_0x4851('0x33')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x46ed96,_0x266805){var _0x5d76af,_0x3d62bd,_0x4a4c9a;if(_0x266805<=0x0){_0x266805=0x1;}_0x5d76af=new RegExp(_0x4851('0x7f')+_0x266805+'}$');_0x3d62bd=Math[_0x4851('0x80')](0xa,_0x266805-0x1);_0x4a4c9a=Math[_0x4851('0x80')](0xa,_0x266805)-0x1;return util[_0x4851('0x10')]('%s',_[_0x4851('0x81')](_0x46ed96,_0x5d76af,_[_0x4851('0x82')](_0x3d62bd,_0x4a4c9a)));};exports[_0x4851('0x83')]=function(_0x556bbd){var _0x1ca364=_0x556bbd[_0x4851('0x84')](/"(.*?)"/);return _0x1ca364?_0x1ca364[0x1]:_0x556bbd;};exports['extractCalleridNumber']=function(_0x42bb8a){var _0x177e3b=_0x42bb8a['match'](/<(.*?)>/);return _0x177e3b?_0x177e3b[0x1]:_0x42bb8a;};function buildNoAnswerEventPayload(_0x2ba076,_0x5252de){var _0x36ac05=buildObj(_0x2ba076,_0x4851('0x85'));if(!_[_0x4851('0xe')](_0x5252de[_0x4851('0x86')])){Object[_0x4851('0x87')](_0x5252de[_0x4851('0x86')])[_0x4851('0x88')](function(_0xe35a18){_0x36ac05[_0xe35a18['toLowerCase']()]=_0x5252de[_0x4851('0x86')][_0xe35a18];});}return _0x36ac05;}exports[_0x4851('0x89')]=buildNoAnswerEventPayload;