Über Tel. startet FBF ein Programm

Black Eagle

Mitglied
Mitglied seit
15 Feb 2006
Beiträge
310
Punkte für Reaktionen
0
Punkte
0
Über Tel.Anruf u CODE Eingabe startet FBF ein Programm:

Folgende Anregung für alle Programmierexperten:
Ihr habt einen Server zu hause stehen, der läuft oder z.b. per WOC geweckt wird. Ihr wollt über einen Telefon Anruf ein Programm auf diesem Server starten.

Ich würde mir das so vortstellen:
1. Anruf auf der dafür vorgesehenen Tel Nr,
2. dann: PIN eingabe
3. Eingabe eines Codes "X" für starten des Programmes "X" auf dem Netzwerk-PC

Seht ihr eine möglichkeit dies in ein FBF PSEUDOIMAGE einfliessen zu lassen. Insbsondere schwierig stelle ich mir die "Schnittstelle" FBF-PC vor, die ja zumindest unidirektional, also von der FBF zum PC kommunizieren muß. Oder läßt sich das leicht bewerkstelligen ?

Anwendungsbeispiele: Starten von FritzCap, die dann ein Gespräch aufzeichnet, oder starten anderer Tasks.

Ich kann das nicht programmieren, aber vielleicht ist ja jemand begeistert von der Idee...
Grüsse,
 
Zuletzt bearbeitet:
Hast Du die DTMF-Box schon hier im Forum gefunden?


Gruß,
Wichard
 
Ja ich habe die DTMF Box gefunden (siehe auch meine Signatur), vielen Dank. Meines Wissens ist mit der DTMF Box von Bodega obiges (noch) nicht möglich, oder irre ich ?
 
Zuletzt bearbeitet:
Du kannst damit AFAIK beliebige Scripte auf der Box ausführen.

Wenn Du auf dem PC einen SSH-Server hast, solltest Du Dich im Prinzip mittels Script per SSH von der Box auf den PC verbinden können und dort per Kommandozeile Programme ausführen können.


Gruß,
Wichard
 
OK vielen Dank. Aber jetzt, wenn Du mir oder auch anderen hierzu interessierten helfen möchtest: Bitte für Dumme. Ich habe noch nie einen SSHServer auf XPinstalliert, bin aber lernfähig.

Ich hatte zwar die DTMFBox vor längerer Zeit mal installiert, aber das CALL Back lief nur unbefriedigend...(war bestimmt auch meine Schuld)

1. Wie also Schritt f. Schritt kann ich mit einem Tel. Anruf u CODE-Eingabe an der DTMF Box einem SSH Server auf meinem XP-PC sagen, welches Programm er aufrufen soll ?

2. Und wo kriege ich für den XP-PC einen SSHServer her, der Programme aufruft ?
3. (Wie konfiguriere ich diesen SSH Server dann, um auf "Befehle" von der DTMFBox zu reagieren ?)

4. Im übrigen: Ist das eine unrealistische "Friemelarbeit" solche Windows Programme per Tel. Anruf ans Laufen zu kriegen, oder ist dies mit einigen Stunden Arbeit relisierbar ? Hat das jemand schon erfolgreich geschafft ?

Danke,
 
Programme fernsteuern...

2. Und wo kriege ich für den XP-PC einen SSHServer her, der Programme aufruft ?
z. B. CopSSH (http://www.itefix.no/phpws/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=12&MMN_position=149:149)

3. (Wie konfiguriere ich diesen SSH Server dann, um auf "Befehle" von der DTMFBox zu reagieren ?)

Erst muss der passwortlose Zugriff vom Client (FB) auf den Server konfiguriert werden. Dazu mit dropbear ein private/public-Schlüsselpaar erzeugen und den public-key auf dem ssh-Server unter Windows einspielen. Anschließend lassen sich Programme durch Übergabe des entsprechenden Befehls an der Kommandozeile starten.

4. Im übrigen: Ist das eine unrealistische "Friemelarbeit" solche Windows Programme per Tel. Anruf ans Laufen zu kriegen, oder ist dies mit einigen Stunden Arbeit relisierbar ? Hat das jemand schon erfolgreich geschafft ?

Man sollte sich schon ein bisschen mit Linux/Unix auskennen, dann ist es zu machen. Programmiert werden muss jedenfalls nichts. Bisher nutze ich bei mir diese Konstellation, um den Rechner remote (mit shutdown.exe) runterzufahren. Ich benutze anstatt der dtmfbox den Edit:Callmonitor (sorry, nicht: Callmanager), das spielt aber eigentlich keine Rolle.

LG filatow
 
Zuletzt bearbeitet:
naja, von Linux hab ich praktisch null ahnung, hatte nur mal einen Linusserver grob am laufen...schon länger her...

aber was du da gemacht hast scheint praktisch dem zu entsprechen, was ich möchte, du startest also per Tel. anruf die shutdown.exe, stimmts ?

Kannst du mir mal details zu deinen skripten etc. zusenden !

was sollte ein anfänger dann d.M. nach eher nehmen, callmanager wie du (ich kenne ihn nicht) oder dtmfbox ?

Danke,
 
Kannst du mir mal details zu deinen skripten etc. zusenden !

wie gesagt, es gibt gar kein Skript. Allerdings muss man sich mit PPK auskennen. Falls Dir das nichts sagt, müsstest Du Dich erstmal damit vertraut machen. Am besten erstmal mit VMWare Player eine Linux-Test-Umgebung aufsetzen und lostesten. Als nächstes dann eine ssh-Verbindung mit PPK-Autologin zu CopSSH unter Windows austesten. Wenn das alles locker von der Hand geht, kann man sich mal an die Fritzbox setzen.
 
Hallo,

Ich benutze anstatt der dtmfbox den Edit:Callmonitor (sorry, nicht: Callmanager), das spielt aber eigentlich keine Rolle

Wie machst du es, dass du die Nummer verarbeiten kannst, die gewählt wurde? Bei mir sehe ich die immer nicht. Ich wollte nämlich auch Befehle auf der Fritzbox ausführen, indem ich mit meinem Handy bei meiner Fritzbox anrufe und aber noch dahinter drei Nummern angebe, mit denen ich die Aufrufe steuern kann. Also zum Beispiel wenn meine Telefonnummer 0123456 ist möchte ich mit 0123456001 einen Befehl ausführen können oder mit 0123456002 einen anderen.

Ich hatte dieses Problem schoneinmal hier gestellt und wrde dann auf diese dtmfbox aufmerksam gemacht. Aber das ist wohl irgendwie noch was anderes; also dass ich je nachdem welche MSN ich von mir anrufe einen Befehl auslösen kann. Das Problem daran ist nur, dass ich alle MSN (die 4 Stück, die ich hab) schon für Anschlüsse belegt sind... Abgesehen davon könnte ich damit ja nur 4 verschiedene Befehle ausführen.
Und so richtig eine Hilfe zu der dtmfbox hab ich auch nicht finden können.
 
Wie machst du es, dass du die Nummer verarbeiten kannst, die gewählt wurde? Bei mir sehe ich die immer nicht. Ich wollte nämlich auch Befehle auf der Fritzbox ausführen, indem ich mit meinem Handy bei meiner Fritzbox anrufe und aber noch dahinter drei Nummern angebe, mit denen ich die Aufrufe steuern kann. Also zum Beispiel wenn meine Telefonnummer 0123456 ist möchte ich mit 0123456001 einen Befehl ausführen können oder mit 0123456002 einen anderen.

Wenn keine Nummern frei sind - bei mir ist das auch der Fall - helfen zwei Tricks:
1) Mein Fax hat eine eigene MSN - die ich aber logischerweise nie von meinem Handy anrufe - damit kann ich diese Komination für ein Kommando verwenden
2) Weitere Kommandos gehen so: einen Anschluss habe ich für Callthrough reserviert. Ich verwende für weitere Kommandos die nicht existierenden Nummern 991 - 999. Ich wähle also die Callthrough-Nummer und anschließend den Zugangscode. Dann wähle ich den entsprechenden Code mit einem #, also z.B. 992#. Diese nicht existierende Nummer ist über den Callmanager mit einem Kommando verknüpft.
 
Meine Lösung ist zugegeben nicht optimal, aber so funktioniert es erstmal auch und ich bin relativ zufrieden. (Das mit dem Calltrough wollte ich nicht, denn dann muss die Box ja abnehmen oder? Also ich würde damit immer ein bisschen Zahlen müssen, wenn ich vom Handy aus anrufe... das will ich natürlich vermeiden)

Ich will hier mal meine Lösung dieses Problems posten:

Ich habe mir in root/usr/sbin beim modden eine Datei "remoteConect" mit folgendem Inhalt angelegt (kann man bestimmt noch optimieren, aber so läufts jedenfalls auf der Box):
Code:
#!/bin/sh
# remoteConect
# Script to Start/Close the Remote Conection to FritzBox an LAN

TEMP_DIR=/tmp
TEMP_FILE=remoteConect
SCRIPT_DIR=/mod/usr/sbin
START_FILE=remoteConectStart
STOP_FILE=remoteConectStop
SLEEP=10

if [ $# = 0 ]
  then
    if cat $TEMP_DIR/$TEMP_FILE 2> /dev/null
      then
        $SCRIPT_DIR/$STOP_FILE
        rm $TEMP_DIR/$TEMP_FILE 2> /dev/null
      else
        $SCRIPT_DIR/$START_FILE
        touch $TEMP_DIR/$TEMP_FILE
    fi
  else
    if [ $1 = "help" ]
      then echo "(status|start|stop|restart)"
      else
        case $1 in
          "restart")
            $SCRIPT_DIR/$STOP_FILE
            sleep $SLEEP
            $SCRIPT_DIR/$START_FILE
            touch $TEMP_DIR/$TEMP_FILE
            ;;
          "start")
            $SCRIPT_DIR/$START_FILE
            touch $TEMP_DIR/$TEMP_FILE
            ;;
          "stop")
            $SCRIPT_DIR/$STOP_FILE
            rm $TEMP_DIR/$TEMP_FILE 2> /dev/null
            ;;
          "status")
            if cat $TEMP_DIR/$TEMP_FILE 2> /dev/null
              then echo "started"
              else echo "stoped"
            fi
            ;;
        esac
    fi
fi
und diese anschließend mit
Code:
chmod gou+x root/usr/sbin/remoteConect
ausführbar gemacht.

Und nach dem modden in der Box über telnet mit
Code:
cat /var/flash/debug.cfg > /tmp/debug.cfg
vi /tmp/debug.cfg
folgenden Inhalt in die debug.cfg aufgenommen:
Code:
echo "wget http://LOGINNAME:[email protected]/nic/update?hostname=DOMAINNAME" > /mod/usr/sbin/remoteConectStart
echo "/etc/init.d/rc.webcfg start" >> /mod/usr/sbin/remoteConectStart
echo "/etc/init.d/rc.dropbear start" >> /mod/usr/sbin/remoteConectStart
echo "/etc/init.d/rc.openvpn-lzo start" >> /mod/usr/sbin/remoteConectStart
echo "matrixtunnel -A KEYDATEI -p KEYDATEI -d 0.0.0.0:443 -r FRITZBOXIP:81 -P /tmp/matrixssl.pid" >> /mod/usr/sbin/remoteConectStart
chmod gou+x /mod/usr/sbin/remoteConectStart

echo "/etc/init.d/rc.webcfg stop" > /mod/usr/sbin/remoteConectStop
echo "/etc/init.d/rc.dropbear stop" >> /mod/usr/sbin/remoteConectStop
echo "/etc/init.d/rc.openvpn-lzo stop" >> /mod/usr/sbin/remoteConectStop
echo "kill $(/tmp/matrixssl.pid)" >> /mod/usr/sbin/remoteConectStop
echo "rm /tmp/matrixssl.pid" >> /mod/usr/sbin/remoteConectStop
chmod gou+x /mod/usr/sbin/remoteConectStop
(interessant für dieses Problem sind alle Zeilen mit echo "..." >> /mod/usr/sbin/remoteConectStart bzw. echo "..." >> /mod/usr/sbin/remoteConectStop damit schreibt man die auszuführenden Befehle in das Start bzw. Stop Script)
Zu beachten ist, das nur beim ersten Eintrag in das jeweilige Script ein '>' stehen darf. Alle folgenden Einträge müssen mit '>>' gemacht werden, da sonst der bestehende Inhalt überschrieben wird.

nun mit
Code:
cat /tmp/debug.cfg > /var/flash/debug.cfg
die debug.cfg neu schreiben. Ab jetzt ist beim Neustart der Box das Script "remoteConect" benutzbar.

Das funktioniert folgender maßen:
  • Parameterloser Aufruf (remoteConect), startet abwechselnd das start bzw. stop Script
  • mit dem Parameter start, stop, restart (z.B. remoteConect start) kann das script den entsprechenden Anweisungen folge leisten
  • mit status (remoteConect status) läßt sich der aktuelle Status "started" bzw. "stoped" anzeigen
  • mit help (remoteConect help) bekommt man eine Übersicht der eben genannten Aufrufsmöglichkeiten angezeigt

Nun kann man dieses Script in der Listeners Config eintragen:
Code:
in:request HANDYNUMMER ^ /usr/sbin/remoteConect

Wenn ich nun meinen Telefonanschluß vom Handy aus anklingel, werden (nach der oben geschriebenen Konfiguration) abwechselnd folgende Dinge ausgeführt (natürlich nur einmal. Beim nächsten anklingeln wird dann das andere Ausgeführt - logisch!):
  • DynDNS IP wird aktualisiert
  • DS_Mod Web Oberfläche wird gestartet
  • SSH Server (dropbear) wird gestartet
  • openVPN wird gestartet
  • matrixtunnel zur DS-Mod Web Oberfläche wird aufgebaut
bzw.
  • DS_Mod Web Oberfläche wird beendet
  • SSH Server (dropbear) wird beendet
  • openVPN wird beendet
  • matrixtunnel zur DS-Mod Web Oberfläche wird wieder geschlossen

Was ich jetzt eigentlich nur noch bräuchte, währe eine Bestätigung der Fritzbox an mein Handy über einen der beiden Statuse (wie auch immer das gramatikalisch ausgedrückt wird ;-)). Also z.B. immer beim Starten aller Dienste (remoteConectStart) soll an die Nummer, die den Aufruf gestartet hat nur einmal angeklingelt werden.
 
Das mit dem Calltrough wollte ich nicht, denn dann muss die Box ja abnehmen oder? Also ich würde damit immer ein bisschen Zahlen müssen, wenn ich vom Handy aus anrufe...

hab die o2-Family-Flatrate, Anrufe nach Hause kosten mich nichts...
 
Mal sehen, in einem 3/4 Jahr will läuft mein 1und1 Vertrag ab. Dann will ich 1und1 ganz kündigen und neu anmelden... dann bekomm ich ja durchs 4DSL auch ne Handy Festnetz Flatrate... dann wird das anders... ;-)
 
...muss man sich mit PPK auskennen. Falls Dir das nichts sagt, müsstest Du Dich erstmal damit vertraut machen. Am besten erstmal mit VMWare Player eine Linux-Test-Umgebung aufsetzen und lostesten. Als nächstes dann eine ssh-Verbindung mit PPK-Autologin zu CopSSH unter Windows austesten. Wenn das alles locker von der Hand geht, kann man sich mal an die Fritzbox setzen.

Vielen Dank an alle für die ideen u hilfestellung, aber:
weil die sache für einen nicht linuxer wie mich etwas seh kompliziert scheint, muß ich erst einmal abstand davon nehmen.... und gebe mich noch mit einfachem woc zufrieden...

vielleicht ergibt sich aus meiner anregung ja doch iregendwann ein "pseudoimage" mit dem per tel anruf + codeeingabe verschiedene dateien gezielt auf einem rechner gestartet werden können... wer weiss... dann könnten auch greenhorns wie ich dies nutzen...

grüsse,
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.