44b94c9e8cb30baa470102343da94284aa9c12fe
[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 _0x1340=['toLowerCase','util','lodash','moment','../../../../config/logger','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','error','logger','info','inspect','getCallerId','isUndefined','isEmpty','format','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','\x22%s\x22\x20<%s>','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','monitor_format','_XCALLY_MIXMONITOR_UNIQUEID','toLowerVariables','toLower','updateOriginated','hasOwnProperty','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','logAgent','ringtime','getSeconds','logLookAgent','membername','UserId','logCustomer','endtime','answertime','isFailure','variablesAction','RECALL','uniqueid','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countnosuchnumberretry','cloneAction','clone','Global','active','scheduledat','add','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','interface','motionChannel','voice','mandatoryDisposition','buildObj','buildAcw','push','milliseconds','seconds','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqosbridged','rtpaudioqosrtt','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','random','extractCalleridName','match','extractCalleridNumber','noanswer','variables','keys','forEach'];(function(_0x24a4af,_0x2593af){var _0x1b59d8=function(_0x4d16c4){while(--_0x4d16c4){_0x24a4af['push'](_0x24a4af['shift']());}};_0x1b59d8(++_0x2593af);}(_0x1340,0x119));var _0x0134=function(_0x6f9e6c,_0x5ef730){_0x6f9e6c=_0x6f9e6c-0x0;var _0x20a1a0=_0x1340[_0x6f9e6c];return _0x20a1a0;};'use strict';var util=require(_0x0134('0x0'));var _=require(_0x0134('0x1'));var moment=require(_0x0134('0x2'));var logger=require(_0x0134('0x3'))('preview');var ipAgi=process[_0x0134('0x4')][_0x0134('0x5')]||_0x0134('0x6');var utils=require(_0x0134('0x7'));exports['loggerCatch']=function(_0x22f415){return function(_0x442b00){logger[_0x0134('0x8')](_0x22f415,util['inspect'](_0x442b00,{'showHidden':![],'depth':null}));};};exports[_0x0134('0x9')]=function(_0x4b4719,_0x398813){logger[_0x0134('0xa')](_0x4b4719,util['inspect'](_0x398813,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x37a128,_0x1c1f36){logger[_0x0134('0x8')](_0x37a128,util[_0x0134('0xb')](_0x1c1f36,{'showHidden':![],'depth':null}));};exports['logger2']=function(_0x4463f5){return function(_0x3dfc42){logger['info'](_0x4463f5,util[_0x0134('0xb')](_0x3dfc42,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x556a8d,_0x15316f,_0x13ff73){return{'message':_0x556a8d,'unlock':_0x15316f,'active':_0x13ff73};};exports[_0x0134('0xc')]=function(_0x16eb0e,_0xe2efd3,_0x40b845){if(!_[_0x0134('0xd')](_0x40b845)&&'string'===typeof _0x40b845&&!_['isEmpty'](_0x40b845)){if(!_[_0x0134('0xd')](_0xe2efd3)&&'string'===typeof _0xe2efd3&&!_[_0x0134('0xe')](_0xe2efd3)){return util[_0x0134('0xf')]('\x22%s\x22\x20<%s>',_0xe2efd3,_0x40b845);}return util['format']('\x22%s\x22\x20<%s>',_0x40b845,_0x40b845);}if(!_[_0x0134('0xd')](_0x16eb0e)&&'string'===typeof _0x16eb0e&&!_[_0x0134('0xe')](_0x16eb0e)){return _0x16eb0e;}return _0x0134('0x10');};exports[_0x0134('0x11')]=function(_0x3ae22c){if(_[_0x0134('0x12')](_0x3ae22c)){return![];}return _0x3ae22c;};exports[_0x0134('0x13')]=function(_0x433099,_0x415088,_0x46f989,_0x10bdbe,_0x961bea,_0x419ecf){var _0x1c33aa={'XMD-QUEUE':_0x415088[_0x0134('0x14')]?_0x415088[_0x0134('0x14')][_0x0134('0x15')]:'','XMD-CALLERID':_0x10bdbe,'XMD-CALLERID-PREVIEW':_0x419ecf?util[_0x0134('0xf')](_0x0134('0x16'),_0x419ecf[_0x0134('0x17')],_0x419ecf[_0x0134('0x18')]):_0x10bdbe,'XMD-DIALID':_0x961bea,'XMD-CONTACTID':_0x415088[_0x0134('0x19')],'XMD-CDRTYPE':_0x0134('0x1a'),'CALLERID(all)':_0x10bdbe,'XMD-VOICEQUEUEID':_0x415088[_0x0134('0x1b')],'XMD-DIALCHANNEL':_0x46f989,'XMD-DIALTIMEOUT':_0x433099[_0x0134('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0x0134('0xf')](_0x0134('0x1d'),_0x433099[_0x0134('0x1e')]?'g':'',_[_0x0134('0xe')](_0x433099['monitor_format'])?'':_0x0134('0x1f')),'XMD-DIALURL':_0x433099[_0x0134('0x20')]||'','XMD-AGI':_0x433099[_0x0134('0x21')]?util['format'](_0x0134('0x22'),ipAgi,_0x433099[_0x0134('0x21')]):_0x0134('0x23'),'XMD-AGIAFTER':_0x433099[_0x0134('0x1e')]?util[_0x0134('0xf')]('\x22agi://%s/square,%s\x22',ipAgi,_0x433099[_0x0134('0x1e')]):_0x0134('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x419ecf?_0x419ecf[_0x0134('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x419ecf?_0x419ecf[_0x0134('0x25')]:'','XMD-DESTINATION':_0x0134('0x26'),'SIPADDHEADER':_0x0134('0x27')};if(!_['isEmpty'](_0x433099['monitor_format'])){_0x1c33aa[util[_0x0134('0xf')]('%s',_0x0134('0x28'))]=_0x433099[_0x0134('0x29')];_0x1c33aa[util['format']('%s',_0x0134('0x2a'))]=_0x961bea;}return _0x1c33aa;};exports[_0x0134('0x2b')]=function(_0x1c89a6){var _0x4fdf94={};for(var _0x437fdf in _0x1c89a6){if(_0x1c89a6['hasOwnProperty'](_0x437fdf)){_0x4fdf94[util[_0x0134('0xf')]('%s',_[_0x0134('0x2c')](_0x437fdf))]=_0x1c89a6[_0x437fdf];}}return{'variables':_0x4fdf94};};exports[_0x0134('0x2d')]=function(_0xa3990b,_0x363ae6){if(!_[_0x0134('0x12')](_0xa3990b)){if(_0xa3990b[_0x0134('0x2e')](_0x0134('0x2f'))){if(_0xa3990b[_0x0134('0x2f')]>0x0){_0xa3990b[_0x0134('0x2f')]-=0x1;}else{logger[_0x0134('0x8')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x363ae6);}}}else{logger[_0x0134('0x8')](_0x0134('0x30'),_0x363ae6);}};exports[_0x0134('0x31')]=function(_0x5e576d){var _0x52fd61=moment()['format'](_0x0134('0x32'));_0x5e576d[_0x0134('0x33')]=0xd;_0x5e576d[_0x0134('0x34')]=_0x0134('0x35');_0x5e576d[_0x0134('0x36')]=_0x52fd61;_0x5e576d[_0x0134('0x37')]=_0x52fd61;_0x5e576d['endtime']=_0x52fd61;};exports[_0x0134('0x38')]=function(_0x410916,_0x346e9e,_0x79a62){var _0x555716=moment()[_0x0134('0xf')](_0x0134('0x32'));_0x410916[_0x0134('0x33')]=_0x346e9e;_0x410916['statedesc']=_0x79a62;_0x410916[_0x0134('0x37')]=_0x555716;_0x410916[_0x0134('0x39')]=utils[_0x0134('0x3a')](_0x410916[_0x0134('0x37')],_0x410916[_0x0134('0x36')]);};exports[_0x0134('0x3b')]=function(_0x173b05,_0x2e489b,_0x2a8642){_0x173b05[_0x0134('0x3c')]=_0x2e489b;_0x173b05[_0x0134('0x3d')]=_0x2a8642;};exports[_0x0134('0x3e')]=function(_0x1a86ef,_0x218f50,_0x2f3541){var _0x2caf2f=moment()[_0x0134('0xf')](_0x0134('0x32'));_0x1a86ef[_0x0134('0x33')]=_0x218f50;_0x1a86ef['statedesc']=_0x2f3541;_0x1a86ef[_0x0134('0x37')]=_0x1a86ef[_0x0134('0x37')]?_0x1a86ef[_0x0134('0x37')]:_0x2caf2f;_0x1a86ef['endtime']=_0x1a86ef['endtime']?_0x1a86ef[_0x0134('0x3f')]:_0x2caf2f;_0x1a86ef['ringtime']=utils[_0x0134('0x3a')](_0x1a86ef[_0x0134('0x37')]||0x0,_0x1a86ef[_0x0134('0x36')]||0x0);_0x1a86ef['talktime']=_0x1a86ef[_0x0134('0x40')]?utils[_0x0134('0x3a')](_0x1a86ef[_0x0134('0x3f')],_0x1a86ef[_0x0134('0x40')]):0x0;};exports[_0x0134('0x41')]=function(_0x558619){return _0x558619==='Failure';};exports[_0x0134('0x42')]=function(_0x88594b,_0x3da708,_0x5a92ed,_0x5e7f63,_0x3b2b4c){var _0x26adbe=_0x5e7f63?_0x0134('0x43'):_0x88594b[_0x0134('0x17')];_0x26adbe=_0x3b2b4c?'BOOKED':_0x26adbe;return{'actionid':_0x88594b[_0x0134('0x44')],'action':'originate','channel':_0x88594b['channelAgent'],'callerid':util[_0x0134('0xf')](_0x0134('0x16'),_0x26adbe,_0x88594b[_0x0134('0x18')]),'Exten':_0x0134('0x26'),'Context':'from-sip','Priority':'1','variable':_0x5a92ed,'timeout':(_0x3da708[_0x0134('0x45')]||0x1e)*0x3e8,'async':!![],'channelid':_0x88594b[_0x0134('0x44')]};};exports[_0x0134('0x46')]=function(_0x295449){return _0x295449[_0x0134('0x47')]+_0x295449[_0x0134('0x48')]+_0x295449[_0x0134('0x49')]+_0x295449['countagentrejectretry']+_0x295449[_0x0134('0x4a')];};exports[_0x0134('0x4b')]=function(_0x3b5ce8){var _0x3b54bc=_[_0x0134('0x4c')](_0x3b5ce8);_0x3b54bc[_0x0134('0x33')]=0xf;_0x3b54bc[_0x0134('0x34')]=_0x0134('0x4d');return _0x3b54bc;};exports['scheduledAt']=function(_0x599095,_0x1a2fb1,_0x5ace57){var _0x2b89e8={};_0x2b89e8[_0x1a2fb1]=_0x599095[_0x1a2fb1];_0x2b89e8[_0x0134('0x4e')]=![];_0x2b89e8[_0x0134('0x4f')]=moment()[_0x0134('0x50')](_0x5ace57,'minutes')['format'](_0x0134('0x32'));_0x2b89e8['ContactId']=_0x599095[_0x0134('0x19')];_0x2b89e8[_0x0134('0x51')]=_0x599095['ListId'];_0x2b89e8['VoiceQueueId']=_0x599095[_0x0134('0x1b')]||undefined;return _0x2b89e8;};exports[_0x0134('0x52')]=function(_0x54847a,_0x4fb6f3){if(!_[_0x0134('0x12')](_0x54847a)){if(_0x54847a[_0x0134('0x53')]>0x0){_0x54847a[_0x0134('0x53')]-=0x1;}else{logger[_0x0134('0x8')](_0x4fb6f3,_0x0134('0x54'));}}else{logger['error'](_0x4fb6f3,_0x0134('0x55'));}};exports[_0x0134('0x56')]=function(_0x58b83c){if(_0x58b83c<=0x0){return!![];}return![];};function buildObj(_0x4deebe,_0x5e5bda,_0x2bf9b8){_0x4deebe[_0x0134('0x57')]=_0x5e5bda;_0x4deebe[_0x0134('0x15')]=_0x4deebe[_0x0134('0x58')];_0x4deebe[_0x0134('0x59')]=_0x4deebe['channelAgent'];_0x4deebe[_0x0134('0x5a')]=_0x0134('0x5b');if(_0x2bf9b8){_0x4deebe[_0x0134('0x5c')]=_0x2bf9b8[_0x0134('0x5c')];}return _0x4deebe;}exports[_0x0134('0x5d')]=buildObj;exports[_0x0134('0x5e')]=function(_0x409c8e){var _0xadbcba={};_0xadbcba[_0x0134('0x58')]=_0x409c8e[_0x0134('0x58')];_0xadbcba['interface']=_0x409c8e['channelAgent'];_0xadbcba[_0x0134('0x44')]=_0x409c8e['uniqueid'];return _0xadbcba;};exports['agentReadyId']=function(_0xdf82f7){var _0x614688=[];for(var _0x13a17a in _0xdf82f7){if(_0xdf82f7['hasOwnProperty'](_0x13a17a)){if(!_[_0x0134('0x12')](_0xdf82f7[_0x13a17a])&&_0xdf82f7[_0x13a17a][_0x0134('0x33')]==='not_inuse'&&_0xdf82f7[_0x13a17a]['status']==='reachable'){_0x614688[_0x0134('0x5f')](_0xdf82f7[_0x13a17a]['id']);}}}return _0x614688;};exports['getDiff']=function(_0x55055d){var _0x5aefe1=moment()[_0x0134('0x60')](0x0);var _0x50ed44=moment(_0x55055d)[_0x0134('0x60')](0x0);return _0x5aefe1['diff'](_0x50ed44,_0x0134('0x61'));};exports[_0x0134('0x62')]=function(_0x513e95){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x513e95[_0x0134('0x19')],'ListId':_0x513e95[_0x0134('0x51')],'VoiceQueueId':_0x513e95[_0x0134('0x1b')]||undefined,'CampaignId':_0x513e95[_0x0134('0x63')]||undefined};};exports[_0x0134('0x64')]=function(_0x1ac7f1){if(_0x1ac7f1==='uniqueid'||_0x1ac7f1===_0x0134('0x65')||_0x1ac7f1===_0x0134('0x58')||_0x1ac7f1===_0x0134('0x66')||_0x1ac7f1===_0x0134('0x67')||_0x1ac7f1===_0x0134('0x68')||_0x1ac7f1===_0x0134('0x3c')||_0x1ac7f1==='channelAgent'||_0x1ac7f1==='calleridname'||_0x1ac7f1===_0x0134('0x4e')||_0x1ac7f1===_0x0134('0x18')||_0x1ac7f1===_0x0134('0x4f')||_0x1ac7f1==='countbusyretry'||_0x1ac7f1==='countcongestionretry'||_0x1ac7f1===_0x0134('0x49')||_0x1ac7f1==='countglobal'||_0x1ac7f1==='callback'||_0x1ac7f1==='callbackuniqueid'||_0x1ac7f1===_0x0134('0x69')||_0x1ac7f1===_0x0134('0x6a')||_0x1ac7f1==='ContactId'||_0x1ac7f1===_0x0134('0x51')||_0x1ac7f1==='UserId'||_0x1ac7f1===_0x0134('0x1b')||_0x1ac7f1===_0x0134('0x6b')||_0x1ac7f1===_0x0134('0x6c')||_0x1ac7f1===_0x0134('0x6d')||_0x1ac7f1===_0x0134('0x6e')||_0x1ac7f1===_0x0134('0x6f')||_0x1ac7f1===_0x0134('0x70')||_0x1ac7f1===_0x0134('0x71')||_0x1ac7f1==='xmd-dialoptions'||_0x1ac7f1===_0x0134('0x72')||_0x1ac7f1===_0x0134('0x73')||_0x1ac7f1===_0x0134('0x74')||_0x1ac7f1==='xmd-cdrtype'||_0x1ac7f1===_0x0134('0x75')||_0x1ac7f1===_0x0134('0x76')||_0x1ac7f1===_0x0134('0x77')||_0x1ac7f1==='rtpaudioqos'||_0x1ac7f1==='rtpaudioqosbridged'||_0x1ac7f1===_0x0134('0x78')||_0x1ac7f1===_0x0134('0x79')||_0x1ac7f1==='rtpaudioqosloss'||_0x1ac7f1===_0x0134('0x7a')||_0x1ac7f1==='rtpaudioqosrtt'||_0x1ac7f1===_0x0134('0x7b')||_0x1ac7f1==='rtpaudioqos'||_0x1ac7f1===_0x0134('0x7c')||_0x1ac7f1==='rtpaudioqosjitter'||_0x1ac7f1===_0x0134('0x79')||_0x1ac7f1==='rtpaudioqosloss'||_0x1ac7f1===_0x0134('0x7a')||_0x1ac7f1===_0x0134('0x7d')||_0x1ac7f1==='rtpaudioqosrttbridged'||_0x1ac7f1==='bridgepeer'||_0x1ac7f1===_0x0134('0x7e')||_0x1ac7f1==='state'||_0x1ac7f1===_0x0134('0x34')){return![];}return!![];};exports[_0x0134('0x7f')]=function(_0x7133ac,_0x14ebd2){var _0x78fd9e,_0x2b4b0d,_0x5ea8a4;if(_0x14ebd2<=0x0){_0x14ebd2=0x1;}_0x78fd9e=new RegExp(_0x0134('0x80')+_0x14ebd2+'}$');_0x2b4b0d=Math['pow'](0xa,_0x14ebd2-0x1);_0x5ea8a4=Math[_0x0134('0x81')](0xa,_0x14ebd2)-0x1;return util[_0x0134('0xf')]('%s',_[_0x0134('0x82')](_0x7133ac,_0x78fd9e,_[_0x0134('0x83')](_0x2b4b0d,_0x5ea8a4)));};exports[_0x0134('0x84')]=function(_0x4ce127){var _0x4094d8=_0x4ce127[_0x0134('0x85')](/"(.*?)"/);return _0x4094d8?_0x4094d8[0x1]:_0x4ce127;};exports[_0x0134('0x86')]=function(_0xaee420){var _0x508a2c=_0xaee420[_0x0134('0x85')](/<(.*?)>/);return _0x508a2c?_0x508a2c[0x1]:_0xaee420;};function buildNoAnswerEventPayload(_0x311b53,_0x3c25d0){var _0x54f24e=buildObj(_0x311b53,_0x0134('0x87'));if(!_[_0x0134('0xe')](_0x3c25d0[_0x0134('0x88')])){Object[_0x0134('0x89')](_0x3c25d0[_0x0134('0x88')])[_0x0134('0x8a')](function(_0x2748b3){_0x54f24e[_0x2748b3[_0x0134('0x8b')]()]=_0x3c25d0['variables'][_0x2748b3];});}return _0x54f24e;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;