Trennung EchoLink-Verbindung verhindern

Es gibt leider eine ganze Reihe von Leuten, deren Horizont arg beschränkt ist, die dem QSO-Thema nicht folgen können, den OMs durch die Trennung der EchoLink-Verbindung permanent das QSO zerstören oder für Rundsprüche zusammengeschaltete Relaisstationen trennen. Um zu verhindern, dass eine EchoLink-Verbindung ständig durch diese Störer getrennt wird, kann man einen der folgenden Wege gehen.

1) Disconnect wird durch „geheimes Kommando“ verhindert

* Erzeugen Sie eine Datei z.B. no-disconnect.tcl mit dem folgenden Inhalt:

# das Überschreiben der Prozedur mit folgendem Inhalt verhindert das 
# einfache Trennen einer EchoLink-Verbindung durch "#" 
# Ersetzen Sie die Werte für 
# "XX" mit dem Kommando für die Aktivierung der Disconnect-Sperre 
# "YY" mit dem Kommando für die Deaktivierung der Disconnect-Sperre 
# für den Zeitraum der Aktivierung nimmt svxlink kein "leeres" DTMF-Kommando 
# entgegen (z.B. Rundspruch) 

namespace eval Logic {

  # variable for Logic.tcl (muss im namespace Logic definiert werden, Nachtrag, 5.3.13, M. H.)
  variable ignore_dtmf 0;
  proc dtmf_cmd_received {cmd} {
     puts "DTMF command received: $cmd";
     variable ignore_dtmf;
     if {$cmd == "XX"} {
         set ignore_dtmf 1;
         return 1;
     }
     if {$ignore_dtmf} {
      if {$cmd == "YY"} {
         set ignore_dtmf 0;
         return 1;
      } elseif {$cmd == ""} {
         return 1;
      }
     }
   return 0;
 }
}
# end of namespace Logic

2) Disconnect ist erst nach xx Sekunden möglich und nur wenn von der EchoLink-Station kein Audiostream mehr zu empfangen ist, benötigt eine Erweiterung im Modul EchoLink/ModuleEchoLink::inIsReceiving():
* Erzeugen Sie eine Datei z.B. no-disconnect.tcl mit dem folgenden Inhalt:

namespace eval Logic {
  proc dtmf_cmd_received {cmd} {
    global last_el_stream;
    global is_el_rx;
    variable now;
    variable ignore_dtmf;
    variable diff;
    set cs $EchoLink::num_connected_stations;
    set now [clock seconds];

    # Trennung erst nach 35 Sekunden oder durch geheimes Kommando "78#"
    set diff [expr {$last_el_stream + 35 - $now}];
    if {$cs > 0} {
       if {(($diff < 0) && !$is_el_rx) || $cmd == "78"} {
          puts "disconnect OK";
          return 0;
       }
       return 1;
       } else {
         return 0;
       }
    }
}
# end of namespace Logic

namespace eval EchoLink { 
   proc is_receiving {isrec} { 
     global last_el_stream; 
     global is_el_rx; 
     set is_el_rx $isrec;
     if {$isrec == 0} {
       set last_el_stream [clock seconds];
     }
    puts "is_receiving $isrec $is_el_rx $last_el_stream";
  }
}
# end of namespace EchoLink

2) Speichern Sie diese Datei(en) in ein entsprechendes locale-Verzeichnis (siehe Locale-Konzept) und starten Sie SvxLink neu

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. By continuing to use the site, you consent to the use of cookies. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen