1499336b9711cfe9aa4bbfae09a3439a4ea30ac7
[motion2.git] / server / services / ami / dialer / utils / index.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 _0xa1bd=['Intervals','isEmpty','UNKNOWN_TIMEZONE','SIP/','reachable','unmonitored','includes','status','TrunkBackup','INACTIVE','DISACTIVED','NO_AGENTS_LOGGED','getQueueCampaignActiveStatusMessage','match','isUndefined','string','format','\x22%s\x22\x20<%s>','\x22\x22\x20<>','getCallerId','\x5cw{0,','pow','replace','random','toString','getCallerIdRandom','error','[decrementOriginate]\x20queue\x20originate\x20value\x20is\x20negative','decrementOriginate','length','checkContactEmpty','erlangb','checkContactLowerLimitOriginate','tags','updatedAt','undefined','description','XMD-','toUpperCase','substring','lodash','moment','../../../../config/logger','dialer','../../../../config/environment/shared','timezones','ACTIVE','BLACKLIST','DEACTIVATED','NOT_ACTIVE','AGENTS_NOT_LOGGED','AVAILABLE_CONTACTS_FINISHED','INTERVAL_IS_NULL','GLOBAL_INTERVAL_IS_OVERTIME','RECALLINQUEUE','RECALLFAILEDTIMEOUT','RUNNING','TIMEZONE_UNKNOW','TRUNK_IS_NOT_REACHABLE','dialMethod','isPreviewCampaign','type','ivr','outbound','isOutboundQueue','dialActive','isQueueCampaignActive','active','isIVRCampaignActive','milliseconds','seconds','message','available','loggedIn','loggedInDb','paused','talking','waiting','inUse','originated','Trunk','name','hasQueueCampaignDataChanged','dialGlobalInterval','isNil','Interval'];(function(_0x46ede0,_0x1b9a65){var _0x304587=function(_0x268209){while(--_0x268209){_0x46ede0['push'](_0x46ede0['shift']());}};_0x304587(++_0x1b9a65);}(_0xa1bd,0xd4));var _0xda1b=function(_0x30b6cb,_0x832e62){_0x30b6cb=_0x30b6cb-0x0;var _0x4455a1=_0xa1bd[_0x30b6cb];return _0x4455a1;};'use strict';var _=require(_0xda1b('0x0'));var moment=require(_0xda1b('0x1'));var util=require('util');var logger=require(_0xda1b('0x2'))(_0xda1b('0x3'));var timezones=require(_0xda1b('0x4'))[_0xda1b('0x5')];var CAMPAIGN_STATUS={'ACTIVE':_0xda1b('0x6'),'BLACKLIST':_0xda1b('0x7'),'CONTACTS_RESCHEDULED':'RESCHEDULED_CONTACTS','DEACTIVATED':_0xda1b('0x8'),'DISACTIVED':'IS_DISACTIVED','EMPTY_INTERVAL':'INTERVAL_IS_EMPTY','INACTIVE':_0xda1b('0x9'),'NO_AGENTS_LOGGED':_0xda1b('0xa'),'NO_AVAILABLE_CONTACTS':_0xda1b('0xb'),'NULL_INTERVAL':_0xda1b('0xc'),'OVERTIME_INTERVAL':'INTERVAL_IS_OVERTIME','OVERTIME_GLOBAL_INTERVAL':_0xda1b('0xd'),'QUEUE_RECALL':_0xda1b('0xe'),'RECALL_TIMEOUT':_0xda1b('0xf'),'RUNNING':_0xda1b('0x10'),'UNKNOWN_TIMEZONE':_0xda1b('0x11'),'UNREACHABLE_TRUNK':_0xda1b('0x12')};exports['CAMPAIGN_STATUS']=CAMPAIGN_STATUS;function isPreviewCampaign(_0x9498ba){return _0x9498ba[_0xda1b('0x13')]==='preview';}exports[_0xda1b('0x14')]=isPreviewCampaign;function isIVRCampaign(_0x26b32f){return _0x26b32f[_0xda1b('0x15')]===_0xda1b('0x16');}exports['isIVRCampaign']=isIVRCampaign;function isOutboundQueue(_0x176024){return _0x176024[_0xda1b('0x15')]===_0xda1b('0x17');}exports[_0xda1b('0x18')]=isOutboundQueue;function isQueueCampaignActive(_0x21c87a){return _0x21c87a[_0xda1b('0x19')];}exports[_0xda1b('0x1a')]=isQueueCampaignActive;function isIVRCampaignActive(_0x5d88d4){return _0x5d88d4[_0xda1b('0x1b')];}exports[_0xda1b('0x1c')]=isIVRCampaignActive;function getSeconds(_0x3ee854,_0x17bb4a){var _0x25ebb2=moment(_0x3ee854)[_0xda1b('0x1d')](0x0);var _0x481bec=moment(_0x17bb4a)[_0xda1b('0x1d')](0x0);return _0x25ebb2['diff'](_0x481bec,_0xda1b('0x1e'));}exports['getSeconds']=getSeconds;function hasQueueCampaignDataChanged(_0x18db43,_0x405d8e){var _0x2cf8c9=![];var _0x254036=_0x18db43[_0xda1b('0x13')]!==_0x405d8e[_0xda1b('0x13')]||_0x18db43['dialActive']!==_0x405d8e[_0xda1b('0x19')]||_0x18db43[_0xda1b('0x1f')]!==_0x405d8e[_0xda1b('0x1f')];var _0x3fbd7b=_0x18db43[_0xda1b('0x20')]!==_0x405d8e['available']||_0x18db43[_0xda1b('0x21')]!==_0x405d8e[_0xda1b('0x21')]||_0x18db43[_0xda1b('0x22')]!==_0x405d8e[_0xda1b('0x22')]||_0x18db43['paused']!==_0x405d8e[_0xda1b('0x23')]||_0x18db43[_0xda1b('0x24')]!==_0x405d8e['talking']||_0x18db43['pTalking']!==_0x405d8e['pTalking']||_0x18db43[_0xda1b('0x25')]!==_0x405d8e[_0xda1b('0x25')]||_0x18db43[_0xda1b('0x26')]!==_0x405d8e[_0xda1b('0x26')]||_0x18db43[_0xda1b('0x27')]!==_0x405d8e[_0xda1b('0x27')];if(_0x18db43['Trunk']&&_0x405d8e[_0xda1b('0x28')]){_0x2cf8c9=_0x18db43[_0xda1b('0x28')]['name']!==_0x405d8e[_0xda1b('0x28')][_0xda1b('0x29')]||_0x18db43[_0xda1b('0x28')][_0xda1b('0x1b')]!==_0x405d8e['Trunk']['active'];}return _0x254036||_0x3fbd7b||_0x2cf8c9;}exports[_0xda1b('0x2a')]=hasQueueCampaignDataChanged;function checkAnyValidQueueCampaignInterval(_0x5ed10f){var _0x59c557=null;var _0x70282e=_0x5ed10f['dialTimezone'];if(_['isNil'](_0x5ed10f[_0xda1b('0x2b')])||_[_0xda1b('0x2c')](_0x5ed10f[_0xda1b('0x2d')])||_[_0xda1b('0x2c')](_0x5ed10f[_0xda1b('0x2d')][_0xda1b('0x2e')])){_0x59c557=CAMPAIGN_STATUS['NULL_INTERVAL'];}else if(_['isEmpty'](_0x5ed10f[_0xda1b('0x2b')])||_[_0xda1b('0x2f')](_0x5ed10f[_0xda1b('0x2d')]['Intervals'])){_0x59c557=CAMPAIGN_STATUS['EMPTY_INTERVAL'];}else if(_0x70282e&&!timezones[_0x70282e]){_0x59c557=CAMPAIGN_STATUS[_0xda1b('0x30')];}return _0x59c557;}function checkAnyValidTrunk(_0x57df2a,_0x2fa0ed){var _0x304e59=null;var _0x2514b5=_0xda1b('0x31');var _0x105a02=[_0xda1b('0x32'),_0xda1b('0x33')];var _0x5f03da=!![];if(_0x57df2a['Trunk']&&_0x57df2a[_0xda1b('0x28')]['active']){_0x2514b5+=_0x57df2a[_0xda1b('0x28')]['name'];_0x304e59=_0x2fa0ed[_0x2514b5];_0x5f03da=_0x105a02[_0xda1b('0x34')](_0x304e59[_0xda1b('0x35')]);}else if(_0x57df2a[_0xda1b('0x36')]&&_0x57df2a[_0xda1b('0x36')][_0xda1b('0x1b')]){_0x2514b5+=_0x57df2a[_0xda1b('0x36')][_0xda1b('0x29')];_0x304e59=_0x2fa0ed[_0x2514b5];_0x5f03da=_0x105a02['includes'](_0x304e59[_0xda1b('0x35')]);}return _0x5f03da;}function getQueueCampaignStatusMessage(_0xdeedd0,_0x390e85){var _0x480c45=CAMPAIGN_STATUS[_0xda1b('0x6')];var _0x18ceac=isPreviewCampaign(_0xdeedd0);if(!isQueueCampaignActive(_0xdeedd0)){if(_0x18ceac){_0x480c45=CAMPAIGN_STATUS[_0xda1b('0x37')];}else{if(_0xdeedd0[_0xda1b('0x27')]===0x0&&_0xdeedd0[_0xda1b('0x24')]===0x0&&_0xdeedd0[_0xda1b('0x25')]===0x0&&(_0xdeedd0['pTalking']||0x0)===0x0){_0x480c45=CAMPAIGN_STATUS[_0xda1b('0x37')];}else{_0x480c45=CAMPAIGN_STATUS[_0xda1b('0x38')];}}}else if(_0xdeedd0[_0xda1b('0x21')]===0x0){_0x480c45=CAMPAIGN_STATUS[_0xda1b('0x39')];}else if(!checkAnyValidTrunk(_0xdeedd0,_0x390e85)){_0x480c45=CAMPAIGN_STATUS['UNREACHABLE_TRUNK'];}else if(!isPreviewCampaign(_0xdeedd0)){var _0x3e2a83=checkAnyValidQueueCampaignInterval(_0xdeedd0);if(_0x3e2a83){_0x480c45=_0x3e2a83;}}return _0x480c45;}exports['getQueueCampaignStatusMessage']=getQueueCampaignStatusMessage;function getQueueCampaignActiveStatusMessage(_0x12d035){var _0xf2a319=CAMPAIGN_STATUS[_0xda1b('0x38')];if(_0x12d035[_0xda1b('0x27')]===0x0&&_0x12d035['talking']===0x0&&_0x12d035[_0xda1b('0x25')]===0x0&&(_0x12d035['pTalking']||0x0)===0x0){_0xf2a319=CAMPAIGN_STATUS[_0xda1b('0x37')];}return _0xf2a319;}exports[_0xda1b('0x3a')]=getQueueCampaignActiveStatusMessage;function extractCalleridName(_0x560be2){var _0x3511ff=_0x560be2[_0xda1b('0x3b')](/"(.*?)"/);return _0x3511ff?_0x3511ff[0x1]:_0x560be2;}exports['extractCalleridName']=extractCalleridName;function getCallerId(_0x383f9b,_0x5a1e57,_0x683bbc){if(!_[_0xda1b('0x3c')](_0x683bbc)&&typeof _0x683bbc===_0xda1b('0x3d')&&!_[_0xda1b('0x2f')](_0x683bbc)){if(!_[_0xda1b('0x3c')](_0x5a1e57)&&typeof _0x5a1e57==='string'&&!_[_0xda1b('0x2f')](_0x5a1e57)){return util[_0xda1b('0x3e')](_0xda1b('0x3f'),_0x5a1e57,_0x683bbc);}return util[_0xda1b('0x3e')](_0xda1b('0x3f'),_0x683bbc,_0x683bbc);}if(!_[_0xda1b('0x3c')](_0x383f9b)&&typeof _0x383f9b===_0xda1b('0x3d')&&!_[_0xda1b('0x2f')](_0x383f9b)){return _0x383f9b;}return _0xda1b('0x40');}exports[_0xda1b('0x41')]=getCallerId;function getCallerIdRandom(_0xf94e52,_0x447b1a){var _0x2b391c;var _0x2f2575;var _0x4c518b;if(_0x447b1a<=0x0){_0x447b1a=0x1;}_0x2b391c=new RegExp(_0xda1b('0x42')+_0x447b1a+'}$');_0x2f2575=Math[_0xda1b('0x43')](0xa,_0x447b1a-0x1);_0x4c518b=Math[_0xda1b('0x43')](0xa,_0x447b1a)-0x1;return util[_0xda1b('0x3e')]('%s',_[_0xda1b('0x44')](_0xf94e52,_0x2b391c,_[_0xda1b('0x45')](_0x2f2575,_0x4c518b)[_0xda1b('0x46')]()));}exports[_0xda1b('0x47')]=getCallerIdRandom;function decrementOriginate(_0x11ad03){if(_0x11ad03[_0xda1b('0x27')]&&_0x11ad03[_0xda1b('0x27')]>0x0){_0x11ad03[_0xda1b('0x27')]-=0x1;}else{logger[_0xda1b('0x48')](_0xda1b('0x49'));}}exports[_0xda1b('0x4a')]=decrementOriginate;function checkContactEmpty(_0x4593e3){return _0x4593e3&&_0x4593e3[_0xda1b('0x4b')]>0x0;}exports[_0xda1b('0x4c')]=checkContactEmpty;function erlangb(_0xc474e5,_0x2b7d4c){if(_0x2b7d4c===0x0){return 0x0;}var _0x35d57f=0x1;for(var _0x507336=0x1;_0x507336<=_0x2b7d4c;_0x507336+=0x1){_0x35d57f=0x1+_0x35d57f*_0x507336/_0xc474e5;}return 0x1/_0x35d57f;}exports[_0xda1b('0x4d')]=erlangb;function checkContactLowerLimitOriginate(_0x485308,_0xd449ff,_0x6dbf22){if(_0xd449ff>_0x6dbf22){for(var _0x35ab55=0x0;_0x35ab55<_0xd449ff-_0x6dbf22;_0x35ab55+=0x1){decrementOriginate(_0x485308);}}}exports[_0xda1b('0x4e')]=checkContactLowerLimitOriginate;function setXMDContactVariables(_0x26a28b){var _0x2e6493={};var _0x362dbd=['id','createdAt',_0xda1b('0x4f'),_0xda1b('0x50')];const _0x446a8e=0xfa;if(_0x26a28b){for(var _0x4ff582 in _0x26a28b){if(typeof _0x26a28b[_0x4ff582]!==_0xda1b('0x51')){if(!_[_0xda1b('0x2c')](_0x26a28b[_0x4ff582])&&!_0x362dbd['includes'](_0x4ff582)){if(_0x4ff582===_0xda1b('0x52')&&_0x26a28b[_0x4ff582][_0xda1b('0x4b')]>_0x446a8e){_0x2e6493[_0xda1b('0x53')+_0x4ff582[_0xda1b('0x54')]()]=_0x26a28b[_0x4ff582][_0xda1b('0x46')]()[_0xda1b('0x55')](0x0,_0x446a8e);}else{_0x2e6493[_0xda1b('0x53')+_0x4ff582[_0xda1b('0x54')]()]=_0x26a28b[_0x4ff582];}}}}}return _0x2e6493;}exports['setXMDContactVariables']=setXMDContactVariables;