OSX Swift Fritzbox Capi FAX

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Rabattcode für die heise MacDev 2020: Macoun20

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2020 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • OSX Swift Fritzbox Capi FAX

    Hallo,

    wer hat bereits Erfahrung mit der Programmierung der Fritzbox Capi Schnittstelle? Im Speziellen geht es um den FAX-Versand. Hat jemand diesbzgl. schon Erfahrungen bzw. kann mir jemand zu diesem Thema fundierte Quellen/Literatur benennen?

    Nachtrag:
    Gibt es hier Restriktionen wie z.B. die Seitenanzahl, die versendet werden kann? Was gilt es hierbei insbesondere zu beachten? Wer kennt den Ablauf, der einem FAX-Versand zugrunde liegt?


    Danke mal vorab.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von OSXDev () aus folgendem Grund: Nachtrag

  • Die Capi Beschreibung findest du bei AVM: download.avm.de/archive/develper/capispec/capi20/
    Dann noch CapiOverTCP aktivieren: avm.de/service/fritzbox/fritzb…st-sich-nicht-aktivieren/

    In T.30 ist das Faxprotokoll beschrieben: itu.int/rec/T-REC-T.30/en
    T.38 ist auch noch interessant: itu.int/rec/T-REC-T.38/en

    Dann brauchst du noch einen SoftDSP für die Modememulation: itu.int/rec/T-REC-V/en

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • T.31 und T.32 sind auch noch Fax.

    Mit SpanDsp gibt es einen SoftDSP der alle wünsche erfüllt.
    Ich hab damit vor 12 oder 13 Jahren einen Fax-Druckertreiber für die Fritzbox gemacht. Der funktionierte relativ problemlos bis es mit VoIp losging. Dann häuften sich die Probleme.
    Der Entwickler von SpanDSP und mein Kontakt in die AVM Entwicklungsabteilung halfen irgendwann auch nicht weiter.
    Kann sein dass jetzt die Netze stabiler sind <X , damals war zuviel Jitter.

    Als dann die ersten Boxen mit der Sendfunktion kamen konnte man eine .SFF Datei mit http POST an die Box schicken. Das habe ich aber nie vollständig implementiert.
    Keine Ahnung ab das jetzt noch geht, musst du dir die Fritz Sourcen ansehen.

    Viel Erfolg
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Chris schrieb:

    ...
    Als dann die ersten Boxen mit der Sendfunktion kamen konnte man eine .SFF Datei mit http POST an die Box schicken. Das habe ich aber nie vollständig implementiert.
    Keine Ahnung ab das jetzt noch geht, musst du dir die Fritz Sourcen ansehen.

    Viel Erfolg
    Danke für Deine tatkräftige Unterstützung in diesem Thema.

    Der zweite Lösungsansatz die Fritzbox via .SFF Datei mit den notwendigen Infos zu versorgen und dann den Versand anzustoßen, würde ich erst einmal priorisieren. Hierzu wäre der Sourcecode hilfreich, hast Du evtl. noch einen Link für parat?
  • Ich weiss jetzt nicht welche URL du meinst.

    Bei AVM gibts eine Seite mit diversen Schnittstellenbeschreibungen. Das meiste ist für uPnP. Wichtig ist das Doc über die SessionID. Das brauchst du um dich über http anzumelden.
    avm.de/service/schnittstellen/

    Die Open Source Quellen gibts hier: osp.avm.de

    Ich hab mir damals den 'Quelltext der Fax Seite in Safari angeschaut. Da wurde send_fax.lua aufgerufen. Das gibts jetzt auch noch.
    Schau dir mal die Elemntinformationen vom Send Button an. Da müsstest du weiter kommen.

    Die .lua Dateien sind nicht in den Opensource Dateien.
    Das holst du dir ein Update Image von AVM. Das ist ein tar Archiv. nach dem entdecken findet du unter var/tmp die Dateien filesystem.image und kernel.image, Das sind Squashfs Images. Die musst du irgendwie mounten. Ich hab damals das Freetz linux in einer VM gestartet und entpackt. Dann kannst du dir die Lua Dateien ansehen und probieren.

    Chris

    PS: du kannst auch mal bei Roger Router spionieren gitlab.com/tabos
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Prima, vielen Dank Chris. :thumbsup:

    Chris schrieb:

    ..

    Die .lua Dateien sind nicht in den Opensource Dateien.
    Das holst du dir ein Update Image von AVM. Das ist ein tar Archiv. nach dem entdecken findet du unter var/tmp die Dateien filesystem.image und kernel.image, Das sind Squashfs Images. Die musst du irgendwie mounten. Ich hab damals das Freetz linux in einer VM gestartet und entpackt. Dann kannst du dir die Lua Dateien ansehen und probieren.

    ...

    Das mit dem Update Image werde ich mal probieren. Eine Idee diesbzgl. habe ich schon. :thumbup:
  • Chris schrieb:

    ...
    Die Open Source Quellen gibts hier: osp.avm.de

    Ich hab mir damals den 'Quelltext der Fax Seite in Safari angeschaut. Da wurde send_fax.lua aufgerufen. Das gibts jetzt auch noch.
    Schau dir mal die Elemntinformationen vom Send Button an. Da müsstest du weiter kommen.
    ...
    @Chris: Danke für diese Anregung. :thumbsup: Habe mal testweise verschiedene Ansätze im Playground realisiert. Funktioniert soweit auch, auch wenn ich da den Stein der Waisen noch nicht wirklich gefunden habe. :D Die Richtung stimmt schon mal.

    Chris schrieb:

    ...

    Mit SpanDsp gibt es einen SoftDSP der alle wünsche erfüllt.
    Ich hab damit vor 12 oder 13 Jahren einen Fax-Druckertreiber für die Fritzbox gemacht. Der funktionierte relativ problemlos bis es mit VoIp losging. Dann häuften sich die Probleme.
    Der Entwickler von SpanDSP und mein Kontakt in die AVM Entwicklungsabteilung halfen irgendwann auch nicht weiter.
    Kann sein dass jetzt die Netze stabiler sind <X , damals war zuviel Jitter.

    ...
    Parallel habe ich mich mal begonnen die Informationen zusammenzutragen. Die FAX Unterstützung scheint weitaus aufwendiger zu sein, als die Kommunikation mit einem VoIP Apparat via Capi. Wird wohl noch etwas dauern bis ich da einen vollständigen Prototypen zusammengebaut habe. :rolleyes:

    @Chris: Ich musste feststellen, dass mein Faxgerät, welches mit einer FAX-Weiche ausgestattet ist, sich hinsichtlich der Annahme eines Fax-Dokumente anders verhält als ein reines FAX-Gerät. Wie hast Du diese verzögerte Annahme - außer mit einem pausieren (quasi einem SLEEP der App) realisiert? Da die FAX-Weiche während der Dauer der Identifizierung keinerlei Informationen an die Gegenseite sendet, kommt mir dies i. A. wie ein Glücksspiel vor? ?(
  • Chris schrieb:

    An Probleme mit Faxweichen kann ich mich nicht erinnern.
    Wenn der AB im Gerät abgeschaltet wird und somit nur die FAX-Funktionalität aktiv bleibt, funktioniert die Annahme. Ist halt auch nicht mehr das jüngste Gerät; bereitet mir jedoch Kopfzerbrechen. :/

    Bis der Prototyp einigermaßen rund läuft benötigt es einen größeren Zeitaufwand als erwartet. Da eine schnelle Lösung her muss, habe ich mir überlegt kurzfristig den FAX-Versand über einen FAX-Drucker zu realisieren.

    Die Nutzung des FAX-Versandes mittels der in der Fritzbox enthaltenen Webfunktion, ist leider nicht wirklich eine "gute" Lösung. Über diesen Weg können max. 2 Seiten verwendet werden, wobei wenn Grafiken enthalten sind, diese auf der 2.'ten Seite zu platzieren sind. Zu viele Einschränkungen - nur für ein minimales Schriftstück nutzbar. :S

    Nachtrag:
    Der Aufruf des Druckermenüs funktioniert einwandfrei. Nur funktioniert es leider nicht, die zu wählende Faxnummer zu übergeben. Hat hierzu jemand einen Vorschlag?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von OSXDev () aus folgendem Grund: Nachtrag

  • Das ist doch ganz einfach.
    Du musst ein PPD File erstellen mit der Zeile
    Attribute "cupsFax" "" "True"
    Dann bekommst du Eingabefelder für die Nummer usw.
    Verschiedene Auflösungen kannst du auch noch einstellen.
    Das ganze wird dann durch ppdc gejagt, da kannst du auch gleich Versionen für die verschiedenen Fritzboxen in einem Durchgang erstellen.
    Die Geschichte war etwas Trick bis wir das hatten.

    Die Nummer und andere Sachen holst du im Backend aus den Argumenten.
    Die musst du vorher mit cupsParseOptions() bearbeiten. Dann kannst du mit cupsGetOption() die Nummer holen. Der Key ist kPMFaxNumberStr. Die Keys findest du in PrintCore/PMPrintSettingsKeys.h
    Die cupsxx Funktionen sind in Cups.h

    Ich hab leider keine Source mehr.

    Unter Cups.org findes du noch einiges und auch Mailinglisten die damals recht hilfreich waren.

    Viel Erfolg.
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Chris schrieb:

    Das ist doch ganz einfach.
    Du musst ein PPD File erstellen mit der Zeile
    Attribute "cupsFax" "" "True"
    Dann bekommst du Eingabefelder für die Nummer usw.
    Verschiedene Auflösungen kannst du auch noch einstellen.
    Das ganze wird dann durch ppdc gejagt, da kannst du auch gleich Versionen für die verschiedenen Fritzboxen in einem Durchgang erstellen.
    Die Geschichte war etwas Trick bis wir das hatten.

    Die Nummer und andere Sachen holst du im Backend aus den Argumenten.
    Die musst du vorher mit cupsParseOptions() bearbeiten. Dann kannst du mit cupsGetOption() die Nummer holen. Der Key ist kPMFaxNumberStr. Die Keys findest du in PrintCore/PMPrintSettingsKeys.h
    Die cupsxx Funktionen sind in Cups.h

    ...
    Okay, die Infos muss ich erst einmal in aller Ruhe sortieren und studieren.

    Danke

    Nachtrag:
    Eine Frage habe ich hierzu noch. Die Fritzbox stellt doch CAPI zur Verfügung. Handelt es sich hierbei um eine vollständige Implementatation der Schnitstellenfunktionen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von OSXDev () aus folgendem Grund: Nachtrag

  • Neu

    appletalk schrieb:

    Hi,

    wie weit bis du mit deinem Projekt? Ich wäre an einer Lösung zum Senden von Faxen unter macOS interessiert in Verbindung mit der Fritzbox.

    Klemens
    Hallo Klemens,

    Covid bedingt haben wir andere Projekte priorisieren müssen. Die mitgeteilte Informationsquellen zu sichten war auch nicht gerade mit wenig Zeit verbunden.
    Folgende Methoden funktionieren bereits einwandfrei:
    - Anmeldung unter Verwendung des FB Protokolls
    - Abfrage des aktuellen FAX Status
    - Übertragung der PDF-Datei, welche gesendet werden soll / funktioniert noch nicht immer
    - Starten des FAX-versands
    - Abbrechen der Übertragung

    Weitere Methoden stehen noch an. Jedoch muss erst evaluiert werden, warum die Übertragung der PDF-Datei nicht jedesmal erfolgreich durchgeführt werden kann.

    Wenn hierzu jemand bereits Erfahrungen sammeln konnte, dann wäre es prima wenn er dies hier posten könnte.

    Danke mal vorab