b45bbf2ff8f76d0bba91b6d4e34774de7fc65d4e
[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 _0x86e6=['SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','../model/agent','../model/trunk','../model/voiceQueue','../model/template','../model/campaign','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','settings','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','name','isNil','interface','format','sumHoldTime','isEmpty','ivrTotalCallsDays','total','answered','unmanaged','abandoned','sumDuration','sumBillable','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initTelephones','length','isUndefined','initTrunks','trunks','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','zohoAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','groupBy','uniqueid','queuecallerexit','queuecallerleaveAt','diff','queuecallerjoinAt','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','seconds','initVoiceCallReports','duration','billableseconds','initCampaigns'];(function(_0x4564ff,_0xd39a3c){var _0x35b8b9=function(_0x4697c3){while(--_0x4697c3){_0x4564ff['push'](_0x4564ff['shift']());}};_0x35b8b9(++_0xd39a3c);}(_0x86e6,0x134));var _0x686e=function(_0x319762,_0x536625){_0x319762=_0x319762-0x0;var _0x35eb19=_0x86e6[_0x319762];return _0x35eb19;};'use strict';var BPromise=require(_0x686e('0x0'));var util=require('util');var _=require('lodash');var moment=require('moment');var Agent=require(_0x686e('0x1'));var Telephone=require('../model/telephone');var Trunk=require(_0x686e('0x2'));var VoiceQueue=require(_0x686e('0x3'));var Trigger=require('../model/trigger');var Template=require(_0x686e('0x4'));var Campaign=require(_0x686e('0x5'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x686e('0x6'));var SugarcrmAccount=require(_0x686e('0x7'));var ZohoAccount=require(_0x686e('0x8'));var DeskAccount=require(_0x686e('0x9'));var VtigerAccount=require(_0x686e('0xa'));var ServicenowAccount=require(_0x686e('0xb'));var Dynamics365Account=require(_0x686e('0xc'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x686e('0xd'));var Realtime=function(){this[_0x686e('0xe')]={};this[_0x686e('0xf')]={};this['trunks']={};this[_0x686e('0x10')]={};this[_0x686e('0x11')]={};this[_0x686e('0x12')]={};this[_0x686e('0x13')]={};this[_0x686e('0x14')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x686e('0x15')]={};this[_0x686e('0x16')]={};this[_0x686e('0x17')]={};this[_0x686e('0x18')]={};this['timers']={};this[_0x686e('0x19')]={};this[_0x686e('0x1a')]={};this[_0x686e('0x1b')]={};this[_0x686e('0x1c')]={};this[_0x686e('0x1d')]={};this['zohoAccounts']={};this[_0x686e('0x1e')]={};this[_0x686e('0x1f')]={};this[_0x686e('0x20')]={};this['dynamics365Accounts']={};this[_0x686e('0x21')]={};this[_0x686e('0x22')]={};};function freeIsNotKey(_0x55ce2d,_0xdb08b,_0x470f19){var _0x159ee2=_[_0x686e('0x23')](_0x55ce2d,function(_0x2142d2,_0x3e80b1){return _0x2142d2[_0x470f19];});for(var _0x400ad3 in _0xdb08b){if(_0xdb08b[_0x686e('0x24')](_0x400ad3)){if(!_0x159ee2[_0x400ad3]){delete _0xdb08b[_0x400ad3];}}}}function freeIsNotKeySip(_0x239669,_0x4ac109){var _0x182d41=_['mapKeys'](_0x239669,function(_0x3e3931,_0x3a8653){return util['format'](_0x686e('0x25'),_0x3e3931[_0x686e('0x26')]);});for(var _0x180757 in _0x4ac109){if(_0x4ac109[_0x686e('0x24')](_0x180757)){if(!_0x182d41[_0x180757]){delete _0x4ac109[_0x180757];}}}}function freeIsNotKeyAgent(_0x2837ac,_0x5284dc){var _0x37de35=_[_0x686e('0x23')](_0x2837ac,function(_0x585150,_0x295cb9){var _0x54efd5=_[_0x686e('0x27')](_0x585150[_0x686e('0x28')])?util[_0x686e('0x29')](_0x686e('0x25'),_0x585150[_0x686e('0x26')]):_0x585150[_0x686e('0x28')];return _0x54efd5;});for(var _0x29dbf9 in _0x5284dc){if(_0x5284dc['hasOwnProperty'](_0x29dbf9)){if(!_0x37de35[_0x29dbf9]){delete _0x5284dc[_0x29dbf9];}}}}function clearVoiceCallReports(_0x488f3b){_0x488f3b['total']=0x0;_0x488f3b['answered']=0x0;_0x488f3b[_0x686e('0x2a')]=0x0;_0x488f3b['sumDuration']=0x0;_0x488f3b['sumBillable']=0x0;}function clearCampaigns(_0x5728ae){if(!_[_0x686e('0x2b')](_0x5728ae)){for(var _0x885def in _0x5728ae){if(_0x5728ae[_0x686e('0x24')](_0x885def)){_0x5728ae[_0x885def][_0x686e('0x2c')]=0x0;_0x5728ae[_0x885def]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x5e5e04){if(!_[_0x686e('0x2b')](_0x5e5e04)){for(var _0x1ee5bf in _0x5e5e04){if(_0x5e5e04[_0x686e('0x24')](_0x1ee5bf)){_0x5e5e04[_0x1ee5bf][_0x686e('0x2d')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x2e')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x2f')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x30')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x2a')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x31')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x32')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x33')]=0x0;_0x5e5e04[_0x1ee5bf]['outboundNoAnswerCallsDay']=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x34')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x35')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x36')]=0x0;_0x5e5e04[_0x1ee5bf]['outboundUnknownCallsDay']=0x0;_0x5e5e04[_0x1ee5bf]['outboundDropCallsDayTimeout']=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x37')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x38')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x39')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x3a')]=0x0;_0x5e5e04[_0x1ee5bf]['outboundReCallsDay']=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x33')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x3b')]=0x0;_0x5e5e04[_0x1ee5bf][_0x686e('0x3c')]=!![];}}}}Realtime[_0x686e('0x3d')]['mergeFromDatabase']=function(_0x417cd8,_0x7e1b4a){for(var _0x547526 in _0x7e1b4a){if(_0x417cd8['hasOwnProperty'](_0x547526)){_0x417cd8[_0x547526]=_0x7e1b4a[_0x547526];}}};Realtime['prototype']['initAgents']=function(){var _0x5f21d3=this;return function(_0x25b33a){if(_0x25b33a){freeIsNotKeyAgent(_0x25b33a,_0x5f21d3[_0x686e('0xe')]);for(var _0x468230=0x0,_0x520ed7={},_0x2c1b0f={};_0x468230<_0x25b33a['length'];_0x468230+=0x1){_0x520ed7=_0x25b33a[_0x468230];var _0x452999=_['isNil'](_0x520ed7[_0x686e('0x28')])?util[_0x686e('0x29')](_0x686e('0x25'),_0x520ed7[_0x686e('0x26')]):_0x520ed7[_0x686e('0x28')];if(_['isUndefined'](_0x5f21d3[_0x686e('0xe')][_0x452999])){_0x5f21d3[_0x686e('0xe')][_0x452999]=new Agent(_0x520ed7);}else{_0x5f21d3[_0x686e('0x3e')](_0x5f21d3[_0x686e('0xe')][_0x452999],_0x520ed7);}}}return _0x5f21d3[_0x686e('0xe')];};};Realtime[_0x686e('0x3d')][_0x686e('0x3f')]=function(){var _0x32b792=this;return function(_0x1e8984){if(_0x1e8984){freeIsNotKeySip(_0x1e8984,_0x32b792[_0x686e('0xf')]);for(var _0x1e18c9=0x0,_0x58de45={},_0xc55974={};_0x1e18c9<_0x1e8984[_0x686e('0x40')];_0x1e18c9+=0x1){_0x58de45=_0x1e8984[_0x1e18c9];if(_[_0x686e('0x41')](_0x32b792['telephones'][util[_0x686e('0x29')]('SIP/%s',_0x58de45[_0x686e('0x26')])])){_0x32b792[_0x686e('0xf')][util[_0x686e('0x29')](_0x686e('0x25'),_0x58de45['name'])]=new Telephone(_0x58de45);}else{_0x32b792[_0x686e('0x3e')](_0x32b792[_0x686e('0xf')][util['format'](_0x686e('0x25'),_0x58de45[_0x686e('0x26')])],_0x58de45);}}}return _0x32b792[_0x686e('0xf')];};};Realtime[_0x686e('0x3d')][_0x686e('0x42')]=function(){var _0x5cae58=this;return function(_0x3c7cae){if(_0x3c7cae){freeIsNotKeySip(_0x3c7cae,_0x5cae58[_0x686e('0x43')]);for(var _0x78b59e=0x0,_0x4774aa={},_0x44a8a2={};_0x78b59e<_0x3c7cae[_0x686e('0x40')];_0x78b59e+=0x1){_0x4774aa=_0x3c7cae[_0x78b59e];if(_[_0x686e('0x41')](_0x5cae58[_0x686e('0x43')][util[_0x686e('0x29')](_0x686e('0x25'),_0x4774aa['name'])])){_0x5cae58[_0x686e('0x43')][util['format']('SIP/%s',_0x4774aa['name'])]=new Trunk(_0x4774aa);}else{_0x5cae58[_0x686e('0x3e')](_0x5cae58[_0x686e('0x43')][util['format'](_0x686e('0x25'),_0x4774aa[_0x686e('0x26')])],_0x4774aa);}}}return _0x5cae58['trunks'];};};Realtime[_0x686e('0x3d')]['initVoiceQueues']=function(){var _0x3713ce=this;return function(_0x5b21d6){if(_0x5b21d6){freeIsNotKey(_0x5b21d6,_0x3713ce[_0x686e('0x10')],'name');for(var _0x47d496=0x0,_0x45bfab={},_0x37e5c5={};_0x47d496<_0x5b21d6[_0x686e('0x40')];_0x47d496+=0x1){_0x45bfab=_0x5b21d6[_0x47d496];if(_[_0x686e('0x41')](_0x3713ce[_0x686e('0x10')][_0x45bfab['name']])){_0x3713ce[_0x686e('0x10')][_0x45bfab['name']]=new VoiceQueue(_0x45bfab);}else{_0x3713ce['mergeFromDatabase'](_0x3713ce[_0x686e('0x10')][_0x45bfab[_0x686e('0x26')]],_0x45bfab);}}}return _0x3713ce['voiceQueues'];};};Realtime[_0x686e('0x3d')]['initTriggers']=function(){var _0x22fde9=this;return function(_0x573f12){if(_0x573f12){freeIsNotKey(_0x573f12,_0x22fde9[_0x686e('0x11')],'id');for(var _0x4665b6=0x0,_0x1cdaff={},_0x327e87={};_0x4665b6<_0x573f12[_0x686e('0x40')];_0x4665b6+=0x1){_0x1cdaff=_0x573f12[_0x4665b6];if(_[_0x686e('0x41')](_0x22fde9[_0x686e('0x11')][_0x1cdaff['id']])){_0x22fde9['triggers'][_0x1cdaff['id']]=new Trigger(_0x1cdaff);}else{_0x22fde9[_0x686e('0x3e')](_0x22fde9[_0x686e('0x11')][_0x1cdaff['id']],_0x1cdaff);}}}return _0x22fde9['triggers'];};};Realtime[_0x686e('0x3d')][_0x686e('0x44')]=function(){var _0x874208=this;return function(_0x390c81){if(_0x390c81){freeIsNotKey(_0x390c81,_0x874208['templates'],'id');for(var _0x356b73=0x0,_0x51da61={},_0x8bffad={};_0x356b73<_0x390c81['length'];_0x356b73+=0x1){_0x51da61=_0x390c81[_0x356b73];if(_[_0x686e('0x41')](_0x874208[_0x686e('0x13')][_0x51da61['id']])){_0x874208['templates'][_0x51da61['id']]=new Template(_0x51da61);}else{_0x874208[_0x686e('0x3e')](_0x874208[_0x686e('0x13')][_0x51da61['id']],_0x51da61);}}}return _0x874208['templates'];};};Realtime[_0x686e('0x3d')][_0x686e('0x45')]=function(){var _0x503c16=this;return function(_0x3a3c94){if(_0x3a3c94){freeIsNotKey(_0x3a3c94,_0x503c16[_0x686e('0x1a')],'id');for(var _0x3ac546=0x0,_0x506dbb={},_0x10f948={};_0x3ac546<_0x3a3c94['length'];_0x3ac546+=0x1){_0x506dbb=_0x3a3c94[_0x3ac546];if(_[_0x686e('0x41')](_0x503c16[_0x686e('0x1a')][_0x506dbb['id']])){_0x503c16[_0x686e('0x1a')][_0x506dbb['id']]=new ZendeskAccount(_0x506dbb);}else{_0x503c16['mergeFromDatabase'](_0x503c16[_0x686e('0x1a')][_0x506dbb['id']],_0x506dbb);}}}return _0x503c16[_0x686e('0x1a')];};};Realtime[_0x686e('0x3d')][_0x686e('0x46')]=function(){var _0x3a162f=this;return function(_0x128295){if(_0x128295){freeIsNotKey(_0x128295,_0x3a162f[_0x686e('0x1b')],'id');for(var _0x5a4cbb=0x0,_0x290987={},_0x1f897c={};_0x5a4cbb<_0x128295[_0x686e('0x40')];_0x5a4cbb+=0x1){_0x290987=_0x128295[_0x5a4cbb];if(_[_0x686e('0x41')](_0x3a162f['salesforceAccounts'][_0x290987['id']])){_0x3a162f['salesforceAccounts'][_0x290987['id']]=new SalesforceAccount(_0x290987);}else{_0x3a162f[_0x686e('0x3e')](_0x3a162f[_0x686e('0x1b')][_0x290987['id']],_0x290987);}}}return _0x3a162f[_0x686e('0x1b')];};};Realtime[_0x686e('0x3d')][_0x686e('0x47')]=function(){var _0x21f430=this;return function(_0x4809e9){if(_0x4809e9){freeIsNotKey(_0x4809e9,_0x21f430[_0x686e('0x1d')],'id');for(var _0x1c984a=0x0,_0x2e3c57={},_0x36a71e={};_0x1c984a<_0x4809e9[_0x686e('0x40')];_0x1c984a+=0x1){_0x2e3c57=_0x4809e9[_0x1c984a];if(_['isUndefined'](_0x21f430['freshdeskAccounts'][_0x2e3c57['id']])){_0x21f430[_0x686e('0x1d')][_0x2e3c57['id']]=new FreshdeskAccount(_0x2e3c57);}else{_0x21f430['mergeFromDatabase'](_0x21f430['freshdeskAccounts'][_0x2e3c57['id']],_0x2e3c57);}}}return _0x21f430[_0x686e('0x1d')];};};Realtime[_0x686e('0x3d')][_0x686e('0x48')]=function(){var _0x3a5887=this;return function(_0x27a126){if(_0x27a126){freeIsNotKey(_0x27a126,_0x3a5887['zohoAccounts'],'id');for(var _0x16439d=0x0,_0x1112be={},_0x23f744={};_0x16439d<_0x27a126['length'];_0x16439d+=0x1){_0x1112be=_0x27a126[_0x16439d];if(_['isUndefined'](_0x3a5887[_0x686e('0x49')][_0x1112be['id']])){_0x3a5887[_0x686e('0x49')][_0x1112be['id']]=new ZohoAccount(_0x1112be);}else{_0x3a5887[_0x686e('0x3e')](_0x3a5887[_0x686e('0x49')][_0x1112be['id']],_0x1112be);}}}return _0x3a5887[_0x686e('0x49')];};};Realtime[_0x686e('0x3d')]['initDeskAccounts']=function(){var _0x45fb2d=this;return function(_0x7ade){if(_0x7ade){freeIsNotKey(_0x7ade,_0x45fb2d['deskAccounts'],'id');for(var _0x1f9377=0x0,_0x33f5b0={},_0x134253={};_0x1f9377<_0x7ade[_0x686e('0x40')];_0x1f9377+=0x1){_0x33f5b0=_0x7ade[_0x1f9377];if(_[_0x686e('0x41')](_0x45fb2d[_0x686e('0x1e')][_0x33f5b0['id']])){_0x45fb2d[_0x686e('0x1e')][_0x33f5b0['id']]=new DeskAccount(_0x33f5b0);}else{_0x45fb2d[_0x686e('0x3e')](_0x45fb2d['deskAccounts'][_0x33f5b0['id']],_0x33f5b0);}}}return _0x45fb2d[_0x686e('0x1e')];};};Realtime[_0x686e('0x3d')][_0x686e('0x4a')]=function(){var _0x51e259=this;return function(_0x304a40){if(_0x304a40){freeIsNotKey(_0x304a40,_0x51e259[_0x686e('0x1c')],'id');for(var _0x150f08=0x0,_0x552d7c={},_0x429dbe={};_0x150f08<_0x304a40[_0x686e('0x40')];_0x150f08+=0x1){_0x552d7c=_0x304a40[_0x150f08];if(_['isUndefined'](_0x51e259[_0x686e('0x1c')][_0x552d7c['id']])){_0x51e259[_0x686e('0x1c')][_0x552d7c['id']]=new SugarcrmAccount(_0x552d7c);}else{_0x51e259['mergeFromDatabase'](_0x51e259[_0x686e('0x1c')][_0x552d7c['id']],_0x552d7c);}}}return _0x51e259['sugarcrmAccounts'];};};Realtime[_0x686e('0x3d')][_0x686e('0x4b')]=function(){var _0x3d8aca=this;return function(_0x1bd78b){if(_0x1bd78b){freeIsNotKey(_0x1bd78b,_0x3d8aca['vtigerAccounts'],'id');for(var _0x1fabf6=0x0,_0x1158a4={},_0x357559={};_0x1fabf6<_0x1bd78b[_0x686e('0x40')];_0x1fabf6+=0x1){_0x1158a4=_0x1bd78b[_0x1fabf6];if(_[_0x686e('0x41')](_0x3d8aca[_0x686e('0x1f')][_0x1158a4['id']])){_0x3d8aca[_0x686e('0x1f')][_0x1158a4['id']]=new VtigerAccount(_0x1158a4);}else{_0x3d8aca[_0x686e('0x3e')](_0x3d8aca[_0x686e('0x1f')][_0x1158a4['id']],_0x1158a4);}}}return _0x3d8aca[_0x686e('0x1f')];};};Realtime[_0x686e('0x3d')][_0x686e('0x4c')]=function(){var _0x488c7f=this;return function(_0x59bc9a){if(_0x59bc9a){freeIsNotKey(_0x59bc9a,_0x488c7f[_0x686e('0x20')],'id');for(var _0x27545b=0x0,_0x3cc089={},_0x1e100f={};_0x27545b<_0x59bc9a[_0x686e('0x40')];_0x27545b+=0x1){_0x3cc089=_0x59bc9a[_0x27545b];if(_[_0x686e('0x41')](_0x488c7f[_0x686e('0x20')][_0x3cc089['id']])){_0x488c7f[_0x686e('0x20')][_0x3cc089['id']]=new ServicenowAccount(_0x3cc089);}else{_0x488c7f[_0x686e('0x3e')](_0x488c7f['servicenowAccounts'][_0x3cc089['id']],_0x3cc089);}}}return _0x488c7f[_0x686e('0x20')];};};Realtime[_0x686e('0x3d')][_0x686e('0x4d')]=function(){var _0x13bdd0=this;return function(_0x57ad1d){if(_0x57ad1d){freeIsNotKey(_0x57ad1d,_0x13bdd0[_0x686e('0x4e')],'id');for(var _0x5986cd=0x0,_0x3652bb={},_0x2f51a1={};_0x5986cd<_0x57ad1d['length'];_0x5986cd+=0x1){_0x3652bb=_0x57ad1d[_0x5986cd];if(_[_0x686e('0x41')](_0x13bdd0[_0x686e('0x4e')][_0x3652bb['id']])){_0x13bdd0[_0x686e('0x4e')][_0x3652bb['id']]=new Dynamics365Account(_0x3652bb);}else{_0x13bdd0[_0x686e('0x3e')](_0x13bdd0[_0x686e('0x4e')][_0x3652bb['id']],_0x3652bb);}}}return _0x13bdd0[_0x686e('0x4e')];};};Realtime[_0x686e('0x3d')][_0x686e('0x4f')]=function(){var _0x356298=this;return function(_0x3c2484){if(_0x3c2484){freeIsNotKey(_0x3c2484,_0x356298[_0x686e('0x21')],'id');for(var _0x422e49=0x0,_0x4c483a={},_0x303e87={};_0x422e49<_0x3c2484[_0x686e('0x40')];_0x422e49+=0x1){_0x4c483a=_0x3c2484[_0x422e49];if(_['isUndefined'](_0x356298[_0x686e('0x21')][_0x4c483a['id']])){_0x356298[_0x686e('0x21')][_0x4c483a['id']]=new FreshsalesAccount(_0x4c483a);}else{_0x356298[_0x686e('0x3e')](_0x356298[_0x686e('0x21')][_0x4c483a['id']],_0x4c483a);}}}return _0x356298[_0x686e('0x21')];};};Realtime['prototype'][_0x686e('0x50')]=function(){var _0x599e86=this;return function(_0x172dbb){for(var _0x4a04e4=0x0;_0x4a04e4<_0x172dbb['length'];_0x4a04e4+=0x1){_[_0x686e('0x51')](_0x599e86[_0x686e('0x10')][_0x172dbb[_0x4a04e4][_0x686e('0x26')]],_0x172dbb[_0x4a04e4]);}return _0x599e86['voiceQueues'];};};Realtime[_0x686e('0x3d')]['initVoiceQueueReports']=function(){var _0x308a66=this;return function(_0x28dddd){clearVoiceQueues(_0x308a66[_0x686e('0x10')]);if(_0x28dddd){_0x28dddd=_[_0x686e('0x52')](_0x28dddd,_0x686e('0x53'));for(var _0x252975 in _0x28dddd){if(_0x28dddd[_0x686e('0x24')](_0x252975)){var _0x127c40={};for(var _0x27bda0=0x0;_0x27bda0<_0x28dddd[_0x252975][_0x686e('0x40')];_0x27bda0+=0x1){var _0x2bf9b8=_0x28dddd[_0x252975][_0x27bda0]['queue'];if(_0x308a66[_0x686e('0x10')][_0x2bf9b8]){if(_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x54')]){_0x308a66['voiceQueues'][_0x2bf9b8]['unmanaged']+=0x1;}if(_0x28dddd[_0x252975][_0x27bda0]['queuecallerabandon']){_0x308a66[_0x686e('0x10')][_0x2bf9b8][_0x686e('0x30')]+=0x1;}_0x308a66[_0x686e('0x10')][_0x2bf9b8][_0x686e('0x2a')]+=moment(_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x55')])[_0x686e('0x56')](moment(_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x57')]),'seconds')||0x0;if(_0x27bda0===_0x28dddd[_0x252975][_0x686e('0x40')]-0x1){_0x308a66[_0x686e('0x10')][_0x2bf9b8]['sumDuration']+=moment(_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x58')]||_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x59')]||_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x5a')])[_0x686e('0x56')](moment(_0x28dddd[_0x252975][_0x27bda0]['queuecallerjoinAt']),_0x686e('0x5b'))||0x0;_0x308a66[_0x686e('0x10')][_0x2bf9b8][_0x686e('0x2d')]+=0x1;if(_0x28dddd[_0x252975][_0x27bda0]['queuecallercomplete']){_0x308a66[_0x686e('0x10')][_0x2bf9b8]['answered']+=0x1;_0x308a66[_0x686e('0x10')][_0x2bf9b8][_0x686e('0x32')]+=moment(_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x58')])[_0x686e('0x56')](moment(_0x28dddd[_0x252975][_0x27bda0][_0x686e('0x55')]),_0x686e('0x5b'))||0x0;}}else{_0x308a66[_0x686e('0x10')][_0x2bf9b8][_0x686e('0x31')]+=_0x308a66['voiceQueues'][_0x2bf9b8][_0x686e('0x2a')]||0x0;}}}}}}return _0x308a66[_0x686e('0x10')];};};Realtime[_0x686e('0x3d')][_0x686e('0x5c')]=function(){var _0x1c8b59=this;return function(_0x43fa42){clearVoiceCallReports(_0x1c8b59['outbound']);if(_0x43fa42){for(var _0x1aca8c=0x0;_0x1aca8c<_0x43fa42[_0x686e('0x40')];_0x1aca8c+=0x1){_0x1c8b59['outbound'][_0x686e('0x2d')]+=0x1;_0x1c8b59[_0x686e('0x14')][_0x686e('0x31')]+=_0x43fa42[_0x1aca8c][_0x686e('0x5d')];if(_0x43fa42[_0x1aca8c]['disposition']==='ANSWERED'){_0x1c8b59[_0x686e('0x14')][_0x686e('0x2e')]+=0x1;_0x1c8b59[_0x686e('0x14')][_0x686e('0x2a')]+=_0x43fa42[_0x1aca8c][_0x686e('0x5d')]-_0x43fa42[_0x1aca8c][_0x686e('0x5e')]||0x0;_0x1c8b59[_0x686e('0x14')][_0x686e('0x32')]+=_0x43fa42[_0x1aca8c]['billableseconds'];}}}return _0x1c8b59['outbound'];};};Realtime[_0x686e('0x3d')][_0x686e('0x5f')]=function(){var _0x34eda6=this;return function(_0x2dc2f5){if(_0x2dc2f5){freeIsNotKey(_0x2dc2f5,_0x34eda6[_0x686e('0x12')],'name');for(var _0x4a53e3=0x0,_0x463c95={};_0x4a53e3<_0x2dc2f5[_0x686e('0x40')];_0x4a53e3+=0x1){_0x463c95=_0x2dc2f5[_0x4a53e3];if(_[_0x686e('0x41')](_0x34eda6[_0x686e('0x12')][_0x463c95['name']])){_0x34eda6[_0x686e('0x12')][_0x463c95['name']]=new Campaign(_0x463c95);}else{_0x34eda6[_0x686e('0x3e')](_0x34eda6[_0x686e('0x12')][_0x463c95[_0x686e('0x26')]],_0x463c95);_0x34eda6[_0x686e('0x12')][_0x463c95[_0x686e('0x26')]]['dialQueueProject']=_0x463c95[_0x686e('0x60')]?_0x463c95[_0x686e('0x60')][_0x686e('0x26')]:undefined;}}}return _0x34eda6['campaigns'];};};Realtime['prototype'][_0x686e('0x61')]=function(){var _0xcebcf9=this;return function(_0x298e34){if(_0x298e34){freeIsNotKey(_0x298e34,_0xcebcf9[_0x686e('0x15')],'id');for(var _0xc4365d=0x0,_0x1b90bd={};_0xc4365d<_0x298e34[_0x686e('0x40')];_0xc4365d+=0x1){_0x1b90bd=_0x298e34[_0xc4365d];if(_[_0x686e('0x41')](_0xcebcf9[_0x686e('0x15')][_0x1b90bd['id']])){_0xcebcf9['voiceExtensions'][_0x1b90bd['id']]=new VoiceExtension(_0x1b90bd);}else{_0xcebcf9[_0x686e('0x3e')](_0xcebcf9[_0x686e('0x15')][_0x1b90bd['id']],_0x1b90bd);}}}return _0xcebcf9[_0x686e('0x15')];};};Realtime[_0x686e('0x3d')][_0x686e('0x62')]=function(){var _0x128a71=this;return function(_0x64151b){clearCampaigns(_0x128a71[_0x686e('0x12')]);for(var _0x993321=0x0;_0x993321<_0x64151b[_0x686e('0x40')];_0x993321+=0x1){_[_0x686e('0x51')](_0x128a71[_0x686e('0x12')][_0x64151b[_0x993321][_0x686e('0x26')]],_0x64151b[_0x993321]);}return _0x128a71[_0x686e('0x12')];};};Realtime['prototype'][_0x686e('0x63')]=function(){var _0x152f5b=this;return function(_0x1ab7a7){if(_0x1ab7a7){freeIsNotKey(_0x1ab7a7,_0x152f5b['faxAccounts'],'id');for(var _0x254a3d=0x0,_0x1f2bf9={},_0x398307={};_0x254a3d<_0x1ab7a7[_0x686e('0x40')];_0x254a3d+=0x1){_0x1f2bf9=_0x1ab7a7[_0x254a3d];if(_[_0x686e('0x41')](_0x152f5b['faxAccounts'][_0x1f2bf9['id']])){_0x152f5b[_0x686e('0x22')][_0x1f2bf9['id']]=new FaxAccount(_0x1f2bf9);}else{_0x152f5b[_0x686e('0x3e')](_0x152f5b[_0x686e('0x22')][_0x1f2bf9['id']],_0x1f2bf9);}}}return _0x152f5b[_0x686e('0x22')];};};module[_0x686e('0x64')]=Realtime;