.titleBar { margin-bottom: 5px!important; }

Hörer abheben -> Aktion ODER check per script ob Hörer abgehoben ?

Dieses Thema im Forum "Freetz" wurde erstellt von level20peon, 7 Dez. 2008.

  1. level20peon

    level20peon Mitglied

    Registriert seit:
    11 Juli 2007
    Beiträge:
    270
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    127.0.0.1
    Hallo zusammen,

    ist irgendjemandem bekannt ob es möglich ist, per Boardmittel oder Freetz oder Freetz-Package herauszufinden, ob gerade Fon-X abgehoben ist ?

    Oder ist es alternativ möglich eine Aktion auszuführen, sobald Fon-X abgehoben wird ?
     
  2. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wenn du aktionen ausfürhen willst, wenn jemand anruft oder der Hörer abgenommen ist musst du dich mit dem Callmonitor vertraut machen.

    Zum Prüfen, ob gerade jemand telefoniert, gab es mal nen Thread, ich mach mich mal auf die Suche.


    edit: Habs: hier
     
  3. level20peon

    level20peon Mitglied

    Registriert seit:
    11 Juli 2007
    Beiträge:
    270
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    127.0.0.1
    Danke für deine Antwort.

    den Callmonitor hatte ich mir im Zuge meiner Suche angeschaut (auf Freetz.org), das hörte sich mit

    aber nicht nach dem an, was ich suchte. Ist dir denn explizit eine Möglichkeit bekannt damit auch bei "Hörer abnehmen" zu arbeiten ?

    Kann es zur Zeit leider nicht testen, da die Firmware für meine 7170 zu groß ist (trotz lediglich drei Paketen), muss bis Ende des Monats warten, dann bekomme ich eine neue Box mit mehr Speicher.

    Ansonsten vielen Dank für den Hinweis zu dem Script :D
     
  4. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wie man in den events und listenern sieht kann ein sowie ausgehen reagieren. z.b. auf connect. mit *:connect
     
  5. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    es funktioniert definitiv. Ich hatte früher callmonitor mit yac verwendet und konnte mir die Nachrichten a-la "XY hat den Höhrer abgenommen und führt gerade ein Gespräch mit YZ" oder "Das Gespräch von XY mit YZ wurde beendet" generieren.

    Also, wie matze1985 bereits sagte, läuft es nicht statisch, sondern änderungsspezifisch. Ähnlich wie ein Flip-Flop mit der Reaktion auf steigende oder fallende Flanke.

    Aber verrate uns auch, was du da vor hast. Vielleicht haben die anderen was davon. Und du bekommst evtl. andere Lösungsvorschläge. Also, nicht nur nehmen, sondern auch geben.

    Dein Problem mit 7170 verstehe ich gar nicht. Schon von external gehört? Formatiere doch einen Stick mit ext2 oder ext3 und fertig ist es. Außerdem würde ich empfehlen, einige AVM-Features wegzuwerfen. Brauchst du z.B. mini? oder VPN von AVM? Es gibt da viele Wege.... Welche drei Pakete hast du denn?

    MfG
     
  6. level20peon

    level20peon Mitglied

    Registriert seit:
    11 Juli 2007
    Beiträge:
    270
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    127.0.0.1
    ok, danke für den Hinweis hermann72pb.

    Ich habe vor eine Schaltung mit meiner Türklingel zu realisieren, indem ich bei Betätigen der Klingel ein Relais / eine Schaltung ansteuere.
    Dies soll dann das Abheben des Hörers simulieren, indem ein festgelegter Spannungsabfall erzeugt wird (ca 60 Volt im Leerlauf, bei Betätigung dann Abfall auf ca 12 Volt).

    Genauere Spezifikationen kann ich zurzeit nicht nennen, die Schaltung ist noch in Planung.

    Ich weiß, dass es hier anders gelöst wurde, der Umweg ist mir jedoch persönlich zu groß, wenn ich mit meiner oben beschriebenen Variante den "direkten" Weg gehen kann.

    Auf der Seite der FritzBox stellt dann der Callmonitor die gewünschte Funktion bereit, das "Abheben" als Trigger zu erkennen und einen Internruf auszulösen. (Was ich ja nun dank euch in Erfahrung bringen konnte)

    Ich beabsichtige nicht nur zu nehmen, jedoch steckt das Projekt noch in den Kinderschuhen, bei Fertigstellung habe ich vor dem einen Foreneintrag zu würdigen.

    Die Möglichkeit von external ist mir bekannt, aber ich warte lieber noch zwei Wochen auf meine neue Box, anstatt mein Produktivsystem anzurühren. Auch habe ich Hilfe usw schon rausgeworfen, aber die Firmwares werden ja mit steigender Revision auch nicht unbedingt kleiner ;)
    Zur Info: Ich nutze zur Zeit OpenVPN, OpenNTPD und Syslogd.

    Danke für die Anregungen :D
     
  7. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Das wird nicht funktionieren. Callmonitor überwacht die wirklichen Anrufe, oder wenn man auf ankommende Anrufe mit dem Abheben des Hörers reagiert. Das was du beschreibst, gehört jedoch nicht zu Aktionen von Callmonitor.

    Die von dir zitierte Lösung mit Parallelport-Adapter würde ich stattdessen dafür empfehlen. Ob man es scripttechnisch so löst, wie dort beschrieben, darüber kann man streiten. Aber hardwaremäßig und vom Kostenaufwand ist sie auf jeden Fall gut.

    MfG
     
  8. WLAN-VoIP-Fan

    WLAN-VoIP-Fan Mitglied

    Registriert seit:
    28 Nov. 2005
    Beiträge:
    594
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    heißt das jetzt das der CallMonitor nicht das abheben eines Hörers erkennen kann oder das die FRITZ!Box es nicht merken kann?

    Gruß.
     
  9. McNetic

    McNetic Mitglied

    Registriert seit:
    7 Feb. 2007
    Beiträge:
    672
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Aachen
    Der Callmonitor definitiv nicht, ich vermute, die Box auch nicht.
     
  10. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Wenn man FON1-3 den Analoganschlüssen fest zuordnet, ist keine Unterscheidung möglich. Macht auch imho keinen Sinn. Wenn man jedoch einem FON eine Inetrufnummer zuweist, kann man diese erkennen:
    Code:
    dtrace -c5 -s
    [I]oder[/I]
    dtrace -* -s
    
    (Bei "Calling party number:").

    Vielleicht ein Ansatzpunkt für ein Skript?

    Habe nur leider keinen Analoganschluss - vielleicht kann man es auch direkt unterscheiden, ohne eine INet-Rufnummer zuzuordnen.
     
  11. WLAN-VoIP-Fan

    WLAN-VoIP-Fan Mitglied

    Registriert seit:
    28 Nov. 2005
    Beiträge:
    594
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    meinst du deine FRITZ!Box hat keinen Anlaoganschluß oder du hast nur DSL nud VoIP?

    Gruß.
     
  12. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Das kannst du doch aus Marcos Signatur auslesen. Arcor bietet bei seinen Anschlüßen ISDN an. Deswegen hat er auch keinen AnalogIn-Port in Benutzung.

    Boxen von AVM ohne Analoganschluss kenne ich kaum, außer diesen professionellen Router. Aber darum geht es hier nicht.

    MfG
     
  13. level20peon

    level20peon Mitglied

    Registriert seit:
    11 Juli 2007
    Beiträge:
    270
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    127.0.0.1
    #13 level20peon, 17 Dez. 2008
    Zuletzt bearbeitet: 17 Dez. 2008
    sorry für den fullquote...


    Großartige Idee, denn hardwaretechnisch ist das Erkennen wohl wirklich unmöglich bei der FritzBox.
    Ich habe sogleich deinen Vorschlag einmal getestet und es sieht vielversprechend aus.

    Eine Unterscheidung ohne Zuordnung einer Internet-Rufnummer ist zumindest via AVM-Menü nicht möglich, wo man nämlich nur eine Analog-Rufnummer eingeben kann.
    Wenn ich jedoch den einzelnen Analog-Ports separate Internet-Rufnummern zuteile, so wird per dtrace eben diese Nummer auch ausgegeben:

    Code:
    Controller 5 (SEND)  D3    00:01:58:01
    Protocol discriminator Q.931: 08
    Call reference (from originator): 17
    SETUP: 05
      bearer capability: 04 03 E0 90 E3
        Information transfer capability: speech
        Transfer mode: Circuit mode
        Information transfer rate: 64 kbit/s
      channel identification: 18 03 A1 83 88
        Interface type: other interface
        Preferred/exclusive: preferred
        D-channel indicator: not the D-channel
        Information channel selection: indicated in the following octets
      calling party number: 6C 0B 30 80 30 23 35 31 35 36 31 39 39
        Type of number: network specific number
        Numbering plan: unknown
        Calling party number: 0#[COLOR="Red"]1234567[/COLOR]
      calling party number: 6C 0B 01 80 30 23 35 31 35 36 31 39 39
        Type of number: unknown
        Numbering plan: ISDN/Telephony
        Calling party number: 0#[COLOR="Red"]1234567[/COLOR]
      calling party subaddress: 6D 0B 11 80 34 39 35 31 35 36 31 39 39
    
                        Controller 5 (RECEIVE)  D3    00:01:58:01
                        Protocol discriminator Q.931: 08
                        Call reference (to originator): 17
                        SETUP ACKNOWLEDGE: 0D
                          channel identification: 18 03 A9 83 88
                            Interface type: other interface
                            Preferred/exclusive: exclusive
                            D-channel indicator: not the D-channel
                            Information channel selection: indicated in the following octets
                          progress indicator: 1E 02 82 88
                            Location: public network/local user
                            Progress description: In-band information or appropriate pattern now available
    
    So kann man einfach einen "imaginären" VoIP-Account in der FB einrichten und ihn dem entsprechenden Port zuordnen.

    Wenn man per Konsole einen internruf auslösen kann wär das schon die halbe Miete ("echo "ATD**9" | nc 127.0.0.1 1011" funktioniert auf Anhieb nicht). Danke soweit, ich werd mir mal überlegen, wie man das implementieren könnte.
     
  14. WLAN-VoIP-Fan

    WLAN-VoIP-Fan Mitglied

    Registriert seit:
    28 Nov. 2005
    Beiträge:
    594
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Zwischenzusammenfassung

    Hi level20peon,

    köntest du den akteullen Stand von Hardware, Software, Einstelungen der FRITZ!Box und eventeuller Programmierung in der FRITZ!Box bei Gelegenheit mal bitte zusammenfassen? Danke! :)

    Wenn ich jetz alles richtig verstanden habe sieht es wie folgt aus:

    Hardware:
    Klingel wird mit einem Relay gekoppelt welches bei einem alten ausgeschlachteten analog Telefon das Höhrer abheben simmuliert.

    Hardware FRITZ!Box:
    Die FRITZ!Box selber erkennt leider hardwaremaässig nicht dieses Vorgang vo alleine. Oder es ist nicht abfragbar.

    Software FRITZ!Box:
    Daher legst du eine ausgedachte VoIP Festnetznummer in der FRITZ!Box an und legst sie auf den analogen FON-X-Port an dem das umgebaute Telefon mit Relay zur Klingelanlage hängt.

    Wenn jetzt geklingelt wird, wird der Höhrer abgehoben und automatisch die anglegete ausgedachte VoIP Festnetznummer gewählt.

    Programmierung FRITZ!Box:
    Jetzt möchtest du noch hinbekommen das die FRITZ!Box dieses anrufen der ausgedachten VoIP-Nummer erkennt und einen Interen Anruf auf die oder ein anderes internes Telefon im Haus auslößt und dich dann mit der Freisprechanlage an der Tür verbindet.

    Soweit alles ok? Bitte korregieren und ergänzen. :) Danke.

    Was für ein Freisprechanlage an der Tür hast du den?

    Könnte man nicht auch eine billige Freisprechanlga an der Tür einbauen und aus einem alten anlogtelefon mit Freisprechfunktion diese an den Lautsprecher und das Mikrofon an dern Türfreisprechanlage anklemmen?

    Gruß WLAN-VoIP-Fan.
     
  15. level20peon

    level20peon Mitglied

    Registriert seit:
    11 Juli 2007
    Beiträge:
    270
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    127.0.0.1
    Nicht ganz,

    Ich habe vor das komplette Telefon zu simulieren, durch eine Schaltung, die den entsprechenden Spannungsabfall erzeugt.
    Dazu kann ich aber zu Zeits noch nichts genaueres sagen.


    Es passiert einfach hardwaremäßig in der FritzBox scheinbar nichts, da bei der Variante "Analoges Telefon an Port X will analoge Leitung benutzen" einfach nur durchgeschleift wird.


    Wie gesagt, kein umgebautes Telefon... es wird auch nicht automatisch eine Nummer gewählt.
    Was bis dato passiert ist, dass durch die Belegung mit einer VoIP-Nummer ein event in der FritzBox-Software ausgelöst wird (Bereits schon, bevor eine Nummer gewählt wird, alleine durch das Abheben des Hörers / Simulieren dieses Abhebens !)

    Was nun im Folgenden passiert gilt es noch zu bestimmen. Ich würde gerne einfach einen Internruf auslösen. Noch besser wäre es, wenn dazu eine Caller-ID übermittelt werden könnte, damit auf dem Display "Türklingel" steht, aber das sind Feinheiten.


    Siehe letzter Absatz.


    Das würde die Sache sehr viel komplexer machen. Ich habe keine Freisprechanlage und habe somit auch nicht vor mich damit auseinanderzusetzen. Aufgrund der Natur meines Vorhabens ist es hier auch nicht möglich das "mal eben so" nachzurüsten, da müsste man einen anderen Weg gehen.


    Hier wird sowas zB angegangen.
     
  16. WLAN-VoIP-Fan

    WLAN-VoIP-Fan Mitglied

    Registriert seit:
    28 Nov. 2005
    Beiträge:
    594
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo level20peon,

    vielen Dank für deine Infos! :) Ich hoffe du hälst uns weiter auf dem laufenden über dein Projekt. Über ein HowTo bei Erfolg und warum die was weshalb wieso so und nicht anders gemacht habe würde ich mich sehr freuen wenn das Projekt erfolgreich abgeschlossen ist.

    Gruß.
     
  17. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Hi,

    die Türsprecheinrichtung ließe sich sogar komplett über Software steuern.
    Natürlich ist so ein Telefon an der Tür nicht gerade ansprechend und der eine oder andere würde es nicht für eine Türklingel halten ;). Hier muss das Telefon entsprechend umgebaut werden.

    Der Rest ließe sich über asterisk/dtmfbox realisieren. Bei der Ansteuerung über ATD weiss ich leider nicht, ob das überhaupt geht, da das Telefon in dem Moment bereits abgehoben wurde. Der direkte Rufaufbau über ein Software-PBX sollte aber funktionieren.

    Da jedem Analog-Telefon eine Pseudo-Internetrufnummer zugewiesen wurde, kann man die Telefone nun einzeln ansteuern (z.B. indem man 12345@fritz.box anruft).

    - Analog-Telefon (Tür) hebt ab
    - Software-PBX erkennt die Nummer der Tür und nimmt den Anruf entgegen (CONFIRM).
    - Software-PBX ruft SIP-Account an (z.B. 12345@fritz.box) und verbindet beide Anrufe.
    - Fertig! ;)
     
  18. level20peon

    level20peon Mitglied

    Registriert seit:
    11 Juli 2007
    Beiträge:
    270
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    127.0.0.1
    #18 level20peon, 9 Feb. 2009
    Zuletzt bearbeitet: 10 Feb. 2009
    So, inzwischen hatte ich ein wenig Zeit mich um mich um den Aufbau einer Schaltung zu kümmern. Das Layout befindet sich im Anhang (Anm: Die beiden Adern aus dem von mir verwendeten TAE-Stecker waren braun und weiß).

    Stückliste:
    1x Widerstand 1K 1W R1P
    1x Elko 22UF 63V
    1x Zener Diode BZV 85C 27
    1x Zener Diode BZX 79C 9V1
    1x Gleichrichter DB101G 50V 1A
    1x Gleichrichter DF06M 50V 1A (Im Prinzip der selbe wie oben)
    1x Relais RY-24W-K 24V 24W (Hochsensible Spule)

    Bitte beachtet, dass ihr entsprechend andere Bauteile braucht, wenn eure Spannung abweicht (Ich habe meine Spannungen in der Skizze vermerkt).




    Nun zum script:
    Kurz gesagt, ich komme nicht weiter. Folgender Code wäre erstmal wunderbar, wenn da nicht die Einschränkungen der BusyBox grep binary wären:

    Problem 1: grep
    das oben genannte script würde die gewünschte Aktion ausführen, wenn man hier "grep --line-buffered" benutzen könnte. Dies würde eine direkte Ausgabe bewirken. Ohne diesen Parameter gibt es eine Ausgabe erst, wenn das script beendet wird. Da eine unmittelbare Benachrichtigung bei einem Klingeln essentiell ist, ist dies erstmal ein ziemlicher showstopper. Die GNU grep binary hat glaub ich über 600KB, die passt bei mir leider nicht mit ins image. Ist es irgendwie möglich den einzelnen Parameter "--line-buffered" anderweitig nachzurüsten ?
    Eine Alternativ wäre es das dtrace nur eine spezielle Nummer zu überwachen, das ist meines Wissens nach aber hier auch nicht machbar (oder ?).

    Problem 2: Internruf auslösen
    Im Forum gefundener Ansatz "echo "ATD**9" | nc 127.0.0.1 1011" funktioniert nicht. Ich habe leider keine Möglichkeit gefunden dies anders zu realisieren.


    Also, so weit so gut, jeden Vorschlag würde ich sehr zu schätzen wissen.
     

    Anhänge:

    • PCB.jpg
      PCB.jpg
      Dateigröße:
      93.5 KB
      Aufrufe:
      52
  19. level20peon

    level20peon Mitglied

    Registriert seit:
    11 Juli 2007
    Beiträge:
    270
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    127.0.0.1
    Nun, ein Jahr später, gibt es scheinbar immer noch keine "--line-buffered" Option im BusyBox grep. Selbst das Aktivieren der "enable long options" beim Kompilieren der BusyBox scheint dies nicht zu ermöglichen.
    Gibt es eurerseits vielleicht inzwischen neue Ideen :D ? Wie könnte man diese Funktion integrieren, bzw wie bekommt man ein GNU grep auf die Box ?
     
  20. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Neue Optionen kommen nicht davon in die Busybox, daß man hier schreibt, daß man sie vermißt. Do kannst einen entsprechenden Patch an Busybox schicken und schauen, ob er aufgenommen wird.

    Um GNU grep aufzunehmen, muß man es nur übersetzen. Aber oben hast Du schon geschrieben, daß es Dir zu groß ist.