# D-STAR Link Management Program # Provides for disconnect of inactive links after a configurable # secs # Provides for automatic reconnect attempts of links that fail # Provides for periodic (configurable) announcements that link is up and # connected to [callsign - module]. # Provides a mechanism for playing general announcements in a friendly # manner (waits for quiet channel). # This is installed as a 'service' and runs in the background. # Program actions can be monitored via /var/log/monlink.log # # # Author: Ken Adkisson, WB4FAY # # # CHANGE LOG: # -------------------------------------------------------------------- # 01/01/2011 - Version 0.4c # Corrected errors in link timeout clocking and # link disconnects at the appropriate time. # # 12/29/2011 - Version 0.4b # Corrected error which caused link announcements to # not wait for quiet channel in some cases immediately # following link connection. # Made modifications so support modules 'D' and 'E' as # supported by dplus version 2.2h. Timeout values can # be set for D and E, etc. # Corrected code in handling of default link definitions. # The error occurred when multiple time slots were # defined a single module connecting to the same remote # system (e.g. 0000-0600 and also 1800-2359). # # 12/21/2011 - Version 0.4a # Added code to handle the new dplus.log format that # is generated by D-Star Plus Version 2.2h. # # 10/25/2011 - version 0.3j # Corrected bug which caused link timeout functions to not # disconnect properly when a default link is also defined. # Added code so that a default link is not reestablished for # 10 minutes since the last disconnect OR 2 minutes after # the last local transmit -- whichever occurs LAST. # In earlier versions, only the 10 minutes since the last # disconnect was required. # # 10/05/2011 - version 0.3i # Corrected bug which in some cases would cause monlink # to not properly disconnect a link which had timed out. # # 04/13/2010 - Version 0.3d # Added logic to check for new dvtool files and download. # Added logic to check for new version of monlink. If a new # version is available, monlink will write msgs to log file. # Added ability to define link default for module(s). # for example: DefaultLink=B,1-5,0600,1800,REF030C # A maximum of thirty (30) default definitions may be supplied # in the 'monlink.conf' file. However, default definitions # are not allowed to overlap times for the same D-STAR module. # If the specified module is not connected, and a default is # specified, monlink will attempt to maintain a the link. # Timeout timers are suspended when a 'default' is linked. # If a user unlinks the module during the default interval, # monlink will then wait for ten (10) minutes with no connection # before attempting to reestablish the default link. (This gives # the user time to link to another destination of their choice.) # # # # 08/26/2009 - Version 0.2e # Corrected error in processing of link reconnect which # causes multiple reconnect attemps in rapid succession. # Changed delay before initial reconnect attempt from 10 # to 15 seconds. # Added Timeout Processing suspension configuration ability # within the monlink.conf file. Now all timeout process- # ing can be skipped (e.g. during a net where locally # there may be long periods of listing. # "TOBlock=C,0,2000,2130 #block Mod C, Sunday, 2000-2130" # # # 08/13/2009 - Version 0.2c # Corrected minor logic errors in link reconnect logic # and added new functionality to manage playing of 'general # announcements' (e.g. club message reminders, net reminders, # etc.). The configuration file specifies when to play the # messages and on which modules (e.g. Module C, Mon-Fri, # 0600 to 2200). There is also a mechanism to completely # block any general announcements during specific times # (e.g. during a net). Messages are played only if: # 1. the module has been inactive for a minimum of 60 seconds # 2. no other general announcement has been played # within 10 minutes # 3. this particular announcement has not been played for # 60 minutes. (Multiple announcements may be defined # but a single message will not be repeated for 1 hour.) # # 08/10/2009 - Version 0.2a # Added delay logic to not try and make any announcment if # the particular module has been active within the previous # 30 seconds. # # 08/09/2009 - Version 0.1d # Added "No link established" message to be announced when # an RF user requests an announcement when no link up. # Corrected issue with handling link management after # dplus is restarted. # # 08/08/2009 - Version 0.1c # Added ability for a local RF user to request an announcement # of the ID of the far end of a link connection. The user # must set URCALL to the repeater callsign and "LI" in the # 7th and 8th position. If no link is active, the request # to announce is ignored. # # 08/07/2009 - Version 0.1b # Initial version of the program