Built motion from commit (unavailable).|2.2.0
[motion2.git] / server / services / ami / realtime / 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 _0x08eb=['../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/voiceExtension','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/vtigerAccount','../model/faxAccount','agents','trunks','voiceQueues','triggers','campaigns','templates','outbound','channels','queueChannels','outboundChannels','timers','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','answered','sumDuration','sumBillable','isEmpty','unmanaged','abandoned','sumHoldTime','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','initTelephones','telephones','isUndefined','initVoiceQueues','initTriggers','initTemplates','zendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','queuecallerabandon','queuecallerleaveAt','queuecallerjoinAt','queuecallerabandonAt','queuecallerexitAt','diff','queuecallercomplete','seconds','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','faxAccounts','util','lodash','../model/agent'];(function(_0x14c510,_0x2b3d34){var _0x9cca4c=function(_0x52cc62){while(--_0x52cc62){_0x14c510['push'](_0x14c510['shift']());}};_0x9cca4c(++_0x2b3d34);}(_0x08eb,0x11a));var _0xb08e=function(_0x1bb05b,_0x2e04fc){_0x1bb05b=_0x1bb05b-0x0;var _0x15eb0a=_0x08eb[_0x1bb05b];return _0x15eb0a;};'use strict';var BPromise=require('bluebird');var util=require(_0xb08e('0x0'));var _=require(_0xb08e('0x1'));var moment=require('moment');var Agent=require(_0xb08e('0x2'));var Telephone=require(_0xb08e('0x3'));var Trunk=require(_0xb08e('0x4'));var VoiceQueue=require(_0xb08e('0x5'));var Trigger=require(_0xb08e('0x6'));var Template=require(_0xb08e('0x7'));var Campaign=require('../model/campaign');var VoiceExtension=require(_0xb08e('0x8'));var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0xb08e('0x9'));var FreshdeskAccount=require(_0xb08e('0xa'));var SugarcrmAccount=require(_0xb08e('0xb'));var ZohoAccount=require(_0xb08e('0xc'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0xb08e('0xd'));var FaxAccount=require(_0xb08e('0xe'));var Realtime=function(){this[_0xb08e('0xf')]={};this['telephones']={};this[_0xb08e('0x10')]={};this[_0xb08e('0x11')]={};this[_0xb08e('0x12')]={};this[_0xb08e('0x13')]={};this[_0xb08e('0x14')]={};this[_0xb08e('0x15')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0xb08e('0x16')]={};this[_0xb08e('0x17')]={};this[_0xb08e('0x18')]={};this[_0xb08e('0x19')]={};this['zendeskAccounts']={};this[_0xb08e('0x1a')]={};this[_0xb08e('0x1b')]={};this[_0xb08e('0x1c')]={};this[_0xb08e('0x1d')]={};this[_0xb08e('0x1e')]={};this[_0xb08e('0x1f')]={};this['faxAccounts']={};};function freeIsNotKey(_0x59bb17,_0x50c4ec,_0xfbf08d){var _0x120f82=_[_0xb08e('0x20')](_0x59bb17,function(_0x6218bc,_0x16d3da){return _0x6218bc[_0xfbf08d];});for(var _0x4cdbbf in _0x50c4ec){if(_0x50c4ec[_0xb08e('0x21')](_0x4cdbbf)){if(!_0x120f82[_0x4cdbbf]){delete _0x50c4ec[_0x4cdbbf];}}}}function freeIsNotKeySip(_0x228fda,_0x301292){var _0x1657e8=_[_0xb08e('0x20')](_0x228fda,function(_0x279145,_0x5c9722){return util[_0xb08e('0x22')](_0xb08e('0x23'),_0x279145[_0xb08e('0x24')]);});for(var _0x3ddfd0 in _0x301292){if(_0x301292[_0xb08e('0x21')](_0x3ddfd0)){if(!_0x1657e8[_0x3ddfd0]){delete _0x301292[_0x3ddfd0];}}}}function freeIsNotKeyAgent(_0x397bf6,_0x4b48db){var _0x45c374=_[_0xb08e('0x20')](_0x397bf6,function(_0x1bc68,_0x47678d){var _0x1826da=_[_0xb08e('0x25')](_0x1bc68[_0xb08e('0x26')])?util[_0xb08e('0x22')](_0xb08e('0x23'),_0x1bc68['name']):_0x1bc68['interface'];return _0x1826da;});for(var _0x5ba064 in _0x4b48db){if(_0x4b48db[_0xb08e('0x21')](_0x5ba064)){if(!_0x45c374[_0x5ba064]){delete _0x4b48db[_0x5ba064];}}}}function clearVoiceCallReports(_0x2a92cf){_0x2a92cf[_0xb08e('0x27')]=0x0;_0x2a92cf[_0xb08e('0x28')]=0x0;_0x2a92cf['sumHoldTime']=0x0;_0x2a92cf[_0xb08e('0x29')]=0x0;_0x2a92cf[_0xb08e('0x2a')]=0x0;}function clearCampaigns(_0x590d1d){if(!_[_0xb08e('0x2b')](_0x590d1d)){for(var _0x1c7640 in _0x590d1d){if(_0x590d1d['hasOwnProperty'](_0x1c7640)){_0x590d1d[_0x1c7640]['ivrTotalCallsDays']=0x0;_0x590d1d[_0x1c7640]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0xa4d4ee){if(!_[_0xb08e('0x2b')](_0xa4d4ee)){for(var _0x128c7e in _0xa4d4ee){if(_0xa4d4ee[_0xb08e('0x21')](_0x128c7e)){_0xa4d4ee[_0x128c7e][_0xb08e('0x27')]=0x0;_0xa4d4ee[_0x128c7e]['answered']=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x2c')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x2d')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x2e')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x29')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x2a')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x2f')]=0x0;_0xa4d4ee[_0x128c7e]['outboundNoAnswerCallsDay']=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x30')]=0x0;_0xa4d4ee[_0x128c7e]['outboundCongestionCallsDay']=0x0;_0xa4d4ee[_0x128c7e]['outboundNoSuchCallsDay']=0x0;_0xa4d4ee[_0x128c7e]['outboundUnknownCallsDay']=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x31')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x32')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x33')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x34')]=0x0;_0xa4d4ee[_0x128c7e]['outboundRejectCallsDay']=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x35')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x2f')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x36')]=0x0;_0xa4d4ee[_0x128c7e][_0xb08e('0x37')]=!![];}}}}Realtime[_0xb08e('0x38')][_0xb08e('0x39')]=function(_0x5ce111,_0xb3fb72){for(var _0x473b26 in _0xb3fb72){if(_0x5ce111[_0xb08e('0x21')](_0x473b26)){_0x5ce111[_0x473b26]=_0xb3fb72[_0x473b26];}}};Realtime['prototype'][_0xb08e('0x3a')]=function(){var _0x1620d1=this;return function(_0x34ce44){if(_0x34ce44){freeIsNotKeyAgent(_0x34ce44,_0x1620d1['agents']);for(var _0x390f1c=0x0,_0x59d779={},_0x5efad7={};_0x390f1c<_0x34ce44[_0xb08e('0x3b')];_0x390f1c+=0x1){_0x59d779=_0x34ce44[_0x390f1c];var _0xa72180=_[_0xb08e('0x25')](_0x59d779[_0xb08e('0x26')])?util['format'](_0xb08e('0x23'),_0x59d779[_0xb08e('0x24')]):_0x59d779[_0xb08e('0x26')];if(_['isUndefined'](_0x1620d1[_0xb08e('0xf')][_0xa72180])){_0x1620d1[_0xb08e('0xf')][_0xa72180]=new Agent(_0x59d779);}else{_0x1620d1[_0xb08e('0x39')](_0x1620d1[_0xb08e('0xf')][_0xa72180],_0x59d779);}}}return _0x1620d1[_0xb08e('0xf')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x3c')]=function(){var _0x5cbd2d=this;return function(_0x6170d6){if(_0x6170d6){freeIsNotKeySip(_0x6170d6,_0x5cbd2d[_0xb08e('0x3d')]);for(var _0x435b7e=0x0,_0x5eec96={},_0x4b2397={};_0x435b7e<_0x6170d6[_0xb08e('0x3b')];_0x435b7e+=0x1){_0x5eec96=_0x6170d6[_0x435b7e];if(_[_0xb08e('0x3e')](_0x5cbd2d[_0xb08e('0x3d')][util['format']('SIP/%s',_0x5eec96[_0xb08e('0x24')])])){_0x5cbd2d['telephones'][util[_0xb08e('0x22')](_0xb08e('0x23'),_0x5eec96[_0xb08e('0x24')])]=new Telephone(_0x5eec96);}else{_0x5cbd2d[_0xb08e('0x39')](_0x5cbd2d[_0xb08e('0x3d')][util[_0xb08e('0x22')]('SIP/%s',_0x5eec96['name'])],_0x5eec96);}}}return _0x5cbd2d[_0xb08e('0x3d')];};};Realtime[_0xb08e('0x38')]['initTrunks']=function(){var _0x1795be=this;return function(_0x300062){if(_0x300062){freeIsNotKeySip(_0x300062,_0x1795be['trunks']);for(var _0x351f96=0x0,_0x14a232={},_0x503e5d={};_0x351f96<_0x300062[_0xb08e('0x3b')];_0x351f96+=0x1){_0x14a232=_0x300062[_0x351f96];if(_[_0xb08e('0x3e')](_0x1795be['trunks'][util[_0xb08e('0x22')](_0xb08e('0x23'),_0x14a232[_0xb08e('0x24')])])){_0x1795be['trunks'][util[_0xb08e('0x22')]('SIP/%s',_0x14a232[_0xb08e('0x24')])]=new Trunk(_0x14a232);}else{_0x1795be['mergeFromDatabase'](_0x1795be[_0xb08e('0x10')][util[_0xb08e('0x22')](_0xb08e('0x23'),_0x14a232['name'])],_0x14a232);}}}return _0x1795be[_0xb08e('0x10')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x3f')]=function(){var _0x588121=this;return function(_0x3481fc){if(_0x3481fc){freeIsNotKey(_0x3481fc,_0x588121[_0xb08e('0x11')],_0xb08e('0x24'));for(var _0x167413=0x0,_0x436c13={},_0x34239a={};_0x167413<_0x3481fc[_0xb08e('0x3b')];_0x167413+=0x1){_0x436c13=_0x3481fc[_0x167413];if(_[_0xb08e('0x3e')](_0x588121[_0xb08e('0x11')][_0x436c13[_0xb08e('0x24')]])){_0x588121[_0xb08e('0x11')][_0x436c13['name']]=new VoiceQueue(_0x436c13);}else{_0x588121[_0xb08e('0x39')](_0x588121['voiceQueues'][_0x436c13[_0xb08e('0x24')]],_0x436c13);}}}return _0x588121['voiceQueues'];};};Realtime[_0xb08e('0x38')][_0xb08e('0x40')]=function(){var _0x3f1adc=this;return function(_0x22b4fa){if(_0x22b4fa){freeIsNotKey(_0x22b4fa,_0x3f1adc['triggers'],'id');for(var _0x457b3f=0x0,_0x3efffd={},_0xeb4d34={};_0x457b3f<_0x22b4fa[_0xb08e('0x3b')];_0x457b3f+=0x1){_0x3efffd=_0x22b4fa[_0x457b3f];if(_[_0xb08e('0x3e')](_0x3f1adc[_0xb08e('0x12')][_0x3efffd['id']])){_0x3f1adc[_0xb08e('0x12')][_0x3efffd['id']]=new Trigger(_0x3efffd);}else{_0x3f1adc[_0xb08e('0x39')](_0x3f1adc['triggers'][_0x3efffd['id']],_0x3efffd);}}}return _0x3f1adc[_0xb08e('0x12')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x41')]=function(){var _0x28199b=this;return function(_0x3f791f){if(_0x3f791f){freeIsNotKey(_0x3f791f,_0x28199b[_0xb08e('0x14')],'id');for(var _0x3d3e4d=0x0,_0x52b462={},_0x436c05={};_0x3d3e4d<_0x3f791f[_0xb08e('0x3b')];_0x3d3e4d+=0x1){_0x52b462=_0x3f791f[_0x3d3e4d];if(_[_0xb08e('0x3e')](_0x28199b[_0xb08e('0x14')][_0x52b462['id']])){_0x28199b[_0xb08e('0x14')][_0x52b462['id']]=new Template(_0x52b462);}else{_0x28199b[_0xb08e('0x39')](_0x28199b[_0xb08e('0x14')][_0x52b462['id']],_0x52b462);}}}return _0x28199b[_0xb08e('0x14')];};};Realtime['prototype']['initZendeskAccounts']=function(){var _0x3bdb33=this;return function(_0x532856){if(_0x532856){freeIsNotKey(_0x532856,_0x3bdb33[_0xb08e('0x42')],'id');for(var _0x22c0a8=0x0,_0x27cd68={},_0x2ad85e={};_0x22c0a8<_0x532856[_0xb08e('0x3b')];_0x22c0a8+=0x1){_0x27cd68=_0x532856[_0x22c0a8];if(_[_0xb08e('0x3e')](_0x3bdb33[_0xb08e('0x42')][_0x27cd68['id']])){_0x3bdb33[_0xb08e('0x42')][_0x27cd68['id']]=new ZendeskAccount(_0x27cd68);}else{_0x3bdb33['mergeFromDatabase'](_0x3bdb33[_0xb08e('0x42')][_0x27cd68['id']],_0x27cd68);}}}return _0x3bdb33[_0xb08e('0x42')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x43')]=function(){var _0x775b46=this;return function(_0xf04cc3){if(_0xf04cc3){freeIsNotKey(_0xf04cc3,_0x775b46[_0xb08e('0x1a')],'id');for(var _0x53fc33=0x0,_0x1fc3ef={},_0x1c45a7={};_0x53fc33<_0xf04cc3[_0xb08e('0x3b')];_0x53fc33+=0x1){_0x1fc3ef=_0xf04cc3[_0x53fc33];if(_['isUndefined'](_0x775b46['salesforceAccounts'][_0x1fc3ef['id']])){_0x775b46[_0xb08e('0x1a')][_0x1fc3ef['id']]=new SalesforceAccount(_0x1fc3ef);}else{_0x775b46[_0xb08e('0x39')](_0x775b46[_0xb08e('0x1a')][_0x1fc3ef['id']],_0x1fc3ef);}}}return _0x775b46[_0xb08e('0x1a')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x44')]=function(){var _0x176158=this;return function(_0x12946d){if(_0x12946d){freeIsNotKey(_0x12946d,_0x176158[_0xb08e('0x1c')],'id');for(var _0x386ae3=0x0,_0x13117d={},_0x5a15ce={};_0x386ae3<_0x12946d[_0xb08e('0x3b')];_0x386ae3+=0x1){_0x13117d=_0x12946d[_0x386ae3];if(_['isUndefined'](_0x176158[_0xb08e('0x1c')][_0x13117d['id']])){_0x176158[_0xb08e('0x1c')][_0x13117d['id']]=new FreshdeskAccount(_0x13117d);}else{_0x176158[_0xb08e('0x39')](_0x176158['freshdeskAccounts'][_0x13117d['id']],_0x13117d);}}}return _0x176158[_0xb08e('0x1c')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x45')]=function(){var _0x4da6fc=this;return function(_0x3908db){if(_0x3908db){freeIsNotKey(_0x3908db,_0x4da6fc[_0xb08e('0x1d')],'id');for(var _0x2d1ac4=0x0,_0x43830a={},_0x393dea={};_0x2d1ac4<_0x3908db[_0xb08e('0x3b')];_0x2d1ac4+=0x1){_0x43830a=_0x3908db[_0x2d1ac4];if(_[_0xb08e('0x3e')](_0x4da6fc[_0xb08e('0x1d')][_0x43830a['id']])){_0x4da6fc[_0xb08e('0x1d')][_0x43830a['id']]=new ZohoAccount(_0x43830a);}else{_0x4da6fc[_0xb08e('0x39')](_0x4da6fc[_0xb08e('0x1d')][_0x43830a['id']],_0x43830a);}}}return _0x4da6fc[_0xb08e('0x1d')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x46')]=function(){var _0x528001=this;return function(_0x3f3b06){if(_0x3f3b06){freeIsNotKey(_0x3f3b06,_0x528001['deskAccounts'],'id');for(var _0x44fe0c=0x0,_0x37c3cf={},_0x493714={};_0x44fe0c<_0x3f3b06[_0xb08e('0x3b')];_0x44fe0c+=0x1){_0x37c3cf=_0x3f3b06[_0x44fe0c];if(_[_0xb08e('0x3e')](_0x528001[_0xb08e('0x1e')][_0x37c3cf['id']])){_0x528001[_0xb08e('0x1e')][_0x37c3cf['id']]=new DeskAccount(_0x37c3cf);}else{_0x528001['mergeFromDatabase'](_0x528001[_0xb08e('0x1e')][_0x37c3cf['id']],_0x37c3cf);}}}return _0x528001[_0xb08e('0x1e')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x47')]=function(){var _0x45c64c=this;return function(_0xfddec8){if(_0xfddec8){freeIsNotKey(_0xfddec8,_0x45c64c[_0xb08e('0x1b')],'id');for(var _0x5a476f=0x0,_0xf1cce5={},_0x5946a9={};_0x5a476f<_0xfddec8[_0xb08e('0x3b')];_0x5a476f+=0x1){_0xf1cce5=_0xfddec8[_0x5a476f];if(_['isUndefined'](_0x45c64c['sugarcrmAccounts'][_0xf1cce5['id']])){_0x45c64c['sugarcrmAccounts'][_0xf1cce5['id']]=new SugarcrmAccount(_0xf1cce5);}else{_0x45c64c[_0xb08e('0x39')](_0x45c64c[_0xb08e('0x1b')][_0xf1cce5['id']],_0xf1cce5);}}}return _0x45c64c[_0xb08e('0x1b')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x48')]=function(){var _0x4ec4c3=this;return function(_0x3560b4){if(_0x3560b4){freeIsNotKey(_0x3560b4,_0x4ec4c3[_0xb08e('0x1f')],'id');for(var _0x2b036f=0x0,_0x5e96f3={},_0x4cca38={};_0x2b036f<_0x3560b4[_0xb08e('0x3b')];_0x2b036f+=0x1){_0x5e96f3=_0x3560b4[_0x2b036f];if(_['isUndefined'](_0x4ec4c3['vtigerAccounts'][_0x5e96f3['id']])){_0x4ec4c3[_0xb08e('0x1f')][_0x5e96f3['id']]=new VtigerAccount(_0x5e96f3);}else{_0x4ec4c3['mergeFromDatabase'](_0x4ec4c3[_0xb08e('0x1f')][_0x5e96f3['id']],_0x5e96f3);}}}return _0x4ec4c3[_0xb08e('0x1f')];};};Realtime[_0xb08e('0x38')]['initVoiceQueueHopperHistory']=function(){var _0x1b2cd0=this;return function(_0x4e1cfc){for(var _0x1537e8=0x0;_0x1537e8<_0x4e1cfc[_0xb08e('0x3b')];_0x1537e8+=0x1){_[_0xb08e('0x49')](_0x1b2cd0['voiceQueues'][_0x4e1cfc[_0x1537e8][_0xb08e('0x24')]],_0x4e1cfc[_0x1537e8]);}return _0x1b2cd0['voiceQueues'];};};Realtime[_0xb08e('0x38')][_0xb08e('0x4a')]=function(){var _0x400b7d=this;return function(_0x59048e){clearVoiceQueues(_0x400b7d[_0xb08e('0x11')]);if(_0x59048e){_0x59048e=_[_0xb08e('0x4b')](_0x59048e,_0xb08e('0x4c'));for(var _0x47c24a in _0x59048e){if(_0x59048e[_0xb08e('0x21')](_0x47c24a)){var _0x1e609a={};for(var _0x397382=0x0;_0x397382<_0x59048e[_0x47c24a]['length'];_0x397382+=0x1){var _0x2b56e0=_0x59048e[_0x47c24a][_0x397382]['queue'];if(_0x400b7d[_0xb08e('0x11')][_0x2b56e0]){if(_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x4d')]){_0x400b7d['voiceQueues'][_0x2b56e0][_0xb08e('0x2c')]+=0x1;}if(_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x4e')]){_0x400b7d[_0xb08e('0x11')][_0x2b56e0]['abandoned']+=0x1;}_0x400b7d[_0xb08e('0x11')][_0x2b56e0][_0xb08e('0x2e')]+=moment(_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x4f')])['diff'](moment(_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x50')]),'seconds')||0x0;if(_0x397382===_0x59048e[_0x47c24a][_0xb08e('0x3b')]-0x1){_0x400b7d[_0xb08e('0x11')][_0x2b56e0][_0xb08e('0x29')]+=moment(_0x59048e[_0x47c24a][_0x397382]['queuecallercompleteAt']||_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x51')]||_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x52')])[_0xb08e('0x53')](moment(_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x50')]),'seconds')||0x0;_0x400b7d[_0xb08e('0x11')][_0x2b56e0][_0xb08e('0x27')]+=0x1;if(_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x54')]){_0x400b7d[_0xb08e('0x11')][_0x2b56e0][_0xb08e('0x28')]+=0x1;_0x400b7d[_0xb08e('0x11')][_0x2b56e0]['sumBillable']+=moment(_0x59048e[_0x47c24a][_0x397382]['queuecallercompleteAt'])[_0xb08e('0x53')](moment(_0x59048e[_0x47c24a][_0x397382][_0xb08e('0x4f')]),_0xb08e('0x55'))||0x0;}}else{_0x400b7d[_0xb08e('0x11')][_0x2b56e0][_0xb08e('0x29')]+=_0x400b7d[_0xb08e('0x11')][_0x2b56e0]['sumHoldTime']||0x0;}}}}}}return _0x400b7d[_0xb08e('0x11')];};};Realtime[_0xb08e('0x38')][_0xb08e('0x56')]=function(){var _0x3c8f6f=this;return function(_0x311b28){clearVoiceCallReports(_0x3c8f6f[_0xb08e('0x15')]);if(_0x311b28){for(var _0x1427f9=0x0;_0x1427f9<_0x311b28['length'];_0x1427f9+=0x1){_0x3c8f6f[_0xb08e('0x15')][_0xb08e('0x27')]+=0x1;_0x3c8f6f[_0xb08e('0x15')][_0xb08e('0x29')]+=_0x311b28[_0x1427f9][_0xb08e('0x57')];if(_0x311b28[_0x1427f9][_0xb08e('0x58')]===_0xb08e('0x59')){_0x3c8f6f[_0xb08e('0x15')]['answered']+=0x1;_0x3c8f6f['outbound'][_0xb08e('0x2e')]+=_0x311b28[_0x1427f9][_0xb08e('0x57')]-_0x311b28[_0x1427f9][_0xb08e('0x5a')]||0x0;_0x3c8f6f['outbound'][_0xb08e('0x2a')]+=_0x311b28[_0x1427f9][_0xb08e('0x5a')];}}}return _0x3c8f6f[_0xb08e('0x15')];};};Realtime[_0xb08e('0x38')]['initCampaigns']=function(){var _0x4f4d22=this;return function(_0x6dd560){if(_0x6dd560){freeIsNotKey(_0x6dd560,_0x4f4d22[_0xb08e('0x13')],_0xb08e('0x24'));for(var _0x29f24f=0x0,_0x42763a={};_0x29f24f<_0x6dd560[_0xb08e('0x3b')];_0x29f24f+=0x1){_0x42763a=_0x6dd560[_0x29f24f];if(_[_0xb08e('0x3e')](_0x4f4d22[_0xb08e('0x13')][_0x42763a[_0xb08e('0x24')]])){_0x4f4d22[_0xb08e('0x13')][_0x42763a[_0xb08e('0x24')]]=new Campaign(_0x42763a);}else{_0x4f4d22[_0xb08e('0x39')](_0x4f4d22[_0xb08e('0x13')][_0x42763a[_0xb08e('0x24')]],_0x42763a);}}}return _0x4f4d22[_0xb08e('0x13')];};};Realtime['prototype']['initVoiceExtensions']=function(){var _0xbd901e=this;return function(_0x27445d){if(_0x27445d){freeIsNotKey(_0x27445d,_0xbd901e[_0xb08e('0x5b')],'id');for(var _0x4a5422=0x0,_0x29c5a7={};_0x4a5422<_0x27445d[_0xb08e('0x3b')];_0x4a5422+=0x1){_0x29c5a7=_0x27445d[_0x4a5422];if(_[_0xb08e('0x3e')](_0xbd901e[_0xb08e('0x5b')][_0x29c5a7['id']])){_0xbd901e['voiceExtensions'][_0x29c5a7['id']]=new VoiceExtension(_0x29c5a7);}else{_0xbd901e[_0xb08e('0x39')](_0xbd901e[_0xb08e('0x5b')][_0x29c5a7['id']],_0x29c5a7);}}}return _0xbd901e['voiceExtensions'];};};Realtime[_0xb08e('0x38')][_0xb08e('0x5c')]=function(){var _0x247fd6=this;return function(_0x5c9560){clearCampaigns(_0x247fd6[_0xb08e('0x13')]);for(var _0x1a23a8=0x0;_0x1a23a8<_0x5c9560[_0xb08e('0x3b')];_0x1a23a8+=0x1){_[_0xb08e('0x49')](_0x247fd6[_0xb08e('0x13')][_0x5c9560[_0x1a23a8][_0xb08e('0x24')]],_0x5c9560[_0x1a23a8]);}return _0x247fd6['campaigns'];};};Realtime[_0xb08e('0x38')][_0xb08e('0x5d')]=function(){var _0x4525b1=this;return function(_0x306973){if(_0x306973){freeIsNotKey(_0x306973,_0x4525b1[_0xb08e('0x5e')],'id');for(var _0x510e4e=0x0,_0x154dbc={},_0x9ebcdd={};_0x510e4e<_0x306973[_0xb08e('0x3b')];_0x510e4e+=0x1){_0x154dbc=_0x306973[_0x510e4e];if(_['isUndefined'](_0x4525b1[_0xb08e('0x5e')][_0x154dbc['id']])){_0x4525b1[_0xb08e('0x5e')][_0x154dbc['id']]=new FaxAccount(_0x154dbc);}else{_0x4525b1[_0xb08e('0x39')](_0x4525b1[_0xb08e('0x5e')][_0x154dbc['id']],_0x154dbc);}}}return _0x4525b1[_0xb08e('0x5e')];};};module['exports']=Realtime;