Built motion from commit 9d0783e6.|2.6.13
[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 _0x8a42=['[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','interface','motionChannel','mandatoryDisposition','buildObj','buildAcw','queue','agentReadyId','not_inuse','push','milliseconds','diff','seconds','filterKey','campaigntype','active','countnoanswerretry','countglobal','callback','callbackuniqueid','callbackat','recallme','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-listid','xmd-dialurl','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-agiafter','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepvtcallid','getCallerIdRandom','pow','replace','random','extractCalleridName','extractCalleridNumber','match','noanswer','variables','keys','forEach','toLowerCase','buildNoAnswerEventPayload','util','lodash','preview','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','loggerCatch','error','inspect','loggerError','logger2','info','getCallerId','isUndefined','string','isEmpty','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isNil','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','dialQueueProject2','NONE','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','hasOwnProperty','tags','updatedAt','%s%s','XMD-','toUpper','toLowerVariables','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','endtime','logAgent','responsetime','getSeconds','starttime','logLookAgent','membername','UserId','logCustomer','ringtime','talktime','answertime','Failure','variablesAction','uniqueid','originate','channelAgent','timeout','totalGlobal','countbusyretry','countcongestionretry','countagentrejectretry','countnosuchnumberretry','cloneAction','Global','scheduledAt','scheduledat','add','minutes','ListId','decrementTalkink','pTalking'];(function(_0x3f2d35,_0x36db80){var _0x572caa=function(_0x47ff73){while(--_0x47ff73){_0x3f2d35['push'](_0x3f2d35['shift']());}};_0x572caa(++_0x36db80);}(_0x8a42,0x161));var _0x28a4=function(_0x5a8318,_0x3d95d5){_0x5a8318=_0x5a8318-0x0;var _0x40ee51=_0x8a42[_0x5a8318];return _0x40ee51;};'use strict';var util=require(_0x28a4('0x0'));var _=require(_0x28a4('0x1'));var moment=require('moment');var logger=require('../../../../config/logger')(_0x28a4('0x2'));var ipAgi=process[_0x28a4('0x3')][_0x28a4('0x4')]||_0x28a4('0x5');var utils=require(_0x28a4('0x6'));exports[_0x28a4('0x7')]=function(_0x5ac0d3){return function(_0x4e444c){logger[_0x28a4('0x8')](_0x5ac0d3,util[_0x28a4('0x9')](_0x4e444c,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x1ab9b6,_0x27363e){logger['info'](_0x1ab9b6,util[_0x28a4('0x9')](_0x27363e,{'showHidden':![],'depth':null}));};exports[_0x28a4('0xa')]=function(_0x2a6477,_0x5dc7dc){logger[_0x28a4('0x8')](_0x2a6477,util['inspect'](_0x5dc7dc,{'showHidden':![],'depth':null}));};exports[_0x28a4('0xb')]=function(_0x3fbe5f){return function(_0x3301c3){logger[_0x28a4('0xc')](_0x3fbe5f,util['inspect'](_0x3301c3,{'showHidden':![],'depth':null}));};};exports['message']=function(_0x5e8605,_0x2e5758,_0x4aa59b){return{'message':_0x5e8605,'unlock':_0x2e5758,'active':_0x4aa59b};};exports[_0x28a4('0xd')]=function(_0x96041b,_0x10fdc2,_0x50ff84){if(!_[_0x28a4('0xe')](_0x50ff84)&&_0x28a4('0xf')===typeof _0x50ff84&&!_[_0x28a4('0x10')](_0x50ff84)){if(!_[_0x28a4('0xe')](_0x10fdc2)&&_0x28a4('0xf')===typeof _0x10fdc2&&!_[_0x28a4('0x10')](_0x10fdc2)){return util['format']('\x22%s\x22\x20<%s>',_0x10fdc2,_0x50ff84);}return util[_0x28a4('0x11')](_0x28a4('0x12'),_0x50ff84,_0x50ff84);}if(!_[_0x28a4('0xe')](_0x96041b)&&'string'===typeof _0x96041b&&!_['isEmpty'](_0x96041b)){return _0x96041b;}return _0x28a4('0x13');};exports['isActive']=function(_0x32df16){if(_[_0x28a4('0x14')](_0x32df16)){return![];}return _0x32df16;};exports[_0x28a4('0x15')]=function(_0x37e0cb,_0x5ef299,_0x52d0cf,_0x2d3b5b,_0x1fb004,_0x30ccf4){var _0x2b649f={'XMD-QUEUE':_0x5ef299['Queue']?_0x5ef299[_0x28a4('0x16')][_0x28a4('0x17')]:'','XMD-CALLERID':_0x2d3b5b,'XMD-CALLERID-PREVIEW':_0x30ccf4?util[_0x28a4('0x11')](_0x28a4('0x12'),_0x30ccf4[_0x28a4('0x18')],_0x30ccf4[_0x28a4('0x19')]):_0x2d3b5b,'XMD-DIALID':_0x1fb004,'XMD-CONTACTID':_0x5ef299[_0x28a4('0x1a')],'XMD-CDRTYPE':_0x28a4('0x1b'),'CALLERID(all)':_0x2d3b5b,'XMD-VOICEQUEUEID':_0x5ef299[_0x28a4('0x1c')],'XMD-DIALCHANNEL':_0x52d0cf,'XMD-DIALTIMEOUT':_0x37e0cb['dialOriginateTimeout']||0x1e,'XMD-DIALOPTIONS':util[_0x28a4('0x11')](_0x28a4('0x1d'),_0x37e0cb['dialQueueProject2']?'g':'',_[_0x28a4('0x10')](_0x37e0cb[_0x28a4('0x1e')])?'':_0x28a4('0x1f')),'XMD-DIALURL':_0x37e0cb[_0x28a4('0x20')]||'','XMD-AGI':_0x37e0cb[_0x28a4('0x21')]?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0x37e0cb['dialQueueProject']):'NONE','XMD-AGIAFTER':_0x37e0cb['dialQueueProject2']?util[_0x28a4('0x11')](_0x28a4('0x22'),ipAgi,_0x37e0cb[_0x28a4('0x23')]):_0x28a4('0x24'),'XMD-ORIGINATECALLERIDNUM':_0x30ccf4?_0x30ccf4['originatecalleridnum']:'','XMD-ORIGINATECALLERIDNAME':_0x30ccf4?_0x30ccf4[_0x28a4('0x25')]:'','XMD-DESTINATION':_0x28a4('0x26'),'SIPADDHEADER':_0x28a4('0x27')};if(!_[_0x28a4('0x10')](_0x37e0cb[_0x28a4('0x1e')])){_0x2b649f[util[_0x28a4('0x11')]('%s',_0x28a4('0x28'))]=_0x37e0cb[_0x28a4('0x1e')];_0x2b649f[util[_0x28a4('0x11')]('%s',_0x28a4('0x29'))]=_0x1fb004;}if(_0x5ef299&&_0x5ef299['Contact']){for(var _0x2d8f5c in _0x5ef299['Contact']){if(_0x5ef299[_0x28a4('0x2a')][_0x28a4('0x2b')](_0x2d8f5c)){if(!_[_0x28a4('0x14')](_0x5ef299['Contact'][_0x2d8f5c])&&_0x2d8f5c!=='id'&&_0x2d8f5c!==_0x28a4('0x2c')&&_0x2d8f5c!=='createdAt'&&_0x2d8f5c!==_0x28a4('0x2d')){_0x2b649f[util[_0x28a4('0x11')](_0x28a4('0x2e'),_0x28a4('0x2f'),_[_0x28a4('0x30')](_0x2d8f5c))]=_0x5ef299[_0x28a4('0x2a')][_0x2d8f5c];}}}}return _0x2b649f;};exports[_0x28a4('0x31')]=function(_0x2f6b4f){var _0x6bf8fa={};for(var _0x3795a0 in _0x2f6b4f){if(_0x2f6b4f['hasOwnProperty'](_0x3795a0)){_0x6bf8fa[util[_0x28a4('0x11')]('%s',_[_0x28a4('0x32')](_0x3795a0))]=_0x2f6b4f[_0x3795a0];}}return{'variables':_0x6bf8fa};};exports[_0x28a4('0x33')]=function(_0x15835c,_0x1327de){if(!_['isNil'](_0x15835c)){if(_0x15835c[_0x28a4('0x2b')](_0x28a4('0x34'))){if(_0x15835c['originated']>0x0){_0x15835c[_0x28a4('0x34')]-=0x1;}else{logger[_0x28a4('0x8')](_0x28a4('0x35'),_0x1327de);}}}else{logger[_0x28a4('0x8')](_0x28a4('0x36'),_0x1327de);}};exports[_0x28a4('0x37')]=function(_0x362f0d){var _0x3a36af=moment()[_0x28a4('0x11')](_0x28a4('0x38'));_0x362f0d[_0x28a4('0x39')]=0xd;_0x362f0d[_0x28a4('0x3a')]='Blacklist';_0x362f0d['starttime']=_0x3a36af;_0x362f0d['responsetime']=_0x3a36af;_0x362f0d[_0x28a4('0x3b')]=_0x3a36af;};exports[_0x28a4('0x3c')]=function(_0x3a9ccd,_0x3648b6,_0x4db654){var _0x53716d=moment()[_0x28a4('0x11')](_0x28a4('0x38'));_0x3a9ccd[_0x28a4('0x39')]=_0x3648b6;_0x3a9ccd[_0x28a4('0x3a')]=_0x4db654;_0x3a9ccd[_0x28a4('0x3d')]=_0x53716d;_0x3a9ccd['ringtime']=utils[_0x28a4('0x3e')](_0x3a9ccd[_0x28a4('0x3d')],_0x3a9ccd[_0x28a4('0x3f')]);};exports[_0x28a4('0x40')]=function(_0x50c043,_0x537462,_0x5d2e74){_0x50c043[_0x28a4('0x41')]=_0x537462;_0x50c043[_0x28a4('0x42')]=_0x5d2e74;};exports[_0x28a4('0x43')]=function(_0x4fc107,_0x3772cc,_0x835367){var _0x5c6201=moment()[_0x28a4('0x11')]('YYYY-MM-DD\x20HH:mm:ss');_0x4fc107[_0x28a4('0x39')]=_0x3772cc;_0x4fc107[_0x28a4('0x3a')]=_0x835367;_0x4fc107[_0x28a4('0x3d')]=_0x4fc107[_0x28a4('0x3d')]?_0x4fc107[_0x28a4('0x3d')]:_0x5c6201;_0x4fc107[_0x28a4('0x3b')]=_0x4fc107[_0x28a4('0x3b')]?_0x4fc107[_0x28a4('0x3b')]:_0x5c6201;_0x4fc107[_0x28a4('0x44')]=utils['getSeconds'](_0x4fc107['responsetime']||0x0,_0x4fc107[_0x28a4('0x3f')]||0x0);_0x4fc107[_0x28a4('0x45')]=_0x4fc107[_0x28a4('0x46')]?utils[_0x28a4('0x3e')](_0x4fc107[_0x28a4('0x3b')],_0x4fc107[_0x28a4('0x46')]):0x0;};exports['isFailure']=function(_0x4303be){return _0x4303be===_0x28a4('0x47');};exports[_0x28a4('0x48')]=function(_0xca6bb3,_0x4b6319,_0x22841f,_0x22cf9b,_0x179477){var _0x525d32=_0x22cf9b?'RECALL':_0xca6bb3[_0x28a4('0x18')];_0x525d32=_0x179477?'BOOKED':_0x525d32;return{'actionid':_0xca6bb3[_0x28a4('0x49')],'action':_0x28a4('0x4a'),'channel':_0xca6bb3[_0x28a4('0x4b')],'callerid':util['format'](_0x28a4('0x12'),_0x525d32,_0xca6bb3[_0x28a4('0x19')]),'Exten':_0x28a4('0x26'),'Context':'from-sip','Priority':'1','variable':_0x22841f,'timeout':(_0x4b6319[_0x28a4('0x4c')]||0x1e)*0x3e8,'async':!![],'channelid':_0xca6bb3['uniqueid']};};exports[_0x28a4('0x4d')]=function(_0x1e3725){return _0x1e3725[_0x28a4('0x4e')]+_0x1e3725[_0x28a4('0x4f')]+_0x1e3725['countnoanswerretry']+_0x1e3725[_0x28a4('0x50')]+_0x1e3725[_0x28a4('0x51')];};exports[_0x28a4('0x52')]=function(_0x42ceb2){var _0x5a0a89=_['clone'](_0x42ceb2);_0x5a0a89[_0x28a4('0x39')]=0xf;_0x5a0a89[_0x28a4('0x3a')]=_0x28a4('0x53');return _0x5a0a89;};exports[_0x28a4('0x54')]=function(_0x26ec69,_0xa97d64,_0x1c68de){var _0x543260={};_0x543260[_0xa97d64]=_0x26ec69[_0xa97d64];_0x543260['active']=![];_0x543260[_0x28a4('0x55')]=moment()[_0x28a4('0x56')](_0x1c68de,_0x28a4('0x57'))[_0x28a4('0x11')](_0x28a4('0x38'));_0x543260['ContactId']=_0x26ec69['ContactId'];_0x543260[_0x28a4('0x58')]=_0x26ec69['ListId'];_0x543260[_0x28a4('0x1c')]=_0x26ec69[_0x28a4('0x1c')]||undefined;return _0x543260;};exports[_0x28a4('0x59')]=function(_0x5ebff3,_0x2a328d){if(!_[_0x28a4('0x14')](_0x5ebff3)){if(_0x5ebff3['pTalking']>0x0){_0x5ebff3[_0x28a4('0x5a')]-=0x1;}else{logger[_0x28a4('0x8')](_0x2a328d,'[decrementTalkink]\x20object\x20talking\x20is\x20negative');}}else{logger[_0x28a4('0x8')](_0x2a328d,_0x28a4('0x5b'));}};exports[_0x28a4('0x5c')]=function(_0x442f5f){if(_0x442f5f<=0x0){return!![];}return![];};function buildObj(_0x584d37,_0x54f7d0,_0x22e848){_0x584d37[_0x28a4('0x5d')]=_0x54f7d0;_0x584d37['name']=_0x584d37['queue'];_0x584d37[_0x28a4('0x5e')]=_0x584d37[_0x28a4('0x4b')];_0x584d37[_0x28a4('0x5f')]='voice';if(_0x22e848){_0x584d37[_0x28a4('0x60')]=_0x22e848[_0x28a4('0x60')];}return _0x584d37;}exports[_0x28a4('0x61')]=buildObj;exports[_0x28a4('0x62')]=function(_0x2b6170){var _0x5ba23d={};_0x5ba23d[_0x28a4('0x63')]=_0x2b6170['queue'];_0x5ba23d[_0x28a4('0x5e')]=_0x2b6170[_0x28a4('0x4b')];_0x5ba23d[_0x28a4('0x49')]=_0x2b6170[_0x28a4('0x49')];return _0x5ba23d;};exports[_0x28a4('0x64')]=function(_0x440719){var _0x2b258d=[];for(var _0x2eccc7 in _0x440719){if(_0x440719['hasOwnProperty'](_0x2eccc7)){if(!_[_0x28a4('0x14')](_0x440719[_0x2eccc7])&&_0x440719[_0x2eccc7]['state']===_0x28a4('0x65')&&_0x440719[_0x2eccc7]['status']==='reachable'){_0x2b258d[_0x28a4('0x66')](_0x440719[_0x2eccc7]['id']);}}}return _0x2b258d;};exports['getDiff']=function(_0x177c16){var _0x5485a1=moment()[_0x28a4('0x67')](0x0);var _0x16b0c0=moment(_0x177c16)[_0x28a4('0x67')](0x0);return _0x5485a1[_0x28a4('0x68')](_0x16b0c0,_0x28a4('0x69'));};exports['createBody']=function(_0x40a2ca){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x40a2ca['ContactId'],'ListId':_0x40a2ca[_0x28a4('0x58')],'VoiceQueueId':_0x40a2ca['VoiceQueueId']||undefined,'CampaignId':_0x40a2ca['CampaignId']||undefined};};exports[_0x28a4('0x6a')]=function(_0x26609b){if(_0x26609b==='uniqueid'||_0x26609b==='idContact'||_0x26609b===_0x28a4('0x63')||_0x26609b==='type'||_0x26609b===_0x28a4('0x6b')||_0x26609b==='dialAnswer'||_0x26609b===_0x28a4('0x41')||_0x26609b===_0x28a4('0x4b')||_0x26609b===_0x28a4('0x18')||_0x26609b===_0x28a4('0x6c')||_0x26609b==='calleridnum'||_0x26609b===_0x28a4('0x55')||_0x26609b===_0x28a4('0x4e')||_0x26609b===_0x28a4('0x4f')||_0x26609b===_0x28a4('0x6d')||_0x26609b===_0x28a4('0x6e')||_0x26609b===_0x28a4('0x6f')||_0x26609b===_0x28a4('0x70')||_0x26609b===_0x28a4('0x71')||_0x26609b===_0x28a4('0x72')||_0x26609b===_0x28a4('0x1a')||_0x26609b===_0x28a4('0x58')||_0x26609b===_0x28a4('0x42')||_0x26609b===_0x28a4('0x1c')||_0x26609b==='sipcallid'||_0x26609b===_0x28a4('0x73')||_0x26609b===_0x28a4('0x74')||_0x26609b===_0x28a4('0x75')||_0x26609b===_0x28a4('0x76')||_0x26609b===_0x28a4('0x77')||_0x26609b===_0x28a4('0x78')||_0x26609b===_0x28a4('0x79')||_0x26609b===_0x28a4('0x7a')||_0x26609b===_0x28a4('0x7b')||_0x26609b===_0x28a4('0x7c')||_0x26609b==='xmd-cdrtype'||_0x26609b==='xmd-callerid'||_0x26609b===_0x28a4('0x7d')||_0x26609b==='xmd-agi'||_0x26609b===_0x28a4('0x7e')||_0x26609b===_0x28a4('0x7f')||_0x26609b===_0x28a4('0x80')||_0x26609b===_0x28a4('0x81')||_0x26609b===_0x28a4('0x82')||_0x26609b===_0x28a4('0x83')||_0x26609b===_0x28a4('0x84')||_0x26609b===_0x28a4('0x85')||_0x26609b==='rtpaudioqos'||_0x26609b===_0x28a4('0x7f')||_0x26609b==='rtpaudioqosjitter'||_0x26609b===_0x28a4('0x81')||_0x26609b==='rtpaudioqosloss'||_0x26609b===_0x28a4('0x83')||_0x26609b===_0x28a4('0x84')||_0x26609b===_0x28a4('0x85')||_0x26609b==='bridgepeer'||_0x26609b===_0x28a4('0x86')||_0x26609b===_0x28a4('0x39')||_0x26609b===_0x28a4('0x3a')){return![];}return!![];};exports[_0x28a4('0x87')]=function(_0x449f6a,_0x47957f){var _0x4cb9b0,_0x367dba,_0x4dbd24;if(_0x47957f<=0x0){_0x47957f=0x1;}_0x4cb9b0=new RegExp('\x5cw{0,'+_0x47957f+'}$');_0x367dba=Math[_0x28a4('0x88')](0xa,_0x47957f-0x1);_0x4dbd24=Math[_0x28a4('0x88')](0xa,_0x47957f)-0x1;return util[_0x28a4('0x11')]('%s',_[_0x28a4('0x89')](_0x449f6a,_0x4cb9b0,_[_0x28a4('0x8a')](_0x367dba,_0x4dbd24)));};exports[_0x28a4('0x8b')]=function(_0x2d43df){var _0x880dc1=_0x2d43df['match'](/"(.*?)"/);return _0x880dc1?_0x880dc1[0x1]:_0x2d43df;};exports[_0x28a4('0x8c')]=function(_0x42b4d8){var _0xef1f86=_0x42b4d8[_0x28a4('0x8d')](/<(.*?)>/);return _0xef1f86?_0xef1f86[0x1]:_0x42b4d8;};function buildNoAnswerEventPayload(_0x46ec2f,_0x16471f){var _0x275347=buildObj(_0x46ec2f,_0x28a4('0x8e'));if(!_[_0x28a4('0x10')](_0x16471f[_0x28a4('0x8f')])){Object[_0x28a4('0x90')](_0x16471f[_0x28a4('0x8f')])[_0x28a4('0x91')](function(_0x18a3c6){_0x275347[_0x18a3c6[_0x28a4('0x92')]()]=_0x16471f['variables'][_0x18a3c6];});}return _0x275347;}exports[_0x28a4('0x93')]=buildNoAnswerEventPayload;