edaea4a74dcba2841ddfec2b308215c618867b02
[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 _0xcca9=['YYYY-MM-DD\x20HH:mm:ss','state','Blacklist','starttime','responsetime','endtime','statedesc','ringtime','getSeconds','logLookAgent','logCustomer','talktime','answertime','isFailure','Failure','variablesAction','uniqueid','originate','xcally-motion-preview','from-sip','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','Global','scheduledAt','active','scheduledat','add','ListId','isNil','pTalking','[decrementTalking]\x20object\x20talking\x20is\x20negative','[decrementTalking]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','channelAgent','voice','mandatoryDisposition','buildObj','agentReadyId','not_inuse','push','getDiff','milliseconds','diff','seconds','CampaignId','filterKey','idContact','dialAnswer','membername','countglobal','callback','callbackuniqueid','callbackat','recallme','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrttbridged','rtpaudioqosjitter','rtpaudioqoslossbridged','rtpaudioqosrtt','bridgepeer','getCallerIdRandom','\x5cw{0,','pow','replace','extractCalleridNumber','variables','forEach','toLowerCase','util','lodash','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','error','inspect','info','loggerError','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','dialQueueProject','NONE','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','toLowerVariables','hasOwnProperty','toLower','logBlacklist'];(function(_0x19925b,_0x2454d7){var _0x3b2c8e=function(_0x4fee09){while(--_0x4fee09){_0x19925b['push'](_0x19925b['shift']());}};_0x3b2c8e(++_0x2454d7);}(_0xcca9,0x160));var _0x9cca=function(_0x5c3891,_0x284f4c){_0x5c3891=_0x5c3891-0x0;var _0x34ecda=_0xcca9[_0x5c3891];return _0x34ecda;};'use strict';var util=require(_0x9cca('0x0'));var _=require(_0x9cca('0x1'));var moment=require(_0x9cca('0x2'));var logger=require(_0x9cca('0x3'))(_0x9cca('0x4'));var ipAgi=process[_0x9cca('0x5')][_0x9cca('0x6')]||_0x9cca('0x7');var utils=require(_0x9cca('0x8'));exports['loggerCatch']=function(_0x7cb36f){return function(_0x4748fd){logger[_0x9cca('0x9')](_0x7cb36f,util[_0x9cca('0xa')](_0x4748fd,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x5a2a60,_0x7ccded){logger[_0x9cca('0xb')](_0x5a2a60,util[_0x9cca('0xa')](_0x7ccded,{'showHidden':![],'depth':null}));};exports[_0x9cca('0xc')]=function(_0x4591d0,_0x44739f){logger[_0x9cca('0x9')](_0x4591d0,util[_0x9cca('0xa')](_0x44739f,{'showHidden':![],'depth':null}));};exports[_0x9cca('0xd')]=function(_0x4b7cb2){return function(_0x3d11b2){logger[_0x9cca('0xb')](_0x4b7cb2,util['inspect'](_0x3d11b2,{'showHidden':![],'depth':null}));};};exports[_0x9cca('0xe')]=function(_0x4de285,_0xfdfd38,_0x2d5551){return{'message':_0x4de285,'unlock':_0xfdfd38,'active':_0x2d5551};};exports[_0x9cca('0xf')]=function(_0x107981,_0x63eceb,_0x410272){if(!_[_0x9cca('0x10')](_0x410272)&&_0x9cca('0x11')===typeof _0x410272&&!_['isEmpty'](_0x410272)){if(!_[_0x9cca('0x10')](_0x63eceb)&&_0x9cca('0x11')===typeof _0x63eceb&&!_[_0x9cca('0x12')](_0x63eceb)){return util[_0x9cca('0x13')]('\x22%s\x22\x20<%s>',_0x63eceb,_0x410272);}return util['format'](_0x9cca('0x14'),_0x410272,_0x410272);}if(!_[_0x9cca('0x10')](_0x107981)&&'string'===typeof _0x107981&&!_['isEmpty'](_0x107981)){return _0x107981;}return _0x9cca('0x15');};exports['isActive']=function(_0x656ff2){if(_['isNil'](_0x656ff2)){return![];}return _0x656ff2;};exports['addVariables']=function(_0x4d23d9,_0x1f9654,_0x32f2e6,_0x226544,_0x4284e7,_0x236148){var _0x18fd28={'XMD-QUEUE':_0x1f9654[_0x9cca('0x16')]?_0x1f9654[_0x9cca('0x16')][_0x9cca('0x17')]:'','XMD-CALLERID':_0x226544,'XMD-CALLERID-PREVIEW':_0x236148?util[_0x9cca('0x13')]('\x22%s\x22\x20<%s>',_0x236148[_0x9cca('0x18')],_0x236148[_0x9cca('0x19')]):_0x226544,'XMD-DIALID':_0x4284e7,'XMD-CONTACTID':_0x1f9654[_0x9cca('0x1a')],'XMD-CDRTYPE':_0x9cca('0x1b'),'CALLERID(all)':_0x226544,'XMD-VOICEQUEUEID':_0x1f9654[_0x9cca('0x1c')],'XMD-DIALCHANNEL':_0x32f2e6,'XMD-DIALTIMEOUT':_0x4d23d9[_0x9cca('0x1d')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0x9cca('0x1e'),_0x4d23d9[_0x9cca('0x1f')]?'g':'',_[_0x9cca('0x12')](_0x4d23d9[_0x9cca('0x20')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x4d23d9['dialPreviewUrl']||'','XMD-AGI':_0x4d23d9[_0x9cca('0x21')]?util[_0x9cca('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x4d23d9[_0x9cca('0x21')]):_0x9cca('0x22'),'XMD-AGIAFTER':_0x4d23d9[_0x9cca('0x1f')]?util['format'](_0x9cca('0x23'),ipAgi,_0x4d23d9[_0x9cca('0x1f')]):_0x9cca('0x22'),'XMD-ORIGINATECALLERIDNUM':_0x236148?_0x236148[_0x9cca('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x236148?_0x236148[_0x9cca('0x25')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':_0x9cca('0x26')};if(!_[_0x9cca('0x12')](_0x4d23d9[_0x9cca('0x20')])){_0x18fd28[util['format']('%s',_0x9cca('0x27'))]=_0x4d23d9[_0x9cca('0x20')];_0x18fd28[util[_0x9cca('0x13')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x4284e7;}return _0x18fd28;};exports[_0x9cca('0x28')]=function(_0xa8f73d){var _0x2b06cf={};for(var _0x38a7dc in _0xa8f73d){if(_0xa8f73d[_0x9cca('0x29')](_0x38a7dc)){_0x2b06cf[util[_0x9cca('0x13')]('%s',_[_0x9cca('0x2a')](_0x38a7dc))]=_0xa8f73d[_0x38a7dc];}}return{'variables':_0x2b06cf};};exports[_0x9cca('0x2b')]=function(_0x42a2b6){var _0xdaf086=moment()[_0x9cca('0x13')](_0x9cca('0x2c'));_0x42a2b6[_0x9cca('0x2d')]=0xd;_0x42a2b6['statedesc']=_0x9cca('0x2e');_0x42a2b6[_0x9cca('0x2f')]=_0xdaf086;_0x42a2b6[_0x9cca('0x30')]=_0xdaf086;_0x42a2b6[_0x9cca('0x31')]=_0xdaf086;};exports['logAgent']=function(_0xf75b15,_0x3cc442,_0x2a68f3){var _0x22c99e=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0xf75b15[_0x9cca('0x2d')]=_0x3cc442;_0xf75b15[_0x9cca('0x32')]=_0x2a68f3;_0xf75b15[_0x9cca('0x30')]=_0x22c99e;_0xf75b15[_0x9cca('0x33')]=utils[_0x9cca('0x34')](_0xf75b15[_0x9cca('0x30')],_0xf75b15[_0x9cca('0x2f')]);};exports[_0x9cca('0x35')]=function(_0x5d9af6,_0x54a3d6,_0x113c7e){_0x5d9af6['membername']=_0x54a3d6;_0x5d9af6['UserId']=_0x113c7e;};exports[_0x9cca('0x36')]=function(_0x24aeaa,_0x52147e,_0x4c2435){var _0x46d489=moment()['format'](_0x9cca('0x2c'));_0x24aeaa['state']=_0x52147e;_0x24aeaa[_0x9cca('0x32')]=_0x4c2435;_0x24aeaa['responsetime']=_0x24aeaa[_0x9cca('0x30')]?_0x24aeaa['responsetime']:_0x46d489;_0x24aeaa[_0x9cca('0x31')]=_0x24aeaa['endtime']?_0x24aeaa['endtime']:_0x46d489;_0x24aeaa['ringtime']=utils[_0x9cca('0x34')](_0x24aeaa[_0x9cca('0x30')]||0x0,_0x24aeaa[_0x9cca('0x2f')]||0x0);_0x24aeaa[_0x9cca('0x37')]=_0x24aeaa['answertime']?utils[_0x9cca('0x34')](_0x24aeaa['endtime'],_0x24aeaa[_0x9cca('0x38')]):0x0;};exports[_0x9cca('0x39')]=function(_0x9532a9){return _0x9532a9===_0x9cca('0x3a');};exports[_0x9cca('0x3b')]=function(_0x3241ae,_0x1c49fa,_0x370d1a,_0x43d301,_0x2e8ae6){var _0x32b89e=_0x43d301?'RECALL':_0x3241ae[_0x9cca('0x18')];_0x32b89e=_0x2e8ae6?'BOOKED':_0x32b89e;return{'actionid':_0x3241ae[_0x9cca('0x3c')],'action':_0x9cca('0x3d'),'channel':_0x3241ae['channelAgent'],'callerid':util[_0x9cca('0x13')](_0x9cca('0x14'),_0x32b89e,_0x3241ae[_0x9cca('0x19')]),'Exten':_0x9cca('0x3e'),'Context':_0x9cca('0x3f'),'Priority':'1','variable':_0x370d1a,'timeout':(_0x1c49fa[_0x9cca('0x40')]||0x1e)*0x3e8,'async':!![],'channelid':_0x3241ae[_0x9cca('0x3c')]};};exports[_0x9cca('0x41')]=function(_0x5ecc2f){return _0x5ecc2f[_0x9cca('0x42')]+_0x5ecc2f[_0x9cca('0x43')]+_0x5ecc2f[_0x9cca('0x44')]+_0x5ecc2f[_0x9cca('0x45')]+_0x5ecc2f[_0x9cca('0x46')];};exports['cloneAction']=function(_0x168e5f){var _0x3289c5=_['clone'](_0x168e5f);_0x3289c5['state']=0xf;_0x3289c5['statedesc']=_0x9cca('0x47');return _0x3289c5;};exports[_0x9cca('0x48')]=function(_0x52a7ea,_0xcb372d,_0x2244c4){var _0x456e55={};_0x456e55[_0xcb372d]=_0x52a7ea[_0xcb372d];_0x456e55[_0x9cca('0x49')]=![];_0x456e55[_0x9cca('0x4a')]=moment()[_0x9cca('0x4b')](_0x2244c4,'minutes')['format']('YYYY-MM-DD\x20HH:mm:ss');_0x456e55[_0x9cca('0x1a')]=_0x52a7ea['ContactId'];_0x456e55[_0x9cca('0x4c')]=_0x52a7ea['ListId'];_0x456e55[_0x9cca('0x1c')]=_0x52a7ea[_0x9cca('0x1c')]||undefined;return _0x456e55;};exports['decrementTalking']=function(_0x11cb02,_0x472b5d){if(!_[_0x9cca('0x4d')](_0x11cb02)){if(_0x11cb02[_0x9cca('0x4e')]>0x0){_0x11cb02[_0x9cca('0x4e')]-=0x1;}else{logger[_0x9cca('0xb')](_0x472b5d,_0x9cca('0x4f'));}}else{logger['error'](_0x472b5d,_0x9cca('0x50'));}};exports[_0x9cca('0x51')]=function(_0x586297){if(_0x586297<=0x0){return!![];}return![];};function buildObj(_0x574619,_0x58317f,_0x3ee87c){_0x574619[_0x9cca('0x52')]=_0x58317f;_0x574619[_0x9cca('0x17')]=_0x574619[_0x9cca('0x53')];_0x574619['interface']=_0x574619[_0x9cca('0x54')];_0x574619['motionChannel']=_0x9cca('0x55');if(_0x3ee87c){_0x574619[_0x9cca('0x56')]=_0x3ee87c[_0x9cca('0x56')];}return _0x574619;}exports[_0x9cca('0x57')]=buildObj;exports[_0x9cca('0x58')]=function(_0x50eac7){var _0x4cb160=[];for(var _0x1c3c09 in _0x50eac7){if(_0x50eac7[_0x9cca('0x29')](_0x1c3c09)){if(!_[_0x9cca('0x4d')](_0x50eac7[_0x1c3c09])&&_0x50eac7[_0x1c3c09][_0x9cca('0x2d')]===_0x9cca('0x59')&&_0x50eac7[_0x1c3c09]['status']==='reachable'){_0x4cb160[_0x9cca('0x5a')](_0x50eac7[_0x1c3c09]['id']);}}}return _0x4cb160;};exports[_0x9cca('0x5b')]=function(_0x5bc5f1){var _0x583f68=moment()[_0x9cca('0x5c')](0x0);var _0x2cb4ef=moment(_0x5bc5f1)[_0x9cca('0x5c')](0x0);return _0x583f68[_0x9cca('0x5d')](_0x2cb4ef,_0x9cca('0x5e'));};exports['createBody']=function(_0x111c01){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x111c01[_0x9cca('0x1a')],'ListId':_0x111c01[_0x9cca('0x4c')],'VoiceQueueId':_0x111c01[_0x9cca('0x1c')]||undefined,'CampaignId':_0x111c01[_0x9cca('0x5f')]||undefined};};exports[_0x9cca('0x60')]=function(_0x5dd502){if(_0x5dd502===_0x9cca('0x3c')||_0x5dd502===_0x9cca('0x61')||_0x5dd502===_0x9cca('0x53')||_0x5dd502==='type'||_0x5dd502==='campaigntype'||_0x5dd502===_0x9cca('0x62')||_0x5dd502===_0x9cca('0x63')||_0x5dd502===_0x9cca('0x54')||_0x5dd502===_0x9cca('0x18')||_0x5dd502===_0x9cca('0x49')||_0x5dd502===_0x9cca('0x19')||_0x5dd502==='scheduledat'||_0x5dd502===_0x9cca('0x42')||_0x5dd502==='countcongestionretry'||_0x5dd502===_0x9cca('0x44')||_0x5dd502===_0x9cca('0x64')||_0x5dd502===_0x9cca('0x65')||_0x5dd502===_0x9cca('0x66')||_0x5dd502===_0x9cca('0x67')||_0x5dd502===_0x9cca('0x68')||_0x5dd502===_0x9cca('0x1a')||_0x5dd502===_0x9cca('0x4c')||_0x5dd502==='UserId'||_0x5dd502===_0x9cca('0x1c')||_0x5dd502==='sipcallid'||_0x5dd502==='xmd-voicequeueid'||_0x5dd502===_0x9cca('0x69')||_0x5dd502===_0x9cca('0x6a')||_0x5dd502===_0x9cca('0x6b')||_0x5dd502===_0x9cca('0x6c')||_0x5dd502===_0x9cca('0x6d')||_0x5dd502===_0x9cca('0x6e')||_0x5dd502==='xmd-dialid'||_0x5dd502==='xmd-dialchannel'||_0x5dd502===_0x9cca('0x6f')||_0x5dd502===_0x9cca('0x70')||_0x5dd502===_0x9cca('0x71')||_0x5dd502===_0x9cca('0x72')||_0x5dd502==='xmd-agi'||_0x5dd502===_0x9cca('0x73')||_0x5dd502===_0x9cca('0x74')||_0x5dd502==='rtpaudioqosjitter'||_0x5dd502===_0x9cca('0x75')||_0x5dd502===_0x9cca('0x76')||_0x5dd502==='rtpaudioqoslossbridged'||_0x5dd502==='rtpaudioqosrtt'||_0x5dd502===_0x9cca('0x77')||_0x5dd502===_0x9cca('0x73')||_0x5dd502===_0x9cca('0x74')||_0x5dd502===_0x9cca('0x78')||_0x5dd502===_0x9cca('0x75')||_0x5dd502===_0x9cca('0x76')||_0x5dd502===_0x9cca('0x79')||_0x5dd502===_0x9cca('0x7a')||_0x5dd502===_0x9cca('0x77')||_0x5dd502===_0x9cca('0x7b')||_0x5dd502==='bridgepvtcallid'||_0x5dd502===_0x9cca('0x2d')||_0x5dd502===_0x9cca('0x32')){return![];}return!![];};exports[_0x9cca('0x7c')]=function(_0x174a53,_0x2429b3){var _0x1b855c,_0x1fed25,_0x3ad272;if(_0x2429b3<=0x0){_0x2429b3=0x1;}_0x1b855c=new RegExp(_0x9cca('0x7d')+_0x2429b3+'}$');_0x1fed25=Math[_0x9cca('0x7e')](0xa,_0x2429b3-0x1);_0x3ad272=Math[_0x9cca('0x7e')](0xa,_0x2429b3)-0x1;return util[_0x9cca('0x13')]('%s',_[_0x9cca('0x7f')](_0x174a53,_0x1b855c,_['random'](_0x1fed25,_0x3ad272)));};exports['extractCalleridName']=function(_0x1f5b56){var _0x2f0560=_0x1f5b56['match'](/"(.*?)"/);return _0x2f0560?_0x2f0560[0x1]:_0x1f5b56;};exports[_0x9cca('0x80')]=function(_0x552d68){var _0x3a528d=_0x552d68['match'](/<(.*?)>/);return _0x3a528d?_0x3a528d[0x1]:_0x552d68;};function buildNoAnswerEventPayload(_0x442c30,_0x409b5c){var _0x159a80=buildObj(_0x442c30,'noanswer');if(!_['isEmpty'](_0x409b5c[_0x9cca('0x81')])){Object['keys'](_0x409b5c[_0x9cca('0x81')])[_0x9cca('0x82')](function(_0x2de978){_0x159a80[_0x2de978[_0x9cca('0x83')]()]=_0x409b5c[_0x9cca('0x81')][_0x2de978];});}return _0x159a80;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;