Built motion from commit (unavailable).|2.3.4
[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 _0x14de=['../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','trunks','voiceQueues','campaigns','templates','queueChannels','outboundChannels','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','servicenowAccounts','dynamics365Accounts','mapKeys','format','name','hasOwnProperty','isNil','interface','total','answered','sumDuration','isEmpty','ivrAnswerCallsDay','abandoned','sumHoldTime','sumBillable','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','prototype','mergeFromDatabase','initAgents','length','SIP/%s','isUndefined','initTelephones','initTrunks','triggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','zohoAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','queue','queuecallerabandon','queuecallerleaveAt','diff','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallerjoinAt','queuecallercomplete','outbound','duration','disposition','ANSWERED','billableseconds','initCampaigns','initVoiceExtensions','voiceExtensions','initFaxAccounts','faxAccounts','lodash','moment','../model/agent','../model/trunk','../model/voiceQueue'];(function(_0x491633,_0x531563){var _0x42c63d=function(_0x23fe3d){while(--_0x23fe3d){_0x491633['push'](_0x491633['shift']());}};_0x42c63d(++_0x531563);}(_0x14de,0x1ea));var _0xe14d=function(_0x4be6d7,_0x88ecc4){_0x4be6d7=_0x4be6d7-0x0;var _0x672020=_0x14de[_0x4be6d7];return _0x672020;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0xe14d('0x0'));var moment=require(_0xe14d('0x1'));var Agent=require(_0xe14d('0x2'));var Telephone=require('../model/telephone');var Trunk=require(_0xe14d('0x3'));var VoiceQueue=require(_0xe14d('0x4'));var Trigger=require(_0xe14d('0x5'));var Template=require('../model/template');var Campaign=require(_0xe14d('0x6'));var VoiceExtension=require(_0xe14d('0x7'));var ZendeskAccount=require(_0xe14d('0x8'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0xe14d('0x9'));var SugarcrmAccount=require(_0xe14d('0xa'));var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require(_0xe14d('0xb'));var VtigerAccount=require(_0xe14d('0xc'));var ServicenowAccount=require(_0xe14d('0xd'));var Dynamics365Account=require(_0xe14d('0xe'));var FaxAccount=require(_0xe14d('0xf'));var Realtime=function(){this[_0xe14d('0x10')]={};this[_0xe14d('0x11')]={};this[_0xe14d('0x12')]={};this[_0xe14d('0x13')]={};this['triggers']={};this[_0xe14d('0x14')]={};this[_0xe14d('0x15')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this['channels']={};this[_0xe14d('0x16')]={};this[_0xe14d('0x17')]={};this[_0xe14d('0x18')]={};this[_0xe14d('0x19')]={};this[_0xe14d('0x1a')]={};this[_0xe14d('0x1b')]={};this[_0xe14d('0x1c')]={};this['zohoAccounts']={};this[_0xe14d('0x1d')]={};this['vtigerAccounts']={};this[_0xe14d('0x1e')]={};this[_0xe14d('0x1f')]={};this['faxAccounts']={};};function freeIsNotKey(_0x3880a6,_0x48ef6b,_0x2aba14){var _0x11043c=_['mapKeys'](_0x3880a6,function(_0x29cca3,_0x2eff9f){return _0x29cca3[_0x2aba14];});for(var _0x58874a in _0x48ef6b){if(_0x48ef6b['hasOwnProperty'](_0x58874a)){if(!_0x11043c[_0x58874a]){delete _0x48ef6b[_0x58874a];}}}}function freeIsNotKeySip(_0x868d2c,_0x59fb03){var _0x2e46a3=_[_0xe14d('0x20')](_0x868d2c,function(_0x10dd04,_0x5ce352){return util[_0xe14d('0x21')]('SIP/%s',_0x10dd04[_0xe14d('0x22')]);});for(var _0x3a27a4 in _0x59fb03){if(_0x59fb03[_0xe14d('0x23')](_0x3a27a4)){if(!_0x2e46a3[_0x3a27a4]){delete _0x59fb03[_0x3a27a4];}}}}function freeIsNotKeyAgent(_0x1f7c00,_0x5a87bd){var _0x2bbe06=_['mapKeys'](_0x1f7c00,function(_0x4054de,_0xa2c8ba){var _0x1d5413=_[_0xe14d('0x24')](_0x4054de[_0xe14d('0x25')])?util[_0xe14d('0x21')]('SIP/%s',_0x4054de['name']):_0x4054de[_0xe14d('0x25')];return _0x1d5413;});for(var _0x4be70 in _0x5a87bd){if(_0x5a87bd[_0xe14d('0x23')](_0x4be70)){if(!_0x2bbe06[_0x4be70]){delete _0x5a87bd[_0x4be70];}}}}function clearVoiceCallReports(_0x2f80a2){_0x2f80a2[_0xe14d('0x26')]=0x0;_0x2f80a2[_0xe14d('0x27')]=0x0;_0x2f80a2['sumHoldTime']=0x0;_0x2f80a2[_0xe14d('0x28')]=0x0;_0x2f80a2['sumBillable']=0x0;}function clearCampaigns(_0x47763d){if(!_[_0xe14d('0x29')](_0x47763d)){for(var _0x4dd13b in _0x47763d){if(_0x47763d[_0xe14d('0x23')](_0x4dd13b)){_0x47763d[_0x4dd13b]['ivrTotalCallsDays']=0x0;_0x47763d[_0x4dd13b][_0xe14d('0x2a')]=0x0;}}}}function clearVoiceQueues(_0xfe911){if(!_[_0xe14d('0x29')](_0xfe911)){for(var _0x19a23a in _0xfe911){if(_0xfe911[_0xe14d('0x23')](_0x19a23a)){_0xfe911[_0x19a23a]['total']=0x0;_0xfe911[_0x19a23a][_0xe14d('0x27')]=0x0;_0xfe911[_0x19a23a]['unmanaged']=0x0;_0xfe911[_0x19a23a][_0xe14d('0x2b')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x2c')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x28')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x2d')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x2e')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x2f')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x30')]=0x0;_0xfe911[_0x19a23a]['outboundCongestionCallsDay']=0x0;_0xfe911[_0x19a23a][_0xe14d('0x31')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x32')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x33')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x34')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x35')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x36')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x37')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x38')]=0x0;_0xfe911[_0x19a23a][_0xe14d('0x2e')]=0x0;_0xfe911[_0x19a23a]['outboundAnswerCallsDay']=0x0;_0xfe911[_0x19a23a]['queueStatusComplete']=!![];}}}}Realtime[_0xe14d('0x39')][_0xe14d('0x3a')]=function(_0x2f4048,_0x525fb2){for(var _0x3cb06c in _0x525fb2){if(_0x2f4048['hasOwnProperty'](_0x3cb06c)){_0x2f4048[_0x3cb06c]=_0x525fb2[_0x3cb06c];}}};Realtime[_0xe14d('0x39')][_0xe14d('0x3b')]=function(){var _0xeccb60=this;return function(_0x3830e2){if(_0x3830e2){freeIsNotKeyAgent(_0x3830e2,_0xeccb60[_0xe14d('0x10')]);for(var _0x47377f=0x0,_0x6580aa={},_0x18ff41={};_0x47377f<_0x3830e2[_0xe14d('0x3c')];_0x47377f+=0x1){_0x6580aa=_0x3830e2[_0x47377f];var _0x444001=_[_0xe14d('0x24')](_0x6580aa[_0xe14d('0x25')])?util['format'](_0xe14d('0x3d'),_0x6580aa[_0xe14d('0x22')]):_0x6580aa[_0xe14d('0x25')];if(_[_0xe14d('0x3e')](_0xeccb60[_0xe14d('0x10')][_0x444001])){_0xeccb60['agents'][_0x444001]=new Agent(_0x6580aa);}else{_0xeccb60['mergeFromDatabase'](_0xeccb60[_0xe14d('0x10')][_0x444001],_0x6580aa);}}}return _0xeccb60[_0xe14d('0x10')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x3f')]=function(){var _0x42facf=this;return function(_0x5128dc){if(_0x5128dc){freeIsNotKeySip(_0x5128dc,_0x42facf['telephones']);for(var _0x131c21=0x0,_0x307ffe={},_0x2e55dd={};_0x131c21<_0x5128dc['length'];_0x131c21+=0x1){_0x307ffe=_0x5128dc[_0x131c21];if(_[_0xe14d('0x3e')](_0x42facf[_0xe14d('0x11')][util[_0xe14d('0x21')](_0xe14d('0x3d'),_0x307ffe[_0xe14d('0x22')])])){_0x42facf[_0xe14d('0x11')][util[_0xe14d('0x21')](_0xe14d('0x3d'),_0x307ffe[_0xe14d('0x22')])]=new Telephone(_0x307ffe);}else{_0x42facf[_0xe14d('0x3a')](_0x42facf[_0xe14d('0x11')][util[_0xe14d('0x21')](_0xe14d('0x3d'),_0x307ffe['name'])],_0x307ffe);}}}return _0x42facf[_0xe14d('0x11')];};};Realtime['prototype'][_0xe14d('0x40')]=function(){var _0x4e63bd=this;return function(_0x47310a){if(_0x47310a){freeIsNotKeySip(_0x47310a,_0x4e63bd['trunks']);for(var _0x4b1e3d=0x0,_0x19ef74={},_0x42cbd4={};_0x4b1e3d<_0x47310a[_0xe14d('0x3c')];_0x4b1e3d+=0x1){_0x19ef74=_0x47310a[_0x4b1e3d];if(_['isUndefined'](_0x4e63bd[_0xe14d('0x12')][util['format']('SIP/%s',_0x19ef74[_0xe14d('0x22')])])){_0x4e63bd['trunks'][util[_0xe14d('0x21')]('SIP/%s',_0x19ef74[_0xe14d('0x22')])]=new Trunk(_0x19ef74);}else{_0x4e63bd[_0xe14d('0x3a')](_0x4e63bd['trunks'][util[_0xe14d('0x21')]('SIP/%s',_0x19ef74[_0xe14d('0x22')])],_0x19ef74);}}}return _0x4e63bd[_0xe14d('0x12')];};};Realtime['prototype']['initVoiceQueues']=function(){var _0xa3075c=this;return function(_0x2ec788){if(_0x2ec788){freeIsNotKey(_0x2ec788,_0xa3075c['voiceQueues'],_0xe14d('0x22'));for(var _0x745c7e=0x0,_0x2e7d69={},_0x24c2d6={};_0x745c7e<_0x2ec788[_0xe14d('0x3c')];_0x745c7e+=0x1){_0x2e7d69=_0x2ec788[_0x745c7e];if(_['isUndefined'](_0xa3075c[_0xe14d('0x13')][_0x2e7d69[_0xe14d('0x22')]])){_0xa3075c[_0xe14d('0x13')][_0x2e7d69['name']]=new VoiceQueue(_0x2e7d69);}else{_0xa3075c[_0xe14d('0x3a')](_0xa3075c[_0xe14d('0x13')][_0x2e7d69['name']],_0x2e7d69);}}}return _0xa3075c[_0xe14d('0x13')];};};Realtime[_0xe14d('0x39')]['initTriggers']=function(){var _0x36bd3d=this;return function(_0x865b7a){if(_0x865b7a){freeIsNotKey(_0x865b7a,_0x36bd3d[_0xe14d('0x41')],'id');for(var _0x440e9c=0x0,_0x256b23={},_0x345b93={};_0x440e9c<_0x865b7a[_0xe14d('0x3c')];_0x440e9c+=0x1){_0x256b23=_0x865b7a[_0x440e9c];if(_['isUndefined'](_0x36bd3d[_0xe14d('0x41')][_0x256b23['id']])){_0x36bd3d[_0xe14d('0x41')][_0x256b23['id']]=new Trigger(_0x256b23);}else{_0x36bd3d[_0xe14d('0x3a')](_0x36bd3d[_0xe14d('0x41')][_0x256b23['id']],_0x256b23);}}}return _0x36bd3d[_0xe14d('0x41')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x42')]=function(){var _0x245928=this;return function(_0x26463f){if(_0x26463f){freeIsNotKey(_0x26463f,_0x245928['templates'],'id');for(var _0x5b0cf9=0x0,_0x27bf36={},_0x5a45f2={};_0x5b0cf9<_0x26463f[_0xe14d('0x3c')];_0x5b0cf9+=0x1){_0x27bf36=_0x26463f[_0x5b0cf9];if(_[_0xe14d('0x3e')](_0x245928[_0xe14d('0x15')][_0x27bf36['id']])){_0x245928[_0xe14d('0x15')][_0x27bf36['id']]=new Template(_0x27bf36);}else{_0x245928[_0xe14d('0x3a')](_0x245928[_0xe14d('0x15')][_0x27bf36['id']],_0x27bf36);}}}return _0x245928[_0xe14d('0x15')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x43')]=function(){var _0x485f3d=this;return function(_0x5d8423){if(_0x5d8423){freeIsNotKey(_0x5d8423,_0x485f3d[_0xe14d('0x19')],'id');for(var _0x800fdb=0x0,_0x493b5a={},_0x1811e9={};_0x800fdb<_0x5d8423[_0xe14d('0x3c')];_0x800fdb+=0x1){_0x493b5a=_0x5d8423[_0x800fdb];if(_[_0xe14d('0x3e')](_0x485f3d[_0xe14d('0x19')][_0x493b5a['id']])){_0x485f3d['zendeskAccounts'][_0x493b5a['id']]=new ZendeskAccount(_0x493b5a);}else{_0x485f3d['mergeFromDatabase'](_0x485f3d['zendeskAccounts'][_0x493b5a['id']],_0x493b5a);}}}return _0x485f3d[_0xe14d('0x19')];};};Realtime['prototype'][_0xe14d('0x44')]=function(){var _0xed5106=this;return function(_0x53da66){if(_0x53da66){freeIsNotKey(_0x53da66,_0xed5106['salesforceAccounts'],'id');for(var _0x43a9d2=0x0,_0x410ba4={},_0x1634fb={};_0x43a9d2<_0x53da66['length'];_0x43a9d2+=0x1){_0x410ba4=_0x53da66[_0x43a9d2];if(_[_0xe14d('0x3e')](_0xed5106[_0xe14d('0x1a')][_0x410ba4['id']])){_0xed5106[_0xe14d('0x1a')][_0x410ba4['id']]=new SalesforceAccount(_0x410ba4);}else{_0xed5106['mergeFromDatabase'](_0xed5106[_0xe14d('0x1a')][_0x410ba4['id']],_0x410ba4);}}}return _0xed5106[_0xe14d('0x1a')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x45')]=function(){var _0x1460ab=this;return function(_0x2b97f2){if(_0x2b97f2){freeIsNotKey(_0x2b97f2,_0x1460ab[_0xe14d('0x1c')],'id');for(var _0x5c6747=0x0,_0x385d64={},_0x7fdef={};_0x5c6747<_0x2b97f2[_0xe14d('0x3c')];_0x5c6747+=0x1){_0x385d64=_0x2b97f2[_0x5c6747];if(_[_0xe14d('0x3e')](_0x1460ab[_0xe14d('0x1c')][_0x385d64['id']])){_0x1460ab[_0xe14d('0x1c')][_0x385d64['id']]=new FreshdeskAccount(_0x385d64);}else{_0x1460ab['mergeFromDatabase'](_0x1460ab[_0xe14d('0x1c')][_0x385d64['id']],_0x385d64);}}}return _0x1460ab[_0xe14d('0x1c')];};};Realtime[_0xe14d('0x39')]['initZohoAccounts']=function(){var _0x345501=this;return function(_0x360633){if(_0x360633){freeIsNotKey(_0x360633,_0x345501[_0xe14d('0x46')],'id');for(var _0x227317=0x0,_0xc80be={},_0x5ae1ff={};_0x227317<_0x360633['length'];_0x227317+=0x1){_0xc80be=_0x360633[_0x227317];if(_[_0xe14d('0x3e')](_0x345501[_0xe14d('0x46')][_0xc80be['id']])){_0x345501['zohoAccounts'][_0xc80be['id']]=new ZohoAccount(_0xc80be);}else{_0x345501['mergeFromDatabase'](_0x345501[_0xe14d('0x46')][_0xc80be['id']],_0xc80be);}}}return _0x345501[_0xe14d('0x46')];};};Realtime['prototype']['initDeskAccounts']=function(){var _0x15eca2=this;return function(_0x400d6b){if(_0x400d6b){freeIsNotKey(_0x400d6b,_0x15eca2[_0xe14d('0x1d')],'id');for(var _0x262226=0x0,_0x24b92c={},_0x199d2f={};_0x262226<_0x400d6b[_0xe14d('0x3c')];_0x262226+=0x1){_0x24b92c=_0x400d6b[_0x262226];if(_[_0xe14d('0x3e')](_0x15eca2[_0xe14d('0x1d')][_0x24b92c['id']])){_0x15eca2['deskAccounts'][_0x24b92c['id']]=new DeskAccount(_0x24b92c);}else{_0x15eca2[_0xe14d('0x3a')](_0x15eca2['deskAccounts'][_0x24b92c['id']],_0x24b92c);}}}return _0x15eca2[_0xe14d('0x1d')];};};Realtime['prototype'][_0xe14d('0x47')]=function(){var _0x49e25f=this;return function(_0x448bb3){if(_0x448bb3){freeIsNotKey(_0x448bb3,_0x49e25f[_0xe14d('0x1b')],'id');for(var _0x709005=0x0,_0x38322b={},_0x202181={};_0x709005<_0x448bb3['length'];_0x709005+=0x1){_0x38322b=_0x448bb3[_0x709005];if(_[_0xe14d('0x3e')](_0x49e25f[_0xe14d('0x1b')][_0x38322b['id']])){_0x49e25f[_0xe14d('0x1b')][_0x38322b['id']]=new SugarcrmAccount(_0x38322b);}else{_0x49e25f[_0xe14d('0x3a')](_0x49e25f[_0xe14d('0x1b')][_0x38322b['id']],_0x38322b);}}}return _0x49e25f[_0xe14d('0x1b')];};};Realtime['prototype'][_0xe14d('0x48')]=function(){var _0x5ad8f0=this;return function(_0x134ab0){if(_0x134ab0){freeIsNotKey(_0x134ab0,_0x5ad8f0[_0xe14d('0x49')],'id');for(var _0x2c38a4=0x0,_0x5775f9={},_0x3bba1f={};_0x2c38a4<_0x134ab0[_0xe14d('0x3c')];_0x2c38a4+=0x1){_0x5775f9=_0x134ab0[_0x2c38a4];if(_[_0xe14d('0x3e')](_0x5ad8f0[_0xe14d('0x49')][_0x5775f9['id']])){_0x5ad8f0[_0xe14d('0x49')][_0x5775f9['id']]=new VtigerAccount(_0x5775f9);}else{_0x5ad8f0[_0xe14d('0x3a')](_0x5ad8f0[_0xe14d('0x49')][_0x5775f9['id']],_0x5775f9);}}}return _0x5ad8f0[_0xe14d('0x49')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x4a')]=function(){var _0x207568=this;return function(_0x57051b){if(_0x57051b){freeIsNotKey(_0x57051b,_0x207568['servicenowAccounts'],'id');for(var _0x905d91=0x0,_0x3e80c6={},_0x486b8b={};_0x905d91<_0x57051b['length'];_0x905d91+=0x1){_0x3e80c6=_0x57051b[_0x905d91];if(_[_0xe14d('0x3e')](_0x207568['servicenowAccounts'][_0x3e80c6['id']])){_0x207568[_0xe14d('0x1e')][_0x3e80c6['id']]=new ServicenowAccount(_0x3e80c6);}else{_0x207568['mergeFromDatabase'](_0x207568[_0xe14d('0x1e')][_0x3e80c6['id']],_0x3e80c6);}}}return _0x207568[_0xe14d('0x1e')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x4b')]=function(){var _0x7d1ab1=this;return function(_0x5cbe11){if(_0x5cbe11){freeIsNotKey(_0x5cbe11,_0x7d1ab1[_0xe14d('0x1f')],'id');for(var _0x13d03c=0x0,_0x5eb741={},_0xba469e={};_0x13d03c<_0x5cbe11[_0xe14d('0x3c')];_0x13d03c+=0x1){_0x5eb741=_0x5cbe11[_0x13d03c];if(_[_0xe14d('0x3e')](_0x7d1ab1['dynamics365Accounts'][_0x5eb741['id']])){_0x7d1ab1[_0xe14d('0x1f')][_0x5eb741['id']]=new Dynamics365Account(_0x5eb741);}else{_0x7d1ab1['mergeFromDatabase'](_0x7d1ab1[_0xe14d('0x1f')][_0x5eb741['id']],_0x5eb741);}}}return _0x7d1ab1[_0xe14d('0x1f')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x4c')]=function(){var _0x1a47b3=this;return function(_0x41dfea){for(var _0x2e4a41=0x0;_0x2e4a41<_0x41dfea[_0xe14d('0x3c')];_0x2e4a41+=0x1){_[_0xe14d('0x4d')](_0x1a47b3[_0xe14d('0x13')][_0x41dfea[_0x2e4a41]['name']],_0x41dfea[_0x2e4a41]);}return _0x1a47b3[_0xe14d('0x13')];};};Realtime['prototype'][_0xe14d('0x4e')]=function(){var _0x570abd=this;return function(_0x434d7a){clearVoiceQueues(_0x570abd[_0xe14d('0x13')]);if(_0x434d7a){_0x434d7a=_['groupBy'](_0x434d7a,'uniqueid');for(var _0x7c9f1e in _0x434d7a){if(_0x434d7a[_0xe14d('0x23')](_0x7c9f1e)){var _0x506871={};for(var _0x150046=0x0;_0x150046<_0x434d7a[_0x7c9f1e]['length'];_0x150046+=0x1){var _0x352a9e=_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x4f')];if(_0x570abd[_0xe14d('0x13')][_0x352a9e]){if(_0x434d7a[_0x7c9f1e][_0x150046]['queuecallerexit']){_0x570abd['voiceQueues'][_0x352a9e]['unmanaged']+=0x1;}if(_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x50')]){_0x570abd[_0xe14d('0x13')][_0x352a9e][_0xe14d('0x2b')]+=0x1;}_0x570abd[_0xe14d('0x13')][_0x352a9e]['sumHoldTime']+=moment(_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x51')])[_0xe14d('0x52')](moment(_0x434d7a[_0x7c9f1e][_0x150046]['queuecallerjoinAt']),_0xe14d('0x53'))||0x0;if(_0x150046===_0x434d7a[_0x7c9f1e]['length']-0x1){_0x570abd[_0xe14d('0x13')][_0x352a9e][_0xe14d('0x28')]+=moment(_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x54')]||_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x55')]||_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x56')])[_0xe14d('0x52')](moment(_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x57')]),_0xe14d('0x53'))||0x0;_0x570abd[_0xe14d('0x13')][_0x352a9e][_0xe14d('0x26')]+=0x1;if(_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x58')]){_0x570abd[_0xe14d('0x13')][_0x352a9e][_0xe14d('0x27')]+=0x1;_0x570abd['voiceQueues'][_0x352a9e]['sumBillable']+=moment(_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x54')])[_0xe14d('0x52')](moment(_0x434d7a[_0x7c9f1e][_0x150046][_0xe14d('0x51')]),_0xe14d('0x53'))||0x0;}}else{_0x570abd[_0xe14d('0x13')][_0x352a9e][_0xe14d('0x28')]+=_0x570abd[_0xe14d('0x13')][_0x352a9e][_0xe14d('0x2c')]||0x0;}}}}}}return _0x570abd[_0xe14d('0x13')];};};Realtime[_0xe14d('0x39')]['initVoiceCallReports']=function(){var _0x16d283=this;return function(_0x4359ad){clearVoiceCallReports(_0x16d283['outbound']);if(_0x4359ad){for(var _0x185c18=0x0;_0x185c18<_0x4359ad[_0xe14d('0x3c')];_0x185c18+=0x1){_0x16d283[_0xe14d('0x59')][_0xe14d('0x26')]+=0x1;_0x16d283['outbound']['sumDuration']+=_0x4359ad[_0x185c18][_0xe14d('0x5a')];if(_0x4359ad[_0x185c18][_0xe14d('0x5b')]===_0xe14d('0x5c')){_0x16d283[_0xe14d('0x59')][_0xe14d('0x27')]+=0x1;_0x16d283[_0xe14d('0x59')][_0xe14d('0x2c')]+=_0x4359ad[_0x185c18][_0xe14d('0x5a')]-_0x4359ad[_0x185c18][_0xe14d('0x5d')]||0x0;_0x16d283[_0xe14d('0x59')][_0xe14d('0x2d')]+=_0x4359ad[_0x185c18][_0xe14d('0x5d')];}}}return _0x16d283['outbound'];};};Realtime[_0xe14d('0x39')][_0xe14d('0x5e')]=function(){var _0x3c4552=this;return function(_0x30fa17){if(_0x30fa17){freeIsNotKey(_0x30fa17,_0x3c4552[_0xe14d('0x14')],'name');for(var _0x2a9232=0x0,_0x30e9f0={};_0x2a9232<_0x30fa17[_0xe14d('0x3c')];_0x2a9232+=0x1){_0x30e9f0=_0x30fa17[_0x2a9232];if(_[_0xe14d('0x3e')](_0x3c4552[_0xe14d('0x14')][_0x30e9f0['name']])){_0x3c4552[_0xe14d('0x14')][_0x30e9f0['name']]=new Campaign(_0x30e9f0);}else{_0x3c4552['mergeFromDatabase'](_0x3c4552[_0xe14d('0x14')][_0x30e9f0[_0xe14d('0x22')]],_0x30e9f0);}}}return _0x3c4552[_0xe14d('0x14')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x5f')]=function(){var _0x3d67d0=this;return function(_0x4ab514){if(_0x4ab514){freeIsNotKey(_0x4ab514,_0x3d67d0[_0xe14d('0x60')],'id');for(var _0x5658cd=0x0,_0x3e77a7={};_0x5658cd<_0x4ab514[_0xe14d('0x3c')];_0x5658cd+=0x1){_0x3e77a7=_0x4ab514[_0x5658cd];if(_[_0xe14d('0x3e')](_0x3d67d0[_0xe14d('0x60')][_0x3e77a7['id']])){_0x3d67d0['voiceExtensions'][_0x3e77a7['id']]=new VoiceExtension(_0x3e77a7);}else{_0x3d67d0[_0xe14d('0x3a')](_0x3d67d0[_0xe14d('0x60')][_0x3e77a7['id']],_0x3e77a7);}}}return _0x3d67d0[_0xe14d('0x60')];};};Realtime[_0xe14d('0x39')]['initCampaignHopperHistory']=function(){var _0x548e37=this;return function(_0x1c9905){clearCampaigns(_0x548e37[_0xe14d('0x14')]);for(var _0x53fd1a=0x0;_0x53fd1a<_0x1c9905['length'];_0x53fd1a+=0x1){_[_0xe14d('0x4d')](_0x548e37[_0xe14d('0x14')][_0x1c9905[_0x53fd1a][_0xe14d('0x22')]],_0x1c9905[_0x53fd1a]);}return _0x548e37[_0xe14d('0x14')];};};Realtime[_0xe14d('0x39')][_0xe14d('0x61')]=function(){var _0x11c219=this;return function(_0xe91c4f){if(_0xe91c4f){freeIsNotKey(_0xe91c4f,_0x11c219[_0xe14d('0x62')],'id');for(var _0x358ae1=0x0,_0x52816d={},_0x547f1b={};_0x358ae1<_0xe91c4f[_0xe14d('0x3c')];_0x358ae1+=0x1){_0x52816d=_0xe91c4f[_0x358ae1];if(_['isUndefined'](_0x11c219[_0xe14d('0x62')][_0x52816d['id']])){_0x11c219[_0xe14d('0x62')][_0x52816d['id']]=new FaxAccount(_0x52816d);}else{_0x11c219[_0xe14d('0x3a')](_0x11c219['faxAccounts'][_0x52816d['id']],_0x52816d);}}}return _0x11c219[_0xe14d('0x62')];};};module['exports']=Realtime;