Ideen zum Linking

  • Hi all,


    ich bin immer noch am Proggen für das Zusammenschalten von verschiedenen Logiken. In der Konfiguration kann man z.B. folgendes einstellen:


    Code
    [GLOBAL]....LOGICS=RepeaterLogic2m,RepeaterLogic70cm,RepeaterLogic23cmLINKS=Link2m70cm,Link2m70cm23cm...



    Erklärungen:


    CONNECT_LOGICS=RepeaterLogic2m:64,RepeaterLogic70cm:65
    Definiert die Logiken, die verbunden werden sollen und die zugehörigen Kommandos, d.h. ein Kommando "641#" über die RepeaterLogic2m empfangen verbindet und ein Kommando "640#" trennt alles wieder.


    TIMEOUT=30
    Die Logiken werden automatisch nach 30 Sekunden getrennt, wenn keine Aktivität stattfindet.


    AUTOCONNECT_ON_SQL=RepeaterLogic70cm
    Sind beide Links getrennt und öffnet sich die Rauschsperre bei der konfigurierten Logic, so werden die in diesem Abschnitt konfigurierten Logiken für TIMEOUT Sekunden verbunden.


    "OPTIONS" legt das Verhalten fest:
    DEFAULT_CONNECT verbindet die konfigurierten Logiken gleich nach dem start von svxlink
    NO_DISCONNECT ermöglicht keinen Disconnect mehr, die Logiken bleiben immer verbunden.



    Diese Erweiterungen sind momentan nirgens zu finden, nur bei mir und auf DB0WSF.


    73's de Adi, DL1HRC

  • Hallo Adi,


    erst einmal ein gutes neues Jahr und alles Gute für 2013.


    Das klingt super-spannend ist m.E. genau das was ich bei KOE sehr gut gebrauchen kann (70cm und 23cm-Relais).


    Wie weit bist Du den damit?


    73 de Andreas

  • Quote

    Das klingt super-spannend ist m.E. genau das was ich bei KOE sehr gut gebrauchen kann (70cm und 23cm-Relais).


    Wie weit bist Du den damit?


    Hi Andreas,


    auch an Dich alles Gute für 2013ff. Du kannst Dir ja mal den logiclinking-branch runterladen und installieren. Aber bitte vorher in jedem Fall 'ne Sicherheitskopie Deiner svxlink-Installation anlegen (svxlink.conf). Es läuft zwar seit einigen Monaten problemlos bei uns, kann natürlich nicht ausschließen, dass es vielleicht doch irgendwo noch einen Bug gibt.


    Auschecken per:

    Code
    svn co https://svxlink.svn.sf.net/svnroot/svxlink/branches/logiclinking logiclinking-branch


    Dann in das Verzeichnis logiclinking-branch/src wechseln und danach das altbekannte "make, make install". Einfach kurz anpingen wenn es Probleme oder Fragen gibt.


    Bitte bedenken, dass Echolink systembedingt nur von einer Logik aus funktioniert, also entweder von 23cm oder von 70cm. Wenn aber beide Logiken zusammenschaltet sind, dann geht zumindest der Audiostream auch logikübergreifend.


    Vy 55 de Adi, DL1HRC

  • Hallo Adi,


    leider hatte ich bisher keine Zeit das zu testen, jetzt wollte ich da gerade mal ran.


    Aber irgendwie ist mir noch nicht klar wie ich das konfiguriere ....


    Also ich ein Linux mit Svxlink für 70cm und ein Linux mit Svxlink für 23cm. Also tatsächlich zwei PC's ..... aber wenn ich mir Dein Beispiel ansehe geht das wohl nur auf einem Rechner???


    Jetzt bin ich etwas verwirrt :)


    73 de Andreas

  • Hallo Andreas,


    ja, ist eigentlich ganz einfach. Du brauchst natürlich nur einen Rechner mit einer stereofähigen Soundkarte oder von mir aus zwei Soundkarten. Zieh Dir den Logiclinking-Branch runter und installier ihn. Natürlich vorher die alten Einstellungen sichern :D
    Das Linking erfolgt SvxLink-intern, es werden die Audio-Pfade der einzelnen RX'e und TX'e miteinander verbunden, also wenn der Soundkartenkanal 1 mit Deinem 70cm-Relais verbunden ist und Soundkartenkanal 2 mit dem 23cm-Relais, dann kannst Du beide bei Bedarf bzw. je nach Konfiguraton zusammenschalten.
    Du richtest für jeden Repeater eine RepeaterLogic ein und weist die entsprechenden Soundkartenkanäle zu. Beide Logiken arbeiten voneinander unabhängig. Für jede Logik kannst Du natürlich auch die Module konfigurieren AUSSER EchoLink, das geht prinzipbedingt nur auf einer Logik, also entweder 70cm oder 23cm! Aber wenn beide Repeater verbunden sind ist auch EchoLink auf beide geschaltet.
    Die Konfiguration der Parameter hat sich inzwischen ein bisschen geändert, ich empfehle Dir in dem von Dir heruntergezogenen logiclinking-Verzeichnis unter doc nachzuschlagen, das ist das genauer beschrieben. Hier mal ein kleines prinzipielles Beispiel:


    [GLOBAL]
    ....
    LOGICS=RepeaterLogic70cm,RepeaterLogic23cm
    LINKS=Link70cm23cm
    ...


    [Link70cm23cm]
    NAME=70cm23cm
    DEFAULT_CONNECT=1
    #NO_DISCONNECT=1
    #TIMEOUT=500
    #AUTOCONNECT_ON_SQL=RepeaterLogic70cm
    CONNECT_LOGICS=RepeaterLogic23cm:66:23cm,RepeaterLogic70cm:67:70cm


    [RepeaterLogic70cm]
    TYPE=Repeater
    RX=RX1
    TX=TX1
    ...


    [RepeaterLogic23cm]
    TYPE=Repeater
    RX=RX2
    TX=TX2
    ...


    [RX1]
    TYPE=Local
    AUDIO_DEV=alsa:hw:0
    AUDIO_CHANNEL=0
    ...


    [RX2]
    TYPE=Local
    AUDIO_DEV=alsa:hw:0
    AUDIO_CHANNEL=1
    ...


    usw.



    Bei Fragen einfach melden, viel Erfolg!
    vy 73's de Adi, DL1HRC

  • Hi Adi,


    erst einmal Danke für die umfangreiche Info.


    Aber das Problem ist im Moment das für ZWEI Rechner haben, einen für 70cm und einen für 23cm (wir haben auch zwei Node-Nummern für Echolink).


    D.h. ich wollte das ganz per Netzwerk (Net_RX und Net_TX) verbinden und da grübel ich gerade dran :)


    vy 73 de DG1KWA / Andreas

  • Quote

    Aber das Problem ist im Moment das für ZWEI Rechner haben, einen für 70cm und einen für 23cm (wir haben auch zwei Node-Nummern für Echolink).


    Hm, dann geht in diesem Fall momentan nur 1x EchoLink für beide. Die Ankopplung des 23cm-Rechners per Remote-TRX ist kein Problem. Für eine Kopplung SvxLink<->SvxLink auf direkter Ebene UND 2x EchoLink unabhängig mußt Du Dich noch etwas gedulden. Ich hatte das vor einiger Zeit mal angefangen und auch schon die ersten Erfolge nur fertig ist das noch nicht und es gibt da eben auch einiges zu beachten...


    Es würde u.U. vielleicht mit dem Alsa loopback-device gehen, so dass Du folgende Konfiguration aufsetzen könntest:


    Rechner 1 - 70cm:
    SvxLink -> 1. RepeaterLogic_70cm -> Lokale Soundkarte - an 70cm Repeater
    SvxLink -> 2. RepeaterLogic_23cm -> RemoteSoundkarten zeigen auf einen Remotrx, der auf Rechner 2 läuft
    remotetrx koppelt Audioadapter von Rechner 2 auf lokales loopback-device, welches per MuliTRX und Voter auf die 70cm-Konfiguration zeigt


    Rechner 2 - 23cm:
    SvxLink -> 1. RepeaterLogic_23cm -> lokale Soundkarte - an 23cm Repeater
    SvxLink -> 2. RepeaterLogic_70cm -> RemoteSoundkarten zeigen auf einen Remotrx, der auf Rechner 1 läuft
    remotetrx koppelt Audioadapter von Rechner 1 auf lokales loopback-device, welches per MuliTRX und Voter auf die 23cm-Konfiguration zeigt


    Das heißt, Du müßtest auf jedem PC ein SvxLink und einen remotetrx laufen lassen und teilweise diese virtuellen Soundadapter als RX und TX konfigurieren....oh Mann, ich wünsche viel Spaß ;)


    Das Problem ist hier nicht, dass eine direkte SvxLink<->SvxLink Kopplung so schwierig zu programmieren ist, das Problem ist eher, dass man sich vorher sehr genau überlegen sollte wie dieser direkte Connect auf IP-Ebene vor sich gehen soll.
    Das EchoLink-Protokoll ist in die Jahre gekommen und hat sehr viele Einschränkungen. Gerade für Mehrfach-Repeater mit einem Rufzeichen ist nicht so ganz einzusehen, warum nur einer davon EchoLink haben kann, weil es derzeit technisch nicht ohne weiteres möglich ist. Wenn man das aber weiter spinnt kommt man schnell zu einem zweiten Verzeichnisdienst parallel zum derzeitigen Echolink-System mit wesentlich mehr Möglichkeiten aber eben auch höheren Anforderungen wie z.B. verteilte und redundante Server-Systeme mit zentralem Anmeldedienst usw...


    73's de Adi, DL1HRC

  • Hi Adi,


    ja wegen den Einschränkungen von Echolink haben wir auch einen Inet-Anschluss mit mehreren festen IP-Adressen.


    Damit können wir auch mit zwei Node-Nummern arbeiten (8850 und 8853). Leider geht es via Echolink aber nicht beide Relais zu verkoppeln ....


    Und wir grübel gerade darüber noch ein Svxlink-Relais anzubinden via HAMNET. D.h. mir würde im Moment eine Verbindung via reiner IP-Adresse oder DNS-Namen schon reichen, einen Verzeichnisdienst wäre für die direkte Art der Relaiskopplung nicht notwendig.


    73 de Andreas

  • Hi Andy,


    Quote

    Damit können wir auch mit zwei Node-Nummern arbeiten (8850 und 8853). Leider geht es via Echolink aber nicht beide Relais zu verkoppeln ....


    Aber das müßte eigentlich per EchoLink funktionieren, wenn Du zwei Rufzeichen und zwei IP's verwendest. Ich weiß, es ist eine total blöde Einschränkung aber so ist es nun mal im Original-EchoLink implementiert worden.


    Quote

    Und wir grübel gerade darüber noch ein Svxlink-Relais anzubinden via HAMNET. D.h. mir würde im Moment eine Verbindung via reiner IP-Adresse oder DNS-Namen schon reichen, einen Verzeichnisdienst wäre für die direkte Art der Relaiskopplung nicht notwendig.


    Also wie gesagt, das würde (momentan) problemlos mit nur einem EchoLink-Zugang funktionieren. Wenn Ihr bis auf weiteres damit leben könntet. Aber klar, es muß irgendwann auch ohne diese Beschränkung laufen. Kannste nicht mal ne Skizze schicken, wie Du Dir das vorstellst (mit IP-Adressen, Netzwerken, Rufzeichen, Standorten, etc.)? Dann fällt es mir u.U. leichter eine Lösung zu finden.


    vy 73's de Adi, DL1HRC

  • Hi Adi,


    nein das geht eben nicht.


    Was passiert wenn Du von Node 8850 eine Echolink-Verbindung nach 8853 aufbauen willst.


    8850 connected 8853 über die öffentliche IP. Der Verkehr läuft also wie folgt:


    8850 --- Router (NAT) --- DSL-Anschluss --- Provider/Internet --- DSL-Anschluss --- Router (NAT) --- 8853


    Aber genau diesen Rückweg verhindert der Prodiver (Split Horizon), weil es keinen Sinn macht auf dem gleichen Interface Traffic zu empfangen und den gleichen Traffic zurückzusenden. Das würde nur gegen wenn man auch zwei Anschlüsse hat (gleich 2 Interfaces).


    Damit habe ich jetzt das bekloppe Problem das beider Relais nur 1 HE auseinanderen stehen aber untereinander keine Verbindung aufbauen können. Merde.


    Deswegen die Idee mit dem Linking, ich versuche das mal aufzumalen :)


    73 de Andreas

  • Moin Andreas,


    ach so, ja das wußte ich ja nicht. Ich dachte ihr hättet wirklich zwei verschiedene öffentliche Adressen direkt im Netz, so geht es nicht ganz so einfach... :?:
    Also die Zusammenschaltung beider Repeater ist kein Problem und geht mit 1x SvxLink sowie zwei Logiken, ebenso EchoLink von einem aus. Dafür würde auch ein Server mit 2 Soundadaptern ausreichen.


    Eigentlich müßte es auch gehen, wenn Du dem Rechner eine zweite IP-Adresse zuweist und dem EchoLink-Handler bzw. der zweiten EL-Instanz der zweiten Logik an die andere IP bindest. Das müßte sich mit einer Änderung im core bzw. AsyncTcpClient machen lassen. Damit könntet Ihr beide Logiken (Repeater) auf Anfrage verbinden/trennen und hättet trotzdem unabhängig voneinander EchoLink. Ich schaue heute Abend mal drüber, vielleicht fällt es dann wie Schuppen aus den Haaren :lol:


    Für den nächsten Schritt (svxlink <-> svxlink) ohne Zauberei muß ich mir mal was einfallen lassen...


    73's de Adi, DL1HRC

  • OK, habe was gefunden was funktionieren könnte. Können wir das dann bei Euch mal probieren, habe momentan nicht so richtig die Möglichkeiten, ich würde die Erweiterung mal in meinen logiclinking-Branch reindingsen.
    Du müßtest dann der einen Netzwerkkarte zwei IP-Adressen zuweisen (alternativ eine zweite Karte einbauen), die EchoLink-Instanzen werden dann so konfiguriert, dass sie auf die beiden verschiedenen IP-Adressen zugreifen. Zumindest in der Theorie funktioniert das, kleiner Vorteil: Ihr könntet so noch einen Rechner einsparen und tut noch etwas für die Umwelt :D


    73's de Adi, DL1HRC

  • So, habe mal was zusammengefummelt. Das würde dann beim Start so aussehen:



    Du müßtest dann zwei Repeater-Logiken konfigurieren und starten sowie eine ModuleEchoLink.conf mit der Konfiguration für das erste Call und eine ModuleEchoLink1.conf mit den EchoLink-Einstellungen für das zweite Call.
    Gefällt mir nicht richtig, ein besseres Protokoll wäre der cleverere Weg. Ach Mist, die Locationinfo kannst Du momentan nicht separieren, wenn also ein Repeater woanders steht, kannst Du nur eine von beiden Locations anzeigen lassen. Das Prinzip ist aber erweiterbar, ein 2m-Repeater könntest Du auf diese Weise auch noch dranfriemeln und 10m auch noch usw., irgendwann blickt nur keiner mehr durch :? mußt halt jedes Mal noch 'ne zusätzliche IP zuweisen.


    vy 73's de Adi, DL1HRC

  • Hi Adi,
    doch doch .. wir haben 8 öffentliche Adressen, aber die sind auf EINEM Anschluss .. das ist ja das Problem.


    Um das auszuprobieren muss ich am Relais aber einige umbauen. Ich glaube ich teste das auf einem extra PC und baue einfach eine zweite Soundkarte ein :)


    Muss ich allerdings um etwas Geduld bitte, ich bin jetzt einige Tage (bis 25.3.) nicht im Land ....


    Auf jeden Fall erst einal vielen Dank.


    vy 73 de DG1KWA / Andreas

  • Hi Andreas,


    ja, das sollte so mit meiner Variante funktionieren. Du kannst zwar weiterhin keine EchoLink-Verbindung zwischen beiden aufbauen, dafür aber einen direkten Audiopfad zwischen beiden ein- und ausschalten, je nach Konfiguration permanent oder mit Timeout etc. Damit sollte das Problem, temporär beide Relais miteinander zu verbinden, auf eine bessere Art und Weise gelöst sein. Das geht dann auch nicht mit dem qualitativ schlechteren EchoLink-GSM-Codec sondern ohne resampling/recoding und damit ohne Qualitätseinbußen. Auch kannst Du die Hardware-Installation so belassen und weiterhin beide Rechner nutzen, den einen mit SvxLink, den anderen als remotetrx. Diese freien Konfigurationsmöglichkeiten von SvxLink sind schon toll.


    Ich wünsche einen schönen Urlaub. Bis neulich


    vy 73's de Adi, DL1HRC

  • Hi Adi,


    ach stimmt .. kann ja Remoterx nehmen :)


    Mal sehen ob die Rechner das verdauen, sind nur Alix1D ... wenn ich beide Relais auf einen Rechner zusammenfasse werde ich wohl den Atom 330 aus dem Keller holen. Der verbraucht aber mehr wie zwei Alix1D zusammen :)


    Danke.


    73 de Andreas

  • Hi Andreas,


    ich denke das wird funktionieren. Habe bei DB0DBT einen Futro A240 mit zwei Logiken und meinem LogicLinking laufen (auf 16k). Die CPU wird zwar gestreßt, geht aber trotzdem.


    73's de Adi, DL1HRC

  • Hi Adi,


    ich werde das jetzt mal versuchen zu testen.


    Unsere beiden Alix1d laufen bei vielen Echolinkverbindungen aber schon deutlich über 80 CPU-Last. Ich werde beide Alix1d erst einmal als remotetrx nehmen und die Logik auf einem Atom 330 zusammenfassen.


    Wenn das gut klappt kann ich mir einen von den Alix1d ja schenken :) zu Hause teste ich auch gerade auf einem Raspberry Pi.


    73 de Andreas
    Sysop DB0KOE
    http://www.db0koe.de

  • Ja, kleinen Moment noch. Im Trunk hat sich einiges getan in der letzten Woche, ich würde Dir ein neues Paket fertigmachen. Dann kannst Du auch den Parameter USE_GSM_ONLY setzen, der im Modul EchoLink die Last erheblich senkt.


    Quote

    Wenn das gut klappt kann ich mir einen von den Alix1d ja schenken :) zu Hause teste ich auch gerade auf einem Raspberry Pi.


    Vielen Dank aber heb' Dir das Board lieber auf, so ein Ding kann auch mal kaputtgehen ;(


    vy 73's de Adi, DL1HRC

  • mhhh ... irgendwas habe ich falsch gemacht, aber ich bin blind:


    RepeaterLogic70cm: Event handler script successfully loaded.
    *** ERROR: Unable to handle event: RepeaterLogic70cm::startup in logic RepeaterLogic70cm (invalid command name "RepeaterLogic70cm::startup")
    und für 23cm habe ich das auch .. was ist falsch?


    in der svxlink.conf steht:
    [GLOBAL]
    MODULE_PATH=/usr/lib/svxlink
    LOGICS=RepeaterLogic70cm,RepeaterLogic23cm


    und natürlich die einzelnen:
    [RepeaterLogic70cm] und [RepeaterLogic23cm]


    73 de Andreas