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 _0x64ec=['monitor_format','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','state','statedesc','Blacklist','endtime','logAgent','YYYY-MM-DD\x20HH:mm:ss','responsetime','ringtime','getSeconds','starttime','logLookAgent','membername','UserId','logCustomer','talktime','answertime','isFailure','RECALL','uniqueid','originate','channelAgent','from-sip','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','cloneAction','Global','scheduledAt','active','scheduledat','add','minutes','ContactId','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','IsNotLoggedIn','lastevent','interface','motionChannel','voice','mandatoryDisposition','buildObj','agentReadyId','not_inuse','status','push','getDiff','milliseconds','diff','seconds','CampaignId','filterKey','queue','dialAnswer','countglobal','callback','callbackuniqueid','callbackat','recallme','xmd-voicequeueid','xmd-queue','xmd-listid','xmd-dialtimeout','xmd-dialoptions','xmd-dialchannel','xmd-cdrtype','xmd-agi','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosbridged','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','extractCalleridNumber','noanswer','keys','variables','forEach','buildNoAnswerEventPayload','util','lodash','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','loggerCatch','error','inspect','logger2','info','message','getCallerId','isUndefined','string','isEmpty','\x22\x22\x20<>','isActive','isNil','Queue','name','\x22%s\x22\x20<%s>','calleridname','calleridnum','dialer','dialOriginateTimeout','format','dialQueueProject2'];(function(_0x31b9cf,_0x1a809b){var _0x357b8a=function(_0x50a273){while(--_0x50a273){_0x31b9cf['push'](_0x31b9cf['shift']());}};_0x357b8a(++_0x1a809b);}(_0x64ec,0x191));var _0xc64e=function(_0x2f7727,_0x3942dd){_0x2f7727=_0x2f7727-0x0;var _0x18a9d6=_0x64ec[_0x2f7727];return _0x18a9d6;};'use strict';var util=require(_0xc64e('0x0'));var _=require(_0xc64e('0x1'));var moment=require(_0xc64e('0x2'));var logger=require(_0xc64e('0x3'))(_0xc64e('0x4'));var ipAgi=process[_0xc64e('0x5')][_0xc64e('0x6')]||_0xc64e('0x7');var utils=require(_0xc64e('0x8'));exports[_0xc64e('0x9')]=function(_0x557604){return function(_0x4a1504){logger[_0xc64e('0xa')](_0x557604,util[_0xc64e('0xb')](_0x4a1504,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x2d66cf,_0x4d4c24){logger['info'](_0x2d66cf,util[_0xc64e('0xb')](_0x4d4c24,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x3d6860,_0x436a2d){logger[_0xc64e('0xa')](_0x3d6860,util['inspect'](_0x436a2d,{'showHidden':![],'depth':null}));};exports[_0xc64e('0xc')]=function(_0x59d763){return function(_0x1ebbe6){logger[_0xc64e('0xd')](_0x59d763,util['inspect'](_0x1ebbe6,{'showHidden':![],'depth':null}));};};exports[_0xc64e('0xe')]=function(_0x5e99f9,_0x114690,_0x3ca226){return{'message':_0x5e99f9,'unlock':_0x114690,'active':_0x3ca226};};exports[_0xc64e('0xf')]=function(_0x5ef8fe,_0xb42bc6,_0xa8421f){if(!_[_0xc64e('0x10')](_0xa8421f)&&_0xc64e('0x11')===typeof _0xa8421f&&!_[_0xc64e('0x12')](_0xa8421f)){if(!_['isUndefined'](_0xb42bc6)&&_0xc64e('0x11')===typeof _0xb42bc6&&!_[_0xc64e('0x12')](_0xb42bc6)){return util['format']('\x22%s\x22\x20<%s>',_0xb42bc6,_0xa8421f);}return util['format']('\x22%s\x22\x20<%s>',_0xa8421f,_0xa8421f);}if(!_[_0xc64e('0x10')](_0x5ef8fe)&&_0xc64e('0x11')===typeof _0x5ef8fe&&!_[_0xc64e('0x12')](_0x5ef8fe)){return _0x5ef8fe;}return _0xc64e('0x13');};exports[_0xc64e('0x14')]=function(_0xc244b2){if(_[_0xc64e('0x15')](_0xc244b2)){return![];}return _0xc244b2;};exports['addVariables']=function(_0x44e3da,_0x500ebd,_0x3d824c,_0x387bce,_0x54a049,_0x5a4998){var _0x599170={'XMD-QUEUE':_0x500ebd['Queue']?_0x500ebd[_0xc64e('0x16')][_0xc64e('0x17')]:'','XMD-CALLERID':_0x387bce,'XMD-CALLERID-PREVIEW':_0x5a4998?util['format'](_0xc64e('0x18'),_0x5a4998[_0xc64e('0x19')],_0x5a4998[_0xc64e('0x1a')]):_0x387bce,'XMD-DIALID':_0x54a049,'XMD-CONTACTID':_0x500ebd['ContactId'],'XMD-CDRTYPE':_0xc64e('0x1b'),'CALLERID(all)':_0x387bce,'XMD-VOICEQUEUEID':_0x500ebd['VoiceQueueId'],'XMD-DIALCHANNEL':_0x3d824c,'XMD-DIALTIMEOUT':_0x44e3da[_0xc64e('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0xc64e('0x1d')]('\x22rtTxX%s%s\x22',_0x44e3da[_0xc64e('0x1e')]?'g':'',_[_0xc64e('0x12')](_0x44e3da[_0xc64e('0x1f')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x44e3da[_0xc64e('0x20')]||'','XMD-AGI':_0x44e3da[_0xc64e('0x21')]?util[_0xc64e('0x1d')]('\x22agi://%s/square,%s\x22',ipAgi,_0x44e3da[_0xc64e('0x21')]):'NONE','XMD-AGIAFTER':_0x44e3da[_0xc64e('0x1e')]?util[_0xc64e('0x1d')](_0xc64e('0x22'),ipAgi,_0x44e3da['dialQueueProject2']):_0xc64e('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x5a4998?_0x5a4998[_0xc64e('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x5a4998?_0x5a4998[_0xc64e('0x25')]:'','XMD-DESTINATION':_0xc64e('0x26'),'SIPADDHEADER':_0xc64e('0x27')};if(!_['isEmpty'](_0x44e3da[_0xc64e('0x1f')])){_0x599170[util[_0xc64e('0x1d')]('%s',_0xc64e('0x28'))]=_0x44e3da[_0xc64e('0x1f')];_0x599170[util[_0xc64e('0x1d')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x54a049;}return _0x599170;};exports['toLowerVariables']=function(_0x3176c7){var _0xadf225={};for(var _0x46c8b7 in _0x3176c7){if(_0x3176c7[_0xc64e('0x29')](_0x46c8b7)){_0xadf225[util[_0xc64e('0x1d')]('%s',_[_0xc64e('0x2a')](_0x46c8b7))]=_0x3176c7[_0x46c8b7];}}return{'variables':_0xadf225};};exports[_0xc64e('0x2b')]=function(_0x3920b5,_0xde42e0){if(!_[_0xc64e('0x15')](_0x3920b5)){if(_0x3920b5[_0xc64e('0x29')](_0xc64e('0x2c'))){if(_0x3920b5[_0xc64e('0x2c')]>0x0){_0x3920b5[_0xc64e('0x2c')]-=0x1;}else{logger[_0xc64e('0xa')](_0xc64e('0x2d'),_0xde42e0);}}}else{logger[_0xc64e('0xa')](_0xc64e('0x2e'),_0xde42e0);}};exports[_0xc64e('0x2f')]=function(_0x5477e2){var _0x41f751=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x5477e2[_0xc64e('0x30')]=0xd;_0x5477e2[_0xc64e('0x31')]=_0xc64e('0x32');_0x5477e2['starttime']=_0x41f751;_0x5477e2['responsetime']=_0x41f751;_0x5477e2[_0xc64e('0x33')]=_0x41f751;};exports[_0xc64e('0x34')]=function(_0x34f659,_0x4d3b53,_0xadf4a0){var _0xaed1ce=moment()[_0xc64e('0x1d')](_0xc64e('0x35'));_0x34f659[_0xc64e('0x30')]=_0x4d3b53;_0x34f659['statedesc']=_0xadf4a0;_0x34f659[_0xc64e('0x36')]=_0xaed1ce;_0x34f659[_0xc64e('0x37')]=utils[_0xc64e('0x38')](_0x34f659[_0xc64e('0x36')],_0x34f659[_0xc64e('0x39')]);};exports[_0xc64e('0x3a')]=function(_0x220d8d,_0x1d627a,_0x203889){_0x220d8d[_0xc64e('0x3b')]=_0x1d627a;_0x220d8d[_0xc64e('0x3c')]=_0x203889;};exports[_0xc64e('0x3d')]=function(_0x36aae5,_0x2514ab,_0xf15110){var _0x54da07=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x36aae5[_0xc64e('0x30')]=_0x2514ab;_0x36aae5[_0xc64e('0x31')]=_0xf15110;_0x36aae5['responsetime']=_0x36aae5[_0xc64e('0x36')]?_0x36aae5[_0xc64e('0x36')]:_0x54da07;_0x36aae5[_0xc64e('0x33')]=_0x36aae5[_0xc64e('0x33')]?_0x36aae5[_0xc64e('0x33')]:_0x54da07;_0x36aae5['ringtime']=utils['getSeconds'](_0x36aae5[_0xc64e('0x36')]||0x0,_0x36aae5[_0xc64e('0x39')]||0x0);_0x36aae5[_0xc64e('0x3e')]=_0x36aae5[_0xc64e('0x3f')]?utils[_0xc64e('0x38')](_0x36aae5[_0xc64e('0x33')],_0x36aae5[_0xc64e('0x3f')]):0x0;};exports[_0xc64e('0x40')]=function(_0x2126e5){return _0x2126e5==='Failure';};exports['variablesAction']=function(_0x181df6,_0x5a3c81,_0x163658,_0x494e08,_0x55ed36){var _0x41348d=_0x494e08?_0xc64e('0x41'):_0x181df6['calleridname'];_0x41348d=_0x55ed36?'BOOKED':_0x41348d;return{'actionid':_0x181df6[_0xc64e('0x42')],'action':_0xc64e('0x43'),'channel':_0x181df6[_0xc64e('0x44')],'callerid':util['format'](_0xc64e('0x18'),_0x41348d,_0x181df6[_0xc64e('0x1a')]),'Exten':'xcally-motion-preview','Context':_0xc64e('0x45'),'Priority':'1','variable':_0x163658,'timeout':(_0x5a3c81[_0xc64e('0x46')]||0x1e)*0x3e8,'async':!![],'channelid':_0x181df6[_0xc64e('0x42')]};};exports[_0xc64e('0x47')]=function(_0x2323ba){return _0x2323ba[_0xc64e('0x48')]+_0x2323ba[_0xc64e('0x49')]+_0x2323ba[_0xc64e('0x4a')]+_0x2323ba[_0xc64e('0x4b')]+_0x2323ba['countnosuchnumberretry'];};exports[_0xc64e('0x4c')]=function(_0x111635){var _0x43bc72=_['clone'](_0x111635);_0x43bc72[_0xc64e('0x30')]=0xf;_0x43bc72[_0xc64e('0x31')]=_0xc64e('0x4d');return _0x43bc72;};exports[_0xc64e('0x4e')]=function(_0x2b7b41,_0x4cf747,_0x1bd507){var _0x1543ce={};_0x1543ce[_0x4cf747]=_0x2b7b41[_0x4cf747];_0x1543ce[_0xc64e('0x4f')]=![];_0x1543ce[_0xc64e('0x50')]=moment()[_0xc64e('0x51')](_0x1bd507,_0xc64e('0x52'))[_0xc64e('0x1d')]('YYYY-MM-DD\x20HH:mm:ss');_0x1543ce[_0xc64e('0x53')]=_0x2b7b41['ContactId'];_0x1543ce['ListId']=_0x2b7b41[_0xc64e('0x54')];_0x1543ce[_0xc64e('0x55')]=_0x2b7b41['VoiceQueueId']||undefined;return _0x1543ce;};exports[_0xc64e('0x56')]=function(_0x55cfc6,_0x11ac68){if(!_[_0xc64e('0x15')](_0x55cfc6)){if(_0x55cfc6[_0xc64e('0x57')]>0x0){_0x55cfc6[_0xc64e('0x57')]-=0x1;}else{logger['error'](_0x11ac68,_0xc64e('0x58'));}}else{logger[_0xc64e('0xa')](_0x11ac68,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports[_0xc64e('0x59')]=function(_0x447987){if(_0x447987<=0x0){return!![];}return![];};function buildObj(_0x405dda,_0x5d1255,_0x4310a2){_0x405dda[_0xc64e('0x5a')]=_0x5d1255;_0x405dda[_0xc64e('0x17')]=_0x405dda['queue'];_0x405dda[_0xc64e('0x5b')]=_0x405dda['channelAgent'];_0x405dda[_0xc64e('0x5c')]=_0xc64e('0x5d');if(_0x4310a2){_0x405dda[_0xc64e('0x5e')]=_0x4310a2[_0xc64e('0x5e')];}return _0x405dda;}exports[_0xc64e('0x5f')]=buildObj;exports[_0xc64e('0x60')]=function(_0x3f5620){var _0x6bb99c=[];for(var _0x53a8b2 in _0x3f5620){if(_0x3f5620[_0xc64e('0x29')](_0x53a8b2)){if(!_[_0xc64e('0x15')](_0x3f5620[_0x53a8b2])&&_0x3f5620[_0x53a8b2]['state']===_0xc64e('0x61')&&_0x3f5620[_0x53a8b2][_0xc64e('0x62')]==='reachable'){_0x6bb99c[_0xc64e('0x63')](_0x3f5620[_0x53a8b2]['id']);}}}return _0x6bb99c;};exports[_0xc64e('0x64')]=function(_0x4cd099){var _0x27f382=moment()[_0xc64e('0x65')](0x0);var _0xeadcc5=moment(_0x4cd099)[_0xc64e('0x65')](0x0);return _0x27f382[_0xc64e('0x66')](_0xeadcc5,_0xc64e('0x67'));};exports['createBody']=function(_0x135682){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x135682[_0xc64e('0x53')],'ListId':_0x135682[_0xc64e('0x54')],'VoiceQueueId':_0x135682[_0xc64e('0x55')]||undefined,'CampaignId':_0x135682[_0xc64e('0x68')]||undefined};};exports[_0xc64e('0x69')]=function(_0x18cc2a){if(_0x18cc2a===_0xc64e('0x42')||_0x18cc2a==='idContact'||_0x18cc2a===_0xc64e('0x6a')||_0x18cc2a==='type'||_0x18cc2a==='campaigntype'||_0x18cc2a===_0xc64e('0x6b')||_0x18cc2a==='membername'||_0x18cc2a===_0xc64e('0x44')||_0x18cc2a===_0xc64e('0x19')||_0x18cc2a==='active'||_0x18cc2a==='calleridnum'||_0x18cc2a===_0xc64e('0x50')||_0x18cc2a===_0xc64e('0x48')||_0x18cc2a==='countcongestionretry'||_0x18cc2a==='countnoanswerretry'||_0x18cc2a===_0xc64e('0x6c')||_0x18cc2a===_0xc64e('0x6d')||_0x18cc2a===_0xc64e('0x6e')||_0x18cc2a===_0xc64e('0x6f')||_0x18cc2a===_0xc64e('0x70')||_0x18cc2a===_0xc64e('0x53')||_0x18cc2a===_0xc64e('0x54')||_0x18cc2a===_0xc64e('0x3c')||_0x18cc2a===_0xc64e('0x55')||_0x18cc2a==='sipcallid'||_0x18cc2a===_0xc64e('0x71')||_0x18cc2a===_0xc64e('0x72')||_0x18cc2a==='xmd-phone'||_0x18cc2a===_0xc64e('0x73')||_0x18cc2a==='xmd-dialurl'||_0x18cc2a===_0xc64e('0x74')||_0x18cc2a===_0xc64e('0x75')||_0x18cc2a==='xmd-dialid'||_0x18cc2a===_0xc64e('0x76')||_0x18cc2a==='xmd-contactid'||_0x18cc2a===_0xc64e('0x77')||_0x18cc2a==='xmd-callerid'||_0x18cc2a==='xmd-agiafter'||_0x18cc2a===_0xc64e('0x78')||_0x18cc2a===_0xc64e('0x79')||_0x18cc2a==='rtpaudioqosbridged'||_0x18cc2a===_0xc64e('0x7a')||_0x18cc2a===_0xc64e('0x7b')||_0x18cc2a===_0xc64e('0x7c')||_0x18cc2a===_0xc64e('0x7d')||_0x18cc2a===_0xc64e('0x7e')||_0x18cc2a==='rtpaudioqosrttbridged'||_0x18cc2a==='rtpaudioqos'||_0x18cc2a===_0xc64e('0x7f')||_0x18cc2a===_0xc64e('0x7a')||_0x18cc2a===_0xc64e('0x7b')||_0x18cc2a===_0xc64e('0x7c')||_0x18cc2a===_0xc64e('0x7d')||_0x18cc2a===_0xc64e('0x7e')||_0x18cc2a===_0xc64e('0x80')||_0x18cc2a===_0xc64e('0x81')||_0x18cc2a===_0xc64e('0x82')||_0x18cc2a===_0xc64e('0x30')||_0x18cc2a===_0xc64e('0x31')){return![];}return!![];};exports[_0xc64e('0x83')]=function(_0x220dd0,_0xcddd02){var _0x14dd01,_0x25a24a,_0x5ab2eb;if(_0xcddd02<=0x0){_0xcddd02=0x1;}_0x14dd01=new RegExp(_0xc64e('0x84')+_0xcddd02+'}$');_0x25a24a=Math[_0xc64e('0x85')](0xa,_0xcddd02-0x1);_0x5ab2eb=Math[_0xc64e('0x85')](0xa,_0xcddd02)-0x1;return util[_0xc64e('0x1d')]('%s',_[_0xc64e('0x86')](_0x220dd0,_0x14dd01,_[_0xc64e('0x87')](_0x25a24a,_0x5ab2eb)));};exports[_0xc64e('0x88')]=function(_0x2225cd){var _0x2ac396=_0x2225cd[_0xc64e('0x89')](/"(.*?)"/);return _0x2ac396?_0x2ac396[0x1]:_0x2225cd;};exports[_0xc64e('0x8a')]=function(_0x107bab){var _0x50b7ca=_0x107bab[_0xc64e('0x89')](/<(.*?)>/);return _0x50b7ca?_0x50b7ca[0x1]:_0x107bab;};function buildNoAnswerEventPayload(_0x24eaba,_0x33ef38){var _0x40f59b=buildObj(_0x24eaba,_0xc64e('0x8b'));if(!_[_0xc64e('0x12')](_0x33ef38['variables'])){Object[_0xc64e('0x8c')](_0x33ef38[_0xc64e('0x8d')])[_0xc64e('0x8e')](function(_0x1445d0){_0x40f59b[_0x1445d0['toLowerCase']()]=_0x33ef38[_0xc64e('0x8d')][_0x1445d0];});}return _0x40f59b;}exports[_0xc64e('0x8f')]=buildNoAnswerEventPayload;