Built motion from commit (unavailable).|2.5.6
[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 _0x8a87=['dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Contact','hasOwnProperty','createdAt','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','Blacklist','responsetime','endtime','logAgent','statedesc','starttime','logLookAgent','logCustomer','state','ringtime','talktime','answertime','isFailure','Failure','variablesAction','RECALL','uniqueid','originate','from-sip','totalGlobal','countbusyretry','countcongestionretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','queue','buildAcw','interface','channelAgent','status','reachable','push','getDiff','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','membername','scheduledat','countnoanswerretry','countglobal','callback','callbackuniqueid','callbackat','recallme','UserId','sipcallid','xmd-queue','xmd-phone','xmd-listid','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqosjitterbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqoslossbridged','bridgepvtcallid','pow','replace','extractCalleridName','util','../../../../config/logger','env','XCALLY_IP_AGI','127.0.0.1','milliseconds','diff','seconds','loggerCatch','inspect','info','loggerError','error','logger2','message','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','Queue','name','calleridname','calleridnum','ContactId','VoiceQueueId','\x22rtTxX%s%s\x22'];(function(_0x2f3810,_0x5efb2a){var _0x3b252c=function(_0x119e23){while(--_0x119e23){_0x2f3810['push'](_0x2f3810['shift']());}};_0x3b252c(++_0x5efb2a);}(_0x8a87,0x6b));var _0x78a8=function(_0x197115,_0x14d69a){_0x197115=_0x197115-0x0;var _0x19d830=_0x8a87[_0x197115];return _0x19d830;};'use strict';var util=require(_0x78a8('0x0'));var _=require('lodash');var moment=require('moment');var logger=require(_0x78a8('0x1'))('preview');var ipAgi=process[_0x78a8('0x2')][_0x78a8('0x3')]||_0x78a8('0x4');function getSeconds(_0x550715,_0x159e19){var _0x4a7e5c=moment(_0x550715)['milliseconds'](0x0);var _0xd9737c=moment(_0x159e19)[_0x78a8('0x5')](0x0);return _0x4a7e5c[_0x78a8('0x6')](_0xd9737c,_0x78a8('0x7'));}exports[_0x78a8('0x8')]=function(_0x50fd6e){return function(_0x46846f){logger['error'](_0x50fd6e,util[_0x78a8('0x9')](_0x46846f,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0xc686c2,_0x2c90ab){logger[_0x78a8('0xa')](_0xc686c2,util[_0x78a8('0x9')](_0x2c90ab,{'showHidden':![],'depth':null}));};exports[_0x78a8('0xb')]=function(_0x5f4c3a,_0x4efbf1){logger[_0x78a8('0xc')](_0x5f4c3a,util[_0x78a8('0x9')](_0x4efbf1,{'showHidden':![],'depth':null}));};exports[_0x78a8('0xd')]=function(_0x564c64){return function(_0x27d979){logger[_0x78a8('0xa')](_0x564c64,util[_0x78a8('0x9')](_0x27d979,{'showHidden':![],'depth':null}));};};exports[_0x78a8('0xe')]=function(_0x4ddb3c,_0x3f33ef,_0x35b5ca){return{'message':_0x4ddb3c,'unlock':_0x3f33ef,'active':_0x35b5ca};};exports[_0x78a8('0xf')]=function(_0x29dd7f,_0x45d00e,_0x142fa6){if(!_['isUndefined'](_0x142fa6)&&'string'===typeof _0x142fa6&&!_['isEmpty'](_0x142fa6)){if(!_[_0x78a8('0x10')](_0x45d00e)&&_0x78a8('0x11')===typeof _0x45d00e&&!_[_0x78a8('0x12')](_0x45d00e)){return util[_0x78a8('0x13')](_0x78a8('0x14'),_0x45d00e,_0x142fa6);}return util['format']('\x22%s\x22\x20<%s>',_0x142fa6,_0x142fa6);}if(!_[_0x78a8('0x10')](_0x29dd7f)&&_0x78a8('0x11')===typeof _0x29dd7f&&!_['isEmpty'](_0x29dd7f)){return _0x29dd7f;}return _0x78a8('0x15');};exports[_0x78a8('0x16')]=function(_0x548829){if(_[_0x78a8('0x17')](_0x548829)){return![];}return _0x548829;};exports['addVariables']=function(_0x5dd5ba,_0x181237,_0xd91e6b,_0x14b31f,_0x5e1d26,_0x635f29){var _0x4be376={'XMD-QUEUE':_0x181237['Queue']?_0x181237[_0x78a8('0x18')][_0x78a8('0x19')]:'','XMD-CALLERID':_0x14b31f,'XMD-CALLERID-PREVIEW':_0x635f29?util[_0x78a8('0x13')](_0x78a8('0x14'),_0x635f29[_0x78a8('0x1a')],_0x635f29[_0x78a8('0x1b')]):_0x14b31f,'XMD-DIALID':_0x5e1d26,'XMD-CONTACTID':_0x181237[_0x78a8('0x1c')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x14b31f,'XMD-VOICEQUEUEID':_0x181237[_0x78a8('0x1d')],'XMD-DIALCHANNEL':_0xd91e6b,'XMD-DIALTIMEOUT':_0x5dd5ba['dialOriginateTimeout']||0x1e,'XMD-DIALOPTIONS':util[_0x78a8('0x13')](_0x78a8('0x1e'),_0x5dd5ba[_0x78a8('0x1f')]?'g':'',_[_0x78a8('0x12')](_0x5dd5ba[_0x78a8('0x20')])?'':_0x78a8('0x21')),'XMD-DIALURL':_0x5dd5ba[_0x78a8('0x22')]||'','XMD-AGI':_0x5dd5ba[_0x78a8('0x23')]?util[_0x78a8('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x5dd5ba[_0x78a8('0x23')]):_0x78a8('0x24'),'XMD-AGIAFTER':_0x5dd5ba[_0x78a8('0x1f')]?util[_0x78a8('0x13')]('\x22agi://%s/square,%s\x22',ipAgi,_0x5dd5ba[_0x78a8('0x1f')]):_0x78a8('0x24'),'XMD-ORIGINATECALLERIDNUM':_0x635f29?_0x635f29[_0x78a8('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x635f29?_0x635f29[_0x78a8('0x26')]:'','XMD-DESTINATION':_0x78a8('0x27')};if(!_['isEmpty'](_0x5dd5ba['monitor_format'])){_0x4be376[util[_0x78a8('0x13')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x5dd5ba[_0x78a8('0x20')];_0x4be376[util['format']('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x5e1d26;}if(_0x181237&&_0x181237['Contact']){for(var _0x5b81b3 in _0x181237[_0x78a8('0x28')]){if(_0x181237[_0x78a8('0x28')][_0x78a8('0x29')](_0x5b81b3)){if(!_[_0x78a8('0x17')](_0x181237[_0x78a8('0x28')][_0x5b81b3])&&_0x5b81b3!=='id'&&_0x5b81b3!=='tags'&&_0x5b81b3!==_0x78a8('0x2a')&&_0x5b81b3!==_0x78a8('0x2b')){_0x4be376[util[_0x78a8('0x13')](_0x78a8('0x2c'),_0x78a8('0x2d'),_[_0x78a8('0x2e')](_0x5b81b3))]=_0x181237[_0x78a8('0x28')][_0x5b81b3];}}}}return _0x4be376;};exports[_0x78a8('0x2f')]=function(_0x570d77){var _0x1e516a={};for(var _0x5b4a2a in _0x570d77){if(_0x570d77['hasOwnProperty'](_0x5b4a2a)){_0x1e516a[util[_0x78a8('0x13')]('%s',_['toLower'](_0x5b4a2a))]=_0x570d77[_0x5b4a2a];}}return{'variables':_0x1e516a};};exports[_0x78a8('0x30')]=function(_0x490350,_0x3209a8){if(!_[_0x78a8('0x17')](_0x490350)){if(_0x490350[_0x78a8('0x29')](_0x78a8('0x31'))){if(_0x490350[_0x78a8('0x31')]>0x0){_0x490350[_0x78a8('0x31')]-=0x1;}else{logger[_0x78a8('0xc')](_0x78a8('0x32'),_0x3209a8);}}}else{logger[_0x78a8('0xc')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x3209a8);}};exports[_0x78a8('0x33')]=function(_0x26a9d1){var _0x164aba=moment()[_0x78a8('0x13')](_0x78a8('0x34'));_0x26a9d1['state']=0xd;_0x26a9d1['statedesc']=_0x78a8('0x35');_0x26a9d1['starttime']=_0x164aba;_0x26a9d1[_0x78a8('0x36')]=_0x164aba;_0x26a9d1[_0x78a8('0x37')]=_0x164aba;};exports[_0x78a8('0x38')]=function(_0x212e9b,_0x1b79f5,_0x1c41ce){var _0x51815f=moment()[_0x78a8('0x13')](_0x78a8('0x34'));_0x212e9b['state']=_0x1b79f5;_0x212e9b[_0x78a8('0x39')]=_0x1c41ce;_0x212e9b[_0x78a8('0x36')]=_0x51815f;_0x212e9b['ringtime']=getSeconds(_0x212e9b['responsetime'],_0x212e9b[_0x78a8('0x3a')]);};exports[_0x78a8('0x3b')]=function(_0x5d8c03,_0x1819d0,_0x3faf41){_0x5d8c03['membername']=_0x1819d0;_0x5d8c03['UserId']=_0x3faf41;};exports[_0x78a8('0x3c')]=function(_0x26395f,_0x440e71,_0x51dd47){var _0x437225=moment()[_0x78a8('0x13')]('YYYY-MM-DD\x20HH:mm:ss');_0x26395f[_0x78a8('0x3d')]=_0x440e71;_0x26395f[_0x78a8('0x39')]=_0x51dd47;_0x26395f[_0x78a8('0x36')]=_0x26395f['responsetime']?_0x26395f[_0x78a8('0x36')]:_0x437225;_0x26395f['endtime']=_0x26395f[_0x78a8('0x37')]?_0x26395f[_0x78a8('0x37')]:_0x437225;_0x26395f[_0x78a8('0x3e')]=getSeconds(_0x26395f[_0x78a8('0x36')]||0x0,_0x26395f[_0x78a8('0x3a')]||0x0);_0x26395f[_0x78a8('0x3f')]=_0x26395f[_0x78a8('0x40')]?getSeconds(_0x26395f[_0x78a8('0x37')],_0x26395f[_0x78a8('0x40')]):0x0;};exports[_0x78a8('0x41')]=function(_0x53d800){return _0x53d800===_0x78a8('0x42');};exports[_0x78a8('0x43')]=function(_0x24b985,_0x596367,_0x529429,_0x1701b1,_0x3fa162){var _0x551752=_0x1701b1?_0x78a8('0x44'):_0x24b985[_0x78a8('0x1a')];_0x551752=_0x3fa162?'BOOKED':_0x551752;return{'actionid':_0x24b985[_0x78a8('0x45')],'action':_0x78a8('0x46'),'channel':_0x24b985['channelAgent'],'callerid':util['format'](_0x78a8('0x14'),_0x551752,_0x24b985[_0x78a8('0x1b')]),'Exten':'xcally-motion-preview','Context':_0x78a8('0x47'),'Priority':'1','variable':_0x529429,'timeout':(_0x596367['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x24b985[_0x78a8('0x45')]};};exports[_0x78a8('0x48')]=function(_0x353141){return _0x353141[_0x78a8('0x49')]+_0x353141[_0x78a8('0x4a')]+_0x353141['countnoanswerretry']+_0x353141[_0x78a8('0x4b')]+_0x353141[_0x78a8('0x4c')];};exports[_0x78a8('0x4d')]=function(_0x53a3aa){var _0x297101=_[_0x78a8('0x4e')](_0x53a3aa);_0x297101[_0x78a8('0x3d')]=0xf;_0x297101[_0x78a8('0x39')]=_0x78a8('0x4f');return _0x297101;};exports[_0x78a8('0x50')]=function(_0xd22dd3,_0x3b6cb7,_0x5281d1){var _0x235c95={};_0x235c95[_0x3b6cb7]=_0xd22dd3[_0x3b6cb7];_0x235c95[_0x78a8('0x51')]=![];_0x235c95['scheduledat']=moment()['add'](_0x5281d1,'minutes')['format'](_0x78a8('0x34'));_0x235c95[_0x78a8('0x1c')]=_0xd22dd3[_0x78a8('0x1c')];_0x235c95['ListId']=_0xd22dd3[_0x78a8('0x52')];_0x235c95[_0x78a8('0x1d')]=_0xd22dd3[_0x78a8('0x1d')]||undefined;return _0x235c95;};exports['decrementTalkink']=function(_0xa7185a,_0x55c3c5){if(!_[_0x78a8('0x17')](_0xa7185a)){if(_0xa7185a['pTalking']>0x0){_0xa7185a[_0x78a8('0x53')]-=0x1;}else{logger['error'](_0x55c3c5,_0x78a8('0x54'));}}else{logger[_0x78a8('0xc')](_0x55c3c5,_0x78a8('0x55'));}};exports[_0x78a8('0x56')]=function(_0x3cb749){if(_0x3cb749<=0x0){return!![];}return![];};exports[_0x78a8('0x57')]=function(_0x55cbfb,_0x54773d){_0x55cbfb[_0x78a8('0x58')]=_0x54773d;_0x55cbfb[_0x78a8('0x19')]=_0x55cbfb[_0x78a8('0x59')];_0x55cbfb['interface']=_0x55cbfb['channelAgent'];return _0x55cbfb;};exports[_0x78a8('0x5a')]=function(_0x40712b){var _0x3a6994={};_0x3a6994['queue']=_0x40712b[_0x78a8('0x59')];_0x3a6994[_0x78a8('0x5b')]=_0x40712b[_0x78a8('0x5c')];_0x3a6994['uniqueid']=_0x40712b[_0x78a8('0x45')];return _0x3a6994;};exports['agentReadyId']=function(_0x19896b){var _0x2ab54c=[];for(var _0x17ee83 in _0x19896b){if(_0x19896b[_0x78a8('0x29')](_0x17ee83)){if(!_['isNil'](_0x19896b[_0x17ee83])&&_0x19896b[_0x17ee83][_0x78a8('0x3d')]==='not_inuse'&&_0x19896b[_0x17ee83][_0x78a8('0x5d')]===_0x78a8('0x5e')){_0x2ab54c[_0x78a8('0x5f')](_0x19896b[_0x17ee83]['id']);}}}return _0x2ab54c;};exports[_0x78a8('0x60')]=function(_0x25d2bb){var _0x310f91=moment()[_0x78a8('0x5')](0x0);var _0x2971d3=moment(_0x25d2bb)[_0x78a8('0x5')](0x0);return _0x310f91['diff'](_0x2971d3,_0x78a8('0x7'));};exports[_0x78a8('0x61')]=function(_0x12f659){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x12f659['ContactId'],'ListId':_0x12f659['ListId'],'VoiceQueueId':_0x12f659[_0x78a8('0x1d')]||undefined,'CampaignId':_0x12f659[_0x78a8('0x62')]||undefined};};exports[_0x78a8('0x63')]=function(_0x3499a0){if(_0x3499a0===_0x78a8('0x45')||_0x3499a0===_0x78a8('0x64')||_0x3499a0===_0x78a8('0x59')||_0x3499a0===_0x78a8('0x65')||_0x3499a0===_0x78a8('0x66')||_0x3499a0===_0x78a8('0x67')||_0x3499a0===_0x78a8('0x68')||_0x3499a0===_0x78a8('0x5c')||_0x3499a0===_0x78a8('0x1a')||_0x3499a0===_0x78a8('0x51')||_0x3499a0===_0x78a8('0x1b')||_0x3499a0===_0x78a8('0x69')||_0x3499a0===_0x78a8('0x49')||_0x3499a0===_0x78a8('0x4a')||_0x3499a0===_0x78a8('0x6a')||_0x3499a0===_0x78a8('0x6b')||_0x3499a0===_0x78a8('0x6c')||_0x3499a0===_0x78a8('0x6d')||_0x3499a0===_0x78a8('0x6e')||_0x3499a0===_0x78a8('0x6f')||_0x3499a0===_0x78a8('0x1c')||_0x3499a0==='ListId'||_0x3499a0===_0x78a8('0x70')||_0x3499a0===_0x78a8('0x1d')||_0x3499a0===_0x78a8('0x71')||_0x3499a0==='xmd-voicequeueid'||_0x3499a0===_0x78a8('0x72')||_0x3499a0===_0x78a8('0x73')||_0x3499a0===_0x78a8('0x74')||_0x3499a0==='xmd-dialurl'||_0x3499a0===_0x78a8('0x75')||_0x3499a0===_0x78a8('0x76')||_0x3499a0===_0x78a8('0x77')||_0x3499a0===_0x78a8('0x78')||_0x3499a0===_0x78a8('0x79')||_0x3499a0===_0x78a8('0x7a')||_0x3499a0===_0x78a8('0x7b')||_0x3499a0===_0x78a8('0x7c')||_0x3499a0===_0x78a8('0x7d')||_0x3499a0==='rtpaudioqos'||_0x3499a0==='rtpaudioqosbridged'||_0x3499a0==='rtpaudioqosjitter'||_0x3499a0===_0x78a8('0x7e')||_0x3499a0==='rtpaudioqosloss'||_0x3499a0==='rtpaudioqoslossbridged'||_0x3499a0===_0x78a8('0x7f')||_0x3499a0===_0x78a8('0x80')||_0x3499a0===_0x78a8('0x81')||_0x3499a0===_0x78a8('0x82')||_0x3499a0===_0x78a8('0x83')||_0x3499a0==='rtpaudioqosjitterbridged'||_0x3499a0===_0x78a8('0x84')||_0x3499a0===_0x78a8('0x85')||_0x3499a0===_0x78a8('0x7f')||_0x3499a0==='rtpaudioqosrttbridged'||_0x3499a0==='bridgepeer'||_0x3499a0===_0x78a8('0x86')||_0x3499a0===_0x78a8('0x3d')||_0x3499a0===_0x78a8('0x39')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x489994,_0x2ae375){var _0x39b8ab,_0x4109e0,_0x252ec6;if(_0x2ae375<=0x0){_0x2ae375=0x1;}_0x39b8ab=new RegExp('\x5cw{0,'+_0x2ae375+'}$');_0x4109e0=Math[_0x78a8('0x87')](0xa,_0x2ae375-0x1);_0x252ec6=Math[_0x78a8('0x87')](0xa,_0x2ae375)-0x1;return util[_0x78a8('0x13')]('%s',_[_0x78a8('0x88')](_0x489994,_0x39b8ab,_['random'](_0x4109e0,_0x252ec6)));};exports[_0x78a8('0x89')]=function(_0x408fe2){var _0x171c1c=_0x408fe2['match'](/"(.*?)"/);return _0x171c1c?_0x171c1c[0x1]:_0x408fe2;};exports['extractCalleridNumber']=function(_0x5d5bd6){var _0x51ffce=_0x5d5bd6['match'](/<(.*?)>/);return _0x51ffce?_0x51ffce[0x1]:_0x5d5bd6;};