Built motion from commit ddca4d0d.|2.5.47
[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 _0x4e77=['util','moment','preview','env','127.0.0.1','milliseconds','diff','error','inspect','info','loggerError','logger2','message','getCallerId','isEmpty','isUndefined','string','\x22%s\x22\x20<%s>','\x22\x22\x20<>','isActive','isNil','addVariables','Queue','name','calleridname','calleridnum','ContactId','dialer','VoiceQueueId','dialOriginateTimeout','format','\x22rtTxX%s%s\x22','dialQueueProject2','monitor_format','U(xcally-mixmonitor-context)','dialPreviewUrl','dialQueueProject','\x22agi://%s/square,%s\x22','NONE','originatecalleridname','Call-Type:\x20PREVIEW','_XCALLY_MIXMONITOR_FORMAT','_XCALLY_MIXMONITOR_UNIQUEID','Contact','createdAt','updatedAt','%s%s','toUpper','toLowerVariables','hasOwnProperty','toLower','updateOriginated','originated','[updateOriginated]\x20object\x20originated\x20is\x20negative','[updateOriginated]\x20is\x20null\x20or\x20undefined','logBlacklist','YYYY-MM-DD\x20HH:mm:ss','state','starttime','logAgent','statedesc','responsetime','ringtime','logLookAgent','membername','UserId','endtime','talktime','answertime','Failure','variablesAction','uniqueid','originate','channelAgent','xcally-motion-preview','from-sip','timeout','countbusyretry','countcongestionretry','countnoanswerretry','countagentrejectretry','countnosuchnumberretry','cloneAction','clone','scheduledAt','scheduledat','add','ListId','pTalking','[decrementTalkink]\x20object\x20talking\x20is\x20negative','[decrementTalkink]\x20is\x20null\x20or\x20undefined','IsNotLoggedIn','lastevent','queue','motionChannel','voice','mandatoryDisposition','buildAcw','agentReadyId','not_inuse','reachable','getDiff','createBody','CampaignId','filterKey','idContact','type','campaigntype','dialAnswer','active','callback','callbackuniqueid','recallme','xmd-voicequeueid','xmd-phone','xmd-dialtimeout','xmd-dialoptions','xmd-dialid','xmd-dialchannel','xmd-contactid','xmd-cdrtype','xmd-agiafter','xmd-agi','rtpaudioqos','rtpaudioqosbridged','rtpaudioqosjitter','rtpaudioqosjitterbridged','rtpaudioqosloss','rtpaudioqosrtt','rtpaudioqosrttbridged','rtpaudioqoslossbridged','bridgepeer','bridgepvtcallid','getCallerIdRandom','\x5cw{0,','pow','random','extractCalleridName','match','extractCalleridNumber'];(function(_0x4c12ec,_0x2e9103){var _0x3ae42c=function(_0x5a728f){while(--_0x5a728f){_0x4c12ec['push'](_0x4c12ec['shift']());}};_0x3ae42c(++_0x2e9103);}(_0x4e77,0x1a4));var _0x74e7=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x4e77[_0xa464c9];return _0x3d73c4;};'use strict';var util=require(_0x74e7('0x0'));var _=require('lodash');var moment=require(_0x74e7('0x1'));var logger=require('../../../../config/logger')(_0x74e7('0x2'));var ipAgi=process[_0x74e7('0x3')]['XCALLY_IP_AGI']||_0x74e7('0x4');function getSeconds(_0x43fcee,_0x5a6044){var _0x3f67fb=moment(_0x43fcee)[_0x74e7('0x5')](0x0);var _0x513c5d=moment(_0x5a6044)[_0x74e7('0x5')](0x0);return _0x3f67fb[_0x74e7('0x6')](_0x513c5d,'seconds');}exports['loggerCatch']=function(_0x2da768){return function(_0x170bda){logger[_0x74e7('0x7')](_0x2da768,util[_0x74e7('0x8')](_0x170bda,{'showHidden':![],'depth':null}));};};exports['logger']=function(_0x4873b7,_0x20ca8e){logger[_0x74e7('0x9')](_0x4873b7,util[_0x74e7('0x8')](_0x20ca8e,{'showHidden':![],'depth':null}));};exports[_0x74e7('0xa')]=function(_0x46f373,_0x4040a4){logger[_0x74e7('0x7')](_0x46f373,util[_0x74e7('0x8')](_0x4040a4,{'showHidden':![],'depth':null}));};exports[_0x74e7('0xb')]=function(_0x47894b){return function(_0xba2ef9){logger[_0x74e7('0x9')](_0x47894b,util['inspect'](_0xba2ef9,{'showHidden':![],'depth':null}));};};exports[_0x74e7('0xc')]=function(_0x28fe86,_0x4d96cd,_0x348be9){return{'message':_0x28fe86,'unlock':_0x4d96cd,'active':_0x348be9};};exports[_0x74e7('0xd')]=function(_0x5de8b5,_0x3eb21e,_0x371442){if(!_['isUndefined'](_0x371442)&&'string'===typeof _0x371442&&!_[_0x74e7('0xe')](_0x371442)){if(!_[_0x74e7('0xf')](_0x3eb21e)&&_0x74e7('0x10')===typeof _0x3eb21e&&!_['isEmpty'](_0x3eb21e)){return util['format'](_0x74e7('0x11'),_0x3eb21e,_0x371442);}return util['format'](_0x74e7('0x11'),_0x371442,_0x371442);}if(!_[_0x74e7('0xf')](_0x5de8b5)&&'string'===typeof _0x5de8b5&&!_[_0x74e7('0xe')](_0x5de8b5)){return _0x5de8b5;}return _0x74e7('0x12');};exports[_0x74e7('0x13')]=function(_0x1c8a91){if(_[_0x74e7('0x14')](_0x1c8a91)){return![];}return _0x1c8a91;};exports[_0x74e7('0x15')]=function(_0x260ea6,_0x23140b,_0x3d3f21,_0x1f15a0,_0x14d20c,_0x4e45dd){var _0x243db1={'XMD-QUEUE':_0x23140b[_0x74e7('0x16')]?_0x23140b[_0x74e7('0x16')][_0x74e7('0x17')]:'','XMD-CALLERID':_0x1f15a0,'XMD-CALLERID-PREVIEW':_0x4e45dd?util['format']('\x22%s\x22\x20<%s>',_0x4e45dd[_0x74e7('0x18')],_0x4e45dd[_0x74e7('0x19')]):_0x1f15a0,'XMD-DIALID':_0x14d20c,'XMD-CONTACTID':_0x23140b[_0x74e7('0x1a')],'XMD-CDRTYPE':_0x74e7('0x1b'),'CALLERID(all)':_0x1f15a0,'XMD-VOICEQUEUEID':_0x23140b[_0x74e7('0x1c')],'XMD-DIALCHANNEL':_0x3d3f21,'XMD-DIALTIMEOUT':_0x260ea6[_0x74e7('0x1d')]||0x1e,'XMD-DIALOPTIONS':util[_0x74e7('0x1e')](_0x74e7('0x1f'),_0x260ea6[_0x74e7('0x20')]?'g':'',_[_0x74e7('0xe')](_0x260ea6[_0x74e7('0x21')])?'':_0x74e7('0x22')),'XMD-DIALURL':_0x260ea6[_0x74e7('0x23')]||'','XMD-AGI':_0x260ea6[_0x74e7('0x24')]?util[_0x74e7('0x1e')](_0x74e7('0x25'),ipAgi,_0x260ea6[_0x74e7('0x24')]):_0x74e7('0x26'),'XMD-AGIAFTER':_0x260ea6[_0x74e7('0x20')]?util[_0x74e7('0x1e')](_0x74e7('0x25'),ipAgi,_0x260ea6[_0x74e7('0x20')]):_0x74e7('0x26'),'XMD-ORIGINATECALLERIDNUM':_0x4e45dd?_0x4e45dd['originatecalleridnum']:'','XMD-ORIGINATECALLERIDNAME':_0x4e45dd?_0x4e45dd[_0x74e7('0x27')]:'','XMD-DESTINATION':'xcally-motion-preview','SIPADDHEADER':_0x74e7('0x28')};if(!_[_0x74e7('0xe')](_0x260ea6[_0x74e7('0x21')])){_0x243db1[util['format']('%s',_0x74e7('0x29'))]=_0x260ea6[_0x74e7('0x21')];_0x243db1[util[_0x74e7('0x1e')]('%s',_0x74e7('0x2a'))]=_0x14d20c;}if(_0x23140b&&_0x23140b[_0x74e7('0x2b')]){for(var _0x5b8d97 in _0x23140b[_0x74e7('0x2b')]){if(_0x23140b[_0x74e7('0x2b')]['hasOwnProperty'](_0x5b8d97)){if(!_[_0x74e7('0x14')](_0x23140b[_0x74e7('0x2b')][_0x5b8d97])&&_0x5b8d97!=='id'&&_0x5b8d97!=='tags'&&_0x5b8d97!==_0x74e7('0x2c')&&_0x5b8d97!==_0x74e7('0x2d')){_0x243db1[util[_0x74e7('0x1e')](_0x74e7('0x2e'),'XMD-',_[_0x74e7('0x2f')](_0x5b8d97))]=_0x23140b[_0x74e7('0x2b')][_0x5b8d97];}}}}return _0x243db1;};exports[_0x74e7('0x30')]=function(_0x22603f){var _0x5a920c={};for(var _0x2e8ef7 in _0x22603f){if(_0x22603f[_0x74e7('0x31')](_0x2e8ef7)){_0x5a920c[util['format']('%s',_[_0x74e7('0x32')](_0x2e8ef7))]=_0x22603f[_0x2e8ef7];}}return{'variables':_0x5a920c};};exports[_0x74e7('0x33')]=function(_0x25bfaf,_0xfdb22d){if(!_[_0x74e7('0x14')](_0x25bfaf)){if(_0x25bfaf[_0x74e7('0x31')](_0x74e7('0x34'))){if(_0x25bfaf[_0x74e7('0x34')]>0x0){_0x25bfaf['originated']-=0x1;}else{logger[_0x74e7('0x7')](_0x74e7('0x35'),_0xfdb22d);}}}else{logger['error'](_0x74e7('0x36'),_0xfdb22d);}};exports[_0x74e7('0x37')]=function(_0x40654d){var _0x31df2f=moment()['format'](_0x74e7('0x38'));_0x40654d[_0x74e7('0x39')]=0xd;_0x40654d['statedesc']='Blacklist';_0x40654d[_0x74e7('0x3a')]=_0x31df2f;_0x40654d['responsetime']=_0x31df2f;_0x40654d['endtime']=_0x31df2f;};exports[_0x74e7('0x3b')]=function(_0x15ab6c,_0x1c8454,_0x55c877){var _0x18ae6b=moment()[_0x74e7('0x1e')](_0x74e7('0x38'));_0x15ab6c[_0x74e7('0x39')]=_0x1c8454;_0x15ab6c[_0x74e7('0x3c')]=_0x55c877;_0x15ab6c[_0x74e7('0x3d')]=_0x18ae6b;_0x15ab6c[_0x74e7('0x3e')]=getSeconds(_0x15ab6c[_0x74e7('0x3d')],_0x15ab6c[_0x74e7('0x3a')]);};exports[_0x74e7('0x3f')]=function(_0x15c053,_0x326239,_0x254e15){_0x15c053[_0x74e7('0x40')]=_0x326239;_0x15c053[_0x74e7('0x41')]=_0x254e15;};exports['logCustomer']=function(_0x4a0d01,_0x12ee22,_0xf7e5d6){var _0x4c5d40=moment()[_0x74e7('0x1e')](_0x74e7('0x38'));_0x4a0d01['state']=_0x12ee22;_0x4a0d01[_0x74e7('0x3c')]=_0xf7e5d6;_0x4a0d01['responsetime']=_0x4a0d01[_0x74e7('0x3d')]?_0x4a0d01['responsetime']:_0x4c5d40;_0x4a0d01[_0x74e7('0x42')]=_0x4a0d01[_0x74e7('0x42')]?_0x4a0d01[_0x74e7('0x42')]:_0x4c5d40;_0x4a0d01[_0x74e7('0x3e')]=getSeconds(_0x4a0d01[_0x74e7('0x3d')]||0x0,_0x4a0d01['starttime']||0x0);_0x4a0d01[_0x74e7('0x43')]=_0x4a0d01[_0x74e7('0x44')]?getSeconds(_0x4a0d01[_0x74e7('0x42')],_0x4a0d01[_0x74e7('0x44')]):0x0;};exports['isFailure']=function(_0x39bf55){return _0x39bf55===_0x74e7('0x45');};exports[_0x74e7('0x46')]=function(_0x283a5e,_0x16f1de,_0x4f89b5,_0x58f083,_0x249efb){var _0x18360c=_0x58f083?'RECALL':_0x283a5e[_0x74e7('0x18')];_0x18360c=_0x249efb?'BOOKED':_0x18360c;return{'actionid':_0x283a5e[_0x74e7('0x47')],'action':_0x74e7('0x48'),'channel':_0x283a5e[_0x74e7('0x49')],'callerid':util['format'](_0x74e7('0x11'),_0x18360c,_0x283a5e[_0x74e7('0x19')]),'Exten':_0x74e7('0x4a'),'Context':_0x74e7('0x4b'),'Priority':'1','variable':_0x4f89b5,'timeout':(_0x16f1de[_0x74e7('0x4c')]||0x1e)*0x3e8,'async':!![],'channelid':_0x283a5e[_0x74e7('0x47')]};};exports['totalGlobal']=function(_0x340931){return _0x340931[_0x74e7('0x4d')]+_0x340931[_0x74e7('0x4e')]+_0x340931[_0x74e7('0x4f')]+_0x340931[_0x74e7('0x50')]+_0x340931[_0x74e7('0x51')];};exports[_0x74e7('0x52')]=function(_0x2743c9){var _0x4f59e5=_[_0x74e7('0x53')](_0x2743c9);_0x4f59e5[_0x74e7('0x39')]=0xf;_0x4f59e5[_0x74e7('0x3c')]='Global';return _0x4f59e5;};exports[_0x74e7('0x54')]=function(_0x3ae82a,_0x282f4d,_0x2c3fba){var _0x1bac7d={};_0x1bac7d[_0x282f4d]=_0x3ae82a[_0x282f4d];_0x1bac7d['active']=![];_0x1bac7d[_0x74e7('0x55')]=moment()[_0x74e7('0x56')](_0x2c3fba,'minutes')[_0x74e7('0x1e')]('YYYY-MM-DD\x20HH:mm:ss');_0x1bac7d['ContactId']=_0x3ae82a[_0x74e7('0x1a')];_0x1bac7d['ListId']=_0x3ae82a[_0x74e7('0x57')];_0x1bac7d['VoiceQueueId']=_0x3ae82a[_0x74e7('0x1c')]||undefined;return _0x1bac7d;};exports['decrementTalkink']=function(_0xafdfd2,_0xfae879){if(!_[_0x74e7('0x14')](_0xafdfd2)){if(_0xafdfd2[_0x74e7('0x58')]>0x0){_0xafdfd2[_0x74e7('0x58')]-=0x1;}else{logger[_0x74e7('0x7')](_0xfae879,_0x74e7('0x59'));}}else{logger[_0x74e7('0x7')](_0xfae879,_0x74e7('0x5a'));}};exports[_0x74e7('0x5b')]=function(_0x4163a1){if(_0x4163a1<=0x0){return!![];}return![];};exports['buildObj']=function(_0xa7295,_0x3d02d1,_0x41ca94){_0xa7295[_0x74e7('0x5c')]=_0x3d02d1;_0xa7295['name']=_0xa7295[_0x74e7('0x5d')];_0xa7295['interface']=_0xa7295[_0x74e7('0x49')];_0xa7295[_0x74e7('0x5e')]=_0x74e7('0x5f');if(_0x41ca94){_0xa7295[_0x74e7('0x60')]=_0x41ca94['mandatoryDisposition'];}return _0xa7295;};exports[_0x74e7('0x61')]=function(_0x32c97f){var _0x5d6a84={};_0x5d6a84[_0x74e7('0x5d')]=_0x32c97f[_0x74e7('0x5d')];_0x5d6a84['interface']=_0x32c97f['channelAgent'];_0x5d6a84[_0x74e7('0x47')]=_0x32c97f[_0x74e7('0x47')];return _0x5d6a84;};exports[_0x74e7('0x62')]=function(_0x2cc48c){var _0x4fed1a=[];for(var _0x3748c0 in _0x2cc48c){if(_0x2cc48c['hasOwnProperty'](_0x3748c0)){if(!_[_0x74e7('0x14')](_0x2cc48c[_0x3748c0])&&_0x2cc48c[_0x3748c0][_0x74e7('0x39')]===_0x74e7('0x63')&&_0x2cc48c[_0x3748c0]['status']===_0x74e7('0x64')){_0x4fed1a['push'](_0x2cc48c[_0x3748c0]['id']);}}}return _0x4fed1a;};exports[_0x74e7('0x65')]=function(_0x24d7c1){var _0x3119c1=moment()[_0x74e7('0x5')](0x0);var _0x3bed73=moment(_0x24d7c1)[_0x74e7('0x5')](0x0);return _0x3119c1[_0x74e7('0x6')](_0x3bed73,'seconds');};exports[_0x74e7('0x66')]=function(_0x56f355){return{'active':![],'recallme':![],'UserId':null,'ContactId':_0x56f355[_0x74e7('0x1a')],'ListId':_0x56f355['ListId'],'VoiceQueueId':_0x56f355['VoiceQueueId']||undefined,'CampaignId':_0x56f355[_0x74e7('0x67')]||undefined};};exports[_0x74e7('0x68')]=function(_0x4ac67b){if(_0x4ac67b==='uniqueid'||_0x4ac67b===_0x74e7('0x69')||_0x4ac67b===_0x74e7('0x5d')||_0x4ac67b===_0x74e7('0x6a')||_0x4ac67b===_0x74e7('0x6b')||_0x4ac67b===_0x74e7('0x6c')||_0x4ac67b===_0x74e7('0x40')||_0x4ac67b===_0x74e7('0x49')||_0x4ac67b==='calleridname'||_0x4ac67b===_0x74e7('0x6d')||_0x4ac67b===_0x74e7('0x19')||_0x4ac67b==='scheduledat'||_0x4ac67b===_0x74e7('0x4d')||_0x4ac67b===_0x74e7('0x4e')||_0x4ac67b===_0x74e7('0x4f')||_0x4ac67b==='countglobal'||_0x4ac67b===_0x74e7('0x6e')||_0x4ac67b===_0x74e7('0x6f')||_0x4ac67b==='callbackat'||_0x4ac67b===_0x74e7('0x70')||_0x4ac67b==='ContactId'||_0x4ac67b===_0x74e7('0x57')||_0x4ac67b===_0x74e7('0x41')||_0x4ac67b===_0x74e7('0x1c')||_0x4ac67b==='sipcallid'||_0x4ac67b===_0x74e7('0x71')||_0x4ac67b==='xmd-queue'||_0x4ac67b===_0x74e7('0x72')||_0x4ac67b==='xmd-listid'||_0x4ac67b==='xmd-dialurl'||_0x4ac67b===_0x74e7('0x73')||_0x4ac67b===_0x74e7('0x74')||_0x4ac67b===_0x74e7('0x75')||_0x4ac67b===_0x74e7('0x76')||_0x4ac67b===_0x74e7('0x77')||_0x4ac67b===_0x74e7('0x78')||_0x4ac67b==='xmd-callerid'||_0x4ac67b===_0x74e7('0x79')||_0x4ac67b===_0x74e7('0x7a')||_0x4ac67b===_0x74e7('0x7b')||_0x4ac67b===_0x74e7('0x7c')||_0x4ac67b===_0x74e7('0x7d')||_0x4ac67b===_0x74e7('0x7e')||_0x4ac67b===_0x74e7('0x7f')||_0x4ac67b==='rtpaudioqoslossbridged'||_0x4ac67b===_0x74e7('0x80')||_0x4ac67b===_0x74e7('0x81')||_0x4ac67b==='rtpaudioqos'||_0x4ac67b==='rtpaudioqosbridged'||_0x4ac67b===_0x74e7('0x7d')||_0x4ac67b==='rtpaudioqosjitterbridged'||_0x4ac67b===_0x74e7('0x7f')||_0x4ac67b===_0x74e7('0x82')||_0x4ac67b==='rtpaudioqosrtt'||_0x4ac67b===_0x74e7('0x81')||_0x4ac67b===_0x74e7('0x83')||_0x4ac67b===_0x74e7('0x84')||_0x4ac67b==='state'||_0x4ac67b===_0x74e7('0x3c')){return![];}return!![];};exports[_0x74e7('0x85')]=function(_0xc56795,_0x328b92){var _0xced654,_0x1b3a68,_0x4dd136;if(_0x328b92<=0x0){_0x328b92=0x1;}_0xced654=new RegExp(_0x74e7('0x86')+_0x328b92+'}$');_0x1b3a68=Math['pow'](0xa,_0x328b92-0x1);_0x4dd136=Math[_0x74e7('0x87')](0xa,_0x328b92)-0x1;return util[_0x74e7('0x1e')]('%s',_['replace'](_0xc56795,_0xced654,_[_0x74e7('0x88')](_0x1b3a68,_0x4dd136)));};exports[_0x74e7('0x89')]=function(_0xcafa2e){var _0x3c08bc=_0xcafa2e[_0x74e7('0x8a')](/"(.*?)"/);return _0x3c08bc?_0x3c08bc[0x1]:_0xcafa2e;};exports[_0x74e7('0x8b')]=function(_0x3ab834){var _0x408fde=_0x3ab834[_0x74e7('0x8a')](/<(.*?)>/);return _0x408fde?_0x408fde[0x1]:_0x3ab834;};