[Gelöst] Schwierigkeiten mit der Installation von Iaxmodem

Xantorix

Mitglied
Mitglied seit
19 Mrz 2009
Beiträge
370
Punkte für Reaktionen
2
Punkte
18
Hallo Asteriskianer,
ich hab ein Problem bei der Installation auf meinen Server. Ich bekomme das Iaxmodem nicht online.

Ein " iax2 show peers " bringt:
Code:
Name/Username    Host                                           Mask                                      Port           Status      Description                 

iaxmodem         (null)                                   (D)  (null)                                    (null)         UNKNOWN                                 

1 iax2 peers [0 online, 1 offline, 0 unmonitored]
Ich vermute mal ein Rechteproblem. Ich hab alles als root auf dem Server installiert.

Kann hier jemand helfen?

Danke Gruß Xante

[Edit Novize: Beiträge gemäß der Forumsregeln zusammengefasst ]

Ein wenig weiter bin ich. Mit " /usr/bin/iaxmodem ttyIAX0 " kann ich das Iaxmodem starten. Komisch ist noch das bei Mask (null) steht und das es nicht automatisch startet.

Jemand ne Lösung?

Ich vermute es hängt an systemd. Ich hab laut Anleitung eine inittab angelegt. das geht nicht.

update: Mit " /etc/init.d/iaxmodem " bekomme ich es auch gestartet. Dann ließ sich hylafax installieren und einrichten. Leider überlebt das keinen reboot.

Danke Xante

Neuestes Problem: faxstat bringt "Can not reach service hylafax at host "localhost"."
 
Zuletzt bearbeitet:

gehtdoch

Neuer User
Mitglied seit
3 Feb 2019
Beiträge
198
Punkte für Reaktionen
12
Punkte
18
Wenn Du ein systemd basiertes System hast, arbeitest Du am Besten auf systemd-Basis. Vergiss inittab und /etc/init.d/ und alle möglichen anderen Dinge. Da sieht man mal wieder das Problem der tausend Dokus im Internet, bei denen kein Datum dabeisteht und man daher nicht weiß, wie alt (und damit brauchbar) die sind.

Auf einem systemd-System legst Du am Besten ein systemd service-File an und operierst damit.

Bsp. (aber nicht blind übernehmen, sondern prüfen, in wie weit das auf Deine vorhandenen Verhältnisse passt):
Code:
# systemctl cat [email protected]
# /usr/lib/systemd/system/[email protected]
[Unit]
Description=Software Modem for Hylafax and IAX2 %I

[Service]
Restart=always
RestartSec=30
Type=simple
PIDFile=/var/run/iaxmodem.pid
ExecStart=/usr/sbin/iaxmodem %I

[Install]
WantedBy=multi-user.target
Starten kannst Du das Ganze dann mit
Code:
systemctl start [email protected]
oder
systemctl start [email protected]
oder wieviel Devices Du auch immer benötigst. Wobei ttyIAX[x] der Devicename in /dev/ ist (also ttyIAX0, ttyIAX1, ..)

Damit das Teil beim Booten automatisch startet noch ein freundliches
Code:
systemctl enable [email protected]
ausführen

Die Konfig für das einzelne Device ist in /etc/iaxmodem/ als Datei ttyIAX0, ttyIAX1, ...
mit dem Inhalt (welchen Du sinnvoll für Dich anpassen musst) anzulegen:
Code:
device          /dev/ttyIAX0
owner           uucp:uucp
mode            660
port            4570
refresh         120
server          127.0.0.1
peername        Nummer in Asterisk
secret          account-password in asterisk
;codec           slinear
nojitterbuffer
;skew macht die Sache nur schlechter - zumal iaxmodem an der Stelle top ist - in 1.1.1 nicht enthalten!
;skew            -2

codec           alaw
; Debug options
; record creates /tmp/$peername-dsp.raw and /tmp/$peername-iax.raw
; convert to playable wav with:
; sox -e signed-integer -b 16 -r 8000 -c 1 $peername-iax.raw $peername-iax.wav
; sox -e signed-integer -b 16 -r 8000 -c 1 $peername-dsp.raw $peername-dsp.wav
;record
;dspdebug
;iax2debug

;nodeamon
Das iaxmodem-Device muss nun einerseits bei hylafax bekannt gemacht werden - und andererseits bei Asterisk (damit es sich dort registrieren kann). Bei Asterisk musst Du ein iax-Device anlegen und bei hylafax ein Modem (mit faxsetup - das iaxmodem sollte zu diesem Zeitpunkt schon laufen).
 

Xantorix

Mitglied
Mitglied seit
19 Mrz 2009
Beiträge
370
Punkte für Reaktionen
2
Punkte
18
Vielen Dank für deine Antwort. Ich bin mit den anlegen des Service weiter gekommen.
Leider ist es aber noch nicht ganz gut. Ich kann noch nicht faxen.

Ein " faxstat - v " bringt mir folgendes:
Code:
Trying localhost [2] (127.0.0.1) at port 4559...
Can not reach service hylafax at host "localhost".
Was mich auch wundert. Ein " asterisk*CLI> iax2 show peers " zeigt mir folgendes:
Code:
Name/Username    Host                                           Mask                                      Port           Status      Description                     
iaxmodem         127.0.0.1                                (D)  (null)                                    4570           OK (1 ms)                                   
1 iax2 peers [1 online, 0 offline, 0 unmonitored]
Das (null) bei Mask verunsichert mich.

Wo könnten meine Fehler liegen?

Gruß Xante
 

gehtdoch

Neuer User
Mitglied seit
3 Feb 2019
Beiträge
198
Punkte für Reaktionen
12
Punkte
18
Hylafax:
der Befehl heißt
Code:
faxstat -v
ohne Leerzeichen zwischen "-" und "v"

Dein Problem:
Der Port ist nicht erreichbar -> hylafax ist nicht gestartet. Musst Du vorher starten. Wenn er sich nicht starten lässt: dann musst Du nach dem Fehler im Log suchen (/var/log/messages). Oder Portfilter entsprechend konfigurieren, dass der Zugriff auf den Port erlaubt ist.

Warum Asterisk bei Mask null anzeigt, kann ich Dir leider nicht sagen - bei mir ist es jedenfalls 255.255.255.255 (was auch ok ist).
 

Xantorix

Mitglied
Mitglied seit
19 Mrz 2009
Beiträge
370
Punkte für Reaktionen
2
Punkte
18
Hallo, so langsam verzweifle ich. In den logs finde ich nichts auffälliges und die Ports sind freigegeben. (lief ja vor dem Neuaufsetzen des Servers schon mal)
Ich habe jetzt noch ein Systemd Unit für faxgetty angelegt.
Aber müsste das nicht nach einer Installation aus den Paketquellen alles schon richtig sein? Ich kann mich nicht erinnern früher die Units händig angelegt zu haben.
Ich glaube da läuft einiges Quer. Ich würde gerne nochmal neu anfangen mit dem Faxserver. Schritt für Schritt um meinen Fehler zu finden.

Was möchte ich eigentlich?
  • Asterisk, Hylafax und Iaxmodem alles vollständig entfernen
  • Alles in der richtigen Reihenfolge neu installieren und einrichten
Mein Ziel ist es abgehend über die Fritzbox zu faxen. Superluxus wäre noch ein Faxbericht als pdf Datei in einem Verzeichnis des Servers.

Kann mir jemand da helfen damit es nicht wieder in so einem Chaos endet.

Lieben Dank Gruß Xante

Also Asterisk, Hylafax und Iaxmodem ist entfernt. Auch habe ich die Portfreigaben in der Fritzbox mal wieder entfernt.

Was sollte ich zuerst installieren? Normal Asterisk? Oder?

Update:

So ihr Lieben. Ich habe alles nochmal von Anfang an gemacht. DerAsterisk läuft jetzt ohne Fehler und Warnungen. Er lässt sich stoppen und neu starten.
Leider scheint es jetzt einen Fehler beim Iaxmodem zu geben. Ich bekomme es nicht online. Dadurch komme ich natürlich nicht weiter.

Wo muss ich schauen damit ich das ttyIAX0 online bekomme? Die Systemunit habe ich erstellt und Iaxmodem Service startet scheinbar unauffällig.

Update:

So das Iaxmodem ist nun auch online. War ein falsches Verzeichnis in der System Unit.
Leider kann ich noch nicht faxen.

Das Iaxmodem verwendet einen falschen Port und Mask null
.

Code:
omv-office*CLI> iax2 show peers
Name/Username    Host                                           Mask                                      Port           Status      Description                    
iaxmodem         127.0.0.1                                (D)  (null)                                    50981          OK (2 ms)                                  
1 iax2 peers [1 online, 0 offline, 0 unmonitored]
Update:

Wenn ich die unit für systemd lösche bekommt das Iaxmodem den richtigen Port 4570 aber immer noch Mask null. Faxen nicht möglich.

Was ist jetzt noch falsch?

Bitte helft mir noch einmal. Danke Gruß Xante
 
Zuletzt bearbeitet:

gehtdoch

Neuer User
Mitglied seit
3 Feb 2019
Beiträge
198
Punkte für Reaktionen
12
Punkte
18
Update:

Wenn ich die unit für systemd lösche bekommt das Iaxmodem den richtigen Port 4570 aber immer noch Mask null. Faxen nicht möglich.
Wenn Du die systemd-service-Konfig entfernst und iaxmodem dann scheinbar korrekt manuell startet, hast Du im Zusammenhang mit dem iaxmodem und systemd ein Problem - offensichtlich wird dann dem iaxmodem-Prozess nicht die korrekte Konfig mitgegeben (oder der zieht sich irgendwas anderes an).

Sollte so aussehen, wenn das korrekt funktioniert:
Code:
# systemctl status [email protected][email protected] - Software Modem for Hylafax and IAX2 ttyIAX0
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled)
   Active: active (running) since Di 2020-08-04 06:17:57 CEST; 2 months 16 days ago
Main PID: 716 (iaxmodem)
   CGroup: /system.slice/system-iaxmodem.slice/[email protected]
           └─716 /usr/sbin/iaxmodem ttyIAX0
iaxmodem ist hier übrigens Version 1.3.1. Keine Ahnung, ob ältere Versionen diese Art der Konfig schon unterstützen. Die Konfig muss dann ausschließlich in /etc/iaxmodem/ttyIAX0 liegen - sonst nirgendwo! Den Inhalt der Konfig habe ich Dir ja anfangs schonmal genannt.

Was systemd angeht: hier musst Du auch aufpassen, dass nicht evtl. eine zweite service-Konfiguration in /etc/systemd/system/ dazwischenfunkt - die in /etc/systemd/system überschreibt nämlich die in /usr/lib/systemd/... . D.h., Du kannst die service-Definition gerne auch nach /etc/systemd/system/ verschieben - dann bist Du sicher, dass tatsächlich die zieht.

Ich sehe das Problem übrigens bis auf Weiteres nicht an der Mask-Thematik, dass Du bisher nicht faxen kannst. Wovon reden wir überhaupt? Von eingehenden Faxen (von FreePBX her nach innen kommend) oder von ausgehenden Faxen (von Hylafax aus kommend Richtung FreePBX). Das ist nämlich ein gewaltiger Unterschied. Kannst Du das mal bitte definieren?

Ach so, noch was zur Ergänzung bzw. zur besseren Übersicht in Sachen Zusammenspiel der diversen Komponenten:
Ausgehendes Fax:
  1. Fax wird via hylafaxclient an hylafax übergeben
  2. hylafax baut daraus eine dem Faxstandard entsprechende Datei und übergibt diese an
  3. iaxmodem via /dev/ttyIAX0 via serieller Schnittstelle (ModemType: Class1 / das ist die Configdatei des Modemdevices in hylafax für ttyIAX0)
  4. iaxmodem macht via iax als extension die Verbindung zu asterisk auf
  5. Asterisk stellt via Trunk die Verbindung nach außen dar und "wählt" die Zielfaxnummer an.
Eingehendes Fax:
Hier gibt es zweit Möglichkeiten: entweder direkt über FreePBX (ja, die können das auch) oder über hylafax / iaxmodem. Da die via FreePBX einfach ist, beschreibe ich die mal nicht. Via hylafax geht es so:
  1. Weitere iax extension in FreePBX anlegen
  2. zweites Hylafaxmodem (ttyIAX1) damit verbinden - Das Modem übergibt dann via /dev/ttyIAX1 an
  3. faxgetty (ist Teil von hylafax - verwendet im Prinzip die gleiche Konfig wie das ausgehende Fax oben - muss eben nur config.ttyIAX1 heißen), welches das Fax an
  4. hylafax übergibt.
  5. hylafax schickt das Ganze dann als Mail weg z.B.

Die systemd-service-Konfig für faxgetty:
Code:
# sytemctl cat [email protected]
# /usr/lib/systemd/system/[email protected]
[Unit]
Description=HylaFAX faxgetty for %I
Documentation=man:faxgetty(8C)
[email protected]

[Service]
ExecStart=-/usr/sbin/faxgetty %I
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
KillMode=process
IgnoreSIGPIPE=no

[Install]
WantedBy=multi-user.target
Zur weiteren Vorgehensweise: Die Aussage, Faxen geht nicht, ist ziemlich nichtssagend. Bitte prüfe für den nächsten Schritt, wie weit Du im jeweiligen Fall konkret kommst auf Basis der von mir genannten Schritte. Wo treten die Fehler auf? Sonst wird das nämlich nichts mit der Unterstützung :)
 
Zuletzt bearbeitet:

Xantorix

Mitglied
Mitglied seit
19 Mrz 2009
Beiträge
370
Punkte für Reaktionen
2
Punkte
18
Hallo, vielen Dank für deine Mühe mit mir.

Tut mir leid, wenn meine Ausführungen nicht immer geeignet sind richtig zu helfen.
Ich bin auf diesem Gebiet ein rechter Anfänger.

Da ich gar nicht weiter kam, installierte ich alles nochmals neu. Asterisk 13.36.0, Iaxmodem 1.2.0 und Hylafax 6.0.6.

Mir geht es ausschließlich um abgehende Faxe über Hylafax.

Jetzt funktioniert es auch und ich kann wieder mit dem Client yajhfc Faxe versenden.

Eine Unit für systemd musste ich nicht erstellen. Wahrscheinlich wurde die bei der Installation richtig angelegt.

Könnte ja sein das das Anlegen der 2. Unit dazwischen gefunkt hat. Na jedenfalls faxt es wieder. Danke für die Gedankenanstöße.

Jedoch hab ich immer noch das Mask null Problem. Ich bin mir sicher da stand früher 255.255.255.0 oder 255.255.255.255.
Aber es beeinflusst scheinbar die Funktion nicht.

Kannst du mir evt. schreiben, wie ich automatisch einen Faxbericht in ein Verzeichnis bekomme? Das fehlt mir noch zum Glück.

Gruß Xante
 

gehtdoch

Neuer User
Mitglied seit
3 Feb 2019
Beiträge
198
Punkte für Reaktionen
12
Punkte
18
Gratulation für Deine Ausdauer! Hylafax ist nicht gerade die einfachste Nummer!

Thema Faxbericht:
Den kannst Du Dir im yajhfc mit Rechts-Click auf das gesendete Fax ausdrucken lassen und per Auswahl an eine beliebige Stelle speichern lassen (statt auf den Drucker zu schieben).
Ansonsten müsstest Du das Ganze automatisieren auf dem Hylafax-Server. Da gibt es die relevanten Verzeichnisse in /var/spool/hylafax/... . Allerdings musst Du Dir dann das verschickte Dokument u.U. aus verschiedenen Dateien zusammenbauen (z.B. cover, falls verwendet). Am Einfachsten dürfte das über das Kontextmenue von yajhfc gehen.
 

Xantorix

Mitglied
Mitglied seit
19 Mrz 2009
Beiträge
370
Punkte für Reaktionen
2
Punkte
18
Hallo, das mit dem Ausdrucken aus yajhfc ist mir bekannt.
Ich möchte das automatisch bei erfolgreichem Versand machen.
Es sollte eine PDF in ein Verzeichnis im Server gespeichert werden.
Gruß Xante
 
3CX

Statistik des Forums

Themen
236,505
Beiträge
2,077,740
Mitglieder
357,983
Neuestes Mitglied
Hayn1986