Beispiel #1
0
        private void OnNewConfig(object sender, Cd40Cfg cfg)
#endif
        {
            string _idIdenticador = MainId;

            if (_UserCfg != null)
            {
                _SystemCfg = cfg.ConfiguracionGeneral;
                _UserCfg   = GetUserCfg(cfg);
                _PoolHf    = cfg.PoolHf;

                _ResetUsuario = MainId != _idIdenticador;
            }
            else
            {
                _SystemCfg = cfg.ConfiguracionGeneral;
                _UserCfg   = GetUserCfg(cfg);
                _PoolHf    = cfg.PoolHf;
            }

            /** 20180315. AGL. Si _UserCfg es null, es porque el ID HOST configurado no forma parte de
             * la configuracion de BDT, aunque si de la configuracion de SPREAD. */
            if (_UserCfg == null)
            {
                _HostAddresses = _SystemCfg.GetHostAddresses(Top.HostId);
                ClearChildrenObjects();
            }
            else
            {
                _HostAddresses = _SystemCfg.GetHostAddresses(Top.HostId);
                CreateChildrenObjects();
            }
            CreateOperatorsData();
            General.SafeLaunchEvent(ConfigChanged, this);
        }
        private static Cd40Cfg ConfiguraciónProxy()
        {
            Cd40Cfg cfg = new Cd40Cfg();
            cfg.Version = "9.9";
            cfg.ConfiguracionGeneral = new ConfiguracionSistema();
            DireccionamientoIP i = new DireccionamientoIP();
            i.IdHost = "SCV2_LABO";
            i.IpRed1 = "192.168.2.112";
            i.TipoHost = Tipo_Elemento_HW.TEH_EXTERNO_TELEFONIA;
            i.Interno = true;
            i.Max = 218000;
            i.Min = 218008;
            i.EsCentralIP = true;

            cfg.ConfiguracionGeneral.PlanDireccionamientoIP.Add(i);
            return cfg;
        }
        public void TestMethod1()
        {
            Cd40Cfg cfg = ConfiguraciónProxy();

            //cfg = ConfiguracionGrupoUnMiembro(cfg);
            //    _CfgManager = new CfgManager();
            //    _SipManager = new SipManager();
            //    _MixerManager = new MixerManager();
            //    _TlfManager = new TlfManager();
            //Tlf tlf = new Tlf();
            //TlfInfo posInfo = new TlfInfo(link.Literal, TlfState.Idle, true, TlfType.Md);
            //RangeMsg<TlfInfo> tlfPositions = new RangeMsg<TlfInfo>(0, 1);
            //tlfPositions.Info[0] = posInfo;
            ////tlf.Reset(tlfPositions);
            ////General.SafeLaunchEvent(TlfChanged, this, (RangeMsg)tlfPositions);
            //OnTlfChanged(this, RangeMsg e)
            
        }
Beispiel #4
0
        private ConfiguracionUsuario GetUserCfg(Cd40Cfg cfg)
        {
            string idUser = cfg.ConfiguracionGeneral.GetMainUser(Top.HostId);

            if (!string.IsNullOrEmpty(idUser))
            {
                foreach (ConfiguracionUsuario conf in cfg.ConfiguracionUsuarios)
                {
                    if (conf.User.IdIdentificador == idUser)
                    {
                        if (conf.User.IdIdentificador == STR_SECTOR_FS)
                        {
                            conf.User.Nombre = conf.User.IdIdentificador = STR_PUESTO_FS;
                        }

                        return(conf);
                    }
                }
            }

            return(null);
        }
        private void CfgChanged(RsChangeInfo change)
        {
            Cd40Cfg cfg = Deserialize <Cd40Cfg>(Tools.Decompress(change.Content));

            if (cfg != null)
            {
                _Logger.Trace($"CfgChanged <{cfg.Version}>");

                Top.WorkingThread.Enqueue("NewConfig", delegate()
                {
                    foreach (Resource rs in _Resources.Values)
                    {
                        rs.ResetSubscribers();
                        _Logger.Trace($"CfgChanged. Resource {rs.Id} => ResetSubscribers");
                    }

                    General.SafeLaunchEvent(NewConfig, this, cfg);

                    Dictionary <string, Resource> resources = new Dictionary <string, Resource>(_Resources);
                    _Resources.Clear();

                    foreach (KeyValuePair <string, Resource> p in resources)
                    {
                        if (!p.Value.IsUnreferenced)
                        {
                            _Resources.Add(p.Key, p.Value);
                            _Logger.Trace($"CfgChanged. Resource {p.Key} => Added..");
                        }
                        else
                        {
                            _Logger.Error($"CfgChanged. Adding Resource Error. {p.Value.Id} is Unreferenced");
                        }
                    }
                    LogResourcesConfig();
                });
            }
        }
        private static Cd40Cfg ConfiguracionGrupoUnMiembro(Cd40Cfg cfg)
        {
            //Usuario S2
            ConfiguracionUsuario userCfg = new ConfiguracionUsuario();
            //Tecla de grupo con 1 miembro
            CfgEnlaceInterno link = new CfgEnlaceInterno();
            link.Literal = "grupotest1";
            link.PosicionHMI = 45;
            link.TipoEnlaceInterno = "MD";
            link.Prioridad = 4;
            link.OrigenR2 = "218002";
            CfgRecursoEnlaceInterno rec = new CfgRecursoEnlaceInterno();
            rec.Prefijo = 0;
            rec.NombreRecurso = "218001";
            link.ListaRecursos.Add(rec);
            userCfg.TlfLinks.Add(link);

            //Tecla de AD normal
            CfgEnlaceInterno link2 = new CfgEnlaceInterno();
            link2.Literal = "S1_SCV2";
            link2.PosicionHMI = 44;
            link2.TipoEnlaceInterno = "DA";
            link2.Prioridad = 4;
            link2.OrigenR2 = "218002";
            userCfg.TlfLinks.Add(link2);

            cfg.ConfiguracionUsuarios.Add(userCfg);

            //Usuario S1
            ConfiguracionUsuario userCfg2 = new ConfiguracionUsuario();
            //Tecla de grupo con 1 miembro
            CfgEnlaceInterno link3 = new CfgEnlaceInterno();
            link3.Literal = "grupotest1";
            link3.PosicionHMI = 45;
            link3.TipoEnlaceInterno = "MD";
            link3.Prioridad = 4;
            link3.OrigenR2 = "218001";
            CfgRecursoEnlaceInterno rec2 = new CfgRecursoEnlaceInterno();
            rec2.Prefijo = 0;
            rec2.NombreRecurso = "218001";
            link3.ListaRecursos.Add(rec2);
            userCfg2.TlfLinks.Add(link3);

            //Tecla de AD normal
            CfgEnlaceInterno link4 = new CfgEnlaceInterno();
            link4.Literal = "S2_SCV2";
            link4.PosicionHMI = 44;
            link4.TipoEnlaceInterno = "DA";
            link4.Prioridad = 4;
            link4.OrigenR2 = "218001";
            userCfg2.TlfLinks.Add(link4);

            cfg.ConfiguracionUsuarios.Add(userCfg2);

            //Configuracion de sistema, numeracion de usuarios
            DireccionamientoSIP dirSIP = new DireccionamientoSIP();
            StrNumeroAbonado num = new StrNumeroAbonado();
            num.NumeroAbonado = "218001";
            num.Prefijo = 0;
            dirSIP.IdUsuario = "S1_SCV2";
            dirSIP.NumerosAbonadoQueAtiende.Add(num);
            cfg.ConfiguracionGeneral.PlanDireccionamientoSIP.Add(dirSIP);

            num = new StrNumeroAbonado();
            num.NumeroAbonado = "218002";
            num.Prefijo = 0;
            dirSIP = new DireccionamientoSIP();
            dirSIP.IdUsuario = "S2_SCV2";
            dirSIP.NumerosAbonadoQueAtiende.Add(num);
            cfg.ConfiguracionGeneral.PlanDireccionamientoSIP.Add(dirSIP);

            num = new StrNumeroAbonado();
            num.NumeroAbonado = "218003";
            num.Prefijo = 0;
            dirSIP = new DireccionamientoSIP();
            dirSIP.IdUsuario = "S2_SCV3";
            dirSIP.NumerosAbonadoQueAtiende.Add(num);
            cfg.ConfiguracionGeneral.PlanDireccionamientoSIP.Add(dirSIP);
            return cfg;
        }
Beispiel #7
0
 public void OnNewConfig(object sender, Cd40Cfg cfg)