Built motion from commit a679711e.|2.6.15
[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 _0x60a5=['bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','random','extractCalleridNumber','match','noanswer','variables','keys','toLowerCase','buildNoAnswerEventPayload','util','lodash','moment','../../../../config/logger','XCALLY_IP_AGI','loggerCatch','error','inspect','logger','info','loggerError','logger2','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridnum','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','toLowerVariables','hasOwnProperty','toLower','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','statedesc','Blacklist','responsetime','endtime','ringtime','getSeconds','starttime','logLookAgent','membername','logCustomer','state','answertime','isFailure','Failure','variablesAction','BOOKED','uniqueid','originate','timeout','countbusyretry','countcongestionretry','countnoanswerretry','countnosuchnumberretry','clone','Global','scheduledAt','active','scheduledat','add','minutes','ListId','VoiceQueueId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','queue','interface','channelAgent','voice','mandatoryDisposition','buildObj','buildAcw','agentReadyId','not_inuse','reachable','push','getDiff','milliseconds','diff','seconds','createBody','CampaignId','filterKey','idContact','type','countglobal','callback','callbackuniqueid','callbackat','recallme','sipcallid','xmd-voicequeueid','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-cdrtype','xmd-callerid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitterbridged','rtpaudioqoslossbridged','rtpaudioqosrttbridged','rtpaudioqosjitter','rtpaudioqosloss'];(function(_0x4bb93d,_0x1cda9a){var _0x106b4f=function(_0x4aa8d1){while(--_0x4aa8d1){_0x4bb93d['push'](_0x4bb93d['shift']());}};_0x106b4f(++_0x1cda9a);}(_0x60a5,0x1b7));var _0x560a=function(_0x1ac595,_0x5d2081){_0x1ac595=_0x1ac595-0x0;var _0x455fff=_0x60a5[_0x1ac595];return _0x455fff;};'use strict';var util=require(_0x560a('0x0'));var _=require(_0x560a('0x1'));var moment=require(_0x560a('0x2'));var logger=require(_0x560a('0x3'))('preview');var ipAgi=process['env'][_0x560a('0x4')]||'127.0.0.1';var utils=require('../../dialer/utils');exports[_0x560a('0x5')]=function(_0x13a00d){return function(_0x2fa912){logger[_0x560a('0x6')](_0x13a00d,util[_0x560a('0x7')](_0x2fa912,{'showHidden':![],'depth':null}));};};exports[_0x560a('0x8')]=function(_0x160d17,_0x4284eb){logger[_0x560a('0x9')](_0x160d17,util[_0x560a('0x7')](_0x4284eb,{'showHidden':![],'depth':null}));};exports[_0x560a('0xa')]=function(_0x437820,_0x3628a1){logger['error'](_0x437820,util[_0x560a('0x7')](_0x3628a1,{'showHidden':![],'depth':null}));};exports[_0x560a('0xb')]=function(_0x27be38){return function(_0x2a183d){logger['info'](_0x27be38,util[_0x560a('0x7')](_0x2a183d,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x50d19b,_0x4e69af,_0x1ec794){return{'message':_0x50d19b,'unlock':_0x4e69af,'active':_0x1ec794};};exports[_0x560a('0xc')]=function(_0x139e4e,_0x5571da,_0x3a1ab5){if(!_[_0x560a('0xd')](_0x3a1ab5)&&_0x560a('0xe')===typeof _0x3a1ab5&&!_['isEmpty'](_0x3a1ab5)){if(!_['isUndefined'](_0x5571da)&&_0x560a('0xe')===typeof _0x5571da&&!_[_0x560a('0xf')](_0x5571da)){return util[_0x560a('0x10')](_0x560a('0x11'),_0x5571da,_0x3a1ab5);}return util[_0x560a('0x10')](_0x560a('0x11'),_0x3a1ab5,_0x3a1ab5);}if(!_[_0x560a('0xd')](_0x139e4e)&&_0x560a('0xe')===typeof _0x139e4e&&!_[_0x560a('0xf')](_0x139e4e)){return _0x139e4e;}return _0x560a('0x12');};exports[_0x560a('0x13')]=function(_0x3c76a5){if(_[_0x560a('0x14')](_0x3c76a5)){return![];}return _0x3c76a5;};exports[_0x560a('0x15')]=function(_0x1a2f99,_0x32a9a0,_0x48f1b8,_0x379a81,_0x136580,_0x10df83){var _0x38b5e9={'XMD-QUEUE':_0x32a9a0['Queue']?_0x32a9a0[_0x560a('0x16')][_0x560a('0x17')]:'','XMD-CALLERID':_0x379a81,'XMD-CALLERID-PREVIEW':_0x10df83?util['format'](_0x560a('0x11'),_0x10df83[_0x560a('0x18')],_0x10df83[_0x560a('0x19')]):_0x379a81,'XMD-DIALID':_0x136580,'XMD-CONTACTID':_0x32a9a0[_0x560a('0x1a')],'XMD-CDRTYPE':_0x560a('0x1b'),'CALLERID(all)':_0x379a81,'XMD-VOICEQUEUEID':_0x32a9a0['VoiceQueueId'],'XMD-DIALCHANNEL':_0x48f1b8,'XMD-DIALTIMEOUT':_0x1a2f99[_0x560a('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0x560a('0x10')](_0x560a('0x1d'),_0x1a2f99[_0x560a('0x1e')]?'g':'',_['isEmpty'](_0x1a2f99[_0x560a('0x1f')])?'':_0x560a('0x20')),'XMD-DIALURL':_0x1a2f99['dialPreviewUrl']||'','XMD-AGI':_0x1a2f99[_0x560a('0x21')]?util[_0x560a('0x10')](_0x560a('0x22'),ipAgi,_0x1a2f99[_0x560a('0x21')]):_0x560a('0x23'),'XMD-AGIAFTER':_0x1a2f99[_0x560a('0x1e')]?util[_0x560a('0x10')](_0x560a('0x22'),ipAgi,_0x1a2f99[_0x560a('0x1e')]):'NONE','XMD-ORIGINATECALLERIDNUM':_0x10df83?_0x10df83[_0x560a('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x10df83?_0x10df83['originatecalleridname']:'','XMD-DESTINATION':_0x560a('0x25'),'SIPADDHEADER':_0x560a('0x26')};if(!_['isEmpty'](_0x1a2f99[_0x560a('0x1f')])){_0x38b5e9[util[_0x560a('0x10')]('%s',_0x560a('0x27'))]=_0x1a2f99['monitor_format'];_0x38b5e9[util[_0x560a('0x10')]('%s',_0x560a('0x28'))]=_0x136580;}return _0x38b5e9;};exports[_0x560a('0x29')]=function(_0x1e3c76){var _0x2e5516={};for(var _0x499061 in _0x1e3c76){if(_0x1e3c76[_0x560a('0x2a')](_0x499061)){_0x2e5516[util[_0x560a('0x10')]('%s',_[_0x560a('0x2b')](_0x499061))]=_0x1e3c76[_0x499061];}}return{'variables':_0x2e5516};};exports['updateOriginated']=function(_0x81653f,_0xbcfe60){if(!_[_0x560a('0x14')](_0x81653f)){if(_0x81653f[_0x560a('0x2a')](_0x560a('0x2c'))){if(_0x81653f[_0x560a('0x2c')]>0x0){_0x81653f[_0x560a('0x2c')]-=0x1;}else{logger[_0x560a('0x6')](_0x560a('0x2d'),_0xbcfe60);}}}else{logger[_0x560a('0x6')](_0x560a('0x2e'),_0xbcfe60);}};exports[_0x560a('0x2f')]=function(_0x18743e){var _0x282141=moment()[_0x560a('0x10')](_0x560a('0x30'));_0x18743e['state']=0xd;_0x18743e[_0x560a('0x31')]=_0x560a('0x32');_0x18743e['starttime']=_0x282141;_0x18743e[_0x560a('0x33')]=_0x282141;_0x18743e[_0x560a('0x34')]=_0x282141;};exports['logAgent']=function(_0x19b10e,_0x3a399f,_0x5a4a58){var _0x9f838b=moment()[_0x560a('0x10')]('YYYY-MM-DD\x20HH:mm:ss');_0x19b10e['state']=_0x3a399f;_0x19b10e['statedesc']=_0x5a4a58;_0x19b10e[_0x560a('0x33')]=_0x9f838b;_0x19b10e[_0x560a('0x35')]=utils[_0x560a('0x36')](_0x19b10e[_0x560a('0x33')],_0x19b10e[_0x560a('0x37')]);};exports[_0x560a('0x38')]=function(_0x588c90,_0x3608fd,_0x1040b6){_0x588c90[_0x560a('0x39')]=_0x3608fd;_0x588c90['UserId']=_0x1040b6;};exports[_0x560a('0x3a')]=function(_0x2ac5b0,_0xb28e74,_0x4ac52b){var _0x6b707f=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x2ac5b0[_0x560a('0x3b')]=_0xb28e74;_0x2ac5b0[_0x560a('0x31')]=_0x4ac52b;_0x2ac5b0[_0x560a('0x33')]=_0x2ac5b0[_0x560a('0x33')]?_0x2ac5b0['responsetime']:_0x6b707f;_0x2ac5b0['endtime']=_0x2ac5b0[_0x560a('0x34')]?_0x2ac5b0[_0x560a('0x34')]:_0x6b707f;_0x2ac5b0['ringtime']=utils['getSeconds'](_0x2ac5b0[_0x560a('0x33')]||0x0,_0x2ac5b0['starttime']||0x0);_0x2ac5b0['talktime']=_0x2ac5b0['answertime']?utils[_0x560a('0x36')](_0x2ac5b0[_0x560a('0x34')],_0x2ac5b0[_0x560a('0x3c')]):0x0;};exports[_0x560a('0x3d')]=function(_0xd07d95){return _0xd07d95===_0x560a('0x3e');};exports[_0x560a('0x3f')]=function(_0x3aaa89,_0x3bad7f,_0x371395,_0x334918,_0x552ab7){var _0xdbe4e1=_0x334918?'RECALL':_0x3aaa89[_0x560a('0x18')];_0xdbe4e1=_0x552ab7?_0x560a('0x40'):_0xdbe4e1;return{'actionid':_0x3aaa89[_0x560a('0x41')],'action':_0x560a('0x42'),'channel':_0x3aaa89['channelAgent'],'callerid':util[_0x560a('0x10')](_0x560a('0x11'),_0xdbe4e1,_0x3aaa89['calleridnum']),'Exten':_0x560a('0x25'),'Context':'from-sip','Priority':'1','variable':_0x371395,'timeout':(_0x3bad7f[_0x560a('0x43')]||0x1e)*0x3e8,'async':!![],'channelid':_0x3aaa89['uniqueid']};};exports['totalGlobal']=function(_0x3e47ae){return _0x3e47ae[_0x560a('0x44')]+_0x3e47ae[_0x560a('0x45')]+_0x3e47ae[_0x560a('0x46')]+_0x3e47ae['countagentrejectretry']+_0x3e47ae[_0x560a('0x47')];};exports['cloneAction']=function(_0x24567c){var _0x2f961a=_[_0x560a('0x48')](_0x24567c);_0x2f961a[_0x560a('0x3b')]=0xf;_0x2f961a[_0x560a('0x31')]=_0x560a('0x49');return _0x2f961a;};exports[_0x560a('0x4a')]=function(_0x499b13,_0x5ead2c,_0x31d3e8){var _0x37da32={};_0x37da32[_0x5ead2c]=_0x499b13[_0x5ead2c];_0x37da32[_0x560a('0x4b')]=![];_0x37da32[_0x560a('0x4c')]=moment()[_0x560a('0x4d')](_0x31d3e8,_0x560a('0x4e'))['format'](_0x560a('0x30'));_0x37da32['ContactId']=_0x499b13[_0x560a('0x1a')];_0x37da32[_0x560a('0x4f')]=_0x499b13[_0x560a('0x4f')];_0x37da32[_0x560a('0x50')]=_0x499b13[_0x560a('0x50')]||undefined;return _0x37da32;};exports[_0x560a('0x51')]=function(_0x4d7ac0,_0x4467ed){if(!_[_0x560a('0x14')](_0x4d7ac0)){if(_0x4d7ac0[_0x560a('0x52')]>0x0){_0x4d7ac0[_0x560a('0x52')]-=0x1;}else{logger[_0x560a('0x6')](_0x4467ed,_0x560a('0x53'));}}else{logger[_0x560a('0x6')](_0x4467ed,_0x560a('0x54'));}};exports[_0x560a('0x55')]=function(_0x56a340){if(_0x56a340<=0x0){return!![];}return![];};function buildObj(_0x4c6338,_0x353423,_0x43ef74){_0x4c6338['lastevent']=_0x353423;_0x4c6338['name']=_0x4c6338[_0x560a('0x56')];_0x4c6338[_0x560a('0x57')]=_0x4c6338[_0x560a('0x58')];_0x4c6338['motionChannel']=_0x560a('0x59');if(_0x43ef74){_0x4c6338[_0x560a('0x5a')]=_0x43ef74['mandatoryDisposition'];}return _0x4c6338;}exports[_0x560a('0x5b')]=buildObj;exports[_0x560a('0x5c')]=function(_0x39dc0b){var _0x3f6216={};_0x3f6216['queue']=_0x39dc0b[_0x560a('0x56')];_0x3f6216[_0x560a('0x57')]=_0x39dc0b[_0x560a('0x58')];_0x3f6216[_0x560a('0x41')]=_0x39dc0b['uniqueid'];return _0x3f6216;};exports[_0x560a('0x5d')]=function(_0x512125){var _0x4cd885=[];for(var _0x4b5cf9 in _0x512125){if(_0x512125[_0x560a('0x2a')](_0x4b5cf9)){if(!_[_0x560a('0x14')](_0x512125[_0x4b5cf9])&&_0x512125[_0x4b5cf9][_0x560a('0x3b')]===_0x560a('0x5e')&&_0x512125[_0x4b5cf9]['status']===_0x560a('0x5f')){_0x4cd885[_0x560a('0x60')](_0x512125[_0x4b5cf9]['id']);}}}return _0x4cd885;};exports[_0x560a('0x61')]=function(_0x594158){var _0x9d3834=moment()[_0x560a('0x62')](0x0);var _0x33872c=moment(_0x594158)['milliseconds'](0x0);return _0x9d3834[_0x560a('0x63')](_0x33872c,_0x560a('0x64'));};exports[_0x560a('0x65')]=function(_0x5c5606){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x5c5606[_0x560a('0x1a')],'ListId':_0x5c5606[_0x560a('0x4f')],'VoiceQueueId':_0x5c5606['VoiceQueueId']||undefined,'CampaignId':_0x5c5606[_0x560a('0x66')]||undefined};};exports[_0x560a('0x67')]=function(_0x2cf3c7){if(_0x2cf3c7===_0x560a('0x41')||_0x2cf3c7===_0x560a('0x68')||_0x2cf3c7===_0x560a('0x56')||_0x2cf3c7===_0x560a('0x69')||_0x2cf3c7==='campaigntype'||_0x2cf3c7==='dialAnswer'||_0x2cf3c7==='membername'||_0x2cf3c7===_0x560a('0x58')||_0x2cf3c7==='calleridname'||_0x2cf3c7===_0x560a('0x4b')||_0x2cf3c7==='calleridnum'||_0x2cf3c7===_0x560a('0x4c')||_0x2cf3c7===_0x560a('0x44')||_0x2cf3c7===_0x560a('0x45')||_0x2cf3c7===_0x560a('0x46')||_0x2cf3c7===_0x560a('0x6a')||_0x2cf3c7===_0x560a('0x6b')||_0x2cf3c7===_0x560a('0x6c')||_0x2cf3c7===_0x560a('0x6d')||_0x2cf3c7===_0x560a('0x6e')||_0x2cf3c7==='ContactId'||_0x2cf3c7===_0x560a('0x4f')||_0x2cf3c7==='UserId'||_0x2cf3c7===_0x560a('0x50')||_0x2cf3c7===_0x560a('0x6f')||_0x2cf3c7===_0x560a('0x70')||_0x2cf3c7==='xmd-queue'||_0x2cf3c7===_0x560a('0x71')||_0x2cf3c7===_0x560a('0x72')||_0x2cf3c7===_0x560a('0x73')||_0x2cf3c7===_0x560a('0x74')||_0x2cf3c7===_0x560a('0x75')||_0x2cf3c7===_0x560a('0x76')||_0x2cf3c7==='xmd-dialchannel'||_0x2cf3c7==='xmd-contactid'||_0x2cf3c7===_0x560a('0x77')||_0x2cf3c7===_0x560a('0x78')||_0x2cf3c7===_0x560a('0x79')||_0x2cf3c7==='xmd-agi'||_0x2cf3c7===_0x560a('0x7a')||_0x2cf3c7===_0x560a('0x7b')||_0x2cf3c7==='rtpaudioqosjitter'||_0x2cf3c7===_0x560a('0x7c')||_0x2cf3c7==='rtpaudioqosloss'||_0x2cf3c7===_0x560a('0x7d')||_0x2cf3c7==='rtpaudioqosrtt'||_0x2cf3c7===_0x560a('0x7e')||_0x2cf3c7===_0x560a('0x7a')||_0x2cf3c7===_0x560a('0x7b')||_0x2cf3c7===_0x560a('0x7f')||_0x2cf3c7==='rtpaudioqosjitterbridged'||_0x2cf3c7===_0x560a('0x80')||_0x2cf3c7==='rtpaudioqoslossbridged'||_0x2cf3c7==='rtpaudioqosrtt'||_0x2cf3c7===_0x560a('0x7e')||_0x2cf3c7===_0x560a('0x81')||_0x2cf3c7===_0x560a('0x82')||_0x2cf3c7===_0x560a('0x3b')||_0x2cf3c7===_0x560a('0x31')){return![];}return!![];};exports[_0x560a('0x83')]=function(_0x233e21,_0x55cbd2){var _0x368527,_0xea7483,_0x3855d4;if(_0x55cbd2<=0x0){_0x55cbd2=0x1;}_0x368527=new RegExp(_0x560a('0x84')+_0x55cbd2+'}$');_0xea7483=Math[_0x560a('0x85')](0xa,_0x55cbd2-0x1);_0x3855d4=Math[_0x560a('0x85')](0xa,_0x55cbd2)-0x1;return util['format']('%s',_['replace'](_0x233e21,_0x368527,_[_0x560a('0x86')](_0xea7483,_0x3855d4)));};exports['extractCalleridName']=function(_0x20c908){var _0x8588ad=_0x20c908['match'](/"(.*?)"/);return _0x8588ad?_0x8588ad[0x1]:_0x20c908;};exports[_0x560a('0x87')]=function(_0x454d73){var _0x22a420=_0x454d73[_0x560a('0x88')](/<(.*?)>/);return _0x22a420?_0x22a420[0x1]:_0x454d73;};function buildNoAnswerEventPayload(_0x46648c,_0x323c75){var _0x5e8cce=buildObj(_0x46648c,_0x560a('0x89'));if(!_['isEmpty'](_0x323c75[_0x560a('0x8a')])){Object[_0x560a('0x8b')](_0x323c75[_0x560a('0x8a')])['forEach'](function(_0xbb67d2){_0x5e8cce[_0xbb67d2[_0x560a('0x8c')]()]=_0x323c75[_0x560a('0x8a')][_0xbb67d2];});}return _0x5e8cce;}exports[_0x560a('0x8d')]=buildNoAnswerEventPayload;