Built motion from commit (unavailable).|2.5.31
[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 _0x5681=['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','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqos','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','extractCalleridName','match','extractCalleridNumber','util','moment','../../../../config/logger','127.0.0.1','milliseconds','seconds','inspect','logger','loggerError','error','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','isActive','isNil','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','monitor_format','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','dialQueueProject2','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_UNIQUEID','Contact','updatedAt','%s%s','XMD-','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','starttime','responsetime','endtime','logAgent','ringtime','logLookAgent','membername','UserId','logCustomer','talktime','answertime','RECALL','BOOKED','originate','channelAgent','from-sip','timeout','uniqueid','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','add','minutes','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','lastevent','interface','mandatoryDisposition','queue','agentReadyId','not_inuse','status','reachable','push','getDiff','diff','createBody','ListId','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','active','countglobal','callbackuniqueid','callbackat'];(function(_0x7c0e3d,_0x2c07e9){var _0x67d0f5=function(_0x16ce2a){while(--_0x16ce2a){_0x7c0e3d['push'](_0x7c0e3d['shift']());}};_0x67d0f5(++_0x2c07e9);}(_0x5681,0x1b2));var _0x1568=function(_0x5a67d6,_0x3bd12f){_0x5a67d6=_0x5a67d6-0x0;var _0x161966=_0x5681[_0x5a67d6];return _0x161966;};'use strict';var util=require(_0x1568('0x0'));var _=require('lodash');var moment=require(_0x1568('0x1'));var logger=require(_0x1568('0x2'))('preview');var ipAgi=process['env']['XCALLY_IP_AGI']||_0x1568('0x3');function getSeconds(_0xdcca8a,_0x8638b0){var _0x3be101=moment(_0xdcca8a)['milliseconds'](0x0);var _0x319692=moment(_0x8638b0)[_0x1568('0x4')](0x0);return _0x3be101['diff'](_0x319692,_0x1568('0x5'));}exports['loggerCatch']=function(_0x4250eb){return function(_0x2e8988){logger['error'](_0x4250eb,util[_0x1568('0x6')](_0x2e8988,{'showHidden':![],'depth':null}));};};exports[_0x1568('0x7')]=function(_0x388439,_0x1c0d23){logger['info'](_0x388439,util[_0x1568('0x6')](_0x1c0d23,{'showHidden':![],'depth':null}));};exports[_0x1568('0x8')]=function(_0x3d5e61,_0x9958e8){logger[_0x1568('0x9')](_0x3d5e61,util[_0x1568('0x6')](_0x9958e8,{'showHidden':![],'depth':null}));};exports['logger2']=function(_0x53e2fd){return function(_0x9c09c8){logger['info'](_0x53e2fd,util[_0x1568('0x6')](_0x9c09c8,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x9e00cd,_0x255db0,_0x136268){return{'message':_0x9e00cd,'unlock':_0x255db0,'active':_0x136268};};exports[_0x1568('0xa')]=function(_0x4e24fe,_0x1d1f9c,_0x1d95dc){if(!_[_0x1568('0xb')](_0x1d95dc)&&_0x1568('0xc')===typeof _0x1d95dc&&!_[_0x1568('0xd')](_0x1d95dc)){if(!_[_0x1568('0xb')](_0x1d1f9c)&&'string'===typeof _0x1d1f9c&&!_[_0x1568('0xd')](_0x1d1f9c)){return util[_0x1568('0xe')](_0x1568('0xf'),_0x1d1f9c,_0x1d95dc);}return util[_0x1568('0xe')](_0x1568('0xf'),_0x1d95dc,_0x1d95dc);}if(!_['isUndefined'](_0x4e24fe)&&_0x1568('0xc')===typeof _0x4e24fe&&!_[_0x1568('0xd')](_0x4e24fe)){return _0x4e24fe;}return'\x22\x22\x20<>';};exports[_0x1568('0x10')]=function(_0x27e7a7){if(_[_0x1568('0x11')](_0x27e7a7)){return![];}return _0x27e7a7;};exports['addVariables']=function(_0x158d43,_0x50a79f,_0xbf72bc,_0x10b972,_0x59cc21,_0xd5ae5f){var _0x32ea57={'XMD-QUEUE':_0x50a79f[_0x1568('0x12')]?_0x50a79f['Queue'][_0x1568('0x13')]:'','XMD-CALLERID':_0x10b972,'XMD-CALLERID-PREVIEW':_0xd5ae5f?util['format'](_0x1568('0xf'),_0xd5ae5f[_0x1568('0x14')],_0xd5ae5f[_0x1568('0x15')]):_0x10b972,'XMD-DIALID':_0x59cc21,'XMD-CONTACTID':_0x50a79f[_0x1568('0x16')],'XMD-CDRTYPE':_0x1568('0x17'),'CALLERID(all)':_0x10b972,'XMD-VOICEQUEUEID':_0x50a79f[_0x1568('0x18')],'XMD-DIALCHANNEL':_0xbf72bc,'XMD-DIALTIMEOUT':_0x158d43[_0x1568('0x19')]||0x1e,'XMD-DIALOPTIONS':util['format']('\x22rtTxX%s%s\x22',_0x158d43['dialQueueProject2']?'g':'',_['isEmpty'](_0x158d43[_0x1568('0x1a')])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x158d43['dialPreviewUrl']||'','XMD-AGI':_0x158d43[_0x1568('0x1b')]?util['format'](_0x1568('0x1c'),ipAgi,_0x158d43[_0x1568('0x1b')]):_0x1568('0x1d'),'XMD-AGIAFTER':_0x158d43['dialQueueProject2']?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0x158d43[_0x1568('0x1e')]):_0x1568('0x1d'),'XMD-ORIGINATECALLERIDNUM':_0xd5ae5f?_0xd5ae5f[_0x1568('0x1f')]:'','XMD-ORIGINATECALLERIDNAME':_0xd5ae5f?_0xd5ae5f[_0x1568('0x20')]:'','XMD-DESTINATION':_0x1568('0x21')};if(!_[_0x1568('0xd')](_0x158d43['monitor_format'])){_0x32ea57[util[_0x1568('0xe')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x158d43['monitor_format'];_0x32ea57[util[_0x1568('0xe')]('%s',_0x1568('0x22'))]=_0x59cc21;}if(_0x50a79f&&_0x50a79f[_0x1568('0x23')]){for(var _0x5069df in _0x50a79f['Contact']){if(_0x50a79f[_0x1568('0x23')]['hasOwnProperty'](_0x5069df)){if(!_[_0x1568('0x11')](_0x50a79f[_0x1568('0x23')][_0x5069df])&&_0x5069df!=='id'&&_0x5069df!=='tags'&&_0x5069df!=='createdAt'&&_0x5069df!==_0x1568('0x24')){_0x32ea57[util[_0x1568('0xe')](_0x1568('0x25'),_0x1568('0x26'),_['toUpper'](_0x5069df))]=_0x50a79f[_0x1568('0x23')][_0x5069df];}}}}return _0x32ea57;};exports[_0x1568('0x27')]=function(_0x398125){var _0x3305b5={};for(var _0x3a17b0 in _0x398125){if(_0x398125[_0x1568('0x28')](_0x3a17b0)){_0x3305b5[util[_0x1568('0xe')]('%s',_[_0x1568('0x29')](_0x3a17b0))]=_0x398125[_0x3a17b0];}}return{'variables':_0x3305b5};};exports[_0x1568('0x2a')]=function(_0x2abc0e,_0x2dd37e){if(!_['isNil'](_0x2abc0e)){if(_0x2abc0e[_0x1568('0x28')](_0x1568('0x2b'))){if(_0x2abc0e[_0x1568('0x2b')]>0x0){_0x2abc0e[_0x1568('0x2b')]-=0x1;}else{logger[_0x1568('0x9')](_0x1568('0x2c'),_0x2dd37e);}}}else{logger[_0x1568('0x9')](_0x1568('0x2d'),_0x2dd37e);}};exports[_0x1568('0x2e')]=function(_0x3b95ac){var _0x150729=moment()[_0x1568('0xe')](_0x1568('0x2f'));_0x3b95ac[_0x1568('0x30')]=0xd;_0x3b95ac[_0x1568('0x31')]='Blacklist';_0x3b95ac[_0x1568('0x32')]=_0x150729;_0x3b95ac[_0x1568('0x33')]=_0x150729;_0x3b95ac[_0x1568('0x34')]=_0x150729;};exports[_0x1568('0x35')]=function(_0xa0d1b2,_0x82d29,_0x504f18){var _0x5b118f=moment()['format'](_0x1568('0x2f'));_0xa0d1b2[_0x1568('0x30')]=_0x82d29;_0xa0d1b2[_0x1568('0x31')]=_0x504f18;_0xa0d1b2[_0x1568('0x33')]=_0x5b118f;_0xa0d1b2[_0x1568('0x36')]=getSeconds(_0xa0d1b2[_0x1568('0x33')],_0xa0d1b2['starttime']);};exports[_0x1568('0x37')]=function(_0x11110c,_0x3189ac,_0x593e41){_0x11110c[_0x1568('0x38')]=_0x3189ac;_0x11110c[_0x1568('0x39')]=_0x593e41;};exports[_0x1568('0x3a')]=function(_0x1f4d5f,_0x4c5717,_0x438262){var _0x5172dc=moment()[_0x1568('0xe')](_0x1568('0x2f'));_0x1f4d5f[_0x1568('0x30')]=_0x4c5717;_0x1f4d5f[_0x1568('0x31')]=_0x438262;_0x1f4d5f['responsetime']=_0x1f4d5f[_0x1568('0x33')]?_0x1f4d5f[_0x1568('0x33')]:_0x5172dc;_0x1f4d5f[_0x1568('0x34')]=_0x1f4d5f[_0x1568('0x34')]?_0x1f4d5f['endtime']:_0x5172dc;_0x1f4d5f[_0x1568('0x36')]=getSeconds(_0x1f4d5f[_0x1568('0x33')]||0x0,_0x1f4d5f[_0x1568('0x32')]||0x0);_0x1f4d5f[_0x1568('0x3b')]=_0x1f4d5f[_0x1568('0x3c')]?getSeconds(_0x1f4d5f[_0x1568('0x34')],_0x1f4d5f[_0x1568('0x3c')]):0x0;};exports['isFailure']=function(_0x4962a6){return _0x4962a6==='Failure';};exports['variablesAction']=function(_0x43b033,_0x38c8cb,_0x30c248,_0x5cbd2b,_0x16d700){var _0x28a23e=_0x5cbd2b?_0x1568('0x3d'):_0x43b033['calleridname'];_0x28a23e=_0x16d700?_0x1568('0x3e'):_0x28a23e;return{'actionid':_0x43b033['uniqueid'],'action':_0x1568('0x3f'),'channel':_0x43b033[_0x1568('0x40')],'callerid':util['format']('\x22%s\x22\x20<%s>',_0x28a23e,_0x43b033[_0x1568('0x15')]),'Exten':_0x1568('0x21'),'Context':_0x1568('0x41'),'Priority':'1','variable':_0x30c248,'timeout':(_0x38c8cb[_0x1568('0x42')]||0x1e)*0x3e8,'async':!![],'channelid':_0x43b033[_0x1568('0x43')]};};exports['totalGlobal']=function(_0x2d64c9){return _0x2d64c9['countbusyretry']+_0x2d64c9[_0x1568('0x44')]+_0x2d64c9[_0x1568('0x45')]+_0x2d64c9[_0x1568('0x46')]+_0x2d64c9[_0x1568('0x47')];};exports[_0x1568('0x48')]=function(_0x28a014){var _0x77ea8a=_[_0x1568('0x49')](_0x28a014);_0x77ea8a[_0x1568('0x30')]=0xf;_0x77ea8a[_0x1568('0x31')]=_0x1568('0x4a');return _0x77ea8a;};exports[_0x1568('0x4b')]=function(_0x118733,_0x4ce5e6,_0x58869b){var _0x3180ee={};_0x3180ee[_0x4ce5e6]=_0x118733[_0x4ce5e6];_0x3180ee['active']=![];_0x3180ee['scheduledat']=moment()[_0x1568('0x4c')](_0x58869b,_0x1568('0x4d'))[_0x1568('0xe')](_0x1568('0x2f'));_0x3180ee[_0x1568('0x16')]=_0x118733[_0x1568('0x16')];_0x3180ee['ListId']=_0x118733['ListId'];_0x3180ee['VoiceQueueId']=_0x118733[_0x1568('0x18')]||undefined;return _0x3180ee;};exports['decrementTalkink']=function(_0x50dba0,_0xe98ba2){if(!_[_0x1568('0x11')](_0x50dba0)){if(_0x50dba0[_0x1568('0x4e')]>0x0){_0x50dba0[_0x1568('0x4e')]-=0x1;}else{logger['error'](_0xe98ba2,_0x1568('0x4f'));}}else{logger['error'](_0xe98ba2,_0x1568('0x50'));}};exports[_0x1568('0x51')]=function(_0x46f3de){if(_0x46f3de<=0x0){return!![];}return![];};exports[_0x1568('0x52')]=function(_0xe126f,_0x2a439a,_0x10f524){_0xe126f[_0x1568('0x53')]=_0x2a439a;_0xe126f['name']=_0xe126f['queue'];_0xe126f[_0x1568('0x54')]=_0xe126f[_0x1568('0x40')];if(_0x10f524){_0xe126f[_0x1568('0x55')]=_0x10f524['mandatoryDisposition'];}return _0xe126f;};exports['buildAcw']=function(_0x3985db){var _0x10c050={};_0x10c050['queue']=_0x3985db[_0x1568('0x56')];_0x10c050['interface']=_0x3985db[_0x1568('0x40')];_0x10c050[_0x1568('0x43')]=_0x3985db['uniqueid'];return _0x10c050;};exports[_0x1568('0x57')]=function(_0x49382b){var _0x409896=[];for(var _0x54dd43 in _0x49382b){if(_0x49382b['hasOwnProperty'](_0x54dd43)){if(!_['isNil'](_0x49382b[_0x54dd43])&&_0x49382b[_0x54dd43][_0x1568('0x30')]===_0x1568('0x58')&&_0x49382b[_0x54dd43][_0x1568('0x59')]===_0x1568('0x5a')){_0x409896[_0x1568('0x5b')](_0x49382b[_0x54dd43]['id']);}}}return _0x409896;};exports[_0x1568('0x5c')]=function(_0x2c72f6){var _0x555891=moment()[_0x1568('0x4')](0x0);var _0x51f233=moment(_0x2c72f6)[_0x1568('0x4')](0x0);return _0x555891[_0x1568('0x5d')](_0x51f233,'seconds');};exports[_0x1568('0x5e')]=function(_0x1d63cd){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x1d63cd['ContactId'],'ListId':_0x1d63cd[_0x1568('0x5f')],'VoiceQueueId':_0x1d63cd['VoiceQueueId']||undefined,'CampaignId':_0x1d63cd[_0x1568('0x60')]||undefined};};exports[_0x1568('0x61')]=function(_0x2ecb67){if(_0x2ecb67===_0x1568('0x43')||_0x2ecb67===_0x1568('0x62')||_0x2ecb67===_0x1568('0x56')||_0x2ecb67===_0x1568('0x63')||_0x2ecb67===_0x1568('0x64')||_0x2ecb67===_0x1568('0x65')||_0x2ecb67===_0x1568('0x38')||_0x2ecb67==='channelAgent'||_0x2ecb67===_0x1568('0x14')||_0x2ecb67===_0x1568('0x66')||_0x2ecb67===_0x1568('0x15')||_0x2ecb67==='scheduledat'||_0x2ecb67==='countbusyretry'||_0x2ecb67==='countcongestionretry'||_0x2ecb67===_0x1568('0x45')||_0x2ecb67===_0x1568('0x67')||_0x2ecb67==='callback'||_0x2ecb67===_0x1568('0x68')||_0x2ecb67===_0x1568('0x69')||_0x2ecb67==='recallme'||_0x2ecb67==='ContactId'||_0x2ecb67===_0x1568('0x5f')||_0x2ecb67===_0x1568('0x39')||_0x2ecb67===_0x1568('0x18')||_0x2ecb67===_0x1568('0x6a')||_0x2ecb67==='xmd-voicequeueid'||_0x2ecb67===_0x1568('0x6b')||_0x2ecb67===_0x1568('0x6c')||_0x2ecb67===_0x1568('0x6d')||_0x2ecb67==='xmd-dialurl'||_0x2ecb67===_0x1568('0x6e')||_0x2ecb67===_0x1568('0x6f')||_0x2ecb67===_0x1568('0x70')||_0x2ecb67===_0x1568('0x71')||_0x2ecb67===_0x1568('0x72')||_0x2ecb67===_0x1568('0x73')||_0x2ecb67===_0x1568('0x74')||_0x2ecb67===_0x1568('0x75')||_0x2ecb67===_0x1568('0x76')||_0x2ecb67==='rtpaudioqos'||_0x2ecb67===_0x1568('0x77')||_0x2ecb67===_0x1568('0x78')||_0x2ecb67===_0x1568('0x79')||_0x2ecb67===_0x1568('0x7a')||_0x2ecb67===_0x1568('0x7b')||_0x2ecb67===_0x1568('0x7c')||_0x2ecb67===_0x1568('0x7d')||_0x2ecb67===_0x1568('0x7e')||_0x2ecb67===_0x1568('0x77')||_0x2ecb67===_0x1568('0x78')||_0x2ecb67==='rtpaudioqosjitterbridged'||_0x2ecb67==='rtpaudioqosloss'||_0x2ecb67===_0x1568('0x7b')||_0x2ecb67===_0x1568('0x7c')||_0x2ecb67==='rtpaudioqosrttbridged'||_0x2ecb67==='bridgepeer'||_0x2ecb67===_0x1568('0x7f')||_0x2ecb67==='state'||_0x2ecb67===_0x1568('0x31')){return![];}return!![];};exports[_0x1568('0x80')]=function(_0x24bcba,_0x44c022){var _0x3fb2fb,_0x1fa38c,_0x1e8a5c;if(_0x44c022<=0x0){_0x44c022=0x1;}_0x3fb2fb=new RegExp(_0x1568('0x81')+_0x44c022+'}$');_0x1fa38c=Math[_0x1568('0x82')](0xa,_0x44c022-0x1);_0x1e8a5c=Math['pow'](0xa,_0x44c022)-0x1;return util[_0x1568('0xe')]('%s',_[_0x1568('0x83')](_0x24bcba,_0x3fb2fb,_['random'](_0x1fa38c,_0x1e8a5c)));};exports[_0x1568('0x84')]=function(_0x957dd0){var _0x579d87=_0x957dd0[_0x1568('0x85')](/"(.*?)"/);return _0x579d87?_0x579d87[0x1]:_0x957dd0;};exports[_0x1568('0x86')]=function(_0x100a7b){var _0x4f8cef=_0x100a7b[_0x1568('0x85')](/<(.*?)>/);return _0x4f8cef?_0x4f8cef[0x1]:_0x100a7b;};