Built motion from commit d5e4af8c.|2.6.23
[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 _0xbcfe=['countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','Global','scheduledAt','active','minutes','ListId','decrementTalkink','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','IsNotLoggedIn','lastevent','queue','interface','channelAgent','motionChannel','mandatoryDisposition','buildObj','agentReadyId','not_inuse','reachable','push','getDiff','milliseconds','diff','seconds','createBody','CampaignId','filterKey','type','campaigntype','scheduledat','countglobal','callback','xmd-voicequeueid','xmd-queue','xmd-listid','xmd-dialtimeout','xmd-dialid','xmd-contactid','xmd-cdrtype','xmd-callerid','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqoslossbridged','rtpaudioqosrtt','rtpaudioqosrttbridged','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','replace','random','extractCalleridName','match','extractCalleridNumber','variables','keys','forEach','lodash','../../../../config/logger','preview','env','XCALLY_IP_AGI','127.0.0.1','../../dialer/utils','loggerCatch','logger','info','error','logger2','inspect','getCallerId','string','isEmpty','isUndefined','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','\x22rtTxX%s%s\x22','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','NONE','dialQueueProject2','\x22agi://%s/square,%s\x22','originatecalleridnum','originatecalleridname','xcally-motion-preview','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','toLowerVariables','hasOwnProperty','toLower','updateOriginated','isNil','originated','[updateOriginated]\x20is\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','state','statedesc','Blacklist','starttime','responsetime','endtime','logAgent','getSeconds','membername','UserId','logCustomer','ringtime','answertime','isFailure','uniqueid','timeout','totalGlobal','countbusyretry'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0xbcfe,0xc8));var _0xebcf=function(_0xc234bf,_0x10cc1c){_0xc234bf=_0xc234bf-0x0;var _0x2e79aa=_0xbcfe[_0xc234bf];return _0x2e79aa;};'use strict';var util=require('util');var _=require(_0xebcf('0x0'));var moment=require('moment');var logger=require(_0xebcf('0x1'))(_0xebcf('0x2'));var ipAgi=process[_0xebcf('0x3')][_0xebcf('0x4')]||_0xebcf('0x5');var utils=require(_0xebcf('0x6'));exports[_0xebcf('0x7')]=function(_0x2635d1){return function(_0x339d29){logger['error'](_0x2635d1,util['inspect'](_0x339d29,{'showHidden':![],'depth':null}));};};exports[_0xebcf('0x8')]=function(_0x404df8,_0x370251){logger[_0xebcf('0x9')](_0x404df8,util['inspect'](_0x370251,{'showHidden':![],'depth':null}));};exports['loggerError']=function(_0x3d01e1,_0xecf7dc){logger[_0xebcf('0xa')](_0x3d01e1,util['inspect'](_0xecf7dc,{'showHidden':![],'depth':null}));};exports[_0xebcf('0xb')]=function(_0x1cc67b){return function(_0x2812e0){logger[_0xebcf('0x9')](_0x1cc67b,util[_0xebcf('0xc')](_0x2812e0,{'showHidden':![],'depth':null}));};};exports['message']=function(_0xe43a90,_0x50a26a,_0x57da7d){return{'message':_0xe43a90,'unlock':_0x50a26a,'active':_0x57da7d};};exports[_0xebcf('0xd')]=function(_0x28b583,_0x2541bb,_0x1fa326){if(!_['isUndefined'](_0x1fa326)&&_0xebcf('0xe')===typeof _0x1fa326&&!_[_0xebcf('0xf')](_0x1fa326)){if(!_[_0xebcf('0x10')](_0x2541bb)&&_0xebcf('0xe')===typeof _0x2541bb&&!_[_0xebcf('0xf')](_0x2541bb)){return util[_0xebcf('0x11')](_0xebcf('0x12'),_0x2541bb,_0x1fa326);}return util[_0xebcf('0x11')](_0xebcf('0x12'),_0x1fa326,_0x1fa326);}if(!_[_0xebcf('0x10')](_0x28b583)&&'string'===typeof _0x28b583&&!_[_0xebcf('0xf')](_0x28b583)){return _0x28b583;}return _0xebcf('0x13');};exports['isActive']=function(_0x352ab7){if(_['isNil'](_0x352ab7)){return![];}return _0x352ab7;};exports[_0xebcf('0x14')]=function(_0x125663,_0x539a63,_0x407196,_0x11c32a,_0x5847cd,_0x5d93da){var _0x92c3ac={'XMD-QUEUE':_0x539a63['Queue']?_0x539a63[_0xebcf('0x15')][_0xebcf('0x16')]:'','XMD-CALLERID':_0x11c32a,'XMD-CALLERID-PREVIEW':_0x5d93da?util[_0xebcf('0x11')](_0xebcf('0x12'),_0x5d93da[_0xebcf('0x17')],_0x5d93da[_0xebcf('0x18')]):_0x11c32a,'XMD-DIALID':_0x5847cd,'XMD-CONTACTID':_0x539a63[_0xebcf('0x19')],'XMD-CDRTYPE':_0xebcf('0x1a'),'CALLERID(all)':_0x11c32a,'XMD-VOICEQUEUEID':_0x539a63[_0xebcf('0x1b')],'XMD-DIALCHANNEL':_0x407196,'XMD-DIALTIMEOUT':_0x125663[_0xebcf('0x1c')]||0x1e,'XMD-DIALOPTIONS':util[_0xebcf('0x11')](_0xebcf('0x1d'),_0x125663['dialQueueProject2']?'g':'',_[_0xebcf('0xf')](_0x125663[_0xebcf('0x1e')])?'':_0xebcf('0x1f')),'XMD-DIALURL':_0x125663[_0xebcf('0x20')]||'','XMD-AGI':_0x125663['dialQueueProject']?util['format']('\x22agi://%s/square,%s\x22',ipAgi,_0x125663[_0xebcf('0x21')]):_0xebcf('0x22'),'XMD-AGIAFTER':_0x125663[_0xebcf('0x23')]?util[_0xebcf('0x11')](_0xebcf('0x24'),ipAgi,_0x125663['dialQueueProject2']):_0xebcf('0x22'),'XMD-ORIGINATECALLERIDNUM':_0x5d93da?_0x5d93da[_0xebcf('0x25')]:'','XMD-ORIGINATECALLERIDNAME':_0x5d93da?_0x5d93da[_0xebcf('0x26')]:'','XMD-DESTINATION':_0xebcf('0x27'),'SIPADDHEADER':_0xebcf('0x28')};if(!_['isEmpty'](_0x125663['monitor_format'])){_0x92c3ac[util['format']('%s',_0xebcf('0x29'))]=_0x125663[_0xebcf('0x1e')];_0x92c3ac[util[_0xebcf('0x11')]('%s','_XCALLY_MIXMONITOR_UNIQUEID')]=_0x5847cd;}return _0x92c3ac;};exports[_0xebcf('0x2a')]=function(_0x5ee6e9){var _0x375945={};for(var _0xadb46e in _0x5ee6e9){if(_0x5ee6e9[_0xebcf('0x2b')](_0xadb46e)){_0x375945[util[_0xebcf('0x11')]('%s',_[_0xebcf('0x2c')](_0xadb46e))]=_0x5ee6e9[_0xadb46e];}}return{'variables':_0x375945};};exports[_0xebcf('0x2d')]=function(_0x49afad,_0x2bf46c){if(!_[_0xebcf('0x2e')](_0x49afad)){if(_0x49afad[_0xebcf('0x2b')](_0xebcf('0x2f'))){if(_0x49afad[_0xebcf('0x2f')]>0x0){_0x49afad['originated']-=0x1;}else{logger[_0xebcf('0xa')]('[updateOriginated]\x20object\x20originated\x20is\x20negative',_0x2bf46c);}}}else{logger[_0xebcf('0xa')](_0xebcf('0x30'),_0x2bf46c);}};exports['logBlacklist']=function(_0x5e8a9a){var _0x4afd4a=moment()[_0xebcf('0x11')](_0xebcf('0x31'));_0x5e8a9a[_0xebcf('0x32')]=0xd;_0x5e8a9a[_0xebcf('0x33')]=_0xebcf('0x34');_0x5e8a9a[_0xebcf('0x35')]=_0x4afd4a;_0x5e8a9a[_0xebcf('0x36')]=_0x4afd4a;_0x5e8a9a[_0xebcf('0x37')]=_0x4afd4a;};exports[_0xebcf('0x38')]=function(_0x591964,_0x3ebac5,_0x822935){var _0xca91fc=moment()[_0xebcf('0x11')](_0xebcf('0x31'));_0x591964['state']=_0x3ebac5;_0x591964[_0xebcf('0x33')]=_0x822935;_0x591964[_0xebcf('0x36')]=_0xca91fc;_0x591964['ringtime']=utils[_0xebcf('0x39')](_0x591964[_0xebcf('0x36')],_0x591964[_0xebcf('0x35')]);};exports['logLookAgent']=function(_0x3065be,_0x2dcea9,_0x459294){_0x3065be[_0xebcf('0x3a')]=_0x2dcea9;_0x3065be[_0xebcf('0x3b')]=_0x459294;};exports[_0xebcf('0x3c')]=function(_0x8538bb,_0x5cdc1f,_0x45fdff){var _0x22147a=moment()[_0xebcf('0x11')](_0xebcf('0x31'));_0x8538bb['state']=_0x5cdc1f;_0x8538bb[_0xebcf('0x33')]=_0x45fdff;_0x8538bb[_0xebcf('0x36')]=_0x8538bb[_0xebcf('0x36')]?_0x8538bb['responsetime']:_0x22147a;_0x8538bb[_0xebcf('0x37')]=_0x8538bb[_0xebcf('0x37')]?_0x8538bb[_0xebcf('0x37')]:_0x22147a;_0x8538bb[_0xebcf('0x3d')]=utils[_0xebcf('0x39')](_0x8538bb[_0xebcf('0x36')]||0x0,_0x8538bb['starttime']||0x0);_0x8538bb['talktime']=_0x8538bb[_0xebcf('0x3e')]?utils[_0xebcf('0x39')](_0x8538bb['endtime'],_0x8538bb[_0xebcf('0x3e')]):0x0;};exports[_0xebcf('0x3f')]=function(_0x4861eb){return _0x4861eb==='Failure';};exports['variablesAction']=function(_0x4f3046,_0x1abd8d,_0x1ca286,_0x1ae8d7,_0xebead6){var _0x4728a0=_0x1ae8d7?'RECALL':_0x4f3046[_0xebcf('0x17')];_0x4728a0=_0xebead6?'BOOKED':_0x4728a0;return{'actionid':_0x4f3046[_0xebcf('0x40')],'action':'originate','channel':_0x4f3046['channelAgent'],'callerid':util[_0xebcf('0x11')]('\x22%s\x22\x20<%s>',_0x4728a0,_0x4f3046[_0xebcf('0x18')]),'Exten':'xcally-motion-preview','Context':'from-sip','Priority':'1','variable':_0x1ca286,'timeout':(_0x1abd8d[_0xebcf('0x41')]||0x1e)*0x3e8,'async':!![],'channelid':_0x4f3046[_0xebcf('0x40')]};};exports[_0xebcf('0x42')]=function(_0x59a58a){return _0x59a58a[_0xebcf('0x43')]+_0x59a58a[_0xebcf('0x44')]+_0x59a58a[_0xebcf('0x45')]+_0x59a58a[_0xebcf('0x46')]+_0x59a58a[_0xebcf('0x47')];};exports[_0xebcf('0x48')]=function(_0x37099b){var _0x4cba7c=_[_0xebcf('0x49')](_0x37099b);_0x4cba7c[_0xebcf('0x32')]=0xf;_0x4cba7c[_0xebcf('0x33')]=_0xebcf('0x4a');return _0x4cba7c;};exports[_0xebcf('0x4b')]=function(_0x113118,_0x43dc47,_0x137cb6){var _0x528056={};_0x528056[_0x43dc47]=_0x113118[_0x43dc47];_0x528056[_0xebcf('0x4c')]=![];_0x528056['scheduledat']=moment()['add'](_0x137cb6,_0xebcf('0x4d'))['format'](_0xebcf('0x31'));_0x528056['ContactId']=_0x113118[_0xebcf('0x19')];_0x528056[_0xebcf('0x4e')]=_0x113118[_0xebcf('0x4e')];_0x528056[_0xebcf('0x1b')]=_0x113118['VoiceQueueId']||undefined;return _0x528056;};exports[_0xebcf('0x4f')]=function(_0x107e6e,_0x1b894a){if(!_[_0xebcf('0x2e')](_0x107e6e)){if(_0x107e6e[_0xebcf('0x50')]>0x0){_0x107e6e[_0xebcf('0x50')]-=0x1;}else{logger[_0xebcf('0xa')](_0x1b894a,_0xebcf('0x51'));}}else{logger['error'](_0x1b894a,'[decrementTalkink]\x20is\x20null\x20or\x20undefined');}};exports[_0xebcf('0x52')]=function(_0x50ba38){if(_0x50ba38<=0x0){return!![];}return![];};function buildObj(_0x24af38,_0x13513f,_0x91d6e2){_0x24af38[_0xebcf('0x53')]=_0x13513f;_0x24af38[_0xebcf('0x16')]=_0x24af38[_0xebcf('0x54')];_0x24af38[_0xebcf('0x55')]=_0x24af38[_0xebcf('0x56')];_0x24af38[_0xebcf('0x57')]='voice';if(_0x91d6e2){_0x24af38[_0xebcf('0x58')]=_0x91d6e2[_0xebcf('0x58')];}return _0x24af38;}exports[_0xebcf('0x59')]=buildObj;exports[_0xebcf('0x5a')]=function(_0x1a4cc1){var _0x3df8d4=[];for(var _0x225f55 in _0x1a4cc1){if(_0x1a4cc1[_0xebcf('0x2b')](_0x225f55)){if(!_[_0xebcf('0x2e')](_0x1a4cc1[_0x225f55])&&_0x1a4cc1[_0x225f55]['state']===_0xebcf('0x5b')&&_0x1a4cc1[_0x225f55]['status']===_0xebcf('0x5c')){_0x3df8d4[_0xebcf('0x5d')](_0x1a4cc1[_0x225f55]['id']);}}}return _0x3df8d4;};exports[_0xebcf('0x5e')]=function(_0x3e2ab5){var _0x2743f5=moment()[_0xebcf('0x5f')](0x0);var _0x5ccbac=moment(_0x3e2ab5)[_0xebcf('0x5f')](0x0);return _0x2743f5[_0xebcf('0x60')](_0x5ccbac,_0xebcf('0x61'));};exports[_0xebcf('0x62')]=function(_0x481970){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x481970[_0xebcf('0x19')],'ListId':_0x481970['ListId'],'VoiceQueueId':_0x481970['VoiceQueueId']||undefined,'CampaignId':_0x481970[_0xebcf('0x63')]||undefined};};exports[_0xebcf('0x64')]=function(_0x327142){if(_0x327142===_0xebcf('0x40')||_0x327142==='idContact'||_0x327142==='queue'||_0x327142===_0xebcf('0x65')||_0x327142===_0xebcf('0x66')||_0x327142==='dialAnswer'||_0x327142==='membername'||_0x327142===_0xebcf('0x56')||_0x327142===_0xebcf('0x17')||_0x327142==='active'||_0x327142==='calleridnum'||_0x327142===_0xebcf('0x67')||_0x327142==='countbusyretry'||_0x327142===_0xebcf('0x44')||_0x327142===_0xebcf('0x45')||_0x327142===_0xebcf('0x68')||_0x327142===_0xebcf('0x69')||_0x327142==='callbackuniqueid'||_0x327142==='callbackat'||_0x327142==='recallme'||_0x327142===_0xebcf('0x19')||_0x327142==='ListId'||_0x327142==='UserId'||_0x327142===_0xebcf('0x1b')||_0x327142==='sipcallid'||_0x327142===_0xebcf('0x6a')||_0x327142===_0xebcf('0x6b')||_0x327142==='xmd-phone'||_0x327142===_0xebcf('0x6c')||_0x327142==='xmd-dialurl'||_0x327142===_0xebcf('0x6d')||_0x327142==='xmd-dialoptions'||_0x327142===_0xebcf('0x6e')||_0x327142==='xmd-dialchannel'||_0x327142===_0xebcf('0x6f')||_0x327142===_0xebcf('0x70')||_0x327142===_0xebcf('0x71')||_0x327142==='xmd-agiafter'||_0x327142===_0xebcf('0x72')||_0x327142===_0xebcf('0x73')||_0x327142===_0xebcf('0x74')||_0x327142===_0xebcf('0x75')||_0x327142===_0xebcf('0x76')||_0x327142===_0xebcf('0x77')||_0x327142===_0xebcf('0x78')||_0x327142===_0xebcf('0x79')||_0x327142===_0xebcf('0x7a')||_0x327142==='rtpaudioqos'||_0x327142===_0xebcf('0x74')||_0x327142===_0xebcf('0x75')||_0x327142===_0xebcf('0x76')||_0x327142==='rtpaudioqosloss'||_0x327142===_0xebcf('0x78')||_0x327142===_0xebcf('0x79')||_0x327142===_0xebcf('0x7a')||_0x327142==='bridgepeer'||_0x327142===_0xebcf('0x7b')||_0x327142===_0xebcf('0x32')||_0x327142===_0xebcf('0x33')){return![];}return!![];};exports[_0xebcf('0x7c')]=function(_0x35b166,_0x15a307){var _0x322af3,_0x3772d7,_0x2ed8bd;if(_0x15a307<=0x0){_0x15a307=0x1;}_0x322af3=new RegExp(_0xebcf('0x7d')+_0x15a307+'}$');_0x3772d7=Math['pow'](0xa,_0x15a307-0x1);_0x2ed8bd=Math['pow'](0xa,_0x15a307)-0x1;return util[_0xebcf('0x11')]('%s',_[_0xebcf('0x7e')](_0x35b166,_0x322af3,_[_0xebcf('0x7f')](_0x3772d7,_0x2ed8bd)));};exports[_0xebcf('0x80')]=function(_0x2c77e3){var _0x4eb9a3=_0x2c77e3[_0xebcf('0x81')](/"(.*?)"/);return _0x4eb9a3?_0x4eb9a3[0x1]:_0x2c77e3;};exports[_0xebcf('0x82')]=function(_0x48a0df){var _0x33240b=_0x48a0df[_0xebcf('0x81')](/<(.*?)>/);return _0x33240b?_0x33240b[0x1]:_0x48a0df;};function buildNoAnswerEventPayload(_0x45a2e1,_0x21c54b){var _0x505555=buildObj(_0x45a2e1,'noanswer');if(!_['isEmpty'](_0x21c54b[_0xebcf('0x83')])){Object[_0xebcf('0x84')](_0x21c54b['variables'])[_0xebcf('0x85')](function(_0x36ec10){_0x505555[_0x36ec10['toLowerCase']()]=_0x21c54b[_0xebcf('0x83')][_0x36ec10];});}return _0x505555;}exports['buildNoAnswerEventPayload']=buildNoAnswerEventPayload;