Built motion from commit (unavailable).|2.5.4
[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 _0x57ca=['lodash','moment','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','loggerCatch','error','logger','info','loggerError','logger2','inspect','getCallerId','isUndefined','string','isEmpty','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','Queue','name','format','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','_XCALLY_MIXMONITOR_FORMAT','Contact','hasOwnProperty','createdAt','updatedAt','%s%s','XMD-','toUpper','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','responsetime','endtime','logAgent','ringtime','starttime','logLookAgent','membername','talktime','answertime','Failure','variablesAction','RECALL','BOOKED','uniqueid','channelAgent','xcally-motion-preview','timeout','totalGlobal','countbusyretry','countcongestionretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','scheduledat','add','minutes','ListId','pTalking','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','buildAcw','queue','interface','not_inuse','status','reachable','CampaignId','filterKey','idContact','type','campaigntype','active','countnoanswerretry','countglobal','callbackuniqueid','callbackat','recallme','UserId','sipcallid','xmd-voicequeueid','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-cdrtype','xmd-agiafter','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosloss','bridgepeer','bridgepvtcallid','getCallerIdRandom','pow','replace','random','match'];(function(_0x178668,_0x1ec300){var _0x26107d=function(_0x4c0aa8){while(--_0x4c0aa8){_0x178668['push'](_0x178668['shift']());}};_0x26107d(++_0x1ec300);}(_0x57ca,0x108));var _0xa57c=function(_0x2c8dbf,_0x31aaf5){_0x2c8dbf=_0x2c8dbf-0x0;var _0x31ff0f=_0x57ca[_0x2c8dbf];return _0x31ff0f;};'use strict';var util=require('util');var _=require(_0xa57c('0x0'));var moment=require(_0xa57c('0x1'));var logger=require('../../../../config/logger')(_0xa57c('0x2'));var ipAgi=process[_0xa57c('0x3')][_0xa57c('0x4')]||_0xa57c('0x5');function getSeconds(_0x1da469,_0x48be2d){var _0x40ba22=moment(_0x1da469)[_0xa57c('0x6')](0x0);var _0x113dcf=moment(_0x48be2d)[_0xa57c('0x6')](0x0);return _0x40ba22[_0xa57c('0x7')](_0x113dcf,_0xa57c('0x8'));}exports[_0xa57c('0x9')]=function(_0x271ccc){return function(_0x5e3962){logger[_0xa57c('0xa')](_0x271ccc,util['inspect'](_0x5e3962,{'showHidden':![],'depth':null}));};};exports[_0xa57c('0xb')]=function(_0x932dcc,_0x4fa5ed){logger[_0xa57c('0xc')](_0x932dcc,util['inspect'](_0x4fa5ed,{'showHidden':![],'depth':null}));};exports[_0xa57c('0xd')]=function(_0x44b221,_0x58e6b6){logger[_0xa57c('0xa')](_0x44b221,util['inspect'](_0x58e6b6,{'showHidden':![],'depth':null}));};exports[_0xa57c('0xe')]=function(_0x4ca5b2){return function(_0x1f2bb5){logger[_0xa57c('0xc')](_0x4ca5b2,util[_0xa57c('0xf')](_0x1f2bb5,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x2644a1,_0x546cde,_0x30d23d){return{'message':_0x2644a1,'unlock':_0x546cde,'active':_0x30d23d};};exports[_0xa57c('0x10')]=function(_0x30940d,_0x3821d2,_0x3238ff){if(!_[_0xa57c('0x11')](_0x3238ff)&&_0xa57c('0x12')===typeof _0x3238ff&&!_['isEmpty'](_0x3238ff)){if(!_[_0xa57c('0x11')](_0x3821d2)&&_0xa57c('0x12')===typeof _0x3821d2&&!_[_0xa57c('0x13')](_0x3821d2)){return util['format'](_0xa57c('0x14'),_0x3821d2,_0x3238ff);}return util['format'](_0xa57c('0x14'),_0x3238ff,_0x3238ff);}if(!_[_0xa57c('0x11')](_0x30940d)&&_0xa57c('0x12')===typeof _0x30940d&&!_[_0xa57c('0x13')](_0x30940d)){return _0x30940d;}return _0xa57c('0x15');};exports[_0xa57c('0x16')]=function(_0x6f3f89){if(_[_0xa57c('0x17')](_0x6f3f89)){return![];}return _0x6f3f89;};exports['addVariables']=function(_0x8a8856,_0x4a53ab,_0x4a35bb,_0x418415,_0xa5b314,_0x3eee75){var _0x23bec0={'XMD-QUEUE':_0x4a53ab['Queue']?_0x4a53ab[_0xa57c('0x18')][_0xa57c('0x19')]:'','XMD-CALLERID':_0x418415,'XMD-CALLERID-PREVIEW':_0x3eee75?util[_0xa57c('0x1a')](_0xa57c('0x14'),_0x3eee75[_0xa57c('0x1b')],_0x3eee75[_0xa57c('0x1c')]):_0x418415,'XMD-DIALID':_0xa5b314,'XMD-CONTACTID':_0x4a53ab[_0xa57c('0x1d')],'XMD-CDRTYPE':_0xa57c('0x1e'),'CALLERID(all)':_0x418415,'XMD-VOICEQUEUEID':_0x4a53ab[_0xa57c('0x1f')],'XMD-DIALCHANNEL':_0x4a35bb,'XMD-DIALTIMEOUT':_0x8a8856[_0xa57c('0x20')]||0x1e,'XMD-DIALOPTIONS':util[_0xa57c('0x1a')](_0xa57c('0x21'),_0x8a8856[_0xa57c('0x22')]?'g':'',_[_0xa57c('0x13')](_0x8a8856[_0xa57c('0x23')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x8a8856[_0xa57c('0x24')]||'','XMD-AGI':_0x8a8856[_0xa57c('0x25')]?util[_0xa57c('0x1a')](_0xa57c('0x26'),ipAgi,_0x8a8856[_0xa57c('0x25')]):_0xa57c('0x27'),'XMD-AGIAFTER':_0x8a8856[_0xa57c('0x22')]?util[_0xa57c('0x1a')](_0xa57c('0x26'),ipAgi,_0x8a8856[_0xa57c('0x22')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x3eee75?_0x3eee75[_0xa57c('0x28')]:'','XMD-ORIGINATECALLERIDNAME':_0x3eee75?_0x3eee75['originatecalleridname']:'','XMD-DESTINATION':'xcally-motion-preview'};if(!_[_0xa57c('0x13')](_0x8a8856[_0xa57c('0x23')])){_0x23bec0[util['format']('%s',_0xa57c('0x29'))]=_0x8a8856[_0xa57c('0x23')];_0x23bec0[util[_0xa57c('0x1a')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0xa5b314;}if(_0x4a53ab&&_0x4a53ab[_0xa57c('0x2a')]){for(var _0x58d46f in _0x4a53ab[_0xa57c('0x2a')]){if(_0x4a53ab['Contact'][_0xa57c('0x2b')](_0x58d46f)){if(!_['isNil'](_0x4a53ab[_0xa57c('0x2a')][_0x58d46f])&&_0x58d46f!=='id'&&_0x58d46f!=='tags'&&_0x58d46f!==_0xa57c('0x2c')&&_0x58d46f!==_0xa57c('0x2d')){_0x23bec0[util[_0xa57c('0x1a')](_0xa57c('0x2e'),_0xa57c('0x2f'),_[_0xa57c('0x30')](_0x58d46f))]=_0x4a53ab[_0xa57c('0x2a')][_0x58d46f];}}}}return _0x23bec0;};exports['toLowerVariables']=function(_0x10cc39){var _0x4b409f={};for(var _0xbece0a in _0x10cc39){if(_0x10cc39[_0xa57c('0x2b')](_0xbece0a)){_0x4b409f[util[_0xa57c('0x1a')]('%s',_['toLower'](_0xbece0a))]=_0x10cc39[_0xbece0a];}}return{'variables':_0x4b409f};};exports[_0xa57c('0x31')]=function(_0x4901a8,_0x24a087){if(!_['isNil'](_0x4901a8)){if(_0x4901a8[_0xa57c('0x2b')]('originated')){if(_0x4901a8[_0xa57c('0x32')]>0x0){_0x4901a8[_0xa57c('0x32')]-=0x1;}else{logger['error'](_0xa57c('0x33'),_0x24a087);}}}else{logger['error'](_0xa57c('0x34'),_0x24a087);}};exports['logBlacklist']=function(_0x189d9b){var _0x3776de=moment()[_0xa57c('0x1a')](_0xa57c('0x35'));_0x189d9b[_0xa57c('0x36')]=0xd;_0x189d9b[_0xa57c('0x37')]='Blacklist';_0x189d9b['starttime']=_0x3776de;_0x189d9b[_0xa57c('0x38')]=_0x3776de;_0x189d9b[_0xa57c('0x39')]=_0x3776de;};exports[_0xa57c('0x3a')]=function(_0x570f6c,_0x12b644,_0x5308d5){var _0x203228=moment()[_0xa57c('0x1a')]('YYYY-MM-DD\x20HH:mm:ss');_0x570f6c['state']=_0x12b644;_0x570f6c['statedesc']=_0x5308d5;_0x570f6c[_0xa57c('0x38')]=_0x203228;_0x570f6c[_0xa57c('0x3b')]=getSeconds(_0x570f6c[_0xa57c('0x38')],_0x570f6c[_0xa57c('0x3c')]);};exports[_0xa57c('0x3d')]=function(_0x1b98a0,_0x5a444a,_0x44b2a8){_0x1b98a0[_0xa57c('0x3e')]=_0x5a444a;_0x1b98a0['UserId']=_0x44b2a8;};exports['logCustomer']=function(_0x5e10b,_0x203375,_0x5af5e9){var _0x24459a=moment()[_0xa57c('0x1a')](_0xa57c('0x35'));_0x5e10b[_0xa57c('0x36')]=_0x203375;_0x5e10b[_0xa57c('0x37')]=_0x5af5e9;_0x5e10b[_0xa57c('0x38')]=_0x5e10b['responsetime']?_0x5e10b[_0xa57c('0x38')]:_0x24459a;_0x5e10b['endtime']=_0x5e10b['endtime']?_0x5e10b['endtime']:_0x24459a;_0x5e10b['ringtime']=getSeconds(_0x5e10b['responsetime']||0x0,_0x5e10b[_0xa57c('0x3c')]||0x0);_0x5e10b[_0xa57c('0x3f')]=_0x5e10b[_0xa57c('0x40')]?getSeconds(_0x5e10b['endtime'],_0x5e10b['answertime']):0x0;};exports['isFailure']=function(_0x44f1e8){return _0x44f1e8===_0xa57c('0x41');};exports[_0xa57c('0x42')]=function(_0x40715e,_0x6b7879,_0x17c5dd,_0x48d2a7,_0xaf0402){var _0x22ea97=_0x48d2a7?_0xa57c('0x43'):_0x40715e[_0xa57c('0x1b')];_0x22ea97=_0xaf0402?_0xa57c('0x44'):_0x22ea97;return{'actionid':_0x40715e[_0xa57c('0x45')],'action':'originate','channel':_0x40715e[_0xa57c('0x46')],'callerid':util[_0xa57c('0x1a')](_0xa57c('0x14'),_0x22ea97,_0x40715e[_0xa57c('0x1c')]),'Exten':_0xa57c('0x47'),'Context':'from-sip','Priority':'1','variable':_0x17c5dd,'timeout':(_0x6b7879[_0xa57c('0x48')]||0x1e)*0x3e8,'async':!![],'channelid':_0x40715e[_0xa57c('0x45')]};};exports[_0xa57c('0x49')]=function(_0x17aae4){return _0x17aae4[_0xa57c('0x4a')]+_0x17aae4[_0xa57c('0x4b')]+_0x17aae4['countnoanswerretry']+_0x17aae4[_0xa57c('0x4c')]+_0x17aae4[_0xa57c('0x4d')];};exports[_0xa57c('0x4e')]=function(_0x44ea0a){var _0x2ea6af=_[_0xa57c('0x4f')](_0x44ea0a);_0x2ea6af['state']=0xf;_0x2ea6af['statedesc']='Global';return _0x2ea6af;};exports['scheduledAt']=function(_0x232675,_0x49492f,_0x273a17){var _0xae87={};_0xae87[_0x49492f]=_0x232675[_0x49492f];_0xae87['active']=![];_0xae87[_0xa57c('0x50')]=moment()[_0xa57c('0x51')](_0x273a17,_0xa57c('0x52'))[_0xa57c('0x1a')](_0xa57c('0x35'));_0xae87['ContactId']=_0x232675[_0xa57c('0x1d')];_0xae87[_0xa57c('0x53')]=_0x232675[_0xa57c('0x53')];_0xae87[_0xa57c('0x1f')]=_0x232675[_0xa57c('0x1f')]||undefined;return _0xae87;};exports['decrementTalkink']=function(_0x3765b5,_0x560808){if(!_['isNil'](_0x3765b5)){if(_0x3765b5[_0xa57c('0x54')]>0x0){_0x3765b5[_0xa57c('0x54')]-=0x1;}else{logger[_0xa57c('0xa')](_0x560808,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger['error'](_0x560808,_0xa57c('0x55'));}};exports[_0xa57c('0x56')]=function(_0x34c3ec){if(_0x34c3ec<=0x0){return!![];}return![];};exports[_0xa57c('0x57')]=function(_0x4d2899,_0x3c450f){_0x4d2899[_0xa57c('0x58')]=_0x3c450f;_0x4d2899[_0xa57c('0x19')]=_0x4d2899['queue'];_0x4d2899['interface']=_0x4d2899[_0xa57c('0x46')];return _0x4d2899;};exports[_0xa57c('0x59')]=function(_0x4d5d46){var _0x368a07={};_0x368a07[_0xa57c('0x5a')]=_0x4d5d46[_0xa57c('0x5a')];_0x368a07[_0xa57c('0x5b')]=_0x4d5d46[_0xa57c('0x46')];_0x368a07[_0xa57c('0x45')]=_0x4d5d46[_0xa57c('0x45')];return _0x368a07;};exports['agentReadyId']=function(_0x523a79){var _0x2f93fd=[];for(var _0x14f3d6 in _0x523a79){if(_0x523a79[_0xa57c('0x2b')](_0x14f3d6)){if(!_[_0xa57c('0x17')](_0x523a79[_0x14f3d6])&&_0x523a79[_0x14f3d6][_0xa57c('0x36')]===_0xa57c('0x5c')&&_0x523a79[_0x14f3d6][_0xa57c('0x5d')]===_0xa57c('0x5e')){_0x2f93fd['push'](_0x523a79[_0x14f3d6]['id']);}}}return _0x2f93fd;};exports['getDiff']=function(_0x28997e){var _0x4e18ad=moment()[_0xa57c('0x6')](0x0);var _0x1da3ef=moment(_0x28997e)[_0xa57c('0x6')](0x0);return _0x4e18ad['diff'](_0x1da3ef,_0xa57c('0x8'));};exports['createBody']=function(_0x21b00a){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x21b00a['ContactId'],'ListId':_0x21b00a[_0xa57c('0x53')],'VoiceQueueId':_0x21b00a[_0xa57c('0x1f')]||undefined,'CampaignId':_0x21b00a[_0xa57c('0x5f')]||undefined};};exports[_0xa57c('0x60')]=function(_0x4c192d){if(_0x4c192d===_0xa57c('0x45')||_0x4c192d===_0xa57c('0x61')||_0x4c192d===_0xa57c('0x5a')||_0x4c192d===_0xa57c('0x62')||_0x4c192d===_0xa57c('0x63')||_0x4c192d==='dialAnswer'||_0x4c192d===_0xa57c('0x3e')||_0x4c192d===_0xa57c('0x46')||_0x4c192d===_0xa57c('0x1b')||_0x4c192d===_0xa57c('0x64')||_0x4c192d===_0xa57c('0x1c')||_0x4c192d===_0xa57c('0x50')||_0x4c192d===_0xa57c('0x4a')||_0x4c192d===_0xa57c('0x4b')||_0x4c192d===_0xa57c('0x65')||_0x4c192d===_0xa57c('0x66')||_0x4c192d==='callback'||_0x4c192d===_0xa57c('0x67')||_0x4c192d===_0xa57c('0x68')||_0x4c192d===_0xa57c('0x69')||_0x4c192d===_0xa57c('0x1d')||_0x4c192d===_0xa57c('0x53')||_0x4c192d===_0xa57c('0x6a')||_0x4c192d==='VoiceQueueId'||_0x4c192d===_0xa57c('0x6b')||_0x4c192d===_0xa57c('0x6c')||_0x4c192d==='xmd-queue'||_0x4c192d===_0xa57c('0x6d')||_0x4c192d===_0xa57c('0x6e')||_0x4c192d===_0xa57c('0x6f')||_0x4c192d===_0xa57c('0x70')||_0x4c192d===_0xa57c('0x71')||_0x4c192d===_0xa57c('0x72')||_0x4c192d===_0xa57c('0x73')||_0x4c192d==='xmd-contactid'||_0x4c192d===_0xa57c('0x74')||_0x4c192d==='xmd-callerid'||_0x4c192d===_0xa57c('0x75')||_0x4c192d==='xmd-agi'||_0x4c192d===_0xa57c('0x76')||_0x4c192d==='rtpaudioqosbridged'||_0x4c192d===_0xa57c('0x77')||_0x4c192d===_0xa57c('0x78')||_0x4c192d==='rtpaudioqosloss'||_0x4c192d===_0xa57c('0x79')||_0x4c192d===_0xa57c('0x7a')||_0x4c192d===_0xa57c('0x7b')||_0x4c192d===_0xa57c('0x76')||_0x4c192d==='rtpaudioqosbridged'||_0x4c192d===_0xa57c('0x77')||_0x4c192d===_0xa57c('0x78')||_0x4c192d===_0xa57c('0x7c')||_0x4c192d===_0xa57c('0x79')||_0x4c192d===_0xa57c('0x7a')||_0x4c192d===_0xa57c('0x7b')||_0x4c192d===_0xa57c('0x7d')||_0x4c192d===_0xa57c('0x7e')||_0x4c192d===_0xa57c('0x36')||_0x4c192d===_0xa57c('0x37')){return![];}return!![];};exports[_0xa57c('0x7f')]=function(_0x399968,_0x27ab1b){var _0x83e9c7,_0x23552a,_0x1e286e;if(_0x27ab1b<=0x0){_0x27ab1b=0x1;}_0x83e9c7=new RegExp('\x5cw{0,'+_0x27ab1b+'}$');_0x23552a=Math[_0xa57c('0x80')](0xa,_0x27ab1b-0x1);_0x1e286e=Math['pow'](0xa,_0x27ab1b)-0x1;return util[_0xa57c('0x1a')]('%s',_[_0xa57c('0x81')](_0x399968,_0x83e9c7,_[_0xa57c('0x82')](_0x23552a,_0x1e286e)));};exports['extractCalleridName']=function(_0x4176b3){var _0x2ccc4d=_0x4176b3[_0xa57c('0x83')](/"(.*?)"/);return _0x2ccc4d?_0x2ccc4d[0x1]:_0x4176b3;};exports['extractCalleridNumber']=function(_0x571e10){var _0x20ff5f=_0x571e10[_0xa57c('0x83')](/<(.*?)>/);return _0x20ff5f?_0x20ff5f[0x1]:_0x571e10;};