Connected endpoints retrieval from the MCU The method assumes that we can poll the MCU to get a list of currently connected endpoints. It also assumes that a database called "quagga" is maintained with a single table, called "qos_rts". The corresponding schema for the table is as follows: CREATE TABLE `qos_rts` ( `addr` varchar(64) NOT NULL default '', `metric` smallint(6) NOT NULL default '0', `state` enum('new','old','deleted') NOT NULL default 'new', `ip_ver` enum('4','6') NOT NULL default '4', PRIMARY KEY (`addr`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; The structure is very simple and clear. Every record has values for the IP address, the metric, the state (which can only be one of the tree pre-defined) and finally the type of address (IPv4 or IPv6). IP address is the primary key. The use of the 'state' values is as follows: * 'new' - an IP first seen connected to the MCU and marked for handling (flag for the Quagga daemon) * 'old' - an IP already seen and taken care of by the Quagga daemon * 'deleted' - an IP not connected any more and marked for deletion (flag for the Quagga daemon) A perl script runs every minute in order to retrieve an up to date list of the IP addresses from all the endpoints of participants connected to the MCU. The list is retrieved from the MCU by SNMPget query. The IP addresses retrieved are first checked to determine if they are locally managed endpoints (so QoS measures will be employed) and then are inserted in the Quagga database marked with state "new" in order for the Quagga daemon to make the appropriate BGP announcements and engage QoS measures. When an IP address disappears (disconnects from the MCU), the script detects the existence of an unmatched entry in the Quagga database and updates the state of that entry to "deleted" in order for the Quagga daemon to remove the special BGP announcements and disengage QoS measures.