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 _0xb412=['pow','random','extractCalleridName','match','util','moment','../../../../config/logger','preview','XCALLY_IP_AGI','127.0.0.1','milliseconds','seconds','loggerCatch','error','info','inspect','loggerError','logger2','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','isActive','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','dialQueueProject2','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','isNil','tags','createdAt','updatedAt','%s%s','toUpper','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','UserId','logCustomer','answertime','Failure','variablesAction','RECALL','BOOKED','uniqueid','originate','channelAgent','countbusyretry','countcongestionretry','countnoanswerretry','clone','Global','active','scheduledat','add','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','buildObj','queue','interface','mandatoryDisposition','agentReadyId','not_inuse','reachable','push','getDiff','createBody','CampaignId','filterKey','type','dialAnswer','membername','countglobal','callback','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-phone','xmd-listid','xmd-dialtimeout','xmd-contactid','xmd-cdrtype','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosbridged','getCallerIdRandom'];(function(_0x3f4672,_0x3e8286){var _0x11b229=function(_0x4b594d){while(--_0x4b594d){_0x3f4672['push'](_0x3f4672['shift']());}};_0x11b229(++_0x3e8286);}(_0xb412,0x86));var _0x2b41=function(_0x49147a,_0x510a88){_0x49147a=_0x49147a-0x0;var _0x2a50b2=_0xb412[_0x49147a];return _0x2a50b2;};'use strict';var util=require(_0x2b41('0x0'));var _=require('lodash');var moment=require(_0x2b41('0x1'));var logger=require(_0x2b41('0x2'))(_0x2b41('0x3'));var ipAgi=process['env'][_0x2b41('0x4')]||_0x2b41('0x5');function getSeconds(_0x39eb0f,_0x3754f7){var _0x5e5d90=moment(_0x39eb0f)['milliseconds'](0x0);var _0x23a548=moment(_0x3754f7)[_0x2b41('0x6')](0x0);return _0x5e5d90['diff'](_0x23a548,_0x2b41('0x7'));}exports[_0x2b41('0x8')]=function(_0x520493){return function(_0x39872e){logger[_0x2b41('0x9')](_0x520493,util['inspect'](_0x39872e,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x324cec,_0x4157b8){logger[_0x2b41('0xa')](_0x324cec,util[_0x2b41('0xb')](_0x4157b8,{'showHidden':![],'depth':null}));};exports[_0x2b41('0xc')]=function(_0x16b6b0,_0x5ab4fd){logger[_0x2b41('0x9')](_0x16b6b0,util['inspect'](_0x5ab4fd,{'showHidden':![],'depth':null}));};exports[_0x2b41('0xd')]=function(_0x433e1c){return function(_0x4306db){logger[_0x2b41('0xa')](_0x433e1c,util[_0x2b41('0xb')](_0x4306db,{'showHidden':![],'depth':null}));};};exports['message']=function(_0xf84de,_0x5ea0ef,_0x369595){return{'message':_0xf84de,'unlock':_0x5ea0ef,'active':_0x369595};};exports[_0x2b41('0xe')]=function(_0x45c7c9,_0x44c9ac,_0x284a1c){if(!_[_0x2b41('0xf')](_0x284a1c)&&_0x2b41('0x10')===typeof _0x284a1c&&!_['isEmpty'](_0x284a1c)){if(!_[_0x2b41('0xf')](_0x44c9ac)&&_0x2b41('0x10')===typeof _0x44c9ac&&!_[_0x2b41('0x11')](_0x44c9ac)){return util[_0x2b41('0x12')]('\x22%s\x22\x20<%s>',_0x44c9ac,_0x284a1c);}return util[_0x2b41('0x12')](_0x2b41('0x13'),_0x284a1c,_0x284a1c);}if(!_['isUndefined'](_0x45c7c9)&&_0x2b41('0x10')===typeof _0x45c7c9&&!_[_0x2b41('0x11')](_0x45c7c9)){return _0x45c7c9;}return'\x22\x22\x20<>';};exports[_0x2b41('0x14')]=function(_0x21bb81){if(_['isNil'](_0x21bb81)){return![];}return _0x21bb81;};exports[_0x2b41('0x15')]=function(_0x3d1ce2,_0x236c8e,_0x1984cf,_0xf7ec74,_0x1c6b73,_0x528665){var _0x2fc7af={'XMD-QUEUE':_0x236c8e['Queue']?_0x236c8e[_0x2b41('0x16')][_0x2b41('0x17')]:'','XMD-CALLERID':_0xf7ec74,'XMD-CALLERID-PREVIEW':_0x528665?util[_0x2b41('0x12')]('\x22%s\x22\x20<%s>',_0x528665[_0x2b41('0x18')],_0x528665[_0x2b41('0x19')]):_0xf7ec74,'XMD-DIALID':_0x1c6b73,'XMD-CONTACTID':_0x236c8e[_0x2b41('0x1a')],'XMD-CDRTYPE':_0x2b41('0x1b'),'CALLERID(all)':_0xf7ec74,'XMD-VOICEQUEUEID':_0x236c8e[_0x2b41('0x1c')],'XMD-DIALCHANNEL':_0x1984cf,'XMD-DIALTIMEOUT':_0x3d1ce2[_0x2b41('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0x2b41('0x12')](_0x2b41('0x1e'),_0x3d1ce2['dialQueueProject2']?'g':'',_['isEmpty'](_0x3d1ce2[_0x2b41('0x1f')])?'':_0x2b41('0x20')),'XMD-DIALURL':_0x3d1ce2[_0x2b41('0x21')]||'','XMD-AGI':_0x3d1ce2['dialQueueProject']?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0x3d1ce2['dialQueueProject']):'NONE','XMD-AGIAFTER':_0x3d1ce2['dialQueueProject2']?util[_0x2b41('0x12')](_0x2b41('0x22'),ipAgi,_0x3d1ce2[_0x2b41('0x23')]):_0x2b41('0x24'),'XMD-ORIGINATECALLERIDNUM':_0x528665?_0x528665[_0x2b41('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x528665?_0x528665[_0x2b41('0x26')]:'','XMD-DESTINATION':_0x2b41('0x27')};if(!_[_0x2b41('0x11')](_0x3d1ce2['monitor_format'])){_0x2fc7af[util[_0x2b41('0x12')]('%s',_0x2b41('0x28'))]=_0x3d1ce2[_0x2b41('0x1f')];_0x2fc7af[util[_0x2b41('0x12')]('%s',_0x2b41('0x29'))]=_0x1c6b73;}if(_0x236c8e&&_0x236c8e['Contact']){for(var _0x1f1983 in _0x236c8e[_0x2b41('0x2a')]){if(_0x236c8e[_0x2b41('0x2a')]['hasOwnProperty'](_0x1f1983)){if(!_[_0x2b41('0x2b')](_0x236c8e[_0x2b41('0x2a')][_0x1f1983])&&_0x1f1983!=='id'&&_0x1f1983!==_0x2b41('0x2c')&&_0x1f1983!==_0x2b41('0x2d')&&_0x1f1983!==_0x2b41('0x2e')){_0x2fc7af[util['format'](_0x2b41('0x2f'),'XMD-',_[_0x2b41('0x30')](_0x1f1983))]=_0x236c8e['Contact'][_0x1f1983];}}}}return _0x2fc7af;};exports['toLowerVariables']=function(_0x5a6aa2){var _0x2a1020={};for(var _0x457c61 in _0x5a6aa2){if(_0x5a6aa2[_0x2b41('0x31')](_0x457c61)){_0x2a1020[util[_0x2b41('0x12')]('%s',_[_0x2b41('0x32')](_0x457c61))]=_0x5a6aa2[_0x457c61];}}return{'variables':_0x2a1020};};exports[_0x2b41('0x33')]=function(_0x461901,_0x43f496){if(!_[_0x2b41('0x2b')](_0x461901)){if(_0x461901[_0x2b41('0x31')](_0x2b41('0x34'))){if(_0x461901['originated']>0x0){_0x461901[_0x2b41('0x34')]-=0x1;}else{logger[_0x2b41('0x9')](_0x2b41('0x35'),_0x43f496);}}}else{logger[_0x2b41('0x9')](_0x2b41('0x36'),_0x43f496);}};exports[_0x2b41('0x37')]=function(_0x1686bb){var _0x47f4dd=moment()[_0x2b41('0x12')](_0x2b41('0x38'));_0x1686bb[_0x2b41('0x39')]=0xd;_0x1686bb[_0x2b41('0x3a')]='Blacklist';_0x1686bb[_0x2b41('0x3b')]=_0x47f4dd;_0x1686bb[_0x2b41('0x3c')]=_0x47f4dd;_0x1686bb[_0x2b41('0x3d')]=_0x47f4dd;};exports[_0x2b41('0x3e')]=function(_0x266c55,_0x5cc593,_0x239e02){var _0x1fc03f=moment()[_0x2b41('0x12')](_0x2b41('0x38'));_0x266c55['state']=_0x5cc593;_0x266c55['statedesc']=_0x239e02;_0x266c55[_0x2b41('0x3c')]=_0x1fc03f;_0x266c55[_0x2b41('0x3f')]=getSeconds(_0x266c55[_0x2b41('0x3c')],_0x266c55[_0x2b41('0x3b')]);};exports[_0x2b41('0x40')]=function(_0x13e9d8,_0x4d74fd,_0x433afc){_0x13e9d8['membername']=_0x4d74fd;_0x13e9d8[_0x2b41('0x41')]=_0x433afc;};exports[_0x2b41('0x42')]=function(_0x47d327,_0x1afbf9,_0x32d177){var _0x1d85ca=moment()[_0x2b41('0x12')](_0x2b41('0x38'));_0x47d327[_0x2b41('0x39')]=_0x1afbf9;_0x47d327[_0x2b41('0x3a')]=_0x32d177;_0x47d327[_0x2b41('0x3c')]=_0x47d327[_0x2b41('0x3c')]?_0x47d327[_0x2b41('0x3c')]:_0x1d85ca;_0x47d327[_0x2b41('0x3d')]=_0x47d327[_0x2b41('0x3d')]?_0x47d327[_0x2b41('0x3d')]:_0x1d85ca;_0x47d327['ringtime']=getSeconds(_0x47d327[_0x2b41('0x3c')]||0x0,_0x47d327['starttime']||0x0);_0x47d327['talktime']=_0x47d327[_0x2b41('0x43')]?getSeconds(_0x47d327[_0x2b41('0x3d')],_0x47d327[_0x2b41('0x43')]):0x0;};exports['isFailure']=function(_0x4b2e57){return _0x4b2e57===_0x2b41('0x44');};exports[_0x2b41('0x45')]=function(_0x10cde6,_0x29d2ce,_0x2724da,_0x12e718,_0x1d6465){var _0x229c93=_0x12e718?_0x2b41('0x46'):_0x10cde6[_0x2b41('0x18')];_0x229c93=_0x1d6465?_0x2b41('0x47'):_0x229c93;return{'actionid':_0x10cde6[_0x2b41('0x48')],'action':_0x2b41('0x49'),'channel':_0x10cde6[_0x2b41('0x4a')],'callerid':util[_0x2b41('0x12')](_0x2b41('0x13'),_0x229c93,_0x10cde6[_0x2b41('0x19')]),'Exten':_0x2b41('0x27'),'Context':'from-sip','Priority':'1','variable':_0x2724da,'timeout':(_0x29d2ce['timeout']||0x1e)*0x3e8,'async':!![],'channelid':_0x10cde6[_0x2b41('0x48')]};};exports['totalGlobal']=function(_0x5bb025){return _0x5bb025[_0x2b41('0x4b')]+_0x5bb025[_0x2b41('0x4c')]+_0x5bb025[_0x2b41('0x4d')]+_0x5bb025['countagentrejectretry']+_0x5bb025['countnosuchnumberretry'];};exports['cloneAction']=function(_0x467c7a){var _0x3ff115=_[_0x2b41('0x4e')](_0x467c7a);_0x3ff115[_0x2b41('0x39')]=0xf;_0x3ff115['statedesc']=_0x2b41('0x4f');return _0x3ff115;};exports['scheduledAt']=function(_0x35a2ab,_0x72a9a9,_0x55cb74){var _0x2eca71={};_0x2eca71[_0x72a9a9]=_0x35a2ab[_0x72a9a9];_0x2eca71[_0x2b41('0x50')]=![];_0x2eca71[_0x2b41('0x51')]=moment()[_0x2b41('0x52')](_0x55cb74,'minutes')[_0x2b41('0x12')](_0x2b41('0x38'));_0x2eca71[_0x2b41('0x1a')]=_0x35a2ab[_0x2b41('0x1a')];_0x2eca71[_0x2b41('0x53')]=_0x35a2ab[_0x2b41('0x53')];_0x2eca71['VoiceQueueId']=_0x35a2ab[_0x2b41('0x1c')]||undefined;return _0x2eca71;};exports['decrementTalkink']=function(_0x3d35bb,_0x47b362){if(!_[_0x2b41('0x2b')](_0x3d35bb)){if(_0x3d35bb[_0x2b41('0x54')]>0x0){_0x3d35bb[_0x2b41('0x54')]-=0x1;}else{logger[_0x2b41('0x9')](_0x47b362,_0x2b41('0x55'));}}else{logger['error'](_0x47b362,_0x2b41('0x56'));}};exports[_0x2b41('0x57')]=function(_0x485760){if(_0x485760<=0x0){return!![];}return![];};exports[_0x2b41('0x58')]=function(_0x2ef884,_0x2c469c,_0x3efdef){_0x2ef884['lastevent']=_0x2c469c;_0x2ef884[_0x2b41('0x17')]=_0x2ef884[_0x2b41('0x59')];_0x2ef884[_0x2b41('0x5a')]=_0x2ef884[_0x2b41('0x4a')];if(_0x3efdef){_0x2ef884[_0x2b41('0x5b')]=_0x3efdef['mandatoryDisposition'];}return _0x2ef884;};exports['buildAcw']=function(_0x14767c){var _0x323bd3={};_0x323bd3[_0x2b41('0x59')]=_0x14767c[_0x2b41('0x59')];_0x323bd3['interface']=_0x14767c[_0x2b41('0x4a')];_0x323bd3['uniqueid']=_0x14767c[_0x2b41('0x48')];return _0x323bd3;};exports[_0x2b41('0x5c')]=function(_0x56aecd){var _0x1bc4f8=[];for(var _0x410dd1 in _0x56aecd){if(_0x56aecd[_0x2b41('0x31')](_0x410dd1)){if(!_[_0x2b41('0x2b')](_0x56aecd[_0x410dd1])&&_0x56aecd[_0x410dd1][_0x2b41('0x39')]===_0x2b41('0x5d')&&_0x56aecd[_0x410dd1]['status']===_0x2b41('0x5e')){_0x1bc4f8[_0x2b41('0x5f')](_0x56aecd[_0x410dd1]['id']);}}}return _0x1bc4f8;};exports[_0x2b41('0x60')]=function(_0x36e046){var _0x150d82=moment()[_0x2b41('0x6')](0x0);var _0x4774df=moment(_0x36e046)[_0x2b41('0x6')](0x0);return _0x150d82['diff'](_0x4774df,_0x2b41('0x7'));};exports[_0x2b41('0x61')]=function(_0x26d098){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x26d098[_0x2b41('0x1a')],'ListId':_0x26d098['ListId'],'VoiceQueueId':_0x26d098[_0x2b41('0x1c')]||undefined,'CampaignId':_0x26d098[_0x2b41('0x62')]||undefined};};exports[_0x2b41('0x63')]=function(_0x34f212){if(_0x34f212===_0x2b41('0x48')||_0x34f212==='idContact'||_0x34f212==='queue'||_0x34f212===_0x2b41('0x64')||_0x34f212==='campaigntype'||_0x34f212===_0x2b41('0x65')||_0x34f212===_0x2b41('0x66')||_0x34f212===_0x2b41('0x4a')||_0x34f212==='calleridname'||_0x34f212===_0x2b41('0x50')||_0x34f212===_0x2b41('0x19')||_0x34f212===_0x2b41('0x51')||_0x34f212===_0x2b41('0x4b')||_0x34f212===_0x2b41('0x4c')||_0x34f212===_0x2b41('0x4d')||_0x34f212===_0x2b41('0x67')||_0x34f212===_0x2b41('0x68')||_0x34f212===_0x2b41('0x69')||_0x34f212===_0x2b41('0x6a')||_0x34f212===_0x2b41('0x6b')||_0x34f212===_0x2b41('0x1a')||_0x34f212===_0x2b41('0x53')||_0x34f212==='UserId'||_0x34f212===_0x2b41('0x1c')||_0x34f212===_0x2b41('0x6c')||_0x34f212===_0x2b41('0x6d')||_0x34f212==='xmd-queue'||_0x34f212===_0x2b41('0x6e')||_0x34f212===_0x2b41('0x6f')||_0x34f212==='xmd-dialurl'||_0x34f212===_0x2b41('0x70')||_0x34f212==='xmd-dialoptions'||_0x34f212==='xmd-dialid'||_0x34f212==='xmd-dialchannel'||_0x34f212===_0x2b41('0x71')||_0x34f212===_0x2b41('0x72')||_0x34f212==='xmd-callerid'||_0x34f212===_0x2b41('0x73')||_0x34f212===_0x2b41('0x74')||_0x34f212===_0x2b41('0x75')||_0x34f212==='rtpaudioqosbridged'||_0x34f212===_0x2b41('0x76')||_0x34f212===_0x2b41('0x77')||_0x34f212===_0x2b41('0x78')||_0x34f212===_0x2b41('0x79')||_0x34f212===_0x2b41('0x7a')||_0x34f212===_0x2b41('0x7b')||_0x34f212===_0x2b41('0x75')||_0x34f212===_0x2b41('0x7c')||_0x34f212===_0x2b41('0x76')||_0x34f212===_0x2b41('0x77')||_0x34f212===_0x2b41('0x78')||_0x34f212===_0x2b41('0x79')||_0x34f212===_0x2b41('0x7a')||_0x34f212==='rtpaudioqosrttbridged'||_0x34f212==='bridgepeer'||_0x34f212==='bridgepvtcallid'||_0x34f212===_0x2b41('0x39')||_0x34f212==='statedesc'){return![];}return!![];};exports[_0x2b41('0x7d')]=function(_0x20e606,_0x1a55ec){var _0x144f7,_0xae9802,_0x4f420c;if(_0x1a55ec<=0x0){_0x1a55ec=0x1;}_0x144f7=new RegExp('\x5cw{0,'+_0x1a55ec+'}$');_0xae9802=Math[_0x2b41('0x7e')](0xa,_0x1a55ec-0x1);_0x4f420c=Math[_0x2b41('0x7e')](0xa,_0x1a55ec)-0x1;return util[_0x2b41('0x12')]('%s',_['replace'](_0x20e606,_0x144f7,_[_0x2b41('0x7f')](_0xae9802,_0x4f420c)));};exports[_0x2b41('0x80')]=function(_0x166e62){var _0x62895e=_0x166e62[_0x2b41('0x81')](/"(.*?)"/);return _0x62895e?_0x62895e[0x1]:_0x166e62;};exports['extractCalleridNumber']=function(_0x5a1286){var _0x2272de=_0x5a1286[_0x2b41('0x81')](/<(.*?)>/);return _0x2272de?_0x2272de[0x1]:_0x5a1286;};