66b869b9d3b0523a2aabc031783eeb0bd009d47d
[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 _0xb83c=['add','minutes','ListId','decrementTalkink','pTalking','lastevent','queue','interface','voice','mandatoryDisposition','buildAcw','not_inuse','status','reachable','push','getDiff','milliseconds','diff','createBody','CampaignId','idContact','type','campaigntype','dialAnswer','scheduledat','countglobal','callback','xmd-voicequeueid','xmd-phone','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosjitter','rtpaudioqosloss','bridgepeer','\x5cw{0,','pow','replace','random','extractCalleridName','extractCalleridNumber','match','noanswer','variables','keys','forEach','toLowerCase','util','lodash','moment','../../../../config/logger','preview','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','loggerCatch','error','inspect','logger','info','loggerError','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','ContactId','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','dialQueueProject','NONE','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','Call-Type:\x20PREVIEW','monitor_format','_XCALLY_MIXMONITOR_UNIQUEID','Contact','updatedAt','XMD-','toUpper','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','starttime','responsetime','logAgent','ringtime','getSeconds','logLookAgent','membername','UserId','logCustomer','endtime','talktime','answertime','isFailure','Failure','variablesAction','RECALL','BOOKED','originate','channelAgent','calleridnum','from-sip','timeout','uniqueid','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active'];(function(_0x5ed40a,_0x352d04){var _0x31ca82=function(_0x1e053f){while(--_0x1e053f){_0x5ed40a['push'](_0x5ed40a['shift']());}};_0x31ca82(++_0x352d04);}(_0xb83c,0xd2));var _0xcb83=function(_0x50a676,_0x16f271){_0x50a676=_0x50a676-0x0;var _0x58680d=_0xb83c[_0x50a676];return _0x58680d;};'use strict';var util=require(_0xcb83('0x0'));var _=require(_0xcb83('0x1'));var moment=require(_0xcb83('0x2'));var logger=require(_0xcb83('0x3'))(_0xcb83('0x4'));var ipAgi=process['env'][_0xcb83('0x5')]||_0xcb83('0x6');var utils=require(_0xcb83('0x7'));exports[_0xcb83('0x8')]=function(_0xbde858){return function(_0x58d5a6){logger[_0xcb83('0x9')](_0xbde858,util[_0xcb83('0xa')](_0x58d5a6,{'showHidden':![],'depth':null}));};};exports[_0xcb83('0xb')]=function(_0x5892b2,_0x21f347){logger[_0xcb83('0xc')](_0x5892b2,util[_0xcb83('0xa')](_0x21f347,{'showHidden':![],'depth':null}));};exports[_0xcb83('0xd')]=function(_0x1edbc0,_0x46c1e1){logger[_0xcb83('0x9')](_0x1edbc0,util[_0xcb83('0xa')](_0x46c1e1,{'showHidden':![],'depth':null}));};exports[_0xcb83('0xe')]=function(_0x585399){return function(_0xdf2844){logger[_0xcb83('0xc')](_0x585399,util[_0xcb83('0xa')](_0xdf2844,{'showHidden':![],'depth':null}));};};exports[_0xcb83('0xf')]=function(_0x546780,_0x325f44,_0x4de6a8){return{'message':_0x546780,'unlock':_0x325f44,'active':_0x4de6a8};};exports[_0xcb83('0x10')]=function(_0x1d9e79,_0x5892d7,_0x4c6d11){if(!_[_0xcb83('0x11')](_0x4c6d11)&&_0xcb83('0x12')===typeof _0x4c6d11&&!_[_0xcb83('0x13')](_0x4c6d11)){if(!_[_0xcb83('0x11')](_0x5892d7)&&_0xcb83('0x12')===typeof _0x5892d7&&!_[_0xcb83('0x13')](_0x5892d7)){return util[_0xcb83('0x14')](_0xcb83('0x15'),_0x5892d7,_0x4c6d11);}return util[_0xcb83('0x14')](_0xcb83('0x15'),_0x4c6d11,_0x4c6d11);}if(!_['isUndefined'](_0x1d9e79)&&_0xcb83('0x12')===typeof _0x1d9e79&&!_[_0xcb83('0x13')](_0x1d9e79)){return _0x1d9e79;}return _0xcb83('0x16');};exports[_0xcb83('0x17')]=function(_0xce6906){if(_[_0xcb83('0x18')](_0xce6906)){return![];}return _0xce6906;};exports[_0xcb83('0x19')]=function(_0x55677f,_0x5bbafb,_0x357f4f,_0x32fb8e,_0x5c7592,_0x1abbb2){var _0x3fbdb3={'XMD-QUEUE':_0x5bbafb[_0xcb83('0x1a')]?_0x5bbafb[_0xcb83('0x1a')][_0xcb83('0x1b')]:'','XMD-CALLERID':_0x32fb8e,'XMD-CALLERID-PREVIEW':_0x1abbb2?util[_0xcb83('0x14')](_0xcb83('0x15'),_0x1abbb2[_0xcb83('0x1c')],_0x1abbb2['calleridnum']):_0x32fb8e,'XMD-DIALID':_0x5c7592,'XMD-CONTACTID':_0x5bbafb[_0xcb83('0x1d')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x32fb8e,'XMD-VOICEQUEUEID':_0x5bbafb[_0xcb83('0x1e')],'XMD-DIALCHANNEL':_0x357f4f,'XMD-DIALTIMEOUT':_0x55677f[_0xcb83('0x1f')]||0x1e,'XMD-DIALOPTIONS':util[_0xcb83('0x14')](_0xcb83('0x20'),_0x55677f[_0xcb83('0x21')]?'g':'',_[_0xcb83('0x13')](_0x55677f['monitor_format'])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x55677f['dialPreviewUrl']||'','XMD-AGI':_0x55677f[_0xcb83('0x22')]?util[_0xcb83('0x14')]('\x22agi://%s/square,%s\x22',ipAgi,_0x55677f[_0xcb83('0x22')]):_0xcb83('0x23'),'XMD-AGIAFTER':_0x55677f[_0xcb83('0x21')]?util[_0xcb83('0x14')](_0xcb83('0x24'),ipAgi,_0x55677f[_0xcb83('0x21')]):_0xcb83('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x1abbb2?_0x1abbb2[_0xcb83('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x1abbb2?_0x1abbb2[_0xcb83('0x26')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':_0xcb83('0x27')};if(!_[_0xcb83('0x13')](_0x55677f[_0xcb83('0x28')])){_0x3fbdb3[util[_0xcb83('0x14')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x55677f[_0xcb83('0x28')];_0x3fbdb3[util['format']('%s',_0xcb83('0x29'))]=_0x5c7592;}if(_0x5bbafb&&_0x5bbafb[_0xcb83('0x2a')]){for(var _0xcfe128 in _0x5bbafb[_0xcb83('0x2a')]){if(_0x5bbafb[_0xcb83('0x2a')]['hasOwnProperty'](_0xcfe128)){if(!_[_0xcb83('0x18')](_0x5bbafb[_0xcb83('0x2a')][_0xcfe128])&&_0xcfe128!=='id'&&_0xcfe128!=='tags'&&_0xcfe128!=='createdAt'&&_0xcfe128!==_0xcb83('0x2b')){_0x3fbdb3[util[_0xcb83('0x14')]('%s%s',_0xcb83('0x2c'),_[_0xcb83('0x2d')](_0xcfe128))]=_0x5bbafb['Contact'][_0xcfe128];}}}}return _0x3fbdb3;};exports[_0xcb83('0x2e')]=function(_0x183ca3){var _0xf55238={};for(var _0xd4750b in _0x183ca3){if(_0x183ca3[_0xcb83('0x2f')](_0xd4750b)){_0xf55238[util[_0xcb83('0x14')]('%s',_[_0xcb83('0x30')](_0xd4750b))]=_0x183ca3[_0xd4750b];}}return{'variables':_0xf55238};};exports[_0xcb83('0x31')]=function(_0x150560,_0x26f397){if(!_[_0xcb83('0x18')](_0x150560)){if(_0x150560['hasOwnProperty'](_0xcb83('0x32'))){if(_0x150560[_0xcb83('0x32')]>0x0){_0x150560[_0xcb83('0x32')]-=0x1;}else{logger[_0xcb83('0x9')](_0xcb83('0x33'),_0x26f397);}}}else{logger[_0xcb83('0x9')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x26f397);}};exports[_0xcb83('0x34')]=function(_0x4a79ff){var _0x12b871=moment()['format'](_0xcb83('0x35'));_0x4a79ff[_0xcb83('0x36')]=0xd;_0x4a79ff[_0xcb83('0x37')]='Blacklist';_0x4a79ff[_0xcb83('0x38')]=_0x12b871;_0x4a79ff[_0xcb83('0x39')]=_0x12b871;_0x4a79ff['endtime']=_0x12b871;};exports[_0xcb83('0x3a')]=function(_0x26f0db,_0x1490a7,_0x188d15){var _0x5ac2be=moment()['format'](_0xcb83('0x35'));_0x26f0db[_0xcb83('0x36')]=_0x1490a7;_0x26f0db[_0xcb83('0x37')]=_0x188d15;_0x26f0db[_0xcb83('0x39')]=_0x5ac2be;_0x26f0db[_0xcb83('0x3b')]=utils[_0xcb83('0x3c')](_0x26f0db[_0xcb83('0x39')],_0x26f0db[_0xcb83('0x38')]);};exports[_0xcb83('0x3d')]=function(_0x205984,_0x6f8754,_0x26b3ef){_0x205984[_0xcb83('0x3e')]=_0x6f8754;_0x205984[_0xcb83('0x3f')]=_0x26b3ef;};exports[_0xcb83('0x40')]=function(_0x4ae49d,_0x3231ac,_0x4fd9c6){var _0x19fd70=moment()['format'](_0xcb83('0x35'));_0x4ae49d[_0xcb83('0x36')]=_0x3231ac;_0x4ae49d[_0xcb83('0x37')]=_0x4fd9c6;_0x4ae49d['responsetime']=_0x4ae49d['responsetime']?_0x4ae49d[_0xcb83('0x39')]:_0x19fd70;_0x4ae49d[_0xcb83('0x41')]=_0x4ae49d[_0xcb83('0x41')]?_0x4ae49d[_0xcb83('0x41')]:_0x19fd70;_0x4ae49d[_0xcb83('0x3b')]=utils['getSeconds'](_0x4ae49d[_0xcb83('0x39')]||0x0,_0x4ae49d['starttime']||0x0);_0x4ae49d[_0xcb83('0x42')]=_0x4ae49d[_0xcb83('0x43')]?utils['getSeconds'](_0x4ae49d[_0xcb83('0x41')],_0x4ae49d[_0xcb83('0x43')]):0x0;};exports[_0xcb83('0x44')]=function(_0x273150){return _0x273150===_0xcb83('0x45');};exports[_0xcb83('0x46')]=function(_0x38ada8,_0x4bb6d5,_0x11aae1,_0xd83080,_0x8f76b6){var _0x1c0570=_0xd83080?_0xcb83('0x47'):_0x38ada8[_0xcb83('0x1c')];_0x1c0570=_0x8f76b6?_0xcb83('0x48'):_0x1c0570;return{'actionid':_0x38ada8['uniqueid'],'action':_0xcb83('0x49'),'channel':_0x38ada8[_0xcb83('0x4a')],'callerid':util[_0xcb83('0x14')](_0xcb83('0x15'),_0x1c0570,_0x38ada8[_0xcb83('0x4b')]),'Exten':'xcally-motion-preview','Context':_0xcb83('0x4c'),'Priority':'1','variable':_0x11aae1,'timeout':(_0x4bb6d5[_0xcb83('0x4d')]||0x1e)*0x3e8,'async':!![],'channelid':_0x38ada8[_0xcb83('0x4e')]};};exports[_0xcb83('0x4f')]=function(_0x1e01a2){return _0x1e01a2[_0xcb83('0x50')]+_0x1e01a2[_0xcb83('0x51')]+_0x1e01a2[_0xcb83('0x52')]+_0x1e01a2[_0xcb83('0x53')]+_0x1e01a2[_0xcb83('0x54')];};exports[_0xcb83('0x55')]=function(_0xfc95b0){var _0x457260=_[_0xcb83('0x56')](_0xfc95b0);_0x457260[_0xcb83('0x36')]=0xf;_0x457260[_0xcb83('0x37')]=_0xcb83('0x57');return _0x457260;};exports[_0xcb83('0x58')]=function(_0x37781e,_0x38c145,_0x3f3312){var _0x142af4={};_0x142af4[_0x38c145]=_0x37781e[_0x38c145];_0x142af4[_0xcb83('0x59')]=![];_0x142af4['scheduledat']=moment()[_0xcb83('0x5a')](_0x3f3312,_0xcb83('0x5b'))[_0xcb83('0x14')](_0xcb83('0x35'));_0x142af4['ContactId']=_0x37781e[_0xcb83('0x1d')];_0x142af4['ListId']=_0x37781e[_0xcb83('0x5c')];_0x142af4[_0xcb83('0x1e')]=_0x37781e[_0xcb83('0x1e')]||undefined;return _0x142af4;};exports[_0xcb83('0x5d')]=function(_0x1d9304,_0x3e059e){if(!_['isNil'](_0x1d9304)){if(_0x1d9304['pTalking']>0x0){_0x1d9304[_0xcb83('0x5e')]-=0x1;}else{logger[_0xcb83('0x9')](_0x3e059e,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger['error'](_0x3e059e,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports['IsNotLoggedIn']=function(_0x1395ac){if(_0x1395ac<=0x0){return!![];}return![];};function buildObj(_0x67fb86,_0x14fd31,_0xae2fc0){_0x67fb86[_0xcb83('0x5f')]=_0x14fd31;_0x67fb86[_0xcb83('0x1b')]=_0x67fb86[_0xcb83('0x60')];_0x67fb86[_0xcb83('0x61')]=_0x67fb86['channelAgent'];_0x67fb86['motionChannel']=_0xcb83('0x62');if(_0xae2fc0){_0x67fb86[_0xcb83('0x63')]=_0xae2fc0[_0xcb83('0x63')];}return _0x67fb86;}exports['buildObj']=buildObj;exports[_0xcb83('0x64')]=function(_0x21a58b){var _0x56fd1d={};_0x56fd1d[_0xcb83('0x60')]=_0x21a58b[_0xcb83('0x60')];_0x56fd1d['interface']=_0x21a58b[_0xcb83('0x4a')];_0x56fd1d[_0xcb83('0x4e')]=_0x21a58b[_0xcb83('0x4e')];return _0x56fd1d;};exports['agentReadyId']=function(_0x5b14ac){var _0x546795=[];for(var _0x5c72c4 in _0x5b14ac){if(_0x5b14ac[_0xcb83('0x2f')](_0x5c72c4)){if(!_[_0xcb83('0x18')](_0x5b14ac[_0x5c72c4])&&_0x5b14ac[_0x5c72c4]['state']===_0xcb83('0x65')&&_0x5b14ac[_0x5c72c4][_0xcb83('0x66')]===_0xcb83('0x67')){_0x546795[_0xcb83('0x68')](_0x5b14ac[_0x5c72c4]['id']);}}}return _0x546795;};exports[_0xcb83('0x69')]=function(_0x4f7908){var _0x4dcf73=moment()[_0xcb83('0x6a')](0x0);var _0x4d0101=moment(_0x4f7908)[_0xcb83('0x6a')](0x0);return _0x4dcf73[_0xcb83('0x6b')](_0x4d0101,'seconds');};exports[_0xcb83('0x6c')]=function(_0x183116){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x183116[_0xcb83('0x1d')],'ListId':_0x183116[_0xcb83('0x5c')],'VoiceQueueId':_0x183116[_0xcb83('0x1e')]||undefined,'CampaignId':_0x183116[_0xcb83('0x6d')]||undefined};};exports['filterKey']=function(_0x35cd84){if(_0x35cd84===_0xcb83('0x4e')||_0x35cd84===_0xcb83('0x6e')||_0x35cd84==='queue'||_0x35cd84===_0xcb83('0x6f')||_0x35cd84===_0xcb83('0x70')||_0x35cd84===_0xcb83('0x71')||_0x35cd84===_0xcb83('0x3e')||_0x35cd84===_0xcb83('0x4a')||_0x35cd84===_0xcb83('0x1c')||_0x35cd84===_0xcb83('0x59')||_0x35cd84===_0xcb83('0x4b')||_0x35cd84===_0xcb83('0x72')||_0x35cd84===_0xcb83('0x50')||_0x35cd84===_0xcb83('0x51')||_0x35cd84==='countnoanswerretry'||_0x35cd84===_0xcb83('0x73')||_0x35cd84===_0xcb83('0x74')||_0x35cd84==='callbackuniqueid'||_0x35cd84==='callbackat'||_0x35cd84==='recallme'||_0x35cd84===_0xcb83('0x1d')||_0x35cd84===_0xcb83('0x5c')||_0x35cd84===_0xcb83('0x3f')||_0x35cd84===_0xcb83('0x1e')||_0x35cd84==='sipcallid'||_0x35cd84===_0xcb83('0x75')||_0x35cd84==='xmd-queue'||_0x35cd84===_0xcb83('0x76')||_0x35cd84==='xmd-listid'||_0x35cd84===_0xcb83('0x77')||_0x35cd84===_0xcb83('0x78')||_0x35cd84===_0xcb83('0x79')||_0x35cd84===_0xcb83('0x7a')||_0x35cd84===_0xcb83('0x7b')||_0x35cd84===_0xcb83('0x7c')||_0x35cd84===_0xcb83('0x7d')||_0x35cd84===_0xcb83('0x7e')||_0x35cd84===_0xcb83('0x7f')||_0x35cd84===_0xcb83('0x80')||_0x35cd84===_0xcb83('0x81')||_0x35cd84===_0xcb83('0x82')||_0x35cd84==='rtpaudioqosjitter'||_0x35cd84===_0xcb83('0x83')||_0x35cd84==='rtpaudioqosloss'||_0x35cd84===_0xcb83('0x84')||_0x35cd84===_0xcb83('0x85')||_0x35cd84===_0xcb83('0x86')||_0x35cd84===_0xcb83('0x81')||_0x35cd84===_0xcb83('0x82')||_0x35cd84===_0xcb83('0x87')||_0x35cd84==='rtpaudioqosjitterbridged'||_0x35cd84===_0xcb83('0x88')||_0x35cd84===_0xcb83('0x84')||_0x35cd84===_0xcb83('0x85')||_0x35cd84===_0xcb83('0x86')||_0x35cd84===_0xcb83('0x89')||_0x35cd84==='bridgepvtcallid'||_0x35cd84==='state'||_0x35cd84===_0xcb83('0x37')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x535011,_0x18e106){var _0x224ef2,_0x2420bf,_0x270dda;if(_0x18e106<=0x0){_0x18e106=0x1;}_0x224ef2=new RegExp(_0xcb83('0x8a')+_0x18e106+'}$');_0x2420bf=Math[_0xcb83('0x8b')](0xa,_0x18e106-0x1);_0x270dda=Math[_0xcb83('0x8b')](0xa,_0x18e106)-0x1;return util[_0xcb83('0x14')]('%s',_[_0xcb83('0x8c')](_0x535011,_0x224ef2,_[_0xcb83('0x8d')](_0x2420bf,_0x270dda)));};exports[_0xcb83('0x8e')]=function(_0x966623){var _0x1c2812=_0x966623['match'](/"(.*?)"/);return _0x1c2812?_0x1c2812[0x1]:_0x966623;};exports[_0xcb83('0x8f')]=function(_0x26206e){var _0x5697cc=_0x26206e[_0xcb83('0x90')](/<(.*?)>/);return _0x5697cc?_0x5697cc[0x1]:_0x26206e;};function buildNoAnswerEventPayload(_0xdf4655,_0x4e54ca){var _0x41188e=buildObj(_0xdf4655,_0xcb83('0x91'));if(!_[_0xcb83('0x13')](_0x4e54ca[_0xcb83('0x92')])){Object[_0xcb83('0x93')](_0x4e54ca[_0xcb83('0x92')])[_0xcb83('0x94')](function(_0x4d174a){_0x41188e[_0x4d174a[_0xcb83('0x95')]()]=_0x4e54ca[_0xcb83('0x92')][_0x4d174a];});}return _0x41188e;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;