Built motion from commit ff426b3f.|2.6.29
[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 _0x7cf3=['../../dialer/utils','error','inspect','info','loggerError','logger2','message','getCallerId','isEmpty','format','\x22%s\x22\x20<%s>','isUndefined','isActive','isNil','addVariables','Queue','calleridname','calleridnum','ContactId','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','monitor_format','_XCALLY_MIXMONITOR_FORMAT','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','responsetime','endtime','logAgent','ringtime','getSeconds','starttime','logLookAgent','membername','UserId','logCustomer','answertime','variablesAction','RECALL','BOOKED','uniqueid','originate','channelAgent','timeout','totalGlobal','countcongestionretry','countnoanswerretry','cloneAction','clone','Global','scheduledAt','active','scheduledat','minutes','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','name','queue','interface','motionChannel','mandatoryDisposition','buildObj','agentReadyId','not_inuse','status','reachable','push','getDiff','milliseconds','createBody','CampaignId','filterKey','idContact','campaigntype','dialAnswer','countbusyretry','countglobal','callbackat','sipcallid','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepeer','bridgepvtcallid','\x5cw{0,','pow','replace','random','extractCalleridNumber','match','noanswer','keys','variables','toLowerCase','buildNoAnswerEventPayload','moment','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x7cf3,0x114));var _0x37cf=function(_0x4cd690,_0x4797cc){_0x4cd690=_0x4cd690-0x0;var _0x4a74a9=_0x7cf3[_0x4cd690];return _0x4a74a9;};'use strict';var util=require('util');var _=require('lodash');var moment=require(_0x37cf('0x0'));var logger=require(_0x37cf('0x1'))(_0x37cf('0x2'));var ipAgi=process[_0x37cf('0x3')][_0x37cf('0x4')]||_0x37cf('0x5');var utils=require(_0x37cf('0x6'));exports['loggerCatch']=function(_0x56a692){return function(_0x4c2793){logger[_0x37cf('0x7')](_0x56a692,util[_0x37cf('0x8')](_0x4c2793,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x419e43,_0x1d633e){logger[_0x37cf('0x9')](_0x419e43,util[_0x37cf('0x8')](_0x1d633e,{'showHidden':![],'depth':null}));};exports[_0x37cf('0xa')]=function(_0x94a504,_0x530e05){logger[_0x37cf('0x7')](_0x94a504,util[_0x37cf('0x8')](_0x530e05,{'showHidden':![],'depth':null}));};exports[_0x37cf('0xb')]=function(_0x57fd22){return function(_0x2c4231){logger['info'](_0x57fd22,util[_0x37cf('0x8')](_0x2c4231,{'showHidden':![],'depth':null}));};};exports[_0x37cf('0xc')]=function(_0xaa5f1e,_0x24d8c2,_0x583c9a){return{'message':_0xaa5f1e,'unlock':_0x24d8c2,'active':_0x583c9a};};exports[_0x37cf('0xd')]=function(_0x5f68b7,_0x3f4d28,_0x2cb8ae){if(!_['isUndefined'](_0x2cb8ae)&&'string'===typeof _0x2cb8ae&&!_['isEmpty'](_0x2cb8ae)){if(!_['isUndefined'](_0x3f4d28)&&'string'===typeof _0x3f4d28&&!_[_0x37cf('0xe')](_0x3f4d28)){return util[_0x37cf('0xf')](_0x37cf('0x10'),_0x3f4d28,_0x2cb8ae);}return util[_0x37cf('0xf')](_0x37cf('0x10'),_0x2cb8ae,_0x2cb8ae);}if(!_[_0x37cf('0x11')](_0x5f68b7)&&'string'===typeof _0x5f68b7&&!_[_0x37cf('0xe')](_0x5f68b7)){return _0x5f68b7;}return'\x22\x22\x20<>';};exports[_0x37cf('0x12')]=function(_0x2eaaf4){if(_[_0x37cf('0x13')](_0x2eaaf4)){return![];}return _0x2eaaf4;};exports[_0x37cf('0x14')]=function(_0x2bf890,_0x7f2a40,_0x5d5a75,_0x175b8a,_0x3a709e,_0x48e792){var _0xc5f11b={'XMD-QUEUE':_0x7f2a40[_0x37cf('0x15')]?_0x7f2a40['Queue']['name']:'','XMD-CALLERID':_0x175b8a,'XMD-CALLERID-PREVIEW':_0x48e792?util[_0x37cf('0xf')]('\x22%s\x22\x20<%s>',_0x48e792[_0x37cf('0x16')],_0x48e792[_0x37cf('0x17')]):_0x175b8a,'XMD-DIALID':_0x3a709e,'XMD-CONTACTID':_0x7f2a40[_0x37cf('0x18')],'XMD-CDRTYPE':_0x37cf('0x19'),'CALLERID(all)':_0x175b8a,'XMD-VOICEQUEUEID':_0x7f2a40['VoiceQueueId'],'XMD-DIALCHANNEL':_0x5d5a75,'XMD-DIALTIMEOUT':_0x2bf890[_0x37cf('0x1a')]||0x1e,'XMD-DIALOPTIONS':util[_0x37cf('0xf')](_0x37cf('0x1b'),_0x2bf890[_0x37cf('0x1c')]?'g':'',_['isEmpty'](_0x2bf890['monitor_format'])?'':'U(xcally-mixmonitor-context)'),'XMD-DIALURL':_0x2bf890[_0x37cf('0x1d')]||'','XMD-AGI':_0x2bf890[_0x37cf('0x1e')]?util['format'](_0x37cf('0x1f'),ipAgi,_0x2bf890['dialQueueProject']):_0x37cf('0x20'),'XMD-AGIAFTER':_0x2bf890['dialQueueProject2']?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0x2bf890[_0x37cf('0x1c')]):_0x37cf('0x20'),'XMD-ORIGINATECALLERIDNUM':_0x48e792?_0x48e792[_0x37cf('0x21')]:'','XMD-ORIGINATECALLERIDNAME':_0x48e792?_0x48e792[_0x37cf('0x22')]:'','XMD-DESTINATION':_0x37cf('0x23'),'SIPADDHEADER':_0x37cf('0x24')};if(!_[_0x37cf('0xe')](_0x2bf890[_0x37cf('0x25')])){_0xc5f11b[util[_0x37cf('0xf')]('%s',_0x37cf('0x26'))]=_0x2bf890[_0x37cf('0x25')];_0xc5f11b[util[_0x37cf('0xf')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x3a709e;}return _0xc5f11b;};exports['toLowerVariables']=function(_0x482edb){var _0x1f1a3e={};for(var _0x1579b4 in _0x482edb){if(_0x482edb[_0x37cf('0x27')](_0x1579b4)){_0x1f1a3e[util['format']('%s',_[_0x37cf('0x28')](_0x1579b4))]=_0x482edb[_0x1579b4];}}return{'variables':_0x1f1a3e};};exports[_0x37cf('0x29')]=function(_0x186f81,_0x2ce9e4){if(!_[_0x37cf('0x13')](_0x186f81)){if(_0x186f81[_0x37cf('0x27')]('originated')){if(_0x186f81['originated']>0x0){_0x186f81[_0x37cf('0x2a')]-=0x1;}else{logger[_0x37cf('0x7')](_0x37cf('0x2b'),_0x2ce9e4);}}}else{logger[_0x37cf('0x7')]('[updateOriginated]\x20is\x20null\x20or\x20undefined',_0x2ce9e4);}};exports[_0x37cf('0x2c')]=function(_0x989d51){var _0x883548=moment()[_0x37cf('0xf')](_0x37cf('0x2d'));_0x989d51[_0x37cf('0x2e')]=0xd;_0x989d51[_0x37cf('0x2f')]=_0x37cf('0x30');_0x989d51['starttime']=_0x883548;_0x989d51[_0x37cf('0x31')]=_0x883548;_0x989d51[_0x37cf('0x32')]=_0x883548;};exports[_0x37cf('0x33')]=function(_0x5b1b19,_0x253be9,_0x284cd1){var _0x20f222=moment()[_0x37cf('0xf')]('YYYY-MM-DD\x20HH:mm:ss');_0x5b1b19[_0x37cf('0x2e')]=_0x253be9;_0x5b1b19[_0x37cf('0x2f')]=_0x284cd1;_0x5b1b19[_0x37cf('0x31')]=_0x20f222;_0x5b1b19[_0x37cf('0x34')]=utils[_0x37cf('0x35')](_0x5b1b19[_0x37cf('0x31')],_0x5b1b19[_0x37cf('0x36')]);};exports[_0x37cf('0x37')]=function(_0x5d5105,_0x519df4,_0x4c59db){_0x5d5105[_0x37cf('0x38')]=_0x519df4;_0x5d5105[_0x37cf('0x39')]=_0x4c59db;};exports[_0x37cf('0x3a')]=function(_0x12c261,_0x101301,_0x19ce4e){var _0x4b64a2=moment()[_0x37cf('0xf')](_0x37cf('0x2d'));_0x12c261['state']=_0x101301;_0x12c261[_0x37cf('0x2f')]=_0x19ce4e;_0x12c261['responsetime']=_0x12c261[_0x37cf('0x31')]?_0x12c261[_0x37cf('0x31')]:_0x4b64a2;_0x12c261[_0x37cf('0x32')]=_0x12c261[_0x37cf('0x32')]?_0x12c261[_0x37cf('0x32')]:_0x4b64a2;_0x12c261[_0x37cf('0x34')]=utils[_0x37cf('0x35')](_0x12c261[_0x37cf('0x31')]||0x0,_0x12c261[_0x37cf('0x36')]||0x0);_0x12c261['talktime']=_0x12c261[_0x37cf('0x3b')]?utils[_0x37cf('0x35')](_0x12c261['endtime'],_0x12c261[_0x37cf('0x3b')]):0x0;};exports['isFailure']=function(_0x3c3103){return _0x3c3103==='Failure';};exports[_0x37cf('0x3c')]=function(_0x55006e,_0x29bf4b,_0x528685,_0x10f853,_0x4ac21b){var _0x4973ec=_0x10f853?_0x37cf('0x3d'):_0x55006e['calleridname'];_0x4973ec=_0x4ac21b?_0x37cf('0x3e'):_0x4973ec;return{'actionid':_0x55006e[_0x37cf('0x3f')],'action':_0x37cf('0x40'),'channel':_0x55006e[_0x37cf('0x41')],'callerid':util[_0x37cf('0xf')](_0x37cf('0x10'),_0x4973ec,_0x55006e[_0x37cf('0x17')]),'Exten':_0x37cf('0x23'),'Context':'from-sip','Priority':'1','variable':_0x528685,'timeout':(_0x29bf4b[_0x37cf('0x42')]||0x1e)*0x3e8,'async':!![],'channelid':_0x55006e[_0x37cf('0x3f')]};};exports[_0x37cf('0x43')]=function(_0x185861){return _0x185861['countbusyretry']+_0x185861[_0x37cf('0x44')]+_0x185861[_0x37cf('0x45')]+_0x185861['countagentrejectretry']+_0x185861['countnosuchnumberretry'];};exports[_0x37cf('0x46')]=function(_0x544d07){var _0x510a94=_[_0x37cf('0x47')](_0x544d07);_0x510a94['state']=0xf;_0x510a94[_0x37cf('0x2f')]=_0x37cf('0x48');return _0x510a94;};exports[_0x37cf('0x49')]=function(_0xf76c71,_0x349dcc,_0x32896b){var _0x153be2={};_0x153be2[_0x349dcc]=_0xf76c71[_0x349dcc];_0x153be2[_0x37cf('0x4a')]=![];_0x153be2[_0x37cf('0x4b')]=moment()['add'](_0x32896b,_0x37cf('0x4c'))[_0x37cf('0xf')](_0x37cf('0x2d'));_0x153be2[_0x37cf('0x18')]=_0xf76c71[_0x37cf('0x18')];_0x153be2[_0x37cf('0x4d')]=_0xf76c71[_0x37cf('0x4d')];_0x153be2[_0x37cf('0x4e')]=_0xf76c71['VoiceQueueId']||undefined;return _0x153be2;};exports[_0x37cf('0x4f')]=function(_0x4f26b4,_0x2cb475){if(!_[_0x37cf('0x13')](_0x4f26b4)){if(_0x4f26b4[_0x37cf('0x50')]>0x0){_0x4f26b4[_0x37cf('0x50')]-=0x1;}else{logger[_0x37cf('0x7')](_0x2cb475,_0x37cf('0x51'));}}else{logger[_0x37cf('0x7')](_0x2cb475,_0x37cf('0x52'));}};exports[_0x37cf('0x53')]=function(_0x3de3a9){if(_0x3de3a9<=0x0){return!![];}return![];};function buildObj(_0x344bac,_0x44b97d,_0x4f861d){_0x344bac[_0x37cf('0x54')]=_0x44b97d;_0x344bac[_0x37cf('0x55')]=_0x344bac[_0x37cf('0x56')];_0x344bac[_0x37cf('0x57')]=_0x344bac[_0x37cf('0x41')];_0x344bac[_0x37cf('0x58')]='voice';if(_0x4f861d){_0x344bac[_0x37cf('0x59')]=_0x4f861d[_0x37cf('0x59')];}return _0x344bac;}exports[_0x37cf('0x5a')]=buildObj;exports[_0x37cf('0x5b')]=function(_0x40deab){var _0x45401d=[];for(var _0x94eaa4 in _0x40deab){if(_0x40deab['hasOwnProperty'](_0x94eaa4)){if(!_['isNil'](_0x40deab[_0x94eaa4])&&_0x40deab[_0x94eaa4]['state']===_0x37cf('0x5c')&&_0x40deab[_0x94eaa4][_0x37cf('0x5d')]===_0x37cf('0x5e')){_0x45401d[_0x37cf('0x5f')](_0x40deab[_0x94eaa4]['id']);}}}return _0x45401d;};exports[_0x37cf('0x60')]=function(_0x233d67){var _0x235875=moment()[_0x37cf('0x61')](0x0);var _0xe1475b=moment(_0x233d67)['milliseconds'](0x0);return _0x235875['diff'](_0xe1475b,'seconds');};exports[_0x37cf('0x62')]=function(_0x28e777){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x28e777[_0x37cf('0x18')],'ListId':_0x28e777[_0x37cf('0x4d')],'VoiceQueueId':_0x28e777[_0x37cf('0x4e')]||undefined,'CampaignId':_0x28e777[_0x37cf('0x63')]||undefined};};exports[_0x37cf('0x64')]=function(_0x50458e){if(_0x50458e===_0x37cf('0x3f')||_0x50458e===_0x37cf('0x65')||_0x50458e===_0x37cf('0x56')||_0x50458e==='type'||_0x50458e===_0x37cf('0x66')||_0x50458e===_0x37cf('0x67')||_0x50458e===_0x37cf('0x38')||_0x50458e===_0x37cf('0x41')||_0x50458e==='calleridname'||_0x50458e===_0x37cf('0x4a')||_0x50458e===_0x37cf('0x17')||_0x50458e==='scheduledat'||_0x50458e===_0x37cf('0x68')||_0x50458e===_0x37cf('0x44')||_0x50458e===_0x37cf('0x45')||_0x50458e===_0x37cf('0x69')||_0x50458e==='callback'||_0x50458e==='callbackuniqueid'||_0x50458e===_0x37cf('0x6a')||_0x50458e==='recallme'||_0x50458e===_0x37cf('0x18')||_0x50458e==='ListId'||_0x50458e==='UserId'||_0x50458e===_0x37cf('0x4e')||_0x50458e===_0x37cf('0x6b')||_0x50458e==='xmd-voicequeueid'||_0x50458e==='xmd-queue'||_0x50458e===_0x37cf('0x6c')||_0x50458e===_0x37cf('0x6d')||_0x50458e===_0x37cf('0x6e')||_0x50458e===_0x37cf('0x6f')||_0x50458e===_0x37cf('0x70')||_0x50458e===_0x37cf('0x71')||_0x50458e===_0x37cf('0x72')||_0x50458e===_0x37cf('0x73')||_0x50458e===_0x37cf('0x74')||_0x50458e===_0x37cf('0x75')||_0x50458e===_0x37cf('0x76')||_0x50458e===_0x37cf('0x77')||_0x50458e===_0x37cf('0x78')||_0x50458e===_0x37cf('0x79')||_0x50458e===_0x37cf('0x7a')||_0x50458e===_0x37cf('0x7b')||_0x50458e===_0x37cf('0x7c')||_0x50458e===_0x37cf('0x7d')||_0x50458e===_0x37cf('0x7e')||_0x50458e==='rtpaudioqosrttbridged'||_0x50458e===_0x37cf('0x78')||_0x50458e===_0x37cf('0x79')||_0x50458e===_0x37cf('0x7a')||_0x50458e===_0x37cf('0x7b')||_0x50458e===_0x37cf('0x7c')||_0x50458e===_0x37cf('0x7d')||_0x50458e===_0x37cf('0x7e')||_0x50458e===_0x37cf('0x7f')||_0x50458e===_0x37cf('0x80')||_0x50458e===_0x37cf('0x81')||_0x50458e===_0x37cf('0x2e')||_0x50458e===_0x37cf('0x2f')){return![];}return!![];};exports['getCallerIdRandom']=function(_0x465b36,_0x135df9){var _0x10c5d3,_0x220104,_0x5f4ae7;if(_0x135df9<=0x0){_0x135df9=0x1;}_0x10c5d3=new RegExp(_0x37cf('0x82')+_0x135df9+'}$');_0x220104=Math['pow'](0xa,_0x135df9-0x1);_0x5f4ae7=Math[_0x37cf('0x83')](0xa,_0x135df9)-0x1;return util['format']('%s',_[_0x37cf('0x84')](_0x465b36,_0x10c5d3,_[_0x37cf('0x85')](_0x220104,_0x5f4ae7)));};exports['extractCalleridName']=function(_0x592ba9){var _0x4b157b=_0x592ba9['match'](/"(.*?)"/);return _0x4b157b?_0x4b157b[0x1]:_0x592ba9;};exports[_0x37cf('0x86')]=function(_0x1b46fd){var _0x1f9698=_0x1b46fd[_0x37cf('0x87')](/<(.*?)>/);return _0x1f9698?_0x1f9698[0x1]:_0x1b46fd;};function buildNoAnswerEventPayload(_0x1772b7,_0x204fce){var _0x216b01=buildObj(_0x1772b7,_0x37cf('0x88'));if(!_['isEmpty'](_0x204fce['variables'])){Object[_0x37cf('0x89')](_0x204fce[_0x37cf('0x8a')])['forEach'](function(_0x1a8b82){_0x216b01[_0x1a8b82[_0x37cf('0x8b')]()]=_0x204fce[_0x37cf('0x8a')][_0x1a8b82];});}return _0x216b01;}exports[_0x37cf('0x8c')]=buildNoAnswerEventPayload;