Built motion from commit da617fac.|2.6.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 _0xa9eb=['diff','loggerCatch','inspect','logger','info','loggerError','error','logger2','getCallerId','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','calleridname','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','dialQueueProject2','U(xcally-mixmonitor-context)','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','monitor_format','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','updatedAt','%s%s','toUpper','toLowerVariables','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','starttime','responsetime','endtime','state','ringtime','logLookAgent','membername','UserId','logCustomer','answertime','isFailure','Failure','variablesAction','BOOKED','originate','channelAgent','from-sip','timeout','uniqueid','totalGlobal','countbusyretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','scheduledAt','active','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','lastevent','queue','interface','motionChannel','mandatoryDisposition','buildObj','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','seconds','createBody','CampaignId','filterKey','idContact','type','dialAnswer','calleridnum','countglobal','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-dialtimeout','xmd-dialid','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqosrtt','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','replace','extractCalleridName','match','extractCalleridNumber','variables','keys','forEach','buildNoAnswerEventPayload','util','preview','env','XCALLY_IP_AGI','127.0.0.1','milliseconds'];(function(_0x58d808,_0x5e605d){var _0x3c9f9d=function(_0x32882d){while(--_0x32882d){_0x58d808['push'](_0x58d808['shift']());}};_0x3c9f9d(++_0x5e605d);}(_0xa9eb,0x1b3));var _0xba9e=function(_0x1992f1,_0x5c61f0){_0x1992f1=_0x1992f1-0x0;var _0x413dfe=_0xa9eb[_0x1992f1];return _0x413dfe;};'use strict';var util=require(_0xba9e('0x0'));var _=require('lodash');var moment=require('moment');var logger=require('../../../../config/logger')(_0xba9e('0x1'));var ipAgi=process[_0xba9e('0x2')][_0xba9e('0x3')]||_0xba9e('0x4');function getSeconds(_0x30d478,_0x3bb808){var _0x464273=moment(_0x30d478)[_0xba9e('0x5')](0x0);var _0x206477=moment(_0x3bb808)[_0xba9e('0x5')](0x0);return _0x464273[_0xba9e('0x6')](_0x206477,'seconds');}exports[_0xba9e('0x7')]=function(_0x1f050d){return function(_0x507fdf){logger['error'](_0x1f050d,util[_0xba9e('0x8')](_0x507fdf,{'showHidden':![],'depth':null}));};};exports[_0xba9e('0x9')]=function(_0x4f52df,_0x4f49c2){logger[_0xba9e('0xa')](_0x4f52df,util[_0xba9e('0x8')](_0x4f49c2,{'showHidden':![],'depth':null}));};exports[_0xba9e('0xb')]=function(_0x3f8500,_0x43a71d){logger[_0xba9e('0xc')](_0x3f8500,util[_0xba9e('0x8')](_0x43a71d,{'showHidden':![],'depth':null}));};exports[_0xba9e('0xd')]=function(_0x1913b6){return function(_0x4922c0){logger['info'](_0x1913b6,util[_0xba9e('0x8')](_0x4922c0,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x2d3e9c,_0x50d6a7,_0x428c57){return{'message':_0x2d3e9c,'unlock':_0x50d6a7,'active':_0x428c57};};exports[_0xba9e('0xe')]=function(_0x71f83,_0x4d2f8d,_0x45a23e){if(!_['isUndefined'](_0x45a23e)&&_0xba9e('0xf')===typeof _0x45a23e&&!_[_0xba9e('0x10')](_0x45a23e)){if(!_['isUndefined'](_0x4d2f8d)&&'string'===typeof _0x4d2f8d&&!_[_0xba9e('0x10')](_0x4d2f8d)){return util[_0xba9e('0x11')](_0xba9e('0x12'),_0x4d2f8d,_0x45a23e);}return util[_0xba9e('0x11')](_0xba9e('0x12'),_0x45a23e,_0x45a23e);}if(!_['isUndefined'](_0x71f83)&&_0xba9e('0xf')===typeof _0x71f83&&!_[_0xba9e('0x10')](_0x71f83)){return _0x71f83;}return _0xba9e('0x13');};exports[_0xba9e('0x14')]=function(_0x44823b){if(_[_0xba9e('0x15')](_0x44823b)){return![];}return _0x44823b;};exports[_0xba9e('0x16')]=function(_0x3f41c1,_0x45e149,_0x32d768,_0x37ad81,_0x227b2c,_0x522898){var _0x4d480e={'XMD-QUEUE':_0x45e149[_0xba9e('0x17')]?_0x45e149[_0xba9e('0x17')]['name']:'','XMD-CALLERID':_0x37ad81,'XMD-CALLERID-PREVIEW':_0x522898?util[_0xba9e('0x11')](_0xba9e('0x12'),_0x522898[_0xba9e('0x18')],_0x522898['calleridnum']):_0x37ad81,'XMD-DIALID':_0x227b2c,'XMD-CONTACTID':_0x45e149[_0xba9e('0x19')],'XMD-CDRTYPE':_0xba9e('0x1a'),'CALLERID(all)':_0x37ad81,'XMD-VOICEQUEUEID':_0x45e149[_0xba9e('0x1b')],'XMD-DIALCHANNEL':_0x32d768,'XMD-DIALTIMEOUT':_0x3f41c1[_0xba9e('0x1c')]||0x1e,'XMD-DIALOPTIONS':util['format']('\x22rtTxX%s%s\x22',_0x3f41c1[_0xba9e('0x1d')]?'g':'',_[_0xba9e('0x10')](_0x3f41c1['monitor_format'])?'':_0xba9e('0x1e')),'XMD-DIALURL':_0x3f41c1['dialPreviewUrl']||'','XMD-AGI':_0x3f41c1[_0xba9e('0x1f')]?util[_0xba9e('0x11')](_0xba9e('0x20'),ipAgi,_0x3f41c1['dialQueueProject']):_0xba9e('0x21'),'XMD-AGIAFTER':_0x3f41c1[_0xba9e('0x1d')]?util[_0xba9e('0x11')]('\x22agi://%s/square,%s\x22',ipAgi,_0x3f41c1[_0xba9e('0x1d')]):_0xba9e('0x21'),'XMD-ORIGINATECALLERIDNUM':_0x522898?_0x522898[_0xba9e('0x22')]:'','XMD-ORIGINATECALLERIDNAME':_0x522898?_0x522898[_0xba9e('0x23')]:'','XMD-DESTINATION':_0xba9e('0x24'),'SIPADDHEADER':_0xba9e('0x25')};if(!_[_0xba9e('0x10')](_0x3f41c1['monitor_format'])){_0x4d480e[util[_0xba9e('0x11')]('%s',_0xba9e('0x26'))]=_0x3f41c1[_0xba9e('0x27')];_0x4d480e[util[_0xba9e('0x11')]('%s',_0xba9e('0x28'))]=_0x227b2c;}if(_0x45e149&&_0x45e149[_0xba9e('0x29')]){for(var _0x2769cd in _0x45e149[_0xba9e('0x29')]){if(_0x45e149[_0xba9e('0x29')][_0xba9e('0x2a')](_0x2769cd)){if(!_[_0xba9e('0x15')](_0x45e149[_0xba9e('0x29')][_0x2769cd])&&_0x2769cd!=='id'&&_0x2769cd!==_0xba9e('0x2b')&&_0x2769cd!=='createdAt'&&_0x2769cd!==_0xba9e('0x2c')){_0x4d480e[util[_0xba9e('0x11')](_0xba9e('0x2d'),'XMD-',_[_0xba9e('0x2e')](_0x2769cd))]=_0x45e149['Contact'][_0x2769cd];}}}}return _0x4d480e;};exports[_0xba9e('0x2f')]=function(_0x4b5ac3){var _0x2a8548={};for(var _0x4669f8 in _0x4b5ac3){if(_0x4b5ac3[_0xba9e('0x2a')](_0x4669f8)){_0x2a8548[util[_0xba9e('0x11')]('%s',_['toLower'](_0x4669f8))]=_0x4b5ac3[_0x4669f8];}}return{'variables':_0x2a8548};};exports[_0xba9e('0x30')]=function(_0x591c38,_0x42197f){if(!_[_0xba9e('0x15')](_0x591c38)){if(_0x591c38[_0xba9e('0x2a')](_0xba9e('0x31'))){if(_0x591c38[_0xba9e('0x31')]>0x0){_0x591c38[_0xba9e('0x31')]-=0x1;}else{logger[_0xba9e('0xc')](_0xba9e('0x32'),_0x42197f);}}}else{logger['error'](_0xba9e('0x33'),_0x42197f);}};exports[_0xba9e('0x34')]=function(_0x22975d){var _0x3ff686=moment()[_0xba9e('0x11')](_0xba9e('0x35'));_0x22975d['state']=0xd;_0x22975d[_0xba9e('0x36')]='Blacklist';_0x22975d[_0xba9e('0x37')]=_0x3ff686;_0x22975d[_0xba9e('0x38')]=_0x3ff686;_0x22975d[_0xba9e('0x39')]=_0x3ff686;};exports['logAgent']=function(_0x23ad8b,_0x5c7aa6,_0x2b84ee){var _0x3672f7=moment()['format'](_0xba9e('0x35'));_0x23ad8b[_0xba9e('0x3a')]=_0x5c7aa6;_0x23ad8b[_0xba9e('0x36')]=_0x2b84ee;_0x23ad8b[_0xba9e('0x38')]=_0x3672f7;_0x23ad8b[_0xba9e('0x3b')]=getSeconds(_0x23ad8b[_0xba9e('0x38')],_0x23ad8b[_0xba9e('0x37')]);};exports[_0xba9e('0x3c')]=function(_0x4b8142,_0x2aaeab,_0x4845fb){_0x4b8142[_0xba9e('0x3d')]=_0x2aaeab;_0x4b8142[_0xba9e('0x3e')]=_0x4845fb;};exports[_0xba9e('0x3f')]=function(_0xba2d70,_0x573719,_0x258e68){var _0x157e46=moment()['format'](_0xba9e('0x35'));_0xba2d70[_0xba9e('0x3a')]=_0x573719;_0xba2d70['statedesc']=_0x258e68;_0xba2d70[_0xba9e('0x38')]=_0xba2d70[_0xba9e('0x38')]?_0xba2d70[_0xba9e('0x38')]:_0x157e46;_0xba2d70[_0xba9e('0x39')]=_0xba2d70[_0xba9e('0x39')]?_0xba2d70[_0xba9e('0x39')]:_0x157e46;_0xba2d70[_0xba9e('0x3b')]=getSeconds(_0xba2d70[_0xba9e('0x38')]||0x0,_0xba2d70[_0xba9e('0x37')]||0x0);_0xba2d70['talktime']=_0xba2d70[_0xba9e('0x40')]?getSeconds(_0xba2d70[_0xba9e('0x39')],_0xba2d70['answertime']):0x0;};exports[_0xba9e('0x41')]=function(_0x4cf75f){return _0x4cf75f===_0xba9e('0x42');};exports[_0xba9e('0x43')]=function(_0x35e4d8,_0x45bc4e,_0x2829df,_0x2d3b32,_0x5d4aa0){var _0x567440=_0x2d3b32?'RECALL':_0x35e4d8['calleridname'];_0x567440=_0x5d4aa0?_0xba9e('0x44'):_0x567440;return{'actionid':_0x35e4d8['uniqueid'],'action':_0xba9e('0x45'),'channel':_0x35e4d8[_0xba9e('0x46')],'callerid':util[_0xba9e('0x11')](_0xba9e('0x12'),_0x567440,_0x35e4d8['calleridnum']),'Exten':_0xba9e('0x24'),'Context':_0xba9e('0x47'),'Priority':'1','variable':_0x2829df,'timeout':(_0x45bc4e[_0xba9e('0x48')]||0x1e)*0x3e8,'async':!![],'channelid':_0x35e4d8[_0xba9e('0x49')]};};exports[_0xba9e('0x4a')]=function(_0xc2dd53){return _0xc2dd53[_0xba9e('0x4b')]+_0xc2dd53['countcongestionretry']+_0xc2dd53[_0xba9e('0x4c')]+_0xc2dd53[_0xba9e('0x4d')]+_0xc2dd53[_0xba9e('0x4e')];};exports[_0xba9e('0x4f')]=function(_0xe29d12){var _0x4d8717=_[_0xba9e('0x50')](_0xe29d12);_0x4d8717[_0xba9e('0x3a')]=0xf;_0x4d8717[_0xba9e('0x36')]='Global';return _0x4d8717;};exports[_0xba9e('0x51')]=function(_0xe90feb,_0x5e6270,_0x484bee){var _0x1ba39e={};_0x1ba39e[_0x5e6270]=_0xe90feb[_0x5e6270];_0x1ba39e[_0xba9e('0x52')]=![];_0x1ba39e['scheduledat']=moment()[_0xba9e('0x53')](_0x484bee,_0xba9e('0x54'))[_0xba9e('0x11')]('YYYY-MM-DD\x20HH:mm:ss');_0x1ba39e[_0xba9e('0x19')]=_0xe90feb['ContactId'];_0x1ba39e[_0xba9e('0x55')]=_0xe90feb['ListId'];_0x1ba39e[_0xba9e('0x1b')]=_0xe90feb['VoiceQueueId']||undefined;return _0x1ba39e;};exports[_0xba9e('0x56')]=function(_0x364586,_0x209c85){if(!_[_0xba9e('0x15')](_0x364586)){if(_0x364586[_0xba9e('0x57')]>0x0){_0x364586[_0xba9e('0x57')]-=0x1;}else{logger[_0xba9e('0xc')](_0x209c85,_0xba9e('0x58'));}}else{logger['error'](_0x209c85,_0xba9e('0x59'));}};exports['IsNotLoggedIn']=function(_0x52b004){if(_0x52b004<=0x0){return!![];}return![];};function buildObj(_0x280c32,_0x5229c3,_0x17685a){_0x280c32[_0xba9e('0x5a')]=_0x5229c3;_0x280c32['name']=_0x280c32[_0xba9e('0x5b')];_0x280c32[_0xba9e('0x5c')]=_0x280c32['channelAgent'];_0x280c32[_0xba9e('0x5d')]='voice';if(_0x17685a){_0x280c32[_0xba9e('0x5e')]=_0x17685a['mandatoryDisposition'];}return _0x280c32;}exports[_0xba9e('0x5f')]=buildObj;exports[_0xba9e('0x60')]=function(_0x1ff830){var _0x39cb62={};_0x39cb62[_0xba9e('0x5b')]=_0x1ff830[_0xba9e('0x5b')];_0x39cb62[_0xba9e('0x5c')]=_0x1ff830[_0xba9e('0x46')];_0x39cb62[_0xba9e('0x49')]=_0x1ff830[_0xba9e('0x49')];return _0x39cb62;};exports[_0xba9e('0x61')]=function(_0x28d54c){var _0x468f42=[];for(var _0x3a42c8 in _0x28d54c){if(_0x28d54c[_0xba9e('0x2a')](_0x3a42c8)){if(!_[_0xba9e('0x15')](_0x28d54c[_0x3a42c8])&&_0x28d54c[_0x3a42c8][_0xba9e('0x3a')]===_0xba9e('0x62')&&_0x28d54c[_0x3a42c8][_0xba9e('0x63')]===_0xba9e('0x64')){_0x468f42[_0xba9e('0x65')](_0x28d54c[_0x3a42c8]['id']);}}}return _0x468f42;};exports[_0xba9e('0x66')]=function(_0x568320){var _0x3baf96=moment()[_0xba9e('0x5')](0x0);var _0x423250=moment(_0x568320)[_0xba9e('0x5')](0x0);return _0x3baf96[_0xba9e('0x6')](_0x423250,_0xba9e('0x67'));};exports[_0xba9e('0x68')]=function(_0x1cfd45){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x1cfd45[_0xba9e('0x19')],'ListId':_0x1cfd45[_0xba9e('0x55')],'VoiceQueueId':_0x1cfd45[_0xba9e('0x1b')]||undefined,'CampaignId':_0x1cfd45[_0xba9e('0x69')]||undefined};};exports[_0xba9e('0x6a')]=function(_0x4e0b38){if(_0x4e0b38==='uniqueid'||_0x4e0b38===_0xba9e('0x6b')||_0x4e0b38===_0xba9e('0x5b')||_0x4e0b38===_0xba9e('0x6c')||_0x4e0b38==='campaigntype'||_0x4e0b38===_0xba9e('0x6d')||_0x4e0b38===_0xba9e('0x3d')||_0x4e0b38===_0xba9e('0x46')||_0x4e0b38===_0xba9e('0x18')||_0x4e0b38===_0xba9e('0x52')||_0x4e0b38===_0xba9e('0x6e')||_0x4e0b38==='scheduledat'||_0x4e0b38==='countbusyretry'||_0x4e0b38==='countcongestionretry'||_0x4e0b38===_0xba9e('0x4c')||_0x4e0b38===_0xba9e('0x6f')||_0x4e0b38==='callback'||_0x4e0b38===_0xba9e('0x70')||_0x4e0b38===_0xba9e('0x71')||_0x4e0b38===_0xba9e('0x72')||_0x4e0b38===_0xba9e('0x19')||_0x4e0b38===_0xba9e('0x55')||_0x4e0b38==='UserId'||_0x4e0b38===_0xba9e('0x1b')||_0x4e0b38===_0xba9e('0x73')||_0x4e0b38===_0xba9e('0x74')||_0x4e0b38===_0xba9e('0x75')||_0x4e0b38===_0xba9e('0x76')||_0x4e0b38==='xmd-listid'||_0x4e0b38==='xmd-dialurl'||_0x4e0b38===_0xba9e('0x77')||_0x4e0b38==='xmd-dialoptions'||_0x4e0b38===_0xba9e('0x78')||_0x4e0b38==='xmd-dialchannel'||_0x4e0b38===_0xba9e('0x79')||_0x4e0b38===_0xba9e('0x7a')||_0x4e0b38===_0xba9e('0x7b')||_0x4e0b38===_0xba9e('0x7c')||_0x4e0b38===_0xba9e('0x7d')||_0x4e0b38===_0xba9e('0x7e')||_0x4e0b38===_0xba9e('0x7f')||_0x4e0b38===_0xba9e('0x80')||_0x4e0b38===_0xba9e('0x81')||_0x4e0b38===_0xba9e('0x82')||_0x4e0b38===_0xba9e('0x83')||_0x4e0b38==='rtpaudioqosrtt'||_0x4e0b38===_0xba9e('0x84')||_0x4e0b38===_0xba9e('0x7e')||_0x4e0b38===_0xba9e('0x7f')||_0x4e0b38===_0xba9e('0x80')||_0x4e0b38===_0xba9e('0x81')||_0x4e0b38==='rtpaudioqosloss'||_0x4e0b38==='rtpaudioqoslossbridged'||_0x4e0b38===_0xba9e('0x85')||_0x4e0b38===_0xba9e('0x84')||_0x4e0b38===_0xba9e('0x86')||_0x4e0b38===_0xba9e('0x87')||_0x4e0b38===_0xba9e('0x3a')||_0x4e0b38===_0xba9e('0x36')){return![];}return!![];};exports[_0xba9e('0x88')]=function(_0xfee90b,_0x144db3){var _0x1470c0,_0x518690,_0x4ccf98;if(_0x144db3<=0x0){_0x144db3=0x1;}_0x1470c0=new RegExp(_0xba9e('0x89')+_0x144db3+'}$');_0x518690=Math[_0xba9e('0x8a')](0xa,_0x144db3-0x1);_0x4ccf98=Math[_0xba9e('0x8a')](0xa,_0x144db3)-0x1;return util[_0xba9e('0x11')]('%s',_[_0xba9e('0x8b')](_0xfee90b,_0x1470c0,_['random'](_0x518690,_0x4ccf98)));};exports[_0xba9e('0x8c')]=function(_0x1000ba){var _0x216074=_0x1000ba[_0xba9e('0x8d')](/"(.*?)"/);return _0x216074?_0x216074[0x1]:_0x1000ba;};exports[_0xba9e('0x8e')]=function(_0x33f182){var _0x3544b6=_0x33f182[_0xba9e('0x8d')](/<(.*?)>/);return _0x3544b6?_0x3544b6[0x1]:_0x33f182;};function buildNoAnswerEventPayload(_0x387670,_0x10a04f){var _0x331430=buildObj(_0x387670,'noanswer');if(!_[_0xba9e('0x10')](_0x10a04f[_0xba9e('0x8f')])){Object[_0xba9e('0x90')](_0x10a04f[_0xba9e('0x8f')])[_0xba9e('0x91')](function(_0x154228){_0x331430[_0x154228['toLowerCase']()]=_0x10a04f[_0xba9e('0x8f')][_0x154228];});}return _0x331430;}exports[_0xba9e('0x92')]=buildNoAnswerEventPayload;