[Problem] Sporadischer Ausfall beim Faxempfang mit Asterisk + Hylafax + Iaxmodem

Felix88

Neuer User
Mitglied seit
21 Apr 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich habe ein Problem mit einer Asterisk + Hylafax + Iaxmodem Konfiguration unter Debian.
Das Faxmodem hat sporadische Ausfälle und nimmt gelegentlich die ankommenden Faxe, auch nach mehreren Versuchen der Gegenstelle nicht an.
In den Log-Files ist keine Fehlermeldung zu finden. Es ist keine Regelmäßigkeit im Auftreten des Fehlers und in der Häufigkeit zu erkennen. Erst nach dem Neustarten von Hylafax und Iaxmodem ist das Problem in manchen Fällen behoben, wobei auch da keine Garantie besteht. Der Fehler kann auch schon beim Ersten zu empfangendem Fax nach einem Neustart auftreten.
Hat hier jemand vielleicht schon mal ein ähnliches Problem gehabt oder weiß eine Lösung?


Vielen Dank

Felix


Software Versionen:
Debian - 6.0.3
Asterisk - 1.6.2.9-2+squeeze3
Hylafax - 6.0.5-4
Iaxmodem - 1.2.0


Ausschnitt: /etc/asterisk/iax.conf
Code:
[general]
bindport=4569
bindaddr=0.0.0.0
disallow=all
allow=ulaw
allow=alaw
calltokenoptional = 127.0.0.1
iaxcompat=yes
minregexpire = 40
maxregexpire = 3600
autokill=yes

[iaxmodem]
type = friend
secret = xxxxxx
port = 4570
host = dynamic
context = default
allow = alaw
requirecalltoken=no


Ausschnitt: /etc/asterisk/extensions.conf
Code:
exten => 66,1,Dial(IAX2/iaxmodem,10)
exten => 66,n,Dial(SIP/${EXTEN})
(Es wurde eine Weiterleitung auf ein Faxgerät als Fallback Lösung eingerichtet, wobei Das keine langfristige Lösung darstellt)


Ausschnitt: /etc/hylafax/config.ttyIAX0

Code:
CountryCode:        49
AreaCode:        xxxx
FAXNumber:        +49xxxxxxxxxxxx
LongDistancePrefix:    0
InternationalPrefix:    00
DialStringRules:    etc/dialrules
ServerTracing:        1
SessionTracing:        11
RecvFileMode:        0600
LogFileMode:        0600
DeviceMode:        0600
RingsBeforeAnswer:    1
SpeakerVolume:        off
GettyArgs:        "-h %l dx_%s"
LocalIdentifier:    "NothingSetup"
TagLineFont:        etc/lutRS18.pcf
TagLineFormat:        "From %%l|%c|Page %%P of %%T"
MaxRecvPages:        25
#ModemResetCmds:        "ATH1\nAT+VCID=1"    
ModemType:        Class1        # use this to supply a hint
Class1Cmd:        AT+FCLASS=1.0    # command to enter class 1.0
Class1PPMWaitCmd:    AT+FTS=7    # command to stop and wait before PPM
Class1TCFWaitCmd:    AT+FTS=7    # command to stop and wait before TCF
Class1EOPWaitCmd:    AT+FTS=9    # command to stop and wait before EOP
Class1SwitchingCmd:    AT+FRS=7    # command to stop and listen for silence
Class1RecvAbortOK:    200        # wait 200ms for abort response
Class1FrameOverhead:    4        # 4 byte overhead in recvd HDLC frames
Class1RecvIdentTimer:    40000        # 35+5secs waiting for ident frames
Class1TCFMaxNonZero:    10        # max 10% of data may be non-zero
Class1TCFMinRun:    1000        # min run is 2/3rds of TCF duration
(Evtl liegt der Fehler in der Zeile „ModemResetCmds: "ATH1\nAT+VCID=1"“ welche von mir nachträglich eingefügt wurde, ich aber keine Änderung feststellen konnte)


Ausschnitt: /etc/iaxmodem/ttyIAX0
Code:
device          /dev/ttyIAX0
owner           uucp:uucp
mode            660
port            4570
refresh         60
server          127.0.0.1
peername        iaxmodem
secret          xxxxxx
codec           alaw
iax2debug
dspdebug


Asterisk Terminal: iax2 show peers
Code:
Name/Username    Host                 Mask             Port          Status
iaxmodem         127.0.0.1       (D)  255.255.255.255  4570          Unmonitored


Debian Terminal: faxstat
Code:
HylaFAX scheduler on asterisk: Running
Modem ttyIAX0 (+49xxxxxxxxxxxxx): Running and idle

Debian Terminal: ps aux | grep fax
Code:
uucp     15115  0.0  0.4   4844  2196 ?        Ss   Aug13   0:09 /usr/sbin/faxgetty ttyIAX0
uucp     15879  0.0  0.2   5888  1240 ?        Ss   Aug13   0:00 /usr/sbin/faxq
uucp     15884  0.0  0.3   4700  1556 ?        S    Aug13   0:00 /usr/sbin/hfaxd -d -i 45

Debian Terminal: ps aux | grep iaxmodem

Code:
uucp     19514  0.0  0.2   2408  1160 pts/0    Ss+  Aug18   0:24 /usr/bin/iaxmodem ttyIAX
 
Zuletzt bearbeitet:
"Nichtannahme" von Faxen ist in der Regel ein Hinweis darauf, dass der Status des faxgetty-Prozesses (also letztlich des Faxmodems) im Moment des Verbindungsversuchs nicht "Running and idle" ist.

Das kann in dieser Konstellation sowohl an iaxmodem als auch an faxgetty (respektive Hylafax) liegen.
Wenn das sporadisch auftritt könntest Du zwischen die beiden Dialplanzeilen (also nach dem Versuch, das iaxmodem anzurufen) ein System()-Kommando einbetten, das den Zustand von iaxmodem und faxgetty (respektive faxstat) in diesem Moment per Shell-Skript ermittelt und in eine Datei schreibt.

Es kommt durchaus mal vor, dass sich ein iaxmodem-Prozess oder auch ein faxgetty-Prozess "aufhängt", das führt dann regelmäßig dazu, dass das Modem nicht in "Running and idle" zurückkehrt. Dann hilft nur das Terminieren der Prozesse (faxgetty bzw. iaxmodem) und deren Neustart.
 
Hallo hast du dein Problem in den Griff bekommen ?

Habe exakt das gleiche Problem :/

@abw1oim: Wie genau könnte die Zeile aussehen um den Statud in eine Datei zu schreiben ?

Meine Telefonanlage:
Debian GNU/Linux 6.0.7 (squeeze)
Asterisk 1.8.23.0
(HylaFAX (tm) Version 6.0.5)
Iaxmodem - 1.2.0
 
Das ist nun trivial (steht nämlich schon bei [noparse]Felix88)[/noparse]

Asterisk:
Code:
exten => 66,1,Dial(IAX2/iaxmodem,10)
exten => 66,n,System(/usr/local/bin/status.sh)
exten => 66,n,Dial(SIP/${EXTEN})

/usr/local/bin/status.sh
Code:
#!/bin/bash

faxstat >> /tmp/status.log
ps aux | grep fax >> /tmp/status.log
ps aux | grep iaxmodem >> /tmp/status.log


Dann sollten in /tmp/status.log fortwährend Einträge geschrieben werden, wenn das Fax nicht rangeht. Das ganze kann man natürlich viel hübscher machen (mit Timestamps etc)
 
Hallo,
für das eigentliche Problem habe ich noch keine Lösung gefunden. Ich habe vor etwa einer Woche den Tipp von abw1oim befolgt und ähnlich wie er es jetzt beschrieben hat einen aufruf eines Shell Scripts eingefügt.
Vielen Dank noch an dieser Stelle :D
Ich hatte aber seit dem keinen Ausfall mehr. Und das nach etlichen Testfaxen... Darum gab es von mir bisher auch kein Feedback. Aber die Machine läuft jetzt wieder im operativen Betrieb und sobald ich einen Eintrag in der "Status Datei" sehen sollte, werde ich mich melden.
 
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.