310820a90f8f7adff07bfe67521f7c9f3e55049b
[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 _0xa13f=['membername','logCustomer','talktime','answertime','Failure','variablesAction','uniqueid','originate','xcally-motion-preview','from-sip','timeout','countbusyretry','countcongestionretry','countnoanswerretry','clone','active','add','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','interface','voice','mandatoryDisposition','buildObj','agentReadyId','not_inuse','status','reachable','push','getDiff','diff','seconds','CampaignId','filterKey','idContact','campaigntype','dialAnswer','channelAgent','calleridname','scheduledat','countglobal','callback','callbackuniqueid','callbackat','sipcallid','xmd-voicequeueid','xmd-queue','xmd-listid','xmd-dialtimeout','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosbridged','bridgepeer','bridgepvtcallid','\x5cw{0,','pow','replace','random','extractCalleridName','extractCalleridNumber','match','keys','variables','toLowerCase','util','lodash','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','loggerCatch','error','inspect','logger','info','loggerError','logger2','message','getCallerId','isEmpty','isUndefined','string','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','NONE','originatecalleridname','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','toLowerVariables','updateOriginated','hasOwnProperty','originated','starttime','responsetime','endtime','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','ringtime','getSeconds','logLookAgent'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0xa13f,0x15f));var _0xfa13=function(_0xc4b27a,_0x373416){_0xc4b27a=_0xc4b27a-0x0;var _0x3d53b3=_0xa13f[_0xc4b27a];return _0x3d53b3;};'use strict';var util=require(_0xfa13('0x0'));var _=require(_0xfa13('0x1'));var moment=require(_0xfa13('0x2'));var logger=require(_0xfa13('0x3'))(_0xfa13('0x4'));var ipAgi=process[_0xfa13('0x5')][_0xfa13('0x6')]||_0xfa13('0x7');var utils=require(_0xfa13('0x8'));exports[_0xfa13('0x9')]=function(_0x43b8d4){return function(_0x2831e3){logger[_0xfa13('0xa')](_0x43b8d4,util[_0xfa13('0xb')](_0x2831e3,{'showHidden':![],'depth':null}));};};exports[_0xfa13('0xc')]=function(_0x4abef9,_0x10226e){logger[_0xfa13('0xd')](_0x4abef9,util[_0xfa13('0xb')](_0x10226e,{'showHidden':![],'depth':null}));};exports[_0xfa13('0xe')]=function(_0x3908db,_0x3dd29a){logger[_0xfa13('0xa')](_0x3908db,util[_0xfa13('0xb')](_0x3dd29a,{'showHidden':![],'depth':null}));};exports[_0xfa13('0xf')]=function(_0x458d09){return function(_0x4f76fa){logger['info'](_0x458d09,util[_0xfa13('0xb')](_0x4f76fa,{'showHidden':![],'depth':null}));};};exports[_0xfa13('0x10')]=function(_0x5a019a,_0x282a7c,_0x33acce){return{'message':_0x5a019a,'unlock':_0x282a7c,'active':_0x33acce};};exports[_0xfa13('0x11')]=function(_0x4c0ca7,_0x327b98,_0x1aa000){if(!_['isUndefined'](_0x1aa000)&&'string'===typeof _0x1aa000&&!_[_0xfa13('0x12')](_0x1aa000)){if(!_[_0xfa13('0x13')](_0x327b98)&&_0xfa13('0x14')===typeof _0x327b98&&!_[_0xfa13('0x12')](_0x327b98)){return util[_0xfa13('0x15')](_0xfa13('0x16'),_0x327b98,_0x1aa000);}return util[_0xfa13('0x15')]('\x22%s\x22\x20<%s>',_0x1aa000,_0x1aa000);}if(!_[_0xfa13('0x13')](_0x4c0ca7)&&_0xfa13('0x14')===typeof _0x4c0ca7&&!_[_0xfa13('0x12')](_0x4c0ca7)){return _0x4c0ca7;}return _0xfa13('0x17');};exports[_0xfa13('0x18')]=function(_0x1e430c){if(_[_0xfa13('0x19')](_0x1e430c)){return![];}return _0x1e430c;};exports[_0xfa13('0x1a')]=function(_0x129f2b,_0x28687d,_0x48b9f1,_0x288d10,_0x171e16,_0x59a3dc){var _0x5691e3={'XMD-QUEUE':_0x28687d[_0xfa13('0x1b')]?_0x28687d['Queue'][_0xfa13('0x1c')]:'','XMD-CALLERID':_0x288d10,'XMD-CALLERID-PREVIEW':_0x59a3dc?util[_0xfa13('0x15')](_0xfa13('0x16'),_0x59a3dc['calleridname'],_0x59a3dc[_0xfa13('0x1d')]):_0x288d10,'XMD-DIALID':_0x171e16,'XMD-CONTACTID':_0x28687d[_0xfa13('0x1e')],'XMD-CDRTYPE':_0xfa13('0x1f'),'CALLERID(all)':_0x288d10,'XMD-VOICEQUEUEID':_0x28687d[_0xfa13('0x20')],'XMD-DIALCHANNEL':_0x48b9f1,'XMD-DIALTIMEOUT':_0x129f2b[_0xfa13('0x21')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0xfa13('0x22'),_0x129f2b[_0xfa13('0x23')]?'g':'',_[_0xfa13('0x12')](_0x129f2b[_0xfa13('0x24')])?'':_0xfa13('0x25')),'XMD-DIALURL':_0x129f2b[_0xfa13('0x26')]||'','XMD-AGI':_0x129f2b[_0xfa13('0x27')]?util[_0xfa13('0x15')]('\x22agi://%s/square,%s\x22',ipAgi,_0x129f2b['dialQueueProject']):_0xfa13('0x28'),'XMD-AGIAFTER':_0x129f2b[_0xfa13('0x23')]?util[_0xfa13('0x15')]('\x22agi://%s/square,%s\x22',ipAgi,_0x129f2b[_0xfa13('0x23')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x59a3dc?_0x59a3dc['originatecalleridnum']:'','XMD-ORIGINATECALLERIDNAME':_0x59a3dc?_0x59a3dc[_0xfa13('0x29')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':_0xfa13('0x2a')};if(!_[_0xfa13('0x12')](_0x129f2b[_0xfa13('0x24')])){_0x5691e3[util['format']('%s',_0xfa13('0x2b'))]=_0x129f2b[_0xfa13('0x24')];_0x5691e3[util['format']('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x171e16;}return _0x5691e3;};exports[_0xfa13('0x2c')]=function(_0xf905){var _0x7c4dcd={};for(var _0x44a836 in _0xf905){if(_0xf905['hasOwnProperty'](_0x44a836)){_0x7c4dcd[util['format']('%s',_['toLower'](_0x44a836))]=_0xf905[_0x44a836];}}return{'variables':_0x7c4dcd};};exports[_0xfa13('0x2d')]=function(_0x2d2b38,_0x3552cb){if(!_[_0xfa13('0x19')](_0x2d2b38)){if(_0x2d2b38[_0xfa13('0x2e')]('originated')){if(_0x2d2b38['originated']>0x0){_0x2d2b38[_0xfa13('0x2f')]-=0x1;}else{logger[_0xfa13('0xa')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x3552cb);}}}else{logger[_0xfa13('0xa')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x3552cb);}};exports['logBlacklist']=function(_0xf1056f){var _0x5e80e7=moment()[_0xfa13('0x15')]('YYYY-MM-DD\x20HH:mm:ss');_0xf1056f['state']=0xd;_0xf1056f['statedesc']='Blacklist';_0xf1056f[_0xfa13('0x30')]=_0x5e80e7;_0xf1056f[_0xfa13('0x31')]=_0x5e80e7;_0xf1056f[_0xfa13('0x32')]=_0x5e80e7;};exports['logAgent']=function(_0x1eec17,_0x14c836,_0x41cd2e){var _0x2e3d9a=moment()[_0xfa13('0x15')](_0xfa13('0x33'));_0x1eec17[_0xfa13('0x34')]=_0x14c836;_0x1eec17[_0xfa13('0x35')]=_0x41cd2e;_0x1eec17[_0xfa13('0x31')]=_0x2e3d9a;_0x1eec17[_0xfa13('0x36')]=utils[_0xfa13('0x37')](_0x1eec17[_0xfa13('0x31')],_0x1eec17[_0xfa13('0x30')]);};exports[_0xfa13('0x38')]=function(_0x56891c,_0x3e51ef,_0x26f56f){_0x56891c[_0xfa13('0x39')]=_0x3e51ef;_0x56891c['UserId']=_0x26f56f;};exports[_0xfa13('0x3a')]=function(_0x37621a,_0x3b3e81,_0x4a61a3){var _0x3d98ed=moment()[_0xfa13('0x15')]('YYYY-MM-DD\x20HH:mm:ss');_0x37621a[_0xfa13('0x34')]=_0x3b3e81;_0x37621a[_0xfa13('0x35')]=_0x4a61a3;_0x37621a[_0xfa13('0x31')]=_0x37621a['responsetime']?_0x37621a[_0xfa13('0x31')]:_0x3d98ed;_0x37621a[_0xfa13('0x32')]=_0x37621a[_0xfa13('0x32')]?_0x37621a['endtime']:_0x3d98ed;_0x37621a[_0xfa13('0x36')]=utils[_0xfa13('0x37')](_0x37621a['responsetime']||0x0,_0x37621a[_0xfa13('0x30')]||0x0);_0x37621a[_0xfa13('0x3b')]=_0x37621a[_0xfa13('0x3c')]?utils['getSeconds'](_0x37621a[_0xfa13('0x32')],_0x37621a[_0xfa13('0x3c')]):0x0;};exports['isFailure']=function(_0x49e450){return _0x49e450===_0xfa13('0x3d');};exports[_0xfa13('0x3e')]=function(_0x1a4e38,_0x2fc200,_0x383dfe,_0x441bfd,_0x406539){var _0x343cbe=_0x441bfd?'RECALL':_0x1a4e38['calleridname'];_0x343cbe=_0x406539?'BOOKED':_0x343cbe;return{'actionid':_0x1a4e38[_0xfa13('0x3f')],'action':_0xfa13('0x40'),'channel':_0x1a4e38['channelAgent'],'callerid':util[_0xfa13('0x15')]('\x22%s\x22\x20<%s>',_0x343cbe,_0x1a4e38[_0xfa13('0x1d')]),'Exten':_0xfa13('0x41'),'Context':_0xfa13('0x42'),'Priority':'1','variable':_0x383dfe,'timeout':(_0x2fc200[_0xfa13('0x43')]||0x1e)*0x3e8,'async':!![],'channelid':_0x1a4e38[_0xfa13('0x3f')]};};exports['totalGlobal']=function(_0x3ff608){return _0x3ff608[_0xfa13('0x44')]+_0x3ff608[_0xfa13('0x45')]+_0x3ff608[_0xfa13('0x46')]+_0x3ff608['countagentrejectretry']+_0x3ff608['countnosuchnumberretry'];};exports['cloneAction']=function(_0x39082f){var _0x49b806=_[_0xfa13('0x47')](_0x39082f);_0x49b806[_0xfa13('0x34')]=0xf;_0x49b806[_0xfa13('0x35')]='Global';return _0x49b806;};exports['scheduledAt']=function(_0x13e6b8,_0x48ec05,_0x2ad0db){var _0x47806d={};_0x47806d[_0x48ec05]=_0x13e6b8[_0x48ec05];_0x47806d[_0xfa13('0x48')]=![];_0x47806d['scheduledat']=moment()[_0xfa13('0x49')](_0x2ad0db,'minutes')[_0xfa13('0x15')]('YYYY-MM-DD\x20HH:mm:ss');_0x47806d[_0xfa13('0x1e')]=_0x13e6b8['ContactId'];_0x47806d[_0xfa13('0x4a')]=_0x13e6b8[_0xfa13('0x4a')];_0x47806d[_0xfa13('0x20')]=_0x13e6b8[_0xfa13('0x20')]||undefined;return _0x47806d;};exports['decrementTalkink']=function(_0x1ba19d,_0x723792){if(!_[_0xfa13('0x19')](_0x1ba19d)){if(_0x1ba19d[_0xfa13('0x4b')]>0x0){_0x1ba19d[_0xfa13('0x4b')]-=0x1;}else{logger[_0xfa13('0xa')](_0x723792,_0xfa13('0x4c'));}}else{logger[_0xfa13('0xa')](_0x723792,_0xfa13('0x4d'));}};exports[_0xfa13('0x4e')]=function(_0x16b48b){if(_0x16b48b<=0x0){return!![];}return![];};function buildObj(_0x287a21,_0x326c03,_0x531535){_0x287a21[_0xfa13('0x4f')]=_0x326c03;_0x287a21[_0xfa13('0x1c')]=_0x287a21[_0xfa13('0x50')];_0x287a21[_0xfa13('0x51')]=_0x287a21['channelAgent'];_0x287a21['motionChannel']=_0xfa13('0x52');if(_0x531535){_0x287a21[_0xfa13('0x53')]=_0x531535['mandatoryDisposition'];}return _0x287a21;}exports[_0xfa13('0x54')]=buildObj;exports[_0xfa13('0x55')]=function(_0x5969ae){var _0x46f5b6=[];for(var _0x3ee005 in _0x5969ae){if(_0x5969ae[_0xfa13('0x2e')](_0x3ee005)){if(!_['isNil'](_0x5969ae[_0x3ee005])&&_0x5969ae[_0x3ee005][_0xfa13('0x34')]===_0xfa13('0x56')&&_0x5969ae[_0x3ee005][_0xfa13('0x57')]===_0xfa13('0x58')){_0x46f5b6[_0xfa13('0x59')](_0x5969ae[_0x3ee005]['id']);}}}return _0x46f5b6;};exports[_0xfa13('0x5a')]=function(_0x3a06dd){var _0x1a9a7b=moment()['milliseconds'](0x0);var _0x39a545=moment(_0x3a06dd)['milliseconds'](0x0);return _0x1a9a7b[_0xfa13('0x5b')](_0x39a545,_0xfa13('0x5c'));};exports['createBody']=function(_0x3aed53){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x3aed53[_0xfa13('0x1e')],'ListId':_0x3aed53[_0xfa13('0x4a')],'VoiceQueueId':_0x3aed53['VoiceQueueId']||undefined,'CampaignId':_0x3aed53[_0xfa13('0x5d')]||undefined};};exports[_0xfa13('0x5e')]=function(_0x3d9df8){if(_0x3d9df8===_0xfa13('0x3f')||_0x3d9df8===_0xfa13('0x5f')||_0x3d9df8===_0xfa13('0x50')||_0x3d9df8==='type'||_0x3d9df8===_0xfa13('0x60')||_0x3d9df8===_0xfa13('0x61')||_0x3d9df8===_0xfa13('0x39')||_0x3d9df8===_0xfa13('0x62')||_0x3d9df8===_0xfa13('0x63')||_0x3d9df8===_0xfa13('0x48')||_0x3d9df8==='calleridnum'||_0x3d9df8===_0xfa13('0x64')||_0x3d9df8===_0xfa13('0x44')||_0x3d9df8===_0xfa13('0x45')||_0x3d9df8===_0xfa13('0x46')||_0x3d9df8===_0xfa13('0x65')||_0x3d9df8===_0xfa13('0x66')||_0x3d9df8===_0xfa13('0x67')||_0x3d9df8===_0xfa13('0x68')||_0x3d9df8==='recallme'||_0x3d9df8==='ContactId'||_0x3d9df8==='ListId'||_0x3d9df8==='UserId'||_0x3d9df8===_0xfa13('0x20')||_0x3d9df8===_0xfa13('0x69')||_0x3d9df8===_0xfa13('0x6a')||_0x3d9df8===_0xfa13('0x6b')||_0x3d9df8==='xmd-phone'||_0x3d9df8===_0xfa13('0x6c')||_0x3d9df8==='xmd-dialurl'||_0x3d9df8===_0xfa13('0x6d')||_0x3d9df8==='xmd-dialoptions'||_0x3d9df8===_0xfa13('0x6e')||_0x3d9df8===_0xfa13('0x6f')||_0x3d9df8===_0xfa13('0x70')||_0x3d9df8===_0xfa13('0x71')||_0x3d9df8===_0xfa13('0x72')||_0x3d9df8===_0xfa13('0x73')||_0x3d9df8===_0xfa13('0x74')||_0x3d9df8===_0xfa13('0x75')||_0x3d9df8==='rtpaudioqosbridged'||_0x3d9df8===_0xfa13('0x76')||_0x3d9df8==='rtpaudioqosjitterbridged'||_0x3d9df8===_0xfa13('0x77')||_0x3d9df8===_0xfa13('0x78')||_0x3d9df8===_0xfa13('0x79')||_0x3d9df8===_0xfa13('0x7a')||_0x3d9df8===_0xfa13('0x75')||_0x3d9df8===_0xfa13('0x7b')||_0x3d9df8===_0xfa13('0x76')||_0x3d9df8==='rtpaudioqosjitterbridged'||_0x3d9df8===_0xfa13('0x77')||_0x3d9df8===_0xfa13('0x78')||_0x3d9df8===_0xfa13('0x79')||_0x3d9df8===_0xfa13('0x7a')||_0x3d9df8===_0xfa13('0x7c')||_0x3d9df8===_0xfa13('0x7d')||_0x3d9df8===_0xfa13('0x34')||_0x3d9df8==='statedesc'){return![];}return!![];};exports['getCallerIdRandom']=function(_0x2c41f1,_0x4c5b92){var _0x32adb5,_0x235527,_0x13c26b;if(_0x4c5b92<=0x0){_0x4c5b92=0x1;}_0x32adb5=new RegExp(_0xfa13('0x7e')+_0x4c5b92+'}$');_0x235527=Math['pow'](0xa,_0x4c5b92-0x1);_0x13c26b=Math[_0xfa13('0x7f')](0xa,_0x4c5b92)-0x1;return util[_0xfa13('0x15')]('%s',_[_0xfa13('0x80')](_0x2c41f1,_0x32adb5,_[_0xfa13('0x81')](_0x235527,_0x13c26b)));};exports[_0xfa13('0x82')]=function(_0x18b6ff){var _0x56a52d=_0x18b6ff['match'](/"(.*?)"/);return _0x56a52d?_0x56a52d[0x1]:_0x18b6ff;};exports[_0xfa13('0x83')]=function(_0x5358d8){var _0x484e65=_0x5358d8[_0xfa13('0x84')](/<(.*?)>/);return _0x484e65?_0x484e65[0x1]:_0x5358d8;};function buildNoAnswerEventPayload(_0x455d90,_0x28b523){var _0x2fc355=buildObj(_0x455d90,'noanswer');if(!_[_0xfa13('0x12')](_0x28b523['variables'])){Object[_0xfa13('0x85')](_0x28b523[_0xfa13('0x86')])['forEach'](function(_0x586594){_0x2fc355[_0x586594[_0xfa13('0x87')]()]=_0x28b523[_0xfa13('0x86')][_0x586594];});}return _0x2fc355;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;