Fax Versand und Fax Empfang auf FritzBox oder PC-Linux

Hat zufällig gerade jemand die Binary von haserl für mipsel-uclibc (Kernel 2.6) greifbar? :)
 
remote CAPI

Hi,

ich möchte CapiSpFax eigentlich über remote CAPI auf meinem NAS (also wie wenn es ein anderer PC wäre() benutzen, schließlich mit Hylafax. Nun bin ich noch am Testen, Versenden hat schonmal geklappt vom Desktop-PC aus, an die Web.de Faxnummer, vom NAS ging es anscheinend auch (warte noch auf die Nachricht bei Web.de, das scheint immer zu dauern).
Nun wollte ich von der Arbeit mir auch mal zu Hause ein Fax senden. Dafür startete ich in einer SSH-Session CapiSpFax im Empfangsmodus auf der NAS:
Code:
./CapiSpFax -i MEINE_FAX_MSN
und versuchte schon mal vom Faxgerät hier zu faxen, an die entsprechende MSN. CapiSpFax geht aber nicht 'ran, in der Anrufliste meiner FritzBox erscheint der Anruf als nicht angenommen. die ganzen analogen und internen ISDN Nebenstellen an meiner Fritzbox haben diese MSN momentan nicht eingestellt, ich will ja nicht, daß es bei Fax klingelt. Meine FBF 7050 hat nun den DS-Mod 14.04.33ds26-15.2 mit aktiviertem rcapid (von ftp://ftp.melware.net/capi-utils). Auf meinem NAS und auch auf dem Desktop habe ich Gentoo mit libcapi vom gleichen Link.
Mache ich denn da was falsch? Ich dachte, die Pobleme die es noch gibt, treten beim Verwenden von CapiSpFax direkt auf der FB?

Schönen Gruß,
Zoolook
 
Rufe man das CapiSpFax mit der Option -vv auf, dann kommt einiges an Debug Ausgabe. Beim Anruf sollte zumindest eine Reaktion kommen, daß der Anruf erkannt wurde, evtl. auch, daß der Anruf angenommen oder ignoriert wird.

Die Probleme, die es noch gibt, hängen nicht davon ab, ob das Programm auf der Box läuft, sondern ob die CAPI der Box verwendet wird. Die Hardware oder die CAPI der Box verfälscht manchmal die Daten, so daß der Faxempfang durcheinander kommt. Für einfache Faxe mit kurzer Übertragungsdauer funktioniert es aber meistens. Je länger die Übertragung, umso wahrscheinlicher, daß dabei ein Fehler auftritt.
 
Nicht dass es am rcapid liegt?
Code:
--- ds26-15.2/make/rcapid/rcapid.mk    2007/11/03 19:49:16    1341
+++ ds26-15.2/make/rcapid/rcapid.mk    2007/11/15 00:38:21    1412
@@ -1,7 +1,10 @@
 RCAPID_VERSION:=0.1
-RCAPID_SOURCE:=rcapid.tgz
-RCAPID_SITE:=http://dsmod.magenbrot.net
-RCAPID_DIR:=$(SOURCE_DIR)/rcapid
+RCAPID_SOURCE:=rcapid-cm.tar.gz
+RCAPID_SITE:=ftp://ftp.melware.de/capi-utils
+RCAPID_DIR:=$(SOURCE_DIR)/rcapid-cm
+#RCAPID_SOURCE:=rcapid.tgz
+#RCAPID_SITE:=http://dsmod.magenbrot.net
+#RCAPID_DIR:=$(SOURCE_DIR)/rcapid
 RCAPID_MAKE_DIR:=$(MAKE_DIR)/rcapid
 RCAPID_BINARY:=$(RCAPID_DIR)/rcapid
 RCAPID_PKG_VERSION:=0.1
@@ -12,16 +15,17 @@
 RCAPID_TARGET_BINARY:=$(RCAPID_TARGET_DIR)/root/usr/sbin/rcapid
 
 $(DL_DIR)/$(RCAPID_SOURCE):
-    @$(DL_TOOL) $(DL_DIR) $(TOPDIR)/.config $(RCAPID_SOURCE) $(RCAPID_SITE)
+    #@$(DL_TOOL) $(DL_DIR) $(TOPDIR)/.config $(RCAPID_SOURCE) $(RCAPID_SITE)
+    wget -P $(DL_DIR) $(RCAPID_SITE)/$(RCAPID_SOURCE)
 
 $(DL_DIR)/$(RCAPID_PKG_SOURCE):
     @$(DL_TOOL) $(DL_DIR) $(TOPDIR)/.config $(RCAPID_PKG_SOURCE) $(RCAPID_PKG_SITE)
 
 $(RCAPID_DIR)/.unpacked: $(DL_DIR)/$(RCAPID_SOURCE)
     tar -C $(SOURCE_DIR) $(VERBOSE) -xzf $(DL_DIR)/$(RCAPID_SOURCE)
-    for i in $(RCAPID_MAKE_DIR)/patches/*.patch; do \
-        $(PATCH_TOOL) $(RCAPID_DIR) $$i; \
-    done
+    #for i in $(RCAPID_MAKE_DIR)/patches/*.patch; do \
+    #    $(PATCH_TOOL) $(RCAPID_DIR) $$i; \
+    #done
     touch $@
 
 $(RCAPID_DIR)/.configured: $(RCAPID_DIR)/.unpacked
MfG Oliver
 
Rufe man das CapiSpFax mit der Option -vv auf, dann kommt einiges an Debug Ausgabe. Beim Anruf sollte zumindest eine Reaktion kommen, daß der Anruf erkannt wurde, evtl. auch, daß der Anruf angenommen oder ignoriert wird.
Also, hier ist der Output, etwas tut sichja, auch die Nummern stimmen (habe ich hier nur verfälscht), aber ich verstehe nicht so recht was sein sollte:
Code:
GenLSPro CapiSpFax-0.0.1 # ./CapiSpFax -vv -i 93xxxx
put_cmsg 'LISTEN_REQ ID=001 #0x0000 LEN=0026
  Controller/PLCI/NCCI            = 0x1
  InfoMask                        = 0x0
  CIPmask                         = 0x20012
  CIPmask2                        = 0x0
  CallingPartyNumber              = default
  CallingPartySubaddress          = default
' -> 0
get_cmsg 'LISTEN_CONF ID=001 #0x0000 LEN=0014
  Controller/PLCI/NCCI            = 0x1
  Info                            = 0x0
'
get_cmsg 'CONNECT_IND ID=001 #0xbbdd LEN=0046
  Controller/PLCI/NCCI            = 0xe01
  CIPValue                        = 0x4
  CalledPartyNumber               = <c1>93xxxx
  CallingPartyNumber              = <21 81>9131616yyyy
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BC                              = <90 90 a3>
  LLC                             = default
  HLC                             = default
  AdditionalInfo                  = default
'
Call from '9131616yyyy' to '93xxxx', PLCI 0xe01
accept call
put_cmsg 'CONNECT_RESP ID=001 #0xbbdd LEN=0034
  Controller/PLCI/NCCI            = 0xe01
  Reject                          = 0x0
  BProtocol
   B1protocol                     = 0xa
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  ConnectedNumber                 = default
  ConnectedSubaddress             = default
  LLC                             = default
  AdditionalInfo
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default
' -> 0
get_cmsg 'DISCONNECT_IND ID=001 #0xbbde LEN=0014
  Controller/PLCI/NCCI            = 0xe01
  Reason                          = 0x0
'
put_cmsg 'DISCONNECT_RESP ID=001 #0xbbde LEN=0012
  Controller/PLCI/NCCI            = 0xe01
' -> 0
Connection terminated, status -2
CAPI_DISCONNECT_IND
Die Probleme, die es noch gibt, hängen nicht davon ab, ob das Programm auf der Box läuft, sondern ob die CAPI der Box verwendet wird. Die Hardware oder die CAPI der Box verfälscht manchmal die Daten, so daß der Faxempfang durcheinander kommt. Für einfache Faxe mit kurzer Übertragungsdauer funktioniert es aber meistens. Je länger die Übertragung, umso wahrscheinlicher, daß dabei ein Fehler auftritt.
Irgendwelche Abhilfe in Sicht?
 
Code:
[B]Call from '9131616yyyy' to '93xxxx', PLCI 0xe01[/B]
[B]accept call[/B]
get_cmsg '[B]DISCONNECT_IND[/B] ID=001 #0xbbde LEN=0014
  Controller/PLCI/NCCI            = 0xe01
  Reason                          = 0x0
'
put_cmsg 'DISCONNECT_RESP ID=001 #0xbbde LEN=0012
  Controller/PLCI/NCCI            = 0xe01
' -> 0
Connection terminated, status -2
CAPI_DISCONNECT_IND
Das besagt, daß das Programm mitgeteilt bekommt, daß ein Anruf hereinkommt (erste Zeile). Weiter, daß es den Anruf annehmen will (zweite Zeile). Und schließlich, daß der Anruf wieder getrennt wird (DISCONNECT).

Jetzt ist noch die Frage, ob das Disconnect sofort nach dem Connect kommt oder erst später. Wenn Du mit einem normalen Telefon die Nummer anrufst, klingelt es dann weiter, oder wird die Verbindung sofort angenommen und beendet?
Kann es sein, daß doch ein anderes Gerät die Verbindung annimmt?

Irgendwelche Abhilfe in Sicht?
Ohne Hilfe von AVM wohl kaum.
Und nach dem, was man liest, funktioniert auch der Faxempfang mit dem Programm von AVM in der entsprechenden Labor-Firmware nicht immer zuverlässig.
 
Jetzt ist noch die Frage, ob das Disconnect sofort nach dem Connect kommt oder erst später. Wenn Du mit einem normalen Telefon die Nummer anrufst, klingelt es dann weiter, oder wird die Verbindung sofort angenommen und beendet?
Sowohl am Faxgerät, als auch am normalen Telefon hört man gar kein Klingeln. Bei beiden kommt nach etwa 2-3 Sekunden Besetzt-Zeichen, am Telefon höre ich vorher gar nichts, am Fax glaube ich, das Gerät will versuchen eine Verbindung aufzubauen (ist aber nicht dieses typische Analogmodemgepfeife, das kommt wohl wenn überhaupt, später).
Kann es sein, daß doch ein anderes Gerät die Verbindung annimmt?
Kann ich mir eigentlich gar nicht vorstellen, in der Fritzbox sind alle Nebenstellen so eingestellt, daß sie nur an die Haupt-MSN und an meine VoIP-Accounts 'rangehen, denn die beiden anderen MSN's will ich für Fax und für Call-Through verwenden.
Ohne Hilfe von AVM wohl kaum.
Und nach dem, was man liest, funktioniert auch der Fax-Empfang mit dem Programm von AVM in der entsprechenden Labor-Firmware nicht immer zuverlässig.
Bleibt uns wohl in dieser Hinsicht nur zu hoffen. Ist das also auf allen FB-Modellen so? Wenn was für die allerneusten in irgendeiner Labor-FW gefixt wird, kann es für unsere älteren Modelle denn auch genutzt werden?
 
Die CAPI-Messages aus dem Protokoll deuten darauf hin, daß die CAPI keinen vollständigen Anruf aufbaut, sondern ihn gleich wieder beendet. Das Programm hat darauf keinen Einfluß, es sagt ja bereits, daß es den Anruf haben will.

Du kannst versuchen, die MSN des Faxgeräts dort an eine Nebenstelle zuzuweisen, zumindest zum Testen.

Die Problem mit der CAPI sind mit bisher nur von der 7170 und dem W900V bekannt. Das liegt aber daran, daß die anderen Boxen nicht schnell genug sind, um selber Faxe zu empfangen. Da es von AVM keine Informationen über die Hardware gibt, könnte die ISDN-Hardware bei den anderen Boxen ähnlich oder auch ganz verschieden sein.

Was vielleicht mit irgendwelchen Updates besser wird und welche Boxen es betreffen könnte, ist alles nur Spekulation.
 
Die CAPI-Messages aus dem Protokoll deuten darauf hin, daß die CAPI keinen vollständigen Anruf aufbaut, sondern ihn gleich wieder beendet. Das Programm hat darauf keinen Einfluß, es sagt ja bereits, daß es den Anruf haben will.
Kann es denn irgendeinen Einfluß haben, daß in /var/flash/ar7.cfg das AVM-eigene capiovertcp nicht aktiviert ist? Wenn ich über CapiSpFax + rcapid ein Fax sende, erscheint in der Anrufliste als Nebenstelle Fon/Fax PC, genauso wie dann, wenn man capiovertcp und dieses Windows-FritzFax benutzen würde.
Du kannst versuchen, die MSN des Faxgeräts dort an eine Nebenstelle zuzuweisen, zumindest zum Testen.
Ich habe es mal probiert, und zwar die MSN die ich für's Fax benutzen würde, einer Nebenstelle an der ich kein Telefon habe, zugewiesen. Außer daß man nun wenn man von außen diese MSN anruft, es in der Leitung klingeln hört, änderst sich scheinbar nichts, im Output von CapiSpFax sieht es wie vorher aus.
 
Mein Webinterface für das Senden von Faxen von der Fritz!Box aus ist fast fertig. Bei meinen (zugegeben bisher nur 1-seitigen) Tests sind keine Fehler aufgetreten. Entsprechend kodierte TIFF Files kann ich schon faxen. Jetzt würde ich gern noch eine "Text to TIFF" Funktion einbauen.

Hier habe ich einen Sourcecode gefunden, von dem ich glaube, dass er auf der Fritz!Box laufen könnte. Leider habe ich keinen Cross-Compiler. Kann bitte jemand mit den nötigen Werkzeugen einen Blick drauf werfen? (Ich bräuchte ein Binary für mipsel-uclibc mit 2.6er Kernel).

Hier ist das komplette Source-Paket:
http://www.sourcefiles.org/Internet/Communications/Fax/efax-0.9.tar.gz
 
Bitteschön.
 

Anhänge

  • efix.gz
    26.4 KB · Aufrufe: 10
siehe Anhang.
 

Anhänge

  • mipsel-linux-efix.tar.gz
    30.7 KB · Aufrufe: 18
Eine Datei, die gesendet werden soll, muß als TIFF-Datei mit G3 Fax-Kodierung vorliegen. Mehrseitige TIFF-Dateien sind möglich. Diese Datei kann von verschiedenen Programmen erzeugt werden.

Ein Beispiel für doofe könnte an dieser Stelle hilfreich sein ;-)

Mit einem empfangenen Fax bekomme ich beim Wiederversenden:

./CapiSpFax -l +kennung -o sende-MSN -d empfänger-MSN -t test.tif
TIFFReadDirectory: Warning, test.tif: wrong data type 4 for "Orientation"; tag ignored.
TIFFReadDirectory: Warning, test.tif: wrong data type 3 for "Group3Options"; tag ignored.
TIFFReadDirectory: Warning, test.tif: wrong data type 4 for "Orientation"; tag ignored.
TIFFReadDirectory: Warning, test.tif: wrong data type 3 for "Group3Options"; tag ignored.

Für den praktischen Gebrauch wäre natürlich ein Umwandlungsprogramm hilfreich, das sich per Skript oder programmatisch einbinden läßt, und das Ausgangsformat automatisch erkennt und umwandelt.

Casual

P.S. Bitte nicht hauen weil das nichts mit der Fritz!Box oder PC oder Linux direkt zu tun hat, Danke!

P.P.S. Bei Verwendung einer mit EOG ( Eye of Gnome ) in .tif umgewandelten .jpg Datei kommt:

./CapiSpFax -l +kennung -o sende-MSN -d empfänger-MSN -t test1.tif
Segmentation fault
 
Zuletzt bearbeitet:
Für den praktischen Gebrauch wäre natürlich ein Umwandlungsprogramm hilfreich, das sich per Skript oder programmatisch einbinden läßt, und das Ausgangsformat automatisch erkennt und umwandelt.

Das ist das oben verlinkte "efix" ;-) Der Output von efix in der Standardeinstellung funktioniert zumindest für einseitige Faxe. Die manpage verrät die möglichen Eingangsformate:

  • fax fax ("Group3") 1-D coded image
  • text text
  • pbm raw PBM (portable bit map)
  • tiffg3 TIFF, Group 3 fax compression
  • tiffraw TIFF, no compression
  • pcx mono PCX
  • dcx mono DCX
 
Hier meine rudimentäre GUI zum Versenden von Faxen: Download

Die Binaries von CapiSpFax und mipsel-linux-efix sind in diesem Thread verlinkt und müssen installiert sein. Folgende Variablen im Skript entsprechend anpassen:

PATHTOCAPISPFAX="/var/media/ftp/*/*/CapiSpFax"
PATHTOEFIX="/var/html/cgi-bin/mipsel-linux-efix"
OUTGOINGMSN="00000"

Ich habe mein /var/html/cgi-bin/ auf USB-Stick kopiert, dort fax.haserl hinzugefügt, und dann das Verzeichnis mit "mount -o bind /var/media/ftp/*/cgi-bin /var/html/cgi-bin" ins laufende System gemountet.

Man kann dann das Skript unter http://fritz.box/cgi-bin/fax.haserl aufrufen.
Eine Faxnummer eingeben, und einen Text oder ein G3 TIFF.

Dies ist mein erstes Haserl-Skript, Erweiterungen und Verbesserungen sind ausdrücklich erwünscht. Bitte Verbesserungen und neue Versionen hier posten!
 
Zusammenfassung im Beitrag #1 wäre hilfreich...

Das ist das oben verlinkte "efix" ;-) Der Output von efix in der Standardeinstellung funktioniert zumindest für einseitige Faxe. Die manpage verrät die möglichen Eingangsformate:

Schönen Dank, probono,

Du verweist allerdings mit "oben" auf Eintrag #171 während ich noch bei #1 war :)

Es wäre schön, wenn RalfFriedl oder der Moderator Beitrag #1 ab und an um wesentliche Erkenntnisse aus dem Diskussionsfaden ergänzen könnten, damit der uneingeweihte Leser nicht erst 171 Einträge, mit allen Irrungen und Wirrungen, abklappern muß.

Casual
 
remote CAPI ???

ich möchte CapiSpFax eigentlich über remote CAPI auf meinem NAS (also wie wenn es ein anderer PC wäre() benutzen, schließlich mit Hylafax. Nun bin ich noch am Testen, Versenden hat schonmal geklappt vom Desktop-PC aus, an die Web.de Faxnummer, vom NAS ging es anscheinend auch (warte noch auf die Nachricht bei Web.de, das scheint immer zu dauern).

Also einige von Euch scheinen ja schon von einem Linux-Rechner erfolgreich über remote CAPI Faxe versendet / empfangen zu haben.

Das geht bei mir leider noch nicht.

FRITZ!Box Fon WLAN 7050 (UI), Firmware-Version 14.04.33
mit rcapid
Notebook mit openSuSE
mit libcapi20

Beim Sendeversuch ist CapiSpFax eine Weile beschäftigt ( Gegenstelle ist meine T-Netbox über die ich grundsätzlich alle Faxe empfange ), leider kommt nichts an.

Die Anrufliste der Fritz!Box zeigt einen abgehenden Anruf von 1 Min Dauer ( 1Min ist die kleinste angezeigte Einheit, es kann auch kürzer sein. ) die Verbindung kam also wohl zustande.

Bei Anruf auf CapiSpFax vom Telefon kommt eine Verbindung zustande und es ist das freundliche Flöten einer Faxgegenstelle zu hören.

Bei Versand von Faxen an CapiSpFax nimmt es den Anruf entgegen und erzeugt eine Datei (z.B. rxfax-475a6e8e-10e01.tif ), die allerdings jeweils nur 8 Byte groß ist.

Was mache ich falsch ?

Casual

P.S. Da es hier offensichtlich zwei Denkschulen gibt ( Nutzung der Fritz!Box als Faxmaschine und Nutzung der Fritz!Box als CAPI Modem ) wäre es vielleicht übersichtlicher den Diskussionsfaden entsprechend aufzuteilen ?

P.P.S. Ausgabe von CapiSpFax mit Option -vv für den Sendeversuch:

kriegaex: zum Zitieren (und dann noch ohne Code-Tags) zu großes Fax-Log in Dateianhang umgewandelt.
 

Anhänge

  • fax-log.txt
    16.8 KB · Aufrufe: 9
Zuletzt bearbeitet von einem Moderator:
Wie wäre es, wenn das Fax-Webinterface seinen eigenen Thread bekommen würde? Ist ja an sich was anderes als das ursprüngliche Thema. Wenn das mehrere Leuten brauchen können, könnte man das auch als Paket für den DSMod bauen. Ich würde das dann sogar so realisieren, dass man optional efix mit dazu packen kann oder auch nicht.
 
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.