Built motion from commit (unavailable).|2.4.12
[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 _0x5487=['salesforceAccounts','zohoAccounts','deskAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','hasOwnProperty','format','SIP/%s','mapKeys','isNil','name','interface','total','sumHoldTime','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','answered','sumDuration','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','isUndefined','initTelephones','length','initVoiceQueues','initTriggers','triggers','initTemplates','templates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','unmanaged','queuecallerabandon','abandoned','queuecallerleaveAt','diff','queuecallerjoinAt','queuecallerabandonAt','queuecallerexitAt','seconds','queuecallercomplete','queuecallercompleteAt','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','initCampaigns','campaigns','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/trigger','../model/campaign','../model/voiceExtension','../model/sugarcrmAccount','../model/zohoAccount','../model/vtigerAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','trunks','voiceQueues','outbound','voiceExtensions','channels','timers','zendeskAccounts'];(function(_0x16d10f,_0x2ba2d5){var _0x50c823=function(_0x44e43f){while(--_0x44e43f){_0x16d10f['push'](_0x16d10f['shift']());}};_0x50c823(++_0x2ba2d5);}(_0x5487,0x194));var _0x7548=function(_0x420f39,_0x3f0304){_0x420f39=_0x420f39-0x0;var _0x543fdb=_0x5487[_0x420f39];return _0x543fdb;};'use strict';var BPromise=require(_0x7548('0x0'));var util=require(_0x7548('0x1'));var _=require(_0x7548('0x2'));var moment=require(_0x7548('0x3'));var Agent=require(_0x7548('0x4'));var Telephone=require(_0x7548('0x5'));var Trunk=require(_0x7548('0x6'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x7548('0x7'));var Template=require('../model/template');var Campaign=require(_0x7548('0x8'));var VoiceExtension=require(_0x7548('0x9'));var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0x7548('0xa'));var ZohoAccount=require(_0x7548('0xb'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0x7548('0xc'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x7548('0xd'));var FaxAccount=require(_0x7548('0xe'));var Realtime=function(){this[_0x7548('0xf')]={};this[_0x7548('0x10')]={};this[_0x7548('0x11')]={};this[_0x7548('0x12')]={};this['triggers']={};this['campaigns']={};this['templates']={};this[_0x7548('0x13')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x7548('0x14')]={};this[_0x7548('0x15')]={};this['queueChannels']={};this['outboundChannels']={};this[_0x7548('0x16')]={};this[_0x7548('0x17')]={};this[_0x7548('0x18')]={};this['sugarcrmAccounts']={};this['freshdeskAccounts']={};this[_0x7548('0x19')]={};this[_0x7548('0x1a')]={};this['vtigerAccounts']={};this[_0x7548('0x1b')]={};this[_0x7548('0x1c')]={};this[_0x7548('0x1d')]={};};function freeIsNotKey(_0x21f44d,_0x3d21fa,_0x453506){var _0x3b693e=_['mapKeys'](_0x21f44d,function(_0x246b9d,_0x42357d){return _0x246b9d[_0x453506];});for(var _0x714bce in _0x3d21fa){if(_0x3d21fa[_0x7548('0x1e')](_0x714bce)){if(!_0x3b693e[_0x714bce]){delete _0x3d21fa[_0x714bce];}}}}function freeIsNotKeySip(_0x323557,_0x31cabf){var _0x23ed5c=_['mapKeys'](_0x323557,function(_0x11b6e1,_0x3f14aa){return util[_0x7548('0x1f')](_0x7548('0x20'),_0x11b6e1['name']);});for(var _0x28eac8 in _0x31cabf){if(_0x31cabf[_0x7548('0x1e')](_0x28eac8)){if(!_0x23ed5c[_0x28eac8]){delete _0x31cabf[_0x28eac8];}}}}function freeIsNotKeyAgent(_0x14c2cb,_0xad9664){var _0x5d9e4c=_[_0x7548('0x21')](_0x14c2cb,function(_0x3bf76b,_0x25f375){var _0x130b11=_[_0x7548('0x22')](_0x3bf76b['interface'])?util[_0x7548('0x1f')]('SIP/%s',_0x3bf76b[_0x7548('0x23')]):_0x3bf76b[_0x7548('0x24')];return _0x130b11;});for(var _0x1c491 in _0xad9664){if(_0xad9664[_0x7548('0x1e')](_0x1c491)){if(!_0x5d9e4c[_0x1c491]){delete _0xad9664[_0x1c491];}}}}function clearVoiceCallReports(_0x4119ef){_0x4119ef[_0x7548('0x25')]=0x0;_0x4119ef['answered']=0x0;_0x4119ef[_0x7548('0x26')]=0x0;_0x4119ef['sumDuration']=0x0;_0x4119ef[_0x7548('0x27')]=0x0;}function clearCampaigns(_0x5aa47f){if(!_[_0x7548('0x28')](_0x5aa47f)){for(var _0xc7c6a9 in _0x5aa47f){if(_0x5aa47f[_0x7548('0x1e')](_0xc7c6a9)){_0x5aa47f[_0xc7c6a9][_0x7548('0x29')]=0x0;_0x5aa47f[_0xc7c6a9][_0x7548('0x2a')]=0x0;}}}}function clearVoiceQueues(_0x5d425c){if(!_[_0x7548('0x28')](_0x5d425c)){for(var _0x5324ed in _0x5d425c){if(_0x5d425c[_0x7548('0x1e')](_0x5324ed)){_0x5d425c[_0x5324ed][_0x7548('0x25')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x2b')]=0x0;_0x5d425c[_0x5324ed]['unmanaged']=0x0;_0x5d425c[_0x5324ed]['abandoned']=0x0;_0x5d425c[_0x5324ed]['sumHoldTime']=0x0;_0x5d425c[_0x5324ed][_0x7548('0x2c')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x27')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x2d')]=0x0;_0x5d425c[_0x5324ed]['outboundNoAnswerCallsDay']=0x0;_0x5d425c[_0x5324ed][_0x7548('0x2e')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x2f')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x30')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x31')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x32')]=0x0;_0x5d425c[_0x5324ed]['outboundDropCallsDayCallersExit']=0x0;_0x5d425c[_0x5324ed][_0x7548('0x33')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x34')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x35')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x36')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x2d')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x37')]=0x0;_0x5d425c[_0x5324ed][_0x7548('0x38')]=!![];}}}}Realtime[_0x7548('0x39')][_0x7548('0x3a')]=function(_0x45b66c,_0x48e8d8){for(var _0x330154 in _0x48e8d8){if(_0x45b66c['hasOwnProperty'](_0x330154)){_0x45b66c[_0x330154]=_0x48e8d8[_0x330154];}}};Realtime[_0x7548('0x39')]['initAgents']=function(){var _0x24f4c5=this;return function(_0x1f36ad){if(_0x1f36ad){freeIsNotKeyAgent(_0x1f36ad,_0x24f4c5[_0x7548('0xf')]);for(var _0x5413a8=0x0,_0x1beb5e={},_0x456975={};_0x5413a8<_0x1f36ad['length'];_0x5413a8+=0x1){_0x1beb5e=_0x1f36ad[_0x5413a8];var _0x403a3a=_['isNil'](_0x1beb5e[_0x7548('0x24')])?util[_0x7548('0x1f')](_0x7548('0x20'),_0x1beb5e[_0x7548('0x23')]):_0x1beb5e[_0x7548('0x24')];if(_[_0x7548('0x3b')](_0x24f4c5['agents'][_0x403a3a])){_0x24f4c5[_0x7548('0xf')][_0x403a3a]=new Agent(_0x1beb5e);}else{_0x24f4c5[_0x7548('0x3a')](_0x24f4c5[_0x7548('0xf')][_0x403a3a],_0x1beb5e);}}}return _0x24f4c5[_0x7548('0xf')];};};Realtime[_0x7548('0x39')][_0x7548('0x3c')]=function(){var _0x584a53=this;return function(_0x3ce4d9){if(_0x3ce4d9){freeIsNotKeySip(_0x3ce4d9,_0x584a53['telephones']);for(var _0x13269e=0x0,_0x14faaf={},_0xa9e886={};_0x13269e<_0x3ce4d9[_0x7548('0x3d')];_0x13269e+=0x1){_0x14faaf=_0x3ce4d9[_0x13269e];if(_['isUndefined'](_0x584a53[_0x7548('0x10')][util[_0x7548('0x1f')](_0x7548('0x20'),_0x14faaf[_0x7548('0x23')])])){_0x584a53[_0x7548('0x10')][util[_0x7548('0x1f')](_0x7548('0x20'),_0x14faaf['name'])]=new Telephone(_0x14faaf);}else{_0x584a53['mergeFromDatabase'](_0x584a53['telephones'][util[_0x7548('0x1f')]('SIP/%s',_0x14faaf[_0x7548('0x23')])],_0x14faaf);}}}return _0x584a53[_0x7548('0x10')];};};Realtime[_0x7548('0x39')]['initTrunks']=function(){var _0x562bc9=this;return function(_0x2cde8d){if(_0x2cde8d){freeIsNotKeySip(_0x2cde8d,_0x562bc9[_0x7548('0x11')]);for(var _0x21371a=0x0,_0x5c39f8={},_0x4c9958={};_0x21371a<_0x2cde8d['length'];_0x21371a+=0x1){_0x5c39f8=_0x2cde8d[_0x21371a];if(_[_0x7548('0x3b')](_0x562bc9[_0x7548('0x11')][util[_0x7548('0x1f')](_0x7548('0x20'),_0x5c39f8['name'])])){_0x562bc9['trunks'][util[_0x7548('0x1f')](_0x7548('0x20'),_0x5c39f8[_0x7548('0x23')])]=new Trunk(_0x5c39f8);}else{_0x562bc9['mergeFromDatabase'](_0x562bc9[_0x7548('0x11')][util[_0x7548('0x1f')]('SIP/%s',_0x5c39f8[_0x7548('0x23')])],_0x5c39f8);}}}return _0x562bc9['trunks'];};};Realtime[_0x7548('0x39')][_0x7548('0x3e')]=function(){var _0x26839d=this;return function(_0x51895a){if(_0x51895a){freeIsNotKey(_0x51895a,_0x26839d['voiceQueues'],_0x7548('0x23'));for(var _0x1367ce=0x0,_0xfdc715={},_0x4e85e3={};_0x1367ce<_0x51895a[_0x7548('0x3d')];_0x1367ce+=0x1){_0xfdc715=_0x51895a[_0x1367ce];if(_[_0x7548('0x3b')](_0x26839d['voiceQueues'][_0xfdc715['name']])){_0x26839d['voiceQueues'][_0xfdc715[_0x7548('0x23')]]=new VoiceQueue(_0xfdc715);}else{_0x26839d[_0x7548('0x3a')](_0x26839d[_0x7548('0x12')][_0xfdc715[_0x7548('0x23')]],_0xfdc715);}}}return _0x26839d[_0x7548('0x12')];};};Realtime[_0x7548('0x39')][_0x7548('0x3f')]=function(){var _0x51ad28=this;return function(_0x41a02c){if(_0x41a02c){freeIsNotKey(_0x41a02c,_0x51ad28[_0x7548('0x40')],'id');for(var _0x50d523=0x0,_0x1dc627={},_0x20d39f={};_0x50d523<_0x41a02c['length'];_0x50d523+=0x1){_0x1dc627=_0x41a02c[_0x50d523];if(_[_0x7548('0x3b')](_0x51ad28[_0x7548('0x40')][_0x1dc627['id']])){_0x51ad28[_0x7548('0x40')][_0x1dc627['id']]=new Trigger(_0x1dc627);}else{_0x51ad28[_0x7548('0x3a')](_0x51ad28[_0x7548('0x40')][_0x1dc627['id']],_0x1dc627);}}}return _0x51ad28[_0x7548('0x40')];};};Realtime[_0x7548('0x39')][_0x7548('0x41')]=function(){var _0x23822f=this;return function(_0x40b3d4){if(_0x40b3d4){freeIsNotKey(_0x40b3d4,_0x23822f[_0x7548('0x42')],'id');for(var _0x5694c6=0x0,_0x5069b4={},_0x488a68={};_0x5694c6<_0x40b3d4['length'];_0x5694c6+=0x1){_0x5069b4=_0x40b3d4[_0x5694c6];if(_['isUndefined'](_0x23822f['templates'][_0x5069b4['id']])){_0x23822f[_0x7548('0x42')][_0x5069b4['id']]=new Template(_0x5069b4);}else{_0x23822f[_0x7548('0x3a')](_0x23822f['templates'][_0x5069b4['id']],_0x5069b4);}}}return _0x23822f['templates'];};};Realtime[_0x7548('0x39')][_0x7548('0x43')]=function(){var _0x17ec08=this;return function(_0xe04757){if(_0xe04757){freeIsNotKey(_0xe04757,_0x17ec08[_0x7548('0x17')],'id');for(var _0x431e8a=0x0,_0x32d86f={},_0x739395={};_0x431e8a<_0xe04757[_0x7548('0x3d')];_0x431e8a+=0x1){_0x32d86f=_0xe04757[_0x431e8a];if(_[_0x7548('0x3b')](_0x17ec08[_0x7548('0x17')][_0x32d86f['id']])){_0x17ec08[_0x7548('0x17')][_0x32d86f['id']]=new ZendeskAccount(_0x32d86f);}else{_0x17ec08[_0x7548('0x3a')](_0x17ec08[_0x7548('0x17')][_0x32d86f['id']],_0x32d86f);}}}return _0x17ec08[_0x7548('0x17')];};};Realtime['prototype'][_0x7548('0x44')]=function(){var _0x565fd3=this;return function(_0x2fe197){if(_0x2fe197){freeIsNotKey(_0x2fe197,_0x565fd3['salesforceAccounts'],'id');for(var _0x59e83b=0x0,_0x51096e={},_0x4615f9={};_0x59e83b<_0x2fe197[_0x7548('0x3d')];_0x59e83b+=0x1){_0x51096e=_0x2fe197[_0x59e83b];if(_[_0x7548('0x3b')](_0x565fd3[_0x7548('0x18')][_0x51096e['id']])){_0x565fd3[_0x7548('0x18')][_0x51096e['id']]=new SalesforceAccount(_0x51096e);}else{_0x565fd3[_0x7548('0x3a')](_0x565fd3[_0x7548('0x18')][_0x51096e['id']],_0x51096e);}}}return _0x565fd3[_0x7548('0x18')];};};Realtime[_0x7548('0x39')][_0x7548('0x45')]=function(){var _0x3aba8d=this;return function(_0x31c293){if(_0x31c293){freeIsNotKey(_0x31c293,_0x3aba8d[_0x7548('0x46')],'id');for(var _0x57696a=0x0,_0x41e233={},_0x34bf56={};_0x57696a<_0x31c293['length'];_0x57696a+=0x1){_0x41e233=_0x31c293[_0x57696a];if(_[_0x7548('0x3b')](_0x3aba8d['freshdeskAccounts'][_0x41e233['id']])){_0x3aba8d[_0x7548('0x46')][_0x41e233['id']]=new FreshdeskAccount(_0x41e233);}else{_0x3aba8d[_0x7548('0x3a')](_0x3aba8d['freshdeskAccounts'][_0x41e233['id']],_0x41e233);}}}return _0x3aba8d[_0x7548('0x46')];};};Realtime[_0x7548('0x39')][_0x7548('0x47')]=function(){var _0x4c2160=this;return function(_0x58ed02){if(_0x58ed02){freeIsNotKey(_0x58ed02,_0x4c2160[_0x7548('0x19')],'id');for(var _0x506516=0x0,_0x5f46c0={},_0x447e34={};_0x506516<_0x58ed02[_0x7548('0x3d')];_0x506516+=0x1){_0x5f46c0=_0x58ed02[_0x506516];if(_[_0x7548('0x3b')](_0x4c2160[_0x7548('0x19')][_0x5f46c0['id']])){_0x4c2160[_0x7548('0x19')][_0x5f46c0['id']]=new ZohoAccount(_0x5f46c0);}else{_0x4c2160[_0x7548('0x3a')](_0x4c2160[_0x7548('0x19')][_0x5f46c0['id']],_0x5f46c0);}}}return _0x4c2160[_0x7548('0x19')];};};Realtime['prototype'][_0x7548('0x48')]=function(){var _0x49998a=this;return function(_0x49252e){if(_0x49252e){freeIsNotKey(_0x49252e,_0x49998a[_0x7548('0x1a')],'id');for(var _0x558be5=0x0,_0x14cc84={},_0x5a72fb={};_0x558be5<_0x49252e[_0x7548('0x3d')];_0x558be5+=0x1){_0x14cc84=_0x49252e[_0x558be5];if(_[_0x7548('0x3b')](_0x49998a[_0x7548('0x1a')][_0x14cc84['id']])){_0x49998a['deskAccounts'][_0x14cc84['id']]=new DeskAccount(_0x14cc84);}else{_0x49998a[_0x7548('0x3a')](_0x49998a[_0x7548('0x1a')][_0x14cc84['id']],_0x14cc84);}}}return _0x49998a[_0x7548('0x1a')];};};Realtime[_0x7548('0x39')][_0x7548('0x49')]=function(){var _0x936ac=this;return function(_0x5b4f5d){if(_0x5b4f5d){freeIsNotKey(_0x5b4f5d,_0x936ac[_0x7548('0x4a')],'id');for(var _0x1833a1=0x0,_0x2bdb03={},_0x55447d={};_0x1833a1<_0x5b4f5d['length'];_0x1833a1+=0x1){_0x2bdb03=_0x5b4f5d[_0x1833a1];if(_[_0x7548('0x3b')](_0x936ac['sugarcrmAccounts'][_0x2bdb03['id']])){_0x936ac[_0x7548('0x4a')][_0x2bdb03['id']]=new SugarcrmAccount(_0x2bdb03);}else{_0x936ac[_0x7548('0x3a')](_0x936ac[_0x7548('0x4a')][_0x2bdb03['id']],_0x2bdb03);}}}return _0x936ac['sugarcrmAccounts'];};};Realtime[_0x7548('0x39')][_0x7548('0x4b')]=function(){var _0x2a714f=this;return function(_0x48ce53){if(_0x48ce53){freeIsNotKey(_0x48ce53,_0x2a714f[_0x7548('0x4c')],'id');for(var _0x52e9ed=0x0,_0x131feb={},_0x50719e={};_0x52e9ed<_0x48ce53['length'];_0x52e9ed+=0x1){_0x131feb=_0x48ce53[_0x52e9ed];if(_[_0x7548('0x3b')](_0x2a714f[_0x7548('0x4c')][_0x131feb['id']])){_0x2a714f[_0x7548('0x4c')][_0x131feb['id']]=new VtigerAccount(_0x131feb);}else{_0x2a714f[_0x7548('0x3a')](_0x2a714f[_0x7548('0x4c')][_0x131feb['id']],_0x131feb);}}}return _0x2a714f[_0x7548('0x4c')];};};Realtime['prototype'][_0x7548('0x4d')]=function(){var _0x253eb8=this;return function(_0x5a48c9){if(_0x5a48c9){freeIsNotKey(_0x5a48c9,_0x253eb8[_0x7548('0x1b')],'id');for(var _0x286c1c=0x0,_0x351312={},_0x1a8364={};_0x286c1c<_0x5a48c9[_0x7548('0x3d')];_0x286c1c+=0x1){_0x351312=_0x5a48c9[_0x286c1c];if(_[_0x7548('0x3b')](_0x253eb8[_0x7548('0x1b')][_0x351312['id']])){_0x253eb8[_0x7548('0x1b')][_0x351312['id']]=new ServicenowAccount(_0x351312);}else{_0x253eb8[_0x7548('0x3a')](_0x253eb8[_0x7548('0x1b')][_0x351312['id']],_0x351312);}}}return _0x253eb8[_0x7548('0x1b')];};};Realtime[_0x7548('0x39')][_0x7548('0x4e')]=function(){var _0x20b8cd=this;return function(_0xcccf3e){if(_0xcccf3e){freeIsNotKey(_0xcccf3e,_0x20b8cd[_0x7548('0x1c')],'id');for(var _0x3c3599=0x0,_0x3e7c6b={},_0x543fcd={};_0x3c3599<_0xcccf3e[_0x7548('0x3d')];_0x3c3599+=0x1){_0x3e7c6b=_0xcccf3e[_0x3c3599];if(_['isUndefined'](_0x20b8cd[_0x7548('0x1c')][_0x3e7c6b['id']])){_0x20b8cd[_0x7548('0x1c')][_0x3e7c6b['id']]=new Dynamics365Account(_0x3e7c6b);}else{_0x20b8cd[_0x7548('0x3a')](_0x20b8cd['dynamics365Accounts'][_0x3e7c6b['id']],_0x3e7c6b);}}}return _0x20b8cd[_0x7548('0x1c')];};};Realtime['prototype'][_0x7548('0x4f')]=function(){var _0x2a2061=this;return function(_0x4cbf80){for(var _0x473bef=0x0;_0x473bef<_0x4cbf80[_0x7548('0x3d')];_0x473bef+=0x1){_[_0x7548('0x50')](_0x2a2061[_0x7548('0x12')][_0x4cbf80[_0x473bef]['name']],_0x4cbf80[_0x473bef]);}return _0x2a2061['voiceQueues'];};};Realtime['prototype'][_0x7548('0x51')]=function(){var _0x17adb8=this;return function(_0x537907){clearVoiceQueues(_0x17adb8[_0x7548('0x12')]);if(_0x537907){_0x537907=_[_0x7548('0x52')](_0x537907,_0x7548('0x53'));for(var _0x4fbc0a in _0x537907){if(_0x537907[_0x7548('0x1e')](_0x4fbc0a)){var _0x5bc9bc={};for(var _0x36980a=0x0;_0x36980a<_0x537907[_0x4fbc0a][_0x7548('0x3d')];_0x36980a+=0x1){var _0x21250c=_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x54')];if(_0x17adb8[_0x7548('0x12')][_0x21250c]){if(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x55')]){_0x17adb8[_0x7548('0x12')][_0x21250c][_0x7548('0x56')]+=0x1;}if(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x57')]){_0x17adb8['voiceQueues'][_0x21250c][_0x7548('0x58')]+=0x1;}_0x17adb8[_0x7548('0x12')][_0x21250c][_0x7548('0x26')]+=moment(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x59')])[_0x7548('0x5a')](moment(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x5b')]),'seconds')||0x0;if(_0x36980a===_0x537907[_0x4fbc0a][_0x7548('0x3d')]-0x1){_0x17adb8[_0x7548('0x12')][_0x21250c][_0x7548('0x2c')]+=moment(_0x537907[_0x4fbc0a][_0x36980a]['queuecallercompleteAt']||_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x5c')]||_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x5d')])[_0x7548('0x5a')](moment(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x5b')]),_0x7548('0x5e'))||0x0;_0x17adb8['voiceQueues'][_0x21250c][_0x7548('0x25')]+=0x1;if(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x5f')]){_0x17adb8['voiceQueues'][_0x21250c]['answered']+=0x1;_0x17adb8[_0x7548('0x12')][_0x21250c][_0x7548('0x27')]+=moment(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x60')])[_0x7548('0x5a')](moment(_0x537907[_0x4fbc0a][_0x36980a][_0x7548('0x59')]),_0x7548('0x5e'))||0x0;}}else{_0x17adb8[_0x7548('0x12')][_0x21250c][_0x7548('0x2c')]+=_0x17adb8[_0x7548('0x12')][_0x21250c][_0x7548('0x26')]||0x0;}}}}}}return _0x17adb8[_0x7548('0x12')];};};Realtime[_0x7548('0x39')][_0x7548('0x61')]=function(){var _0xb1dad3=this;return function(_0x153214){clearVoiceCallReports(_0xb1dad3[_0x7548('0x13')]);if(_0x153214){for(var _0x2bc284=0x0;_0x2bc284<_0x153214[_0x7548('0x3d')];_0x2bc284+=0x1){_0xb1dad3['outbound']['total']+=0x1;_0xb1dad3[_0x7548('0x13')][_0x7548('0x2c')]+=_0x153214[_0x2bc284][_0x7548('0x62')];if(_0x153214[_0x2bc284][_0x7548('0x63')]===_0x7548('0x64')){_0xb1dad3[_0x7548('0x13')][_0x7548('0x2b')]+=0x1;_0xb1dad3[_0x7548('0x13')]['sumHoldTime']+=_0x153214[_0x2bc284][_0x7548('0x62')]-_0x153214[_0x2bc284][_0x7548('0x65')]||0x0;_0xb1dad3[_0x7548('0x13')][_0x7548('0x27')]+=_0x153214[_0x2bc284][_0x7548('0x65')];}}}return _0xb1dad3[_0x7548('0x13')];};};Realtime[_0x7548('0x39')][_0x7548('0x66')]=function(){var _0x5c6cb5=this;return function(_0x50612b){if(_0x50612b){freeIsNotKey(_0x50612b,_0x5c6cb5[_0x7548('0x67')],'name');for(var _0x4e4f89=0x0,_0x144597={};_0x4e4f89<_0x50612b[_0x7548('0x3d')];_0x4e4f89+=0x1){_0x144597=_0x50612b[_0x4e4f89];if(_['isUndefined'](_0x5c6cb5[_0x7548('0x67')][_0x144597[_0x7548('0x23')]])){_0x5c6cb5['campaigns'][_0x144597['name']]=new Campaign(_0x144597);}else{_0x5c6cb5[_0x7548('0x3a')](_0x5c6cb5[_0x7548('0x67')][_0x144597['name']],_0x144597);}}}return _0x5c6cb5['campaigns'];};};Realtime[_0x7548('0x39')][_0x7548('0x68')]=function(){var _0x1d663b=this;return function(_0x3cac87){if(_0x3cac87){freeIsNotKey(_0x3cac87,_0x1d663b[_0x7548('0x14')],'id');for(var _0x10bc3b=0x0,_0x38ed21={};_0x10bc3b<_0x3cac87[_0x7548('0x3d')];_0x10bc3b+=0x1){_0x38ed21=_0x3cac87[_0x10bc3b];if(_['isUndefined'](_0x1d663b['voiceExtensions'][_0x38ed21['id']])){_0x1d663b[_0x7548('0x14')][_0x38ed21['id']]=new VoiceExtension(_0x38ed21);}else{_0x1d663b[_0x7548('0x3a')](_0x1d663b[_0x7548('0x14')][_0x38ed21['id']],_0x38ed21);}}}return _0x1d663b['voiceExtensions'];};};Realtime[_0x7548('0x39')][_0x7548('0x69')]=function(){var _0x266317=this;return function(_0x388953){clearCampaigns(_0x266317['campaigns']);for(var _0x47c403=0x0;_0x47c403<_0x388953[_0x7548('0x3d')];_0x47c403+=0x1){_[_0x7548('0x50')](_0x266317[_0x7548('0x67')][_0x388953[_0x47c403][_0x7548('0x23')]],_0x388953[_0x47c403]);}return _0x266317[_0x7548('0x67')];};};Realtime[_0x7548('0x39')][_0x7548('0x6a')]=function(){var _0x94f3c6=this;return function(_0x200894){if(_0x200894){freeIsNotKey(_0x200894,_0x94f3c6['faxAccounts'],'id');for(var _0x1597ae=0x0,_0x414a3e={},_0x2e195b={};_0x1597ae<_0x200894[_0x7548('0x3d')];_0x1597ae+=0x1){_0x414a3e=_0x200894[_0x1597ae];if(_[_0x7548('0x3b')](_0x94f3c6['faxAccounts'][_0x414a3e['id']])){_0x94f3c6[_0x7548('0x1d')][_0x414a3e['id']]=new FaxAccount(_0x414a3e);}else{_0x94f3c6[_0x7548('0x3a')](_0x94f3c6[_0x7548('0x1d')][_0x414a3e['id']],_0x414a3e);}}}return _0x94f3c6['faxAccounts'];};};module['exports']=Realtime;