예제 #1
0
        /*************/

        /// <summary>
        ///
        /// </summary>
        private static void InitSnmp()
        {
            if (Settings.Default.SNMPEnabled == 1)
            {
                SnmpAgent.Init(_SipIp);

                System.Net.IPEndPoint maintenanceTrapEp = new System.Net.IPEndPoint(System.Net.IPAddress.Parse(Settings.Default.MaintenanceTrapsIp), 162);

                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.TopOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.TopStOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.MicrospeakerRdOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.MicrospeakerLcOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.MicrospeakerHfOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.RecordCableOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.AlumnJackOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.InstructorJackOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.StandbyPanelOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.RadioPageOid, -1, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.StartingBriefingSessionOid, "", maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.StartingReplayOid, "", maintenanceTrapEp));

                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.EstablishedTfCallOid, "", maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.IncommingTfCallOid, "", maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.EndingTfCallOid, "", maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.OutgoingTfCallOid, "", maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.TlfFacilityOid, "", maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.PttOid, "", maintenanceTrapEp));

                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.NetworkIF_1_Oid, 0, maintenanceTrapEp));
                SnmpAgent.Store.Add(new SnmpIntObject(Settings.Default.NetworkIF_2_Oid, 0, maintenanceTrapEp));
                /** 20170309. AGL. Estado de Sincronismo NTP*/
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.NtpClientStatus_Oid, "ntp status", maintenanceTrapEp));
                /***********/
                /** 20170706. AGL. Control de configuracion sw en OID */
                SnmpAgent.Store.Add(new SnmpStringObject(Settings.Default.CurrentSwVersionOid, (new Utilities.VersionDetails("versiones.json")).ToString(), maintenanceTrapEp));
                /***********/
                System.Threading.Thread.Sleep(300);

                _Logger.Info("Iniciado agente SNMP. Puerto TRAP: {0}", maintenanceTrapEp.Port);
            }
        }
예제 #2
0
        public void Dispose()
        {
            //lock (locker)
            {
                /** Cerrar el Agente SNMP*/
                SnmpAgent.Close();
                Mib.Dispose();

                /** OJO!!! Cerrar el Agente SIP */
                //if (LocalAudioPlayer != -1)
                //{
                //    SipAgent.DestroyWavPlayer(LocalAudioPlayer);
                //}

                SipAgent.End();
                LocalAudioPlayer = -1;

                /** Descargar Datos */
                Unload();
            }
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        public static void End()
        {
            if (Settings.Default.SNMPEnabled == 1)
            {
                SnmpIntObject.Get(Settings.Default.TopStOid).Value = 0;
                SnmpIntObject.Get(Settings.Default.TopOid).Value   = -1;                // Tipo de elemento Hw: -1 => Error
            }

            if (_WorkingThread != null)
            {
                _WorkingThread.Stop();
            }

            if (_PublisherThread != null)
            {
                _PublisherThread.Stop();
            }

            if (_MixerManager != null)
            {
                _MixerManager.End();
            }
            if (_RdManager != null)
            {
                _RdManager.End();
            }
            if (_LcManager != null)
            {
                _LcManager.End();
            }
            if (_TlfManager != null)
            {
                _TlfManager.End();
            }
            if (_SipManager != null)
            {
                _SipManager.End();
            }
            if (_CfgManager != null)
            {
                _CfgManager.End();
            }
            if (_Registry != null)
            {
                _Registry.End();
            }
            //if (_MixerManager != null)
            //{
            //    _MixerManager.End();
            //}
            if (_RecorderManager != null)
            {
                _RecorderManager.End();
            }
            if (_HwManager != null)
            {
                _HwManager.End();
            }

            if (Settings.Default.SNMPEnabled == 1)
            {
                SnmpAgent.Close();
            }

#if _NICMON_V0_
            /** 20170309. AGL. No se cerraban los TIMER. */
            NetworkIFSupervisor.Enabled  = false;
            NetworkIFSupervisor.Elapsed -= NetworkChange_NetworkAvailabilityChanged;
#else
            if (mon != null)
            {
                mon.Dispose();
                mon = null;
            }
#endif

            NtpClientSupervisor.Enabled  = false;
            NtpClientSupervisor.Elapsed -= NtpClientSupervisor_tick;
            /*****************/
        }
예제 #4
0
        /// <summary>
        ///
        /// </summary>
        public static void Start()
        {
#if _NEWSTART_
            /** AGL.START Controlado */
            var StartList = new List <VoidDelegate>
            {
                SnmpAgent.Start,
                delegate() { if (_WorkingThread != null)
                             {
                                 _WorkingThread.Start("working", Settings.Default.OverloadQueueWarning);
                             }
                },
                delegate() { if (_PublisherThread != null)
                             {
                                 _PublisherThread.Start("publisher", Settings.Default.OverloadQueueWarning);
                             }
                },
                delegate() { if (_RdManager != null)
                             {
                                 _RdManager.Start();
                             }
                },
                delegate() { if (_LcManager != null)
                             {
                                 _LcManager.Start();
                             }
                },
                delegate() { if (_TlfManager != null)
                             {
                                 _TlfManager.Start();
                             }
                },
                delegate() { if (_SipManager != null)
                             {
                                 _SipManager.Start();
                             }
                },
                delegate() { if (_RecorderManager != null)
                             {
                                 _RecorderManager.Start();
                             }
                },
                delegate() { if (_MixerManager != null)
                             {
                                 _MixerManager.Start();
                             }
                },
                delegate() { if (_CfgManager != null)
                             {
                                 _CfgManager.Start();
                             }
                },
                delegate() { if (_Registry != null)
                             {
                                 _Registry.Start();
                             }
                },
                /** 20190107. Incluir en las versiones el componente CMEDIA */
                delegate() { if (_HwManager != null)
                             {
                                 _HwManager.Start(); SetCurrentSwVersion();
                             }
                }
            };

            int n = 0;
            _RecorderManager.LstDispositivos = _HwManager.ListaSndDev;
            foreach (VoidDelegate _start in StartList)
            {
                try
                {
                    _start();
                    n++;
                }
                catch (Exception x)
                {
                    _Logger.Fatal("Error en Rutina Arranque {0} en TOP: \n{1}", n, x.Message);
                }
            }
#else
            if (Settings.Default.SNMPEnabled == 1)
            {
                SnmpAgent.Start();

                SnmpIntObject.Get(Settings.Default.TopStOid).Value = 1;
                SnmpIntObject.Get(Settings.Default.TopOid).Value   = 0; // Tipo de elemento Hw: 0 => Top
            }

            _WorkingThread.Start();
            _PublisherThread.Start();

            _RdManager.Start();
            _LcManager.Start();
            _TlfManager.Start();
            //_MixerManager.Start();
            _SipManager.Start();
            _CfgManager.Start();
            _Registry.Start();
            _HwManager.Start();

            _RecorderManager.Start(_HwManager.ListaSndDev);
            _MixerManager.Start();
            /** */
#endif
        }