2a17b5af78859a669932e6cb2764b5912755862a
[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 _0x8bbd=['scheduledAt','active','scheduledat','add','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','interface','channelAgent','mandatoryDisposition','queue','uniqueid','agentReadyId','reachable','push','getDiff','diff','createBody','CampaignId','filterKey','idContact','type','dialAnswer','countnoanswerretry','countglobal','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-phone','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','pow','random','extractCalleridName','match','extractCalleridNumber','util','moment','../../../../config/logger','XCALLY_IP_AGI','127.0.0.1','milliseconds','seconds','loggerCatch','error','inspect','logger','logger2','info','isUndefined','isEmpty','string','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridnum','ContactId','VoiceQueueId','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_UNIQUEID','hasOwnProperty','createdAt','%s%s','XMD-','toUpper','Contact','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','endtime','logAgent','responsetime','ringtime','logLookAgent','membername','UserId','logCustomer','talktime','answertime','isFailure','Failure','variablesAction','calleridname','BOOKED','originate','timeout','totalGlobal','countcongestionretry','clone','Global'];(function(_0x126db9,_0xb8ef99){var _0x21f274=function(_0x1d3ac7){while(--_0x1d3ac7){_0x126db9['push'](_0x126db9['shift']());}};_0x21f274(++_0xb8ef99);}(_0x8bbd,0x1d0));var _0xd8bb=function(_0x59c7dd,_0x5af8ab){_0x59c7dd=_0x59c7dd-0x0;var _0x4864b4=_0x8bbd[_0x59c7dd];return _0x4864b4;};'use strict';var util=require(_0xd8bb('0x0'));var _=require('lodash');var moment=require(_0xd8bb('0x1'));var logger=require(_0xd8bb('0x2'))('preview');var ipAgi=process['env'][_0xd8bb('0x3')]||_0xd8bb('0x4');function getSeconds(_0x5d6e45,_0x40eae9){var _0x42a11f=moment(_0x5d6e45)[_0xd8bb('0x5')](0x0);var _0x24ab1f=moment(_0x40eae9)['milliseconds'](0x0);return _0x42a11f['diff'](_0x24ab1f,_0xd8bb('0x6'));}exports[_0xd8bb('0x7')]=function(_0xa9aa22){return function(_0x267758){logger[_0xd8bb('0x8')](_0xa9aa22,util[_0xd8bb('0x9')](_0x267758,{'showHidden':![],'depth':null}));};};exports[_0xd8bb('0xa')]=function(_0x36c3a5,_0x5accf6){logger['info'](_0x36c3a5,util['inspect'](_0x5accf6,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x99379d,_0x2aa269){logger[_0xd8bb('0x8')](_0x99379d,util['inspect'](_0x2aa269,{'showHidden':![],'depth':null}));};exports[_0xd8bb('0xb')]=function(_0x2246c9){return function(_0xe8f687){logger[_0xd8bb('0xc')](_0x2246c9,util[_0xd8bb('0x9')](_0xe8f687,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x2067d7,_0xfcca8b,_0x3271ca){return{'message':_0x2067d7,'unlock':_0xfcca8b,'active':_0x3271ca};};exports['getCallerId']=function(_0x22d9f5,_0x4b780a,_0x384ff0){if(!_[_0xd8bb('0xd')](_0x384ff0)&&'string'===typeof _0x384ff0&&!_[_0xd8bb('0xe')](_0x384ff0)){if(!_[_0xd8bb('0xd')](_0x4b780a)&&_0xd8bb('0xf')===typeof _0x4b780a&&!_[_0xd8bb('0xe')](_0x4b780a)){return util[_0xd8bb('0x10')](_0xd8bb('0x11'),_0x4b780a,_0x384ff0);}return util['format']('\x22%s\x22\x20<%s>',_0x384ff0,_0x384ff0);}if(!_['isUndefined'](_0x22d9f5)&&_0xd8bb('0xf')===typeof _0x22d9f5&&!_[_0xd8bb('0xe')](_0x22d9f5)){return _0x22d9f5;}return _0xd8bb('0x12');};exports[_0xd8bb('0x13')]=function(_0x14b101){if(_[_0xd8bb('0x14')](_0x14b101)){return![];}return _0x14b101;};exports[_0xd8bb('0x15')]=function(_0x154a18,_0x1cf5a9,_0x5a5649,_0x525eee,_0x5ea0f5,_0x92477b){var _0x3bbf38={'XMD-QUEUE':_0x1cf5a9[_0xd8bb('0x16')]?_0x1cf5a9[_0xd8bb('0x16')][_0xd8bb('0x17')]:'','XMD-CALLERID':_0x525eee,'XMD-CALLERID-PREVIEW':_0x92477b?util[_0xd8bb('0x10')](_0xd8bb('0x11'),_0x92477b['calleridname'],_0x92477b[_0xd8bb('0x18')]):_0x525eee,'XMD-DIALID':_0x5ea0f5,'XMD-CONTACTID':_0x1cf5a9[_0xd8bb('0x19')],'XMD-CDRTYPE':'dialer','CALLERID(all)':_0x525eee,'XMD-VOICEQUEUEID':_0x1cf5a9[_0xd8bb('0x1a')],'XMD-DIALCHANNEL':_0x5a5649,'XMD-DIALTIMEOUT':_0x154a18['dialOriginateTimeout']||0x1e,'XMD-DIALOPTIONS':util[_0xd8bb('0x10')](_0xd8bb('0x1b'),_0x154a18[_0xd8bb('0x1c')]?'g':'',_[_0xd8bb('0xe')](_0x154a18[_0xd8bb('0x1d')])?'':_0xd8bb('0x1e')),'XMD-DIALURL':_0x154a18['dialPreviewUrl']||'','XMD-AGI':_0x154a18[_0xd8bb('0x1f')]?util[_0xd8bb('0x10')](_0xd8bb('0x20'),ipAgi,_0x154a18[_0xd8bb('0x1f')]):_0xd8bb('0x21'),'XMD-AGIAFTER':_0x154a18[_0xd8bb('0x1c')]?util[_0xd8bb('0x10')](_0xd8bb('0x20'),ipAgi,_0x154a18[_0xd8bb('0x1c')]):_0xd8bb('0x21'),'XMD-ORIGINATECALLERIDNUM':_0x92477b?_0x92477b[_0xd8bb('0x22')]:'','XMD-ORIGINATECALLERIDNAME':_0x92477b?_0x92477b[_0xd8bb('0x23')]:'','XMD-DESTINATION':_0xd8bb('0x24')};if(!_[_0xd8bb('0xe')](_0x154a18[_0xd8bb('0x1d')])){_0x3bbf38[util[_0xd8bb('0x10')]('%s','_XCALLY_MIXMONITOR_FORMAT')]=_0x154a18[_0xd8bb('0x1d')];_0x3bbf38[util[_0xd8bb('0x10')]('%s',_0xd8bb('0x25'))]=_0x5ea0f5;}if(_0x1cf5a9&&_0x1cf5a9['Contact']){for(var _0x5345d2 in _0x1cf5a9['Contact']){if(_0x1cf5a9['Contact'][_0xd8bb('0x26')](_0x5345d2)){if(!_[_0xd8bb('0x14')](_0x1cf5a9['Contact'][_0x5345d2])&&_0x5345d2!=='id'&&_0x5345d2!=='tags'&&_0x5345d2!==_0xd8bb('0x27')&&_0x5345d2!=='updatedAt'){_0x3bbf38[util[_0xd8bb('0x10')](_0xd8bb('0x28'),_0xd8bb('0x29'),_[_0xd8bb('0x2a')](_0x5345d2))]=_0x1cf5a9[_0xd8bb('0x2b')][_0x5345d2];}}}}return _0x3bbf38;};exports['toLowerVariables']=function(_0x2a7bdb){var _0x482b22={};for(var _0x824184 in _0x2a7bdb){if(_0x2a7bdb[_0xd8bb('0x26')](_0x824184)){_0x482b22[util['format']('%s',_[_0xd8bb('0x2c')](_0x824184))]=_0x2a7bdb[_0x824184];}}return{'variables':_0x482b22};};exports[_0xd8bb('0x2d')]=function(_0x329690,_0x9c6b0d){if(!_[_0xd8bb('0x14')](_0x329690)){if(_0x329690['hasOwnProperty'](_0xd8bb('0x2e'))){if(_0x329690[_0xd8bb('0x2e')]>0x0){_0x329690[_0xd8bb('0x2e')]-=0x1;}else{logger[_0xd8bb('0x8')](_0xd8bb('0x2f'),_0x9c6b0d);}}}else{logger[_0xd8bb('0x8')](_0xd8bb('0x30'),_0x9c6b0d);}};exports[_0xd8bb('0x31')]=function(_0x2e3494){var _0x5113a1=moment()['format'](_0xd8bb('0x32'));_0x2e3494[_0xd8bb('0x33')]=0xd;_0x2e3494[_0xd8bb('0x34')]=_0xd8bb('0x35');_0x2e3494[_0xd8bb('0x36')]=_0x5113a1;_0x2e3494['responsetime']=_0x5113a1;_0x2e3494[_0xd8bb('0x37')]=_0x5113a1;};exports[_0xd8bb('0x38')]=function(_0x4d8ec8,_0x54e3bb,_0x309736){var _0x163b18=moment()['format'](_0xd8bb('0x32'));_0x4d8ec8[_0xd8bb('0x33')]=_0x54e3bb;_0x4d8ec8['statedesc']=_0x309736;_0x4d8ec8[_0xd8bb('0x39')]=_0x163b18;_0x4d8ec8[_0xd8bb('0x3a')]=getSeconds(_0x4d8ec8['responsetime'],_0x4d8ec8[_0xd8bb('0x36')]);};exports[_0xd8bb('0x3b')]=function(_0x2e0d21,_0xb77894,_0x43ec75){_0x2e0d21[_0xd8bb('0x3c')]=_0xb77894;_0x2e0d21[_0xd8bb('0x3d')]=_0x43ec75;};exports[_0xd8bb('0x3e')]=function(_0x571694,_0x45130f,_0x43463c){var _0x2d4795=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x571694[_0xd8bb('0x33')]=_0x45130f;_0x571694[_0xd8bb('0x34')]=_0x43463c;_0x571694['responsetime']=_0x571694['responsetime']?_0x571694['responsetime']:_0x2d4795;_0x571694[_0xd8bb('0x37')]=_0x571694['endtime']?_0x571694[_0xd8bb('0x37')]:_0x2d4795;_0x571694[_0xd8bb('0x3a')]=getSeconds(_0x571694['responsetime']||0x0,_0x571694[_0xd8bb('0x36')]||0x0);_0x571694[_0xd8bb('0x3f')]=_0x571694['answertime']?getSeconds(_0x571694[_0xd8bb('0x37')],_0x571694[_0xd8bb('0x40')]):0x0;};exports[_0xd8bb('0x41')]=function(_0x35c1e6){return _0x35c1e6===_0xd8bb('0x42');};exports[_0xd8bb('0x43')]=function(_0x25633f,_0x402576,_0x9dae46,_0x608442,_0x1633a0){var _0xa68f27=_0x608442?'RECALL':_0x25633f[_0xd8bb('0x44')];_0xa68f27=_0x1633a0?_0xd8bb('0x45'):_0xa68f27;return{'actionid':_0x25633f['uniqueid'],'action':_0xd8bb('0x46'),'channel':_0x25633f['channelAgent'],'callerid':util['format'](_0xd8bb('0x11'),_0xa68f27,_0x25633f[_0xd8bb('0x18')]),'Exten':_0xd8bb('0x24'),'Context':'from-sip','Priority':'1','variable':_0x9dae46,'timeout':(_0x402576[_0xd8bb('0x47')]||0x1e)*0x3e8,'async':!![],'channelid':_0x25633f['uniqueid']};};exports[_0xd8bb('0x48')]=function(_0x6cf57f){return _0x6cf57f['countbusyretry']+_0x6cf57f[_0xd8bb('0x49')]+_0x6cf57f['countnoanswerretry']+_0x6cf57f['countagentrejectretry']+_0x6cf57f['countnosuchnumberretry'];};exports['cloneAction']=function(_0x12676d){var _0xe02e83=_[_0xd8bb('0x4a')](_0x12676d);_0xe02e83[_0xd8bb('0x33')]=0xf;_0xe02e83[_0xd8bb('0x34')]=_0xd8bb('0x4b');return _0xe02e83;};exports[_0xd8bb('0x4c')]=function(_0x34c319,_0x564fb7,_0x3cee60){var _0x110548={};_0x110548[_0x564fb7]=_0x34c319[_0x564fb7];_0x110548[_0xd8bb('0x4d')]=![];_0x110548[_0xd8bb('0x4e')]=moment()[_0xd8bb('0x4f')](_0x3cee60,_0xd8bb('0x50'))[_0xd8bb('0x10')](_0xd8bb('0x32'));_0x110548['ContactId']=_0x34c319['ContactId'];_0x110548[_0xd8bb('0x51')]=_0x34c319[_0xd8bb('0x51')];_0x110548[_0xd8bb('0x1a')]=_0x34c319[_0xd8bb('0x1a')]||undefined;return _0x110548;};exports[_0xd8bb('0x52')]=function(_0x3a307e,_0x141ce0){if(!_[_0xd8bb('0x14')](_0x3a307e)){if(_0x3a307e['pTalking']>0x0){_0x3a307e[_0xd8bb('0x53')]-=0x1;}else{logger[_0xd8bb('0x8')](_0x141ce0,_0xd8bb('0x54'));}}else{logger['error'](_0x141ce0,_0xd8bb('0x55'));}};exports[_0xd8bb('0x56')]=function(_0x1f04b6){if(_0x1f04b6<=0x0){return!![];}return![];};exports[_0xd8bb('0x57')]=function(_0x4a8efa,_0x19819f,_0x296f57){_0x4a8efa['lastevent']=_0x19819f;_0x4a8efa['name']=_0x4a8efa['queue'];_0x4a8efa[_0xd8bb('0x58')]=_0x4a8efa[_0xd8bb('0x59')];if(_0x296f57){_0x4a8efa[_0xd8bb('0x5a')]=_0x296f57['mandatoryDisposition'];}return _0x4a8efa;};exports['buildAcw']=function(_0x197a53){var _0x4566ae={};_0x4566ae['queue']=_0x197a53[_0xd8bb('0x5b')];_0x4566ae[_0xd8bb('0x58')]=_0x197a53['channelAgent'];_0x4566ae[_0xd8bb('0x5c')]=_0x197a53[_0xd8bb('0x5c')];return _0x4566ae;};exports[_0xd8bb('0x5d')]=function(_0x3b109d){var _0x4f8f8c=[];for(var _0x51bffa in _0x3b109d){if(_0x3b109d[_0xd8bb('0x26')](_0x51bffa)){if(!_[_0xd8bb('0x14')](_0x3b109d[_0x51bffa])&&_0x3b109d[_0x51bffa]['state']==='not_inuse'&&_0x3b109d[_0x51bffa]['status']===_0xd8bb('0x5e')){_0x4f8f8c[_0xd8bb('0x5f')](_0x3b109d[_0x51bffa]['id']);}}}return _0x4f8f8c;};exports[_0xd8bb('0x60')]=function(_0x31f3ae){var _0x28d03a=moment()[_0xd8bb('0x5')](0x0);var _0x1787f9=moment(_0x31f3ae)[_0xd8bb('0x5')](0x0);return _0x28d03a[_0xd8bb('0x61')](_0x1787f9,_0xd8bb('0x6'));};exports[_0xd8bb('0x62')]=function(_0x38ccbd){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x38ccbd[_0xd8bb('0x19')],'ListId':_0x38ccbd['ListId'],'VoiceQueueId':_0x38ccbd[_0xd8bb('0x1a')]||undefined,'CampaignId':_0x38ccbd[_0xd8bb('0x63')]||undefined};};exports[_0xd8bb('0x64')]=function(_0xa70ad0){if(_0xa70ad0===_0xd8bb('0x5c')||_0xa70ad0===_0xd8bb('0x65')||_0xa70ad0==='queue'||_0xa70ad0===_0xd8bb('0x66')||_0xa70ad0==='campaigntype'||_0xa70ad0===_0xd8bb('0x67')||_0xa70ad0===_0xd8bb('0x3c')||_0xa70ad0===_0xd8bb('0x59')||_0xa70ad0===_0xd8bb('0x44')||_0xa70ad0===_0xd8bb('0x4d')||_0xa70ad0===_0xd8bb('0x18')||_0xa70ad0===_0xd8bb('0x4e')||_0xa70ad0==='countbusyretry'||_0xa70ad0===_0xd8bb('0x49')||_0xa70ad0===_0xd8bb('0x68')||_0xa70ad0===_0xd8bb('0x69')||_0xa70ad0==='callback'||_0xa70ad0===_0xd8bb('0x6a')||_0xa70ad0===_0xd8bb('0x6b')||_0xa70ad0===_0xd8bb('0x6c')||_0xa70ad0===_0xd8bb('0x19')||_0xa70ad0===_0xd8bb('0x51')||_0xa70ad0===_0xd8bb('0x3d')||_0xa70ad0===_0xd8bb('0x1a')||_0xa70ad0===_0xd8bb('0x6d')||_0xa70ad0===_0xd8bb('0x6e')||_0xa70ad0==='xmd-queue'||_0xa70ad0===_0xd8bb('0x6f')||_0xa70ad0==='xmd-listid'||_0xa70ad0==='xmd-dialurl'||_0xa70ad0===_0xd8bb('0x70')||_0xa70ad0===_0xd8bb('0x71')||_0xa70ad0===_0xd8bb('0x72')||_0xa70ad0===_0xd8bb('0x73')||_0xa70ad0==='xmd-contactid'||_0xa70ad0===_0xd8bb('0x74')||_0xa70ad0===_0xd8bb('0x75')||_0xa70ad0===_0xd8bb('0x76')||_0xa70ad0===_0xd8bb('0x77')||_0xa70ad0===_0xd8bb('0x78')||_0xa70ad0===_0xd8bb('0x79')||_0xa70ad0===_0xd8bb('0x7a')||_0xa70ad0===_0xd8bb('0x7b')||_0xa70ad0===_0xd8bb('0x7c')||_0xa70ad0==='rtpaudioqoslossbridged'||_0xa70ad0===_0xd8bb('0x7d')||_0xa70ad0===_0xd8bb('0x7e')||_0xa70ad0==='rtpaudioqos'||_0xa70ad0==='rtpaudioqosbridged'||_0xa70ad0===_0xd8bb('0x7a')||_0xa70ad0===_0xd8bb('0x7b')||_0xa70ad0===_0xd8bb('0x7c')||_0xa70ad0==='rtpaudioqoslossbridged'||_0xa70ad0===_0xd8bb('0x7d')||_0xa70ad0===_0xd8bb('0x7e')||_0xa70ad0===_0xd8bb('0x7f')||_0xa70ad0===_0xd8bb('0x80')||_0xa70ad0===_0xd8bb('0x33')||_0xa70ad0==='statedesc'){return![];}return!![];};exports[_0xd8bb('0x81')]=function(_0x23f52e,_0x1bf571){var _0x33ece5,_0x2a642b,_0x40866d;if(_0x1bf571<=0x0){_0x1bf571=0x1;}_0x33ece5=new RegExp('\x5cw{0,'+_0x1bf571+'}$');_0x2a642b=Math[_0xd8bb('0x82')](0xa,_0x1bf571-0x1);_0x40866d=Math[_0xd8bb('0x82')](0xa,_0x1bf571)-0x1;return util[_0xd8bb('0x10')]('%s',_['replace'](_0x23f52e,_0x33ece5,_[_0xd8bb('0x83')](_0x2a642b,_0x40866d)));};exports[_0xd8bb('0x84')]=function(_0x2ad2d6){var _0x334cfb=_0x2ad2d6[_0xd8bb('0x85')](/"(.*?)"/);return _0x334cfb?_0x334cfb[0x1]:_0x2ad2d6;};exports[_0xd8bb('0x86')]=function(_0x5eb3eb){var _0x4b8c91=_0x5eb3eb[_0xd8bb('0x85')](/<(.*?)>/);return _0x4b8c91?_0x4b8c91[0x1]:_0x5eb3eb;};