Built motion from commit bab6f49e.|2.6.17
[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 _0xf8db=['getCallerId','isUndefined','isEmpty','string','\x22\x22\x20<>','addVariables','Queue','format','\x22%s\x22\x20<%s>','calleridname','calleridnum','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','dialQueueProject2','U(xcally-mixmonitor-context)','dialPreviewUrl','\x22agi://%s/square,%s\x22','dialQueueProject','NONE','originatecalleridnum','originatecalleridname','xcally-motion-preview','monitor_format','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','toLowerVariables','toLower','updateOriginated','hasOwnProperty','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','state','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','ringtime','getSeconds','logLookAgent','UserId','logCustomer','talktime','answertime','isFailure','Failure','RECALL','BOOKED','uniqueid','originate','channelAgent','from-sip','timeout','totalGlobal','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledat','add','minutes','YYYY-MM-DD\x20HH:mm:ss','ContactId','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','lastevent','name','queue','interface','voice','mandatoryDisposition','buildAcw','agentReadyId','not_inuse','status','reachable','push','getDiff','milliseconds','diff','seconds','createBody','idContact','type','campaigntype','dialAnswer','membername','countglobal','callbackuniqueid','callbackat','xmd-voicequeueid','xmd-queue','xmd-phone','xmd-dialurl','xmd-dialtimeout','xmd-dialid','xmd-contactid','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqosjitterbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','random','extractCalleridName','match','variables','forEach','toLowerCase','util','moment','preview','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','loggerCatch','inspect','logger','info','loggerError','error','logger2','message'];(function(_0x396101,_0x2d5b6c){var _0x4006c0=function(_0x365cec){while(--_0x365cec){_0x396101['push'](_0x396101['shift']());}};_0x4006c0(++_0x2d5b6c);}(_0xf8db,0x82));var _0xbf8d=function(_0x1b9947,_0x539650){_0x1b9947=_0x1b9947-0x0;var _0x561209=_0xf8db[_0x1b9947];return _0x561209;};'use strict';var util=require(_0xbf8d('0x0'));var _=require('lodash');var moment=require(_0xbf8d('0x1'));var logger=require('../../../../config/logger')(_0xbf8d('0x2'));var ipAgi=process[_0xbf8d('0x3')][_0xbf8d('0x4')]||_0xbf8d('0x5');var utils=require(_0xbf8d('0x6'));exports[_0xbf8d('0x7')]=function(_0x4c9db4){return function(_0x4188e3){logger['error'](_0x4c9db4,util[_0xbf8d('0x8')](_0x4188e3,{'showHidden':![],'depth':null}));};};exports[_0xbf8d('0x9')]=function(_0x2cc5b8,_0x5afc15){logger[_0xbf8d('0xa')](_0x2cc5b8,util[_0xbf8d('0x8')](_0x5afc15,{'showHidden':![],'depth':null}));};exports[_0xbf8d('0xb')]=function(_0x1e2e0a,_0x4933db){logger[_0xbf8d('0xc')](_0x1e2e0a,util[_0xbf8d('0x8')](_0x4933db,{'showHidden':![],'depth':null}));};exports[_0xbf8d('0xd')]=function(_0x100dec){return function(_0x3327b5){logger[_0xbf8d('0xa')](_0x100dec,util[_0xbf8d('0x8')](_0x3327b5,{'showHidden':![],'depth':null}));};};exports[_0xbf8d('0xe')]=function(_0x2186b0,_0x4c41d5,_0xe6e6b6){return{'message':_0x2186b0,'unlock':_0x4c41d5,'active':_0xe6e6b6};};exports[_0xbf8d('0xf')]=function(_0x81a8f,_0x21ddec,_0x85a248){if(!_[_0xbf8d('0x10')](_0x85a248)&&'string'===typeof _0x85a248&&!_[_0xbf8d('0x11')](_0x85a248)){if(!_[_0xbf8d('0x10')](_0x21ddec)&&_0xbf8d('0x12')===typeof _0x21ddec&&!_[_0xbf8d('0x11')](_0x21ddec)){return util['format']('\x22%s\x22\x20<%s>',_0x21ddec,_0x85a248);}return util['format']('\x22%s\x22\x20<%s>',_0x85a248,_0x85a248);}if(!_[_0xbf8d('0x10')](_0x81a8f)&&'string'===typeof _0x81a8f&&!_[_0xbf8d('0x11')](_0x81a8f)){return _0x81a8f;}return _0xbf8d('0x13');};exports['isActive']=function(_0x2e0acf){if(_['isNil'](_0x2e0acf)){return![];}return _0x2e0acf;};exports[_0xbf8d('0x14')]=function(_0x2f04b6,_0x575cdb,_0x54d661,_0x11ec3a,_0x5c27a9,_0x336eb1){var _0x4f482c={'XMD-QUEUE':_0x575cdb[_0xbf8d('0x15')]?_0x575cdb['Queue']['name']:'','XMD-CALLERID':_0x11ec3a,'XMD-CALLERID-PREVIEW':_0x336eb1?util[_0xbf8d('0x16')](_0xbf8d('0x17'),_0x336eb1[_0xbf8d('0x18')],_0x336eb1[_0xbf8d('0x19')]):_0x11ec3a,'XMD-DIALID':_0x5c27a9,'XMD-CONTACTID':_0x575cdb['ContactId'],'XMD-CDRTYPE':_0xbf8d('0x1a'),'CALLERID(all)':_0x11ec3a,'XMD-VOICEQUEUEID':_0x575cdb[_0xbf8d('0x1b')],'XMD-DIALCHANNEL':_0x54d661,'XMD-DIALTIMEOUT':_0x2f04b6[_0xbf8d('0x1c')]||0x1e,'XMD-DIALOPTIONS':util['format'](_0xbf8d('0x1d'),_0x2f04b6[_0xbf8d('0x1e')]?'g':'',_[_0xbf8d('0x11')](_0x2f04b6['monitor_format'])?'':_0xbf8d('0x1f')),'XMD-DIALURL':_0x2f04b6[_0xbf8d('0x20')]||'','XMD-AGI':_0x2f04b6['dialQueueProject']?util[_0xbf8d('0x16')](_0xbf8d('0x21'),ipAgi,_0x2f04b6[_0xbf8d('0x22')]):_0xbf8d('0x23'),'XMD-AGIAFTER':_0x2f04b6[_0xbf8d('0x1e')]?util[_0xbf8d('0x16')](_0xbf8d('0x21'),ipAgi,_0x2f04b6['dialQueueProject2']):_0xbf8d('0x23'),'XMD-ORIGINATECALLERIDNUM':_0x336eb1?_0x336eb1[_0xbf8d('0x24')]:'','XMD-ORIGINATECALLERIDNAME':_0x336eb1?_0x336eb1[_0xbf8d('0x25')]:'','XMD-DESTINATION':_0xbf8d('0x26'),'SIPADDHEADER':'Call-Type:\x20PREVIEW'};if(!_[_0xbf8d('0x11')](_0x2f04b6[_0xbf8d('0x27')])){_0x4f482c[util['format']('%s',_0xbf8d('0x28'))]=_0x2f04b6[_0xbf8d('0x27')];_0x4f482c[util[_0xbf8d('0x16')]('%s',_0xbf8d('0x29'))]=_0x5c27a9;}return _0x4f482c;};exports[_0xbf8d('0x2a')]=function(_0x275af2){var _0x45c798={};for(var _0x49e032 in _0x275af2){if(_0x275af2['hasOwnProperty'](_0x49e032)){_0x45c798[util[_0xbf8d('0x16')]('%s',_[_0xbf8d('0x2b')](_0x49e032))]=_0x275af2[_0x49e032];}}return{'variables':_0x45c798};};exports[_0xbf8d('0x2c')]=function(_0x3bfdb3,_0x3d1875){if(!_['isNil'](_0x3bfdb3)){if(_0x3bfdb3[_0xbf8d('0x2d')](_0xbf8d('0x2e'))){if(_0x3bfdb3[_0xbf8d('0x2e')]>0x0){_0x3bfdb3[_0xbf8d('0x2e')]-=0x1;}else{logger[_0xbf8d('0xc')](_0xbf8d('0x2f'),_0x3d1875);}}}else{logger[_0xbf8d('0xc')](_0xbf8d('0x30'),_0x3d1875);}};exports[_0xbf8d('0x31')]=function(_0x22e899){var _0x36c5af=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x22e899[_0xbf8d('0x32')]=0xd;_0x22e899[_0xbf8d('0x33')]=_0xbf8d('0x34');_0x22e899[_0xbf8d('0x35')]=_0x36c5af;_0x22e899[_0xbf8d('0x36')]=_0x36c5af;_0x22e899[_0xbf8d('0x37')]=_0x36c5af;};exports[_0xbf8d('0x38')]=function(_0x54c403,_0x37eb79,_0x1a4a8b){var _0x5f330c=moment()[_0xbf8d('0x16')]('YYYY-MM-DD\x20HH:mm:ss');_0x54c403['state']=_0x37eb79;_0x54c403[_0xbf8d('0x33')]=_0x1a4a8b;_0x54c403[_0xbf8d('0x36')]=_0x5f330c;_0x54c403[_0xbf8d('0x39')]=utils[_0xbf8d('0x3a')](_0x54c403[_0xbf8d('0x36')],_0x54c403[_0xbf8d('0x35')]);};exports[_0xbf8d('0x3b')]=function(_0xb2afcd,_0x3231f2,_0x405549){_0xb2afcd['membername']=_0x3231f2;_0xb2afcd[_0xbf8d('0x3c')]=_0x405549;};exports[_0xbf8d('0x3d')]=function(_0x591f12,_0x16f6e7,_0x4fe81c){var _0x86fb4a=moment()[_0xbf8d('0x16')]('YYYY-MM-DD\x20HH:mm:ss');_0x591f12[_0xbf8d('0x32')]=_0x16f6e7;_0x591f12[_0xbf8d('0x33')]=_0x4fe81c;_0x591f12[_0xbf8d('0x36')]=_0x591f12[_0xbf8d('0x36')]?_0x591f12[_0xbf8d('0x36')]:_0x86fb4a;_0x591f12[_0xbf8d('0x37')]=_0x591f12[_0xbf8d('0x37')]?_0x591f12[_0xbf8d('0x37')]:_0x86fb4a;_0x591f12[_0xbf8d('0x39')]=utils['getSeconds'](_0x591f12[_0xbf8d('0x36')]||0x0,_0x591f12[_0xbf8d('0x35')]||0x0);_0x591f12[_0xbf8d('0x3e')]=_0x591f12[_0xbf8d('0x3f')]?utils[_0xbf8d('0x3a')](_0x591f12[_0xbf8d('0x37')],_0x591f12[_0xbf8d('0x3f')]):0x0;};exports[_0xbf8d('0x40')]=function(_0x12173e){return _0x12173e===_0xbf8d('0x41');};exports['variablesAction']=function(_0x3d1845,_0x337be8,_0x21980c,_0x31c695,_0x4025bb){var _0xb28b9b=_0x31c695?_0xbf8d('0x42'):_0x3d1845['calleridname'];_0xb28b9b=_0x4025bb?_0xbf8d('0x43'):_0xb28b9b;return{'actionid':_0x3d1845[_0xbf8d('0x44')],'action':_0xbf8d('0x45'),'channel':_0x3d1845[_0xbf8d('0x46')],'callerid':util[_0xbf8d('0x16')]('\x22%s\x22\x20<%s>',_0xb28b9b,_0x3d1845['calleridnum']),'Exten':'xcally-motion-preview','Context':_0xbf8d('0x47'),'Priority':'1','variable':_0x21980c,'timeout':(_0x337be8[_0xbf8d('0x48')]||0x1e)*0x3e8,'async':!![],'channelid':_0x3d1845[_0xbf8d('0x44')]};};exports[_0xbf8d('0x49')]=function(_0x3ba4ef){return _0x3ba4ef[_0xbf8d('0x4a')]+_0x3ba4ef[_0xbf8d('0x4b')]+_0x3ba4ef[_0xbf8d('0x4c')]+_0x3ba4ef[_0xbf8d('0x4d')]+_0x3ba4ef[_0xbf8d('0x4e')];};exports[_0xbf8d('0x4f')]=function(_0x4f2d8b){var _0x541708=_[_0xbf8d('0x50')](_0x4f2d8b);_0x541708[_0xbf8d('0x32')]=0xf;_0x541708['statedesc']=_0xbf8d('0x51');return _0x541708;};exports['scheduledAt']=function(_0x35f135,_0x5e7451,_0x548184){var _0x261bf5={};_0x261bf5[_0x5e7451]=_0x35f135[_0x5e7451];_0x261bf5['active']=![];_0x261bf5[_0xbf8d('0x52')]=moment()[_0xbf8d('0x53')](_0x548184,_0xbf8d('0x54'))[_0xbf8d('0x16')](_0xbf8d('0x55'));_0x261bf5[_0xbf8d('0x56')]=_0x35f135['ContactId'];_0x261bf5[_0xbf8d('0x57')]=_0x35f135[_0xbf8d('0x57')];_0x261bf5[_0xbf8d('0x1b')]=_0x35f135[_0xbf8d('0x1b')]||undefined;return _0x261bf5;};exports[_0xbf8d('0x58')]=function(_0x31ce83,_0x7c3ef){if(!_['isNil'](_0x31ce83)){if(_0x31ce83[_0xbf8d('0x59')]>0x0){_0x31ce83['pTalking']-=0x1;}else{logger[_0xbf8d('0xc')](_0x7c3ef,_0xbf8d('0x5a'));}}else{logger[_0xbf8d('0xc')](_0x7c3ef,_0xbf8d('0x5b'));}};exports['IsNotLoggedIn']=function(_0x1f694f){if(_0x1f694f<=0x0){return!![];}return![];};function buildObj(_0x207541,_0x129990,_0x43210c){_0x207541[_0xbf8d('0x5c')]=_0x129990;_0x207541[_0xbf8d('0x5d')]=_0x207541[_0xbf8d('0x5e')];_0x207541[_0xbf8d('0x5f')]=_0x207541[_0xbf8d('0x46')];_0x207541['motionChannel']=_0xbf8d('0x60');if(_0x43210c){_0x207541[_0xbf8d('0x61')]=_0x43210c['mandatoryDisposition'];}return _0x207541;}exports['buildObj']=buildObj;exports[_0xbf8d('0x62')]=function(_0x31016f){var _0x584070={};_0x584070[_0xbf8d('0x5e')]=_0x31016f[_0xbf8d('0x5e')];_0x584070[_0xbf8d('0x5f')]=_0x31016f[_0xbf8d('0x46')];_0x584070[_0xbf8d('0x44')]=_0x31016f[_0xbf8d('0x44')];return _0x584070;};exports[_0xbf8d('0x63')]=function(_0x1defc3){var _0x1c8ce1=[];for(var _0x147cec in _0x1defc3){if(_0x1defc3[_0xbf8d('0x2d')](_0x147cec)){if(!_['isNil'](_0x1defc3[_0x147cec])&&_0x1defc3[_0x147cec][_0xbf8d('0x32')]===_0xbf8d('0x64')&&_0x1defc3[_0x147cec][_0xbf8d('0x65')]===_0xbf8d('0x66')){_0x1c8ce1[_0xbf8d('0x67')](_0x1defc3[_0x147cec]['id']);}}}return _0x1c8ce1;};exports[_0xbf8d('0x68')]=function(_0x5d3421){var _0x436fe6=moment()[_0xbf8d('0x69')](0x0);var _0x33e6ee=moment(_0x5d3421)[_0xbf8d('0x69')](0x0);return _0x436fe6[_0xbf8d('0x6a')](_0x33e6ee,_0xbf8d('0x6b'));};exports[_0xbf8d('0x6c')]=function(_0x36e02c){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x36e02c[_0xbf8d('0x56')],'ListId':_0x36e02c[_0xbf8d('0x57')],'VoiceQueueId':_0x36e02c[_0xbf8d('0x1b')]||undefined,'CampaignId':_0x36e02c['CampaignId']||undefined};};exports['filterKey']=function(_0x3fe05e){if(_0x3fe05e===_0xbf8d('0x44')||_0x3fe05e===_0xbf8d('0x6d')||_0x3fe05e===_0xbf8d('0x5e')||_0x3fe05e===_0xbf8d('0x6e')||_0x3fe05e===_0xbf8d('0x6f')||_0x3fe05e===_0xbf8d('0x70')||_0x3fe05e===_0xbf8d('0x71')||_0x3fe05e===_0xbf8d('0x46')||_0x3fe05e==='calleridname'||_0x3fe05e==='active'||_0x3fe05e==='calleridnum'||_0x3fe05e===_0xbf8d('0x52')||_0x3fe05e==='countbusyretry'||_0x3fe05e===_0xbf8d('0x4b')||_0x3fe05e===_0xbf8d('0x4c')||_0x3fe05e===_0xbf8d('0x72')||_0x3fe05e==='callback'||_0x3fe05e===_0xbf8d('0x73')||_0x3fe05e===_0xbf8d('0x74')||_0x3fe05e==='recallme'||_0x3fe05e==='ContactId'||_0x3fe05e===_0xbf8d('0x57')||_0x3fe05e===_0xbf8d('0x3c')||_0x3fe05e===_0xbf8d('0x1b')||_0x3fe05e==='sipcallid'||_0x3fe05e===_0xbf8d('0x75')||_0x3fe05e===_0xbf8d('0x76')||_0x3fe05e===_0xbf8d('0x77')||_0x3fe05e==='xmd-listid'||_0x3fe05e===_0xbf8d('0x78')||_0x3fe05e===_0xbf8d('0x79')||_0x3fe05e==='xmd-dialoptions'||_0x3fe05e===_0xbf8d('0x7a')||_0x3fe05e==='xmd-dialchannel'||_0x3fe05e===_0xbf8d('0x7b')||_0x3fe05e==='xmd-cdrtype'||_0x3fe05e==='xmd-callerid'||_0x3fe05e===_0xbf8d('0x7c')||_0x3fe05e===_0xbf8d('0x7d')||_0x3fe05e===_0xbf8d('0x7e')||_0x3fe05e===_0xbf8d('0x7f')||_0x3fe05e===_0xbf8d('0x80')||_0x3fe05e==='rtpaudioqosjitterbridged'||_0x3fe05e===_0xbf8d('0x81')||_0x3fe05e===_0xbf8d('0x82')||_0x3fe05e===_0xbf8d('0x83')||_0x3fe05e===_0xbf8d('0x84')||_0x3fe05e===_0xbf8d('0x7e')||_0x3fe05e==='rtpaudioqosbridged'||_0x3fe05e===_0xbf8d('0x80')||_0x3fe05e===_0xbf8d('0x85')||_0x3fe05e==='rtpaudioqosloss'||_0x3fe05e===_0xbf8d('0x82')||_0x3fe05e==='rtpaudioqosrtt'||_0x3fe05e==='rtpaudioqosrttbridged'||_0x3fe05e===_0xbf8d('0x86')||_0x3fe05e===_0xbf8d('0x87')||_0x3fe05e===_0xbf8d('0x32')||_0x3fe05e===_0xbf8d('0x33')){return![];}return!![];};exports[_0xbf8d('0x88')]=function(_0x45a37d,_0x494ee5){var _0x55b441,_0x931440,_0x1bf006;if(_0x494ee5<=0x0){_0x494ee5=0x1;}_0x55b441=new RegExp(_0xbf8d('0x89')+_0x494ee5+'}$');_0x931440=Math[_0xbf8d('0x8a')](0xa,_0x494ee5-0x1);_0x1bf006=Math[_0xbf8d('0x8a')](0xa,_0x494ee5)-0x1;return util[_0xbf8d('0x16')]('%s',_['replace'](_0x45a37d,_0x55b441,_[_0xbf8d('0x8b')](_0x931440,_0x1bf006)));};exports[_0xbf8d('0x8c')]=function(_0x2f52fb){var _0xe3465c=_0x2f52fb[_0xbf8d('0x8d')](/"(.*?)"/);return _0xe3465c?_0xe3465c[0x1]:_0x2f52fb;};exports['extractCalleridNumber']=function(_0x54eb9a){var _0x33ca7f=_0x54eb9a['match'](/<(.*?)>/);return _0x33ca7f?_0x33ca7f[0x1]:_0x54eb9a;};function buildNoAnswerEventPayload(_0x4f3b9c,_0x71f6e){var _0x4836bc=buildObj(_0x4f3b9c,'noanswer');if(!_[_0xbf8d('0x11')](_0x71f6e[_0xbf8d('0x8e')])){Object['keys'](_0x71f6e[_0xbf8d('0x8e')])[_0xbf8d('0x8f')](function(_0x4fed3d){_0x4836bc[_0x4fed3d[_0xbf8d('0x90')]()]=_0x71f6e[_0xbf8d('0x8e')][_0x4fed3d];});}return _0x4836bc;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;