Built motion from commit c116dc8b.|2.6.30
[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 _0x6c64=['minutes','ListId','isNil','pTalking','[decrementTalking]\x20object\x20talking\x20is\x20negative','IsNotLoggedIn','lastevent','queue','motionChannel','voice','mandatoryDisposition','buildObj','agentReadyId','hasOwnProperty','not_inuse','push','getDiff','milliseconds','seconds','createBody','CampaignId','filterKey','type','campaigntype','dialAnswer','scheduledat','countglobal','callback','callbackat','recallme','sipcallid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialoptions','xmd-dialid','xmd-contactid','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqoslossbridged','getCallerIdRandom','pow','replace','match','noanswer','keys','forEach','toLowerCase','variables','util','lodash','preview','env','127.0.0.1','../../dialer/utils','error','logger','info','inspect','loggerError','logger2','message','getCallerId','string','isEmpty','format','\x22%s\x22\x20<%s>','isActive','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','dialPreviewUrl','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','_XCALLY_MIXMONITOR_UNIQUEID','toLowerVariables','toLower','logBlacklist','state','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','getSeconds','membername','UserId','logCustomer','YYYY-MM-DD\x20HH:mm:ss','answertime','variablesAction','RECALL','uniqueid','originate','channelAgent','from-sip','timeout','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','Global','scheduledAt','active','add'];(function(_0x54784f,_0x2a24d8){var _0x241e1b=function(_0x3a4cc2){while(--_0x3a4cc2){_0x54784f['push'](_0x54784f['shift']());}};_0x241e1b(++_0x2a24d8);}(_0x6c64,0x12f));var _0x46c6=function(_0x5a85ef,_0x2baa6c){_0x5a85ef=_0x5a85ef-0x0;var _0x1612e2=_0x6c64[_0x5a85ef];return _0x1612e2;};'use strict';var util=require(_0x46c6('0x0'));var _=require(_0x46c6('0x1'));var moment=require('moment');var logger=require('../../../../config/logger')(_0x46c6('0x2'));var ipAgi=process[_0x46c6('0x3')]['XCALLY_IP_AGI']||_0x46c6('0x4');var utils=require(_0x46c6('0x5'));exports['loggerCatch']=function(_0x1e1d74){return function(_0x1a76a2){logger[_0x46c6('0x6')](_0x1e1d74,util['inspect'](_0x1a76a2,{'showHidden':![],'depth':null}));};};exports[_0x46c6('0x7')]=function(_0x4566a2,_0x92a4c2){logger[_0x46c6('0x8')](_0x4566a2,util[_0x46c6('0x9')](_0x92a4c2,{'showHidden':![],'depth':null}));};exports[_0x46c6('0xa')]=function(_0x4d373e,_0x4b7ca4){logger[_0x46c6('0x6')](_0x4d373e,util['inspect'](_0x4b7ca4,{'showHidden':![],'depth':null}));};exports[_0x46c6('0xb')]=function(_0xfe7a38){return function(_0x270058){logger[_0x46c6('0x8')](_0xfe7a38,util[_0x46c6('0x9')](_0x270058,{'showHidden':![],'depth':null}));};};exports[_0x46c6('0xc')]=function(_0x2fc1c3,_0x1ba885,_0x306568){return{'message':_0x2fc1c3,'unlock':_0x1ba885,'active':_0x306568};};exports[_0x46c6('0xd')]=function(_0x674445,_0x285a05,_0x135f1a){if(!_['isUndefined'](_0x135f1a)&&_0x46c6('0xe')===typeof _0x135f1a&&!_[_0x46c6('0xf')](_0x135f1a)){if(!_['isUndefined'](_0x285a05)&&'string'===typeof _0x285a05&&!_[_0x46c6('0xf')](_0x285a05)){return util[_0x46c6('0x10')](_0x46c6('0x11'),_0x285a05,_0x135f1a);}return util[_0x46c6('0x10')]('\x22%s\x22\x20<%s>',_0x135f1a,_0x135f1a);}if(!_['isUndefined'](_0x674445)&&_0x46c6('0xe')===typeof _0x674445&&!_['isEmpty'](_0x674445)){return _0x674445;}return'\x22\x22\x20<>';};exports[_0x46c6('0x12')]=function(_0x27318e){if(_['isNil'](_0x27318e)){return![];}return _0x27318e;};exports[_0x46c6('0x13')]=function(_0x5b6931,_0x364ea7,_0x701a50,_0x5ba5c3,_0x2ab4c7,_0x483cf9){var _0x3c9bef={'XMD-QUEUE':_0x364ea7[_0x46c6('0x14')]?_0x364ea7[_0x46c6('0x14')][_0x46c6('0x15')]:'','XMD-CALLERID':_0x5ba5c3,'XMD-CALLERID-PREVIEW':_0x483cf9?util[_0x46c6('0x10')]('\x22%s\x22\x20<%s>',_0x483cf9[_0x46c6('0x16')],_0x483cf9[_0x46c6('0x17')]):_0x5ba5c3,'XMD-DIALID':_0x2ab4c7,'XMD-CONTACTID':_0x364ea7[_0x46c6('0x18')],'XMD-CDRTYPE':_0x46c6('0x19'),'CALLERID(all)':_0x5ba5c3,'XMD-VOICEQUEUEID':_0x364ea7[_0x46c6('0x1a')],'XMD-DIALCHANNEL':_0x701a50,'XMD-DIALTIMEOUT':_0x5b6931['dialOriginateTimeout']||0x1e,'XMD-DIALOPTIONS':util[_0x46c6('0x10')](_0x46c6('0x1b'),_0x5b6931[_0x46c6('0x1c')]?'g':'',_['isEmpty'](_0x5b6931[_0x46c6('0x1d')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x5b6931[_0x46c6('0x1e')]||'','XMD-AGI':_0x5b6931['dialQueueProject']?util[_0x46c6('0x10')](_0x46c6('0x1f'),ipAgi,_0x5b6931['dialQueueProject']):'NONE','XMD-AGIAFTER':_0x5b6931[_0x46c6('0x1c')]?util[_0x46c6('0x10')](_0x46c6('0x1f'),ipAgi,_0x5b6931[_0x46c6('0x1c')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x483cf9?_0x483cf9[_0x46c6('0x20')]:'','XMD-ORIGINATECALLERIDNAME':_0x483cf9?_0x483cf9[_0x46c6('0x21')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_[_0x46c6('0xf')](_0x5b6931[_0x46c6('0x1d')])){_0x3c9bef[util[_0x46c6('0x10')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x5b6931['monitor_format'];_0x3c9bef[util['format']('%s',_0x46c6('0x22'))]=_0x2ab4c7;}return _0x3c9bef;};exports[_0x46c6('0x23')]=function(_0x17731e){var _0x3afd78={};for(var _0x11a316 in _0x17731e){if(_0x17731e['hasOwnProperty'](_0x11a316)){_0x3afd78[util[_0x46c6('0x10')]('%s',_[_0x46c6('0x24')](_0x11a316))]=_0x17731e[_0x11a316];}}return{'variables':_0x3afd78};};exports[_0x46c6('0x25')]=function(_0x1994ce){var _0x283bcb=moment()[_0x46c6('0x10')]('YYYY-MM-DD\x20HH:mm:ss');_0x1994ce[_0x46c6('0x26')]=0xd;_0x1994ce[_0x46c6('0x27')]=_0x46c6('0x28');_0x1994ce[_0x46c6('0x29')]=_0x283bcb;_0x1994ce[_0x46c6('0x2a')]=_0x283bcb;_0x1994ce[_0x46c6('0x2b')]=_0x283bcb;};exports[_0x46c6('0x2c')]=function(_0x205d0b,_0x5e6f58,_0x5e5390){var _0x3bacd6=moment()[_0x46c6('0x10')]('YYYY-MM-DD\x20HH:mm:ss');_0x205d0b[_0x46c6('0x26')]=_0x5e6f58;_0x205d0b[_0x46c6('0x27')]=_0x5e5390;_0x205d0b[_0x46c6('0x2a')]=_0x3bacd6;_0x205d0b['ringtime']=utils[_0x46c6('0x2d')](_0x205d0b['responsetime'],_0x205d0b[_0x46c6('0x29')]);};exports['logLookAgent']=function(_0x3e3fd2,_0x550352,_0x47b7dc){_0x3e3fd2[_0x46c6('0x2e')]=_0x550352;_0x3e3fd2[_0x46c6('0x2f')]=_0x47b7dc;};exports[_0x46c6('0x30')]=function(_0x4aeec5,_0x2625e7,_0x2ecfa8){var _0x3e3338=moment()['format'](_0x46c6('0x31'));_0x4aeec5[_0x46c6('0x26')]=_0x2625e7;_0x4aeec5[_0x46c6('0x27')]=_0x2ecfa8;_0x4aeec5[_0x46c6('0x2a')]=_0x4aeec5[_0x46c6('0x2a')]?_0x4aeec5[_0x46c6('0x2a')]:_0x3e3338;_0x4aeec5[_0x46c6('0x2b')]=_0x4aeec5[_0x46c6('0x2b')]?_0x4aeec5[_0x46c6('0x2b')]:_0x3e3338;_0x4aeec5['ringtime']=utils[_0x46c6('0x2d')](_0x4aeec5['responsetime']||0x0,_0x4aeec5[_0x46c6('0x29')]||0x0);_0x4aeec5['talktime']=_0x4aeec5['answertime']?utils[_0x46c6('0x2d')](_0x4aeec5['endtime'],_0x4aeec5[_0x46c6('0x32')]):0x0;};exports['isFailure']=function(_0x4d233c){return _0x4d233c==='Failure';};exports[_0x46c6('0x33')]=function(_0x587d25,_0xf15dbd,_0x33dc79,_0x102903,_0x31f41a){var _0x358390=_0x102903?_0x46c6('0x34'):_0x587d25[_0x46c6('0x16')];_0x358390=_0x31f41a?'BOOKED':_0x358390;return{'actionid':_0x587d25[_0x46c6('0x35')],'action':_0x46c6('0x36'),'channel':_0x587d25[_0x46c6('0x37')],'callerid':util[_0x46c6('0x10')](_0x46c6('0x11'),_0x358390,_0x587d25[_0x46c6('0x17')]),'Exten':'xcally-motion-preview','Context':_0x46c6('0x38'),'Priority':'1','variable':_0x33dc79,'timeout':(_0xf15dbd[_0x46c6('0x39')]||0x1e)*0x3e8,'async':!![],'channelid':_0x587d25[_0x46c6('0x35')]};};exports['totalGlobal']=function(_0xfeec81){return _0xfeec81[_0x46c6('0x3a')]+_0xfeec81[_0x46c6('0x3b')]+_0xfeec81[_0x46c6('0x3c')]+_0xfeec81[_0x46c6('0x3d')]+_0xfeec81['countnosuchnumberretry'];};exports['cloneAction']=function(_0x3b3c3e){var _0x350807=_['clone'](_0x3b3c3e);_0x350807[_0x46c6('0x26')]=0xf;_0x350807[_0x46c6('0x27')]=_0x46c6('0x3e');return _0x350807;};exports[_0x46c6('0x3f')]=function(_0x440a0a,_0x2340e6,_0x1bac27){var _0x4a6782={};_0x4a6782[_0x2340e6]=_0x440a0a[_0x2340e6];_0x4a6782[_0x46c6('0x40')]=![];_0x4a6782['scheduledat']=moment()[_0x46c6('0x41')](_0x1bac27,_0x46c6('0x42'))[_0x46c6('0x10')](_0x46c6('0x31'));_0x4a6782['ContactId']=_0x440a0a[_0x46c6('0x18')];_0x4a6782[_0x46c6('0x43')]=_0x440a0a[_0x46c6('0x43')];_0x4a6782[_0x46c6('0x1a')]=_0x440a0a[_0x46c6('0x1a')]||undefined;return _0x4a6782;};exports['decrementTalking']=function(_0x309d5d,_0x54182d){if(!_[_0x46c6('0x44')](_0x309d5d)){if(_0x309d5d[_0x46c6('0x45')]>0x0){_0x309d5d[_0x46c6('0x45')]-=0x1;}else{logger[_0x46c6('0x8')](_0x54182d,_0x46c6('0x46'));}}else{logger[_0x46c6('0x6')](_0x54182d,'[decrementTalking]\x20is\x20null\x20or\x20undefined');}};exports[_0x46c6('0x47')]=function(_0x240ecd){if(_0x240ecd<=0x0){return!![];}return![];};function buildObj(_0x1a0b4f,_0x565136,_0x37bec0){_0x1a0b4f[_0x46c6('0x48')]=_0x565136;_0x1a0b4f[_0x46c6('0x15')]=_0x1a0b4f[_0x46c6('0x49')];_0x1a0b4f['interface']=_0x1a0b4f[_0x46c6('0x37')];_0x1a0b4f[_0x46c6('0x4a')]=_0x46c6('0x4b');if(_0x37bec0){_0x1a0b4f[_0x46c6('0x4c')]=_0x37bec0['mandatoryDisposition'];}return _0x1a0b4f;}exports[_0x46c6('0x4d')]=buildObj;exports[_0x46c6('0x4e')]=function(_0x25db59){var _0x473df=[];for(var _0x2c4a8c in _0x25db59){if(_0x25db59[_0x46c6('0x4f')](_0x2c4a8c)){if(!_[_0x46c6('0x44')](_0x25db59[_0x2c4a8c])&&_0x25db59[_0x2c4a8c][_0x46c6('0x26')]===_0x46c6('0x50')&&_0x25db59[_0x2c4a8c]['status']==='reachable'){_0x473df[_0x46c6('0x51')](_0x25db59[_0x2c4a8c]['id']);}}}return _0x473df;};exports[_0x46c6('0x52')]=function(_0x252741){var _0x5ef7f0=moment()[_0x46c6('0x53')](0x0);var _0x39467e=moment(_0x252741)['milliseconds'](0x0);return _0x5ef7f0['diff'](_0x39467e,_0x46c6('0x54'));};exports[_0x46c6('0x55')]=function(_0x3ec5ce){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x3ec5ce[_0x46c6('0x18')],'ListId':_0x3ec5ce[_0x46c6('0x43')],'VoiceQueueId':_0x3ec5ce[_0x46c6('0x1a')]||undefined,'CampaignId':_0x3ec5ce[_0x46c6('0x56')]||undefined};};exports[_0x46c6('0x57')]=function(_0x4c11a6){if(_0x4c11a6===_0x46c6('0x35')||_0x4c11a6==='idContact'||_0x4c11a6===_0x46c6('0x49')||_0x4c11a6===_0x46c6('0x58')||_0x4c11a6===_0x46c6('0x59')||_0x4c11a6===_0x46c6('0x5a')||_0x4c11a6===_0x46c6('0x2e')||_0x4c11a6===_0x46c6('0x37')||_0x4c11a6===_0x46c6('0x16')||_0x4c11a6===_0x46c6('0x40')||_0x4c11a6===_0x46c6('0x17')||_0x4c11a6===_0x46c6('0x5b')||_0x4c11a6===_0x46c6('0x3a')||_0x4c11a6===_0x46c6('0x3b')||_0x4c11a6===_0x46c6('0x3c')||_0x4c11a6===_0x46c6('0x5c')||_0x4c11a6===_0x46c6('0x5d')||_0x4c11a6==='callbackuniqueid'||_0x4c11a6===_0x46c6('0x5e')||_0x4c11a6===_0x46c6('0x5f')||_0x4c11a6==='ContactId'||_0x4c11a6===_0x46c6('0x43')||_0x4c11a6===_0x46c6('0x2f')||_0x4c11a6===_0x46c6('0x1a')||_0x4c11a6===_0x46c6('0x60')||_0x4c11a6==='xmd-voicequeueid'||_0x4c11a6===_0x46c6('0x61')||_0x4c11a6===_0x46c6('0x62')||_0x4c11a6===_0x46c6('0x63')||_0x4c11a6===_0x46c6('0x64')||_0x4c11a6==='xmd-dialtimeout'||_0x4c11a6===_0x46c6('0x65')||_0x4c11a6===_0x46c6('0x66')||_0x4c11a6==='xmd-dialchannel'||_0x4c11a6===_0x46c6('0x67')||_0x4c11a6==='xmd-cdrtype'||_0x4c11a6===_0x46c6('0x68')||_0x4c11a6===_0x46c6('0x69')||_0x4c11a6==='xmd-agi'||_0x4c11a6===_0x46c6('0x6a')||_0x4c11a6===_0x46c6('0x6b')||_0x4c11a6===_0x46c6('0x6c')||_0x4c11a6===_0x46c6('0x6d')||_0x4c11a6===_0x46c6('0x6e')||_0x4c11a6==='rtpaudioqoslossbridged'||_0x4c11a6===_0x46c6('0x6f')||_0x4c11a6===_0x46c6('0x70')||_0x4c11a6===_0x46c6('0x6a')||_0x4c11a6==='rtpaudioqosbridged'||_0x4c11a6==='rtpaudioqosjitter'||_0x4c11a6===_0x46c6('0x6d')||_0x4c11a6===_0x46c6('0x6e')||_0x4c11a6===_0x46c6('0x71')||_0x4c11a6===_0x46c6('0x6f')||_0x4c11a6==='rtpaudioqosrttbridged'||_0x4c11a6==='bridgepeer'||_0x4c11a6==='bridgepvtcallid'||_0x4c11a6===_0x46c6('0x26')||_0x4c11a6==='statedesc'){return![];}return!![];};exports[_0x46c6('0x72')]=function(_0x4d8d1d,_0x111a07){var _0x423039,_0x5cc245,_0x5d92d5;if(_0x111a07<=0x0){_0x111a07=0x1;}_0x423039=new RegExp('\x5cw{0,'+_0x111a07+'}$');_0x5cc245=Math['pow'](0xa,_0x111a07-0x1);_0x5d92d5=Math[_0x46c6('0x73')](0xa,_0x111a07)-0x1;return util['format']('%s',_[_0x46c6('0x74')](_0x4d8d1d,_0x423039,_['random'](_0x5cc245,_0x5d92d5)));};exports['extractCalleridName']=function(_0x552c8e){var _0x570f56=_0x552c8e['match'](/"(.*?)"/);return _0x570f56?_0x570f56[0x1]:_0x552c8e;};exports['extractCalleridNumber']=function(_0x4eb0f9){var _0x4ea754=_0x4eb0f9[_0x46c6('0x75')](/<(.*?)>/);return _0x4ea754?_0x4ea754[0x1]:_0x4eb0f9;};function buildNoAnswerEventPayload(_0x1c18e8,_0x4f6aee){var _0x548baa=buildObj(_0x1c18e8,_0x46c6('0x76'));if(!_[_0x46c6('0xf')](_0x4f6aee['variables'])){Object[_0x46c6('0x77')](_0x4f6aee['variables'])[_0x46c6('0x78')](function(_0x58dd9d){_0x548baa[_0x58dd9d[_0x46c6('0x79')]()]=_0x4f6aee[_0x46c6('0x7a')][_0x58dd9d];});}return _0x548baa;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;