Steuerung durch DTMF abschalten?

  • Hallo zusammen,

    irgendein "Spassvogel" sendet wärend unserer OV-Runde, welche duch mich eine Echolinkanbindung hat ein "#". Dies hat natürlich zur Folge, dass alle angebundenen Stationen diconnectet werden und sich erst wieder neu verbinden müssen.

    Kann man die DTMF Funktionen abschalten, einschränken oder ggf. dem Zeichen eine andere Funktion zuordnen?

    Grüße

    Stefan, DG7JG

  • Hi Stefan,

    ja das geht zu machen. Mit diesen Problemen stehst Du nicht alleine das ;(
    Mal kurz ein paar allgemeine Sachen.
    SvxLink besteht aus einem Core (das Programm "svxlink" und vielen Bibliotheken, den .so-files) und einer sagen wir mal "Präsentationsebene", den tcl-Skripten. Diese Skripte geben die Ansagen und Roger-Pieps usw. aus.
    Wenn Du also die Ansagen ändern möchstest, z.B. statt "Es ist 12Uhr" -> "Es ist mitten am Tage", dann mußt Du das grundsätzlich in diesen tcl-Skripten ändern. Diese befinden sich unter /usr/share/svxlink
    Aber Achtung, bitte nicht einfach darin rumschreiben, alle persönlichen Änderungen solltest Du in eigenen Dateien machen (loacle-Prinzip), weil bei einem Update diese Original-tcl's überschrieben und damit Deine eigenen Änderungen verloren wären.
    Ich würde Dir vorschlagen erst mal ein wenig diese tcl-Datei zu durchstöbern um Dir einen Überblick zu verschaffen, mal ein paar Beispiele:

    Code
    /usr/share/svxlink/events.d/Logic.tcl  und/usr/share/svxlink/events.d/SimplexLogic.tcl

    steuern das Verhalten Deines Links, wenn Du nichts geändert hast.

    Code
    /usr/share/svxlink/events.tcl/EchoLink.tcl

    steuert die EchoLink-Funktionen wie z.B. welche Begrüßung ausgegeben werden oder die Ausgaben wenn eine Verbindung abgelehnt wird usw.
    Das von Die beabsichtige Verhalten ist durch kleine tcl-Erweiterungen zu realisieren, hier mal zwei Links:
    1) locale-Prinzip: http://svxlink.de/?page_id=903
    2) die tcl-Erweiterungen: http://svxlink.de/?page_id=957

    Bei Fragen einfach melden
    vy 73's es frohe Ostern de Adi, DL1HRC

  • Hallo Adi,

    danke zunächst für die schnelle Antwort. Ich hatte zwar bereits danach auf dieser Site gesucht, bin aber nicht fündig geworden. Ich werde sicher dazu noch fragen haben, denn es erschließt sich nicht immer alles von alleine in dieser Materie.

    Und da ich wie in der Vorstellung bereits erwähnt auf weitere Hilfe angewiesen bin, geht nicht immer alles so schnell. Achja und arbeiten muss ich ab und auch noch :)
    Daher kann es ev. etwas dauern, bevor es in diesem Thema bei mir weitergeht.

  • Kein Problem, kannst mich auch gerne direkt anschreiben ( meincall {ät} gmx . de ) wenn es nicht von allgemeinen Interesse ist.
    Mein Tip, versuche einfach mal für den Anfang in den tcl's den Roger-Piep zu ändern (Tonhöhe, -länge, etc) usw. um einfach ein bisschen ein Gefühl dafür zu bekommen.
    Du wärst nicht der erste OM, der durch das Interesse an so einer Sache zum Linux-Freak wird, ganz ehrlich ;)

    vy 73's de Adi, DL1HRC

  • Wenn ich es recht sehe, dann ist die geplante Änderung im trunk noch nicht in den Code eingeflossen; daher komme ich noch einmal mit meiner TCL-Routinen-Version und ergänze diese:
    Der von mir vorgeschlagene Weg (Aufzähung Nr. 1 auf der Seite http://svxlink.de/?page_id=957) läßt sich um weitere Kommandos am Ende der unteren if-verzeigung erweitern, so dass es möglich wird, während des blockierten Trennens nicht nur das Leerkommando "#" sondern auch

    • den Aufruf der Hilfefunktion mit "0"
    • den Aufruf der "long Identification" mit "*"

    zu unterdrücken.
    Nach meinen Erfahrungen ist das völlig ausreichend, um den Rundspruchbetrieb weitgehend störungsfrei zu gestalten und die Relaisansagen für diesen Zeitraum einzugrenzen.

    Beispiel für die Ergänzung

    Code
    ....
    } elseif {$cmd == ""} {
             return 1;
    } elseif  {$cmd == "*"} {
             return 1;
    } elseif {$cmd == "0"} {
             return 1;
      }
    ....