Capio auf der FritzBox

Anbei eine erweiterte Version: Anstatt den Umweg über capifax wird nun die libcapifax selber verwendet. Hinzu kommt der erste Schritt zur Progressbar.

Für libcapifax selber gibt es eine pc-File, diese bitte anfügen und in /usr/lib/pkgconfig installieren. Somit kann man dann gewohnt via pkg-config capifax auf alle Variablen zugreifen.
 

Anhänge

  • ffgtk-0.4.2.tar.bz2
    275.2 KB · Aufrufe: 16
  • capifax.pc.bz2
    173 Bytes · Aufrufe: 29
Wegen der Progressbar habe ich auch nochmal geschaut. Beim Empfang geht nur die aktuelle Anzahl an Bytes und Anzahl Seiten. Senden würde mit Prozentbalken funktionieren. Die jeweiligen Infos stehen in connection[con].fax.hdlcrx und .hdlctx. Jedoch unterscheidet sich die Byteanzahl von der Dateigröße, bzw. auch von dem, was Fritz!Fax ausgibt. Da habe ich jetzt nicht näher nach geforscht. Neue libcapifax-0.5 ist in Arbeit.
 
Version 0.4.3 befindet sich nun auf meiner Homepage www.tabos.org/box
Diese Version informiert mit Hilfe von libnotify über eingehende Anrufe (Vorbereitung für den Faxempfang).
 
@buzz2: also irgendwas stimmt bei mir beim Linken nicht. Und die fritzfax.mo wird nicht mehr installiert.

Code:
ldd /usr/bin/ffgtk 
	linux-gate.so.1 =>  (0xb7f50000)
[B]	libcapifax => not found[/B]
	libnotify.so.1 => /usr/lib/libnotify.so.1 (0xb7f2e000)
	libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7bb6000)
	libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0xb7b9b000)
	libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7b17000)
	libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7afd000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7ae5000)
	libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ac0000)
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7ab6000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7a79000)
	libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7a17000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7a13000)
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7a0f000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb79d8000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb799c000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb78eb000)
	libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb78e6000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7797000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb776d000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0xb775e000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7756000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7753000)
	libXi.so.6 => /usr/lib/libXi.so.6 (0xb774b000)
	libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7745000)
	libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb773c000)
	libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb7738000)
	libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb7735000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0xb764e000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7649000)
	libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7631000)
	/lib/ld-linux.so.2 (0xb7f51000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7609000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7599000)
	libz.so.1 => /usr/lib/libz.so.1 (0xb7584000)
	libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7561000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb7538000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7444000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7439000)
	libselinux.so.1 => /lib/libselinux.so.1 (0xb7420000)
	libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb73f9000)
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb73e1000)
	librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb73d7000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb73b6000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0xb73b3000)
	libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb73b1000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7399000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7393000)

@bodega: ich nutze die spandsp 0.0.4pre16, die bei Ubuntu dabei ist. Daher weiss ich auch nicht, ob die mit Floating-Point kompiliert ist oder nicht.

Beste Grüße,
Whoopie
 
Zuletzt bearbeitet:
Damit die libcapifax gefunden wird, muss die im obigen Post angehängte libcapifax.pc installiert werden. Ich hoffe diese wird auch in libcapifax hinzugefügt. Erstmal manuel nach /usr/lib/pkgconfig setzen und es klappt.
Danke für den Hinweis, werde mich darum kümmern.

Edit: Eine weitere neue Version ist auf www.tabos.org/box zu finden.
Änderungen:
* Übersetzungen sind komplett und laufen wieder (Dank an Whoopie für den Hinweis)
* Einstellungen für den Debug-Level sowie der Verbindungen
* Eingehende Nummern werden im Adressbuch nachgeschlagen und ggf. der Name angezeigt
* Eingehende Anrufe können als Faxe akzeptiert und gespeichert werden

HF :D
 
Zuletzt bearbeitet:
@buzz2:
Hab die capifax.pc in /usr/lib/pkgconfig schon gehabt, sonst bricht auch configure mit einer Fehlermeldung ab. Und sie muss capifax.pc heissen, nicht libcapifax.pc. ;)

Aber dennoch hab ich das Problem mit dem Linken von libcapifax.so.

EDIT: nach einem "sudo ldconfig" sieht's jetzt so aus, immer noch meines Erachtens komisch, aber ffgtk startet nun:
Code:
ldd /usr/bin/ffgtk
        linux-gate.so.1 =>  (0xb7f6b000)
        [B]libcapifax => /usr/lib/libcapifax (0xb7e83000)[/B]
        libnotify.so.1 => /usr/lib/libnotify.so.1 (0xb7f49000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7bd1000)
        libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0xb7bb6000)
...
 
Zuletzt bearbeitet:
Mal ganz naiv gefragt: ist es nicht sinnvoller, die Überprüfung schon in der configure.in durchzuführen?

Also ungefähr sowas:
Code:
AC_CHECK_LIB(capifax, main, [ LIBS="$LIBS -lcapifax" ], AC_MSG_ERROR("-lcapifax missing!"))

Dann würde die fehlende libcapifax schon beim ./configure von ffgtk auffallen. libcapifax stelle ich noch auf autoconf um.
 
Die Überprüfung wird in configure erledigt. Da er die Datei bereits in /usr/lib/pkgconfig kopiert hatte, gab es da auch keine Probleme. Nur der Linker wusste noch von nix, da ldconfig fehlte.

Edit: Neue Version 0.4.6 liegt bereit. Über --enable-ebook kann man nun anstelle des eigenen Adressbuches das von Evolution verwenden.
Edit2: Version 0.4.7. ebook bugfixes, fritzbox Konfiguration, Rückwärtssuche über dasoertliche.de, Anrufe starten und Überarbeitung des Popups)
 
Zuletzt bearbeitet:
Hi,

hab jetzt rausgefunden, warum die ldd-Ausgabe so komisch aussah. Lag an dem "soname" der libcapifax.

Hab's geändert und einen Patch gemacht (siehe Anhang). Und zusätzlich noch ein kompletter Patch mit der capifax.pc Datei.

@bodega: bezüglich Deiner Frage zu Floating-Point: Das Ubuntu-Paket ist nicht mit "--enable-fixed-point" kompiliert. Hab's dann mal mit dieser Option kompiliert. Macht keinen Unterschied. Es bleibt einfach bei "Phase E: coding method T.4 1-D" hängen, aber das Fax wird erfolgreich gesendet.

Beste Grüße,
Whoopie
 

Anhänge

  • libcapifax-soname.patch.txt
    522 Bytes · Aufrufe: 10
  • capifax-0.3-mod.patch.txt
    1.2 KB · Aufrufe: 7
Zuletzt bearbeitet:
Heiho,

es hat sich viel getan bei ffgtk und ich würde mich freuen wenn möglichst viele die Beta1 ausgiebig testen würden. Bugs und Wünsche, sowie Übersetzungen in andere Sprachen sind erwünscht. Zu den Änderungen gehören:
* Adressbücher, Rückwärtssuche und Fax als Plugins
* Call-Monitor
* Neue Adressbücher
* Neue Config
* Verbesserte FritzBox-Kommunikation
* Bugfixes

Also ran und testen :) (www.tabos.org/box)

Jan
 
Konnte die libcapi-2.0_fb-0.2.tar.gz auf eine openSUSE11.0 nicht übersetzen:

Fehlermeldungen wie:

capi20.h:65: error: expected declaration specifiers or ‘...’ before ‘size_t’
capi20.h:66: error: expected declaration specifiers or ‘...’ before ‘size_t’

konnte ich mit einem zusätzlichen Include in der capi20.h elemenieren:

Ich habe die Zeile "#include <stddef.h>" vor der Zeile "#include <sys/time.h>" eingefügt:


#ifndef __CAPI20_H__
#define __CAPI20_H__

#include <stddef.h>
#include <sys/time.h>

#ifdef __cplusplus
extern "C" {
#endif
 
Es ist mal wieder soweit. Nach ein paar neuen Versionen möchte ich auch hier im Forum wieder auf die neueste hinweisen. Die Version 0.5.2 steht auf der Seite bereit, nicht nur im Quellcode sondern auch als Ubuntu deb-Pakete für AMD64 und I386. Vielen Dank hier noch einmal an Groening für das ewige ausprobieren und für die kreativen Ideen. :)

Es gibt viele Änderungen und Überraschungen... also auf www.tabos.org/box und die neue Versionen ziehen.

Jan
 
Habe das deb-paket installiert:
apt-cache show ffgtk*
Package: ffgtk2
Status: install ok installed
Priority: extra
Section: comm
Installed-Size: 396
Maintainer: Jan-Michael Brummer <[email protected]>
Architecture: amd64
Source: ffgtk2
Version: 0.5.2
Recommends: libcapifax, libebook
Description: CallMonitor and Fax-Software for AVM Fritz!Box or compatible.
Homepage: www.tabos.org/box

Beim starten von ffgtk bekomme ich:
[InitPrefs]: Error reading prefs: Datei »/home/chris/.ffgtk/prefs.xml« konnte nicht geöffnet werden: No such file or directory
Could not connect socket, abort (-1)

und dann hängt ffgtk. Und nun ? :confused:
 
Der prefs-Fehler ist in Ordnung. Die Datei existiert bis dahin nicht und wird automatisch erstellt.
Der zweite Fehler kommt vom Call-Monitor. Hast du den Port 1012 der FritzBox noch nicht freigeschaltet? -> README
Warum er hier nicht weitergeht... weiß ich nicht. Habe aber in der neuen Version die Calls durch libcurl ersetzt. Aif der Homepage (www.tabos.org/box) gibt es den neuen Quellcode mit ein paar weiteren Änderungen (Thunderbird import, Sounds, ... ).

Viel Spass und Danke für den ersten Report über die Software.
BTW: www.prolinux.de wird in der nächsten Woche über ffgtk berichten...eventuell gibt es bis dahin auch eine neue libcapifax Version mit .pc?
 
Hallo Jan,

die neue Version werde ich spätestens am WE posten. Beim Progress- und Status-Event wird mittlerweile ein Struct übergeben, um mehr Parameter bereitzustellen (Bytes received/sent, Bytes total, Pages, Errorcode, etc..). Also gewisse API-Breaks, die nicht weiter ins Gewicht fallen.

(Das Ganze ist mittlerweile sogar Windows-Kompatibel ;))

EDIT:
Die .pc baue ich mit ein - keine Sorge. Den Wiki-Eintrag werde ich ebenfalls noch erweitern und ffgtk vorstellen.
Ich finde es echt gut, was du der Allgemeinheit zur Verfügung stellst. libcapifax wird demnächst auch eine eigene HP bekommen (inkl. Frontend für Windows). Ich werde dann ebenfalls auf tabos.org/box verlinken, falls erwünscht.

EDIT2:
nochmal kurz zur Info:
bei der neueren libcapifax.so hat man die Möglichkeit, mehrere Empfänger/Sender festzulegen. D.h. es gibt eine Funktion capifax_loop(), welche im Thread ausgeführt werden kann. Werden die Funktionen capifax_send() oder capifax_recv() aufgerufen, kehren diese sofort zurück. Alle Ereignisse werden durch die Callbacks signalisiert.
Parallel Empfangen/Senden würde also auch funktionieren. Ohne capifax_loop()-Thread funktioniert es aber weiterhin wie gewohnt.
 
Zuletzt bearbeitet:
Hallo Marco, kommt Dein Projekt eigentlich in den Freetz trunk?
 
Hallo Jan,
das Directory wird erstellt. Die Datei jedoch nicht.

Port 1012 sagt mir jetzt direkt nichts.
Gibt es dazu einen Hinweis ?
 
Die Datei wird erst gespeichert wenn man bei den Einstellungen Modifikationen vornimmt.
Entschuldige bitte den Verweis auf die README. Ich glaube die ist im deb-Paket nicht enthalten (ist mein erster Versuch deb-Pakete zu backen).

Um den Call-Monitor zu aktivieren wähle am Telefon #96*5*

Erzeugt die neue Version ebenfalls den Hänger?
 
@ao:
Möglich wäre es. Jedoch ist Freetz mehr für Applikationen auf der Box. Die Funktionen der Box auf dem Client nutzen wurde bisher nicht in Angriff genommen.
 
Hallo Jan,
ok die neue Version übersetzt
(nach sudo apt-get libcurl4-gnutls-dev intltool)
und läuft.
Erkennbar am kleinen Icon im Panel bei Ubuntu.
(Hinweis im INSTALL wäre gut)

ffgtk funkioniert auch:
Verbinden mit der FB ist ok, nach Passwort-Eingabe.
Anruferliste kann geladen werden.
SW-Version wird angezeigt. :)

Im README steht:
:
Setting up
---------------
You have to create a CUPS printer using IPP on localhost:9901.
:

Das ist für mich zu wenig.
Wenn ich den Drucker konfiguriere und Warteschlange suche,
hängt die Suche/Druckerkonfiguration. Nach Abruch der Konfig.
werde ich nach einer FaxNr. gefragt. Also kommt was bei ffgtk an.
Ok. Also bei der Konfig. keine Suche, sondern Warteschlange löschen und verifizieren.

Dann werde ich nach einem Druckertyp bzw. ppd-Datei gefragt.
Was muss ich da nehmen ?
Wie werden die Dateien automatisch auf tiff konvertiert vor dem faxen.

Gruß Christian
 
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.