Asterisk und Hylafax mit FritzBox zum Laufen bringen

andi70

Neuer User
Mitglied seit
16 Jun 2020
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

ich versuche seit einiger Zeit ein kleines Projekt zum Laufen zu bringen, scheitere aber leider "schon" daran, Asterisk zum Laufen zu bringen.

Mein Ziel: Eingehende FAX-Nachrichten sollen nicht mehr von der FritzBox (aktuell Versand per E-Mail), sondern durch ein Skript auf einem Raspberry Pi verarbeitet werden.

Ich nutze eine FritzBox 7590 (FritzOS 7.12) und einen RaspberryPi 4 (Buster) und Asterisk in der Version 16.2.1. Hylafax ist ebenfalls installiert.
Ich weiß, dass es zahlreiche Einträge gibt, die sich mit dem Thema beschäftigen, aber obwohl ich vieles durchprobiert habe, will es einfach nicht laufen:

-- Registration for '[email protected]' timed out, trying again (Attempt #2)

Diese Fehlermeldung erhalte ich immer, das heißt schon das Registrieren klappt nicht.

Ich habe in der Fritzbox unter Telefonie -> Telefoniegeräte ein neues IP-Telefon angelegt und eingestellt, dass es nur auf Anrufe einer Telefonnummer reagieren soll (der "Fax-Nummer").
Der Benutzername für dieses IP-Telefon lautet "raspi4-1", auf der Übersichtsseite der Telefoniegeräte wird die interne Nummer "**621" angezeigt.

In verschiedenen Anleitungen habe ich gesehen, dass einerseits immer die Nummer verwendet wird (also z.B. 621:[email protected]/621) und einmal der Benutzername.
Ich habe beides ausprobiert und durchkombiniert und dabei immer das Passwort der Benutzers "raspi4-1" verwendet. Genauso habe ich es auch mit der IP-Adresse (192.168.178.1) statt fritz.box versucht.

sip.conf

Code:
[general]
 context=unauthenticated
 bindport=5070
 bindaddr=0.0.0.0
 localnet=192.168.178.0/255.255.255.0
 allowguest=no
 alwaysauthreject=yes
 qualify=yes

register => 621:[email protected]/621

[621]
 type=friend
 qualify=yes
 host=192.168.178.1
 fromdomain=192.168.178.1
 fromuser=raspi4-1
 defaultuser=raspi4-1
 secret=PASSWORT
 insecure=invite
 directmedia=no
 allow=all
 context=fritz_in

extensions.conf

Code:
[fritz_in]
 exten => 621,1,Goto(siptrunk,${SIP_HEADER(To):11:7},1)

[siptrunk]
 exten => _X.,1,Dial(IAX2/iaxmodem)
 exten => _X.,n,Hangup

Ich bin nun leider etwas ratlos und weiß nicht mehr, was ich noch probieren könnte oder woran es liegt. Vielleicht ist es auch einfach ein Anfängerfehler..

Ich hoffe es kann mir jemand helfen.

Viele Grüße

Andi
 
Moinsen


In verschiedenen Anleitungen
"In verschiedenen alten Anleitungen"

Das "register =>" ist für eingehende Anrufe.
Und der Peer "[621]" dient in erster Linie dem eingehenden Anruf den richtigen Kontext bekanntzumachen.
Aber, wenn "raspi4-1" der VoIP-Benutzername ist, dann ist dein "register =>" nach alter Anleitung falsch.
Muss dann...
register => raspi4-1:[email protected]/621
...so aussehen ;)
Siehe in der FRITZ!Box...
Telefonie > Telefoniegeräte > **621 bearbeiten >Tab> Anmeldedaten


PS: Wilkommen im IPPF
 
Zuletzt bearbeitet:
Hallo @koyaanisqatsi

danke für die Rückmeldung.

Ich habe zwischenzeitlich noch einiges mehr probiert und zumindest oben genannter Fehler tritt nicht mehr auf.
Obwohl ich die sip.conf nochmal angepasst hatte, hat es nicht funktioniert, bis ich qualify auf no gesetzt habe. Folgende Konfiguration liefert jetzt zumindest keinen registration time out Fehler mehr.
Allerdings weiß ich nicht, ob das andere Nachteile nach sich zieht.

Code:
[general]
allowguest=no
alwaysauthreject=yes
prematuremedia=no
progressinband=yes

register => raspi4-1:[email protected]/raspi4-1

[raspi4-1]
type=friend
context=fritz_in
allow=all
defaultuser=raspi4-1
fromuser=raspi4-1
fromdomain=192.168.178.1
secret=PASSWORT
host=192.168.178.1
insecure=invite
qualify=no
 
Nöh, aber du hast noch nicht verstanden wofür das "/raspi4-1" am Ende von "register =>" steht?

Der Peername "[raspi4-1]" ist so lange egal, bis du einen Anruf Richtung F!B machen willst.
Dort wird der eingehende Anruf anhand obiger Conf nach "fritz_in" springen.
...und in diesem Kontext die Extension raspi4-1 wählen wollen.

Hast du in der extensions.conf...
Code:
[fritz_in]
exten => raspi4-1,1,verbose(1,Hello World)
...sowas?

Benutze qualify nicht mit der F!B.
OPTIONS Anfragen beantwortet die F!B immer negativ und sie könnte das auch als DoS Attacke sehen.
 
Zuletzt bearbeitet:
So sieht meine extensions.conf jetzt aktuell aus:


Code:
[fritz_in]
 exten => raspi4-1,1,Goto(siptrunk,${SIP_HEADER(To):11:7},1)

[siptrunk]
 exten => _X.,1,Dial(IAX2/iaxmodem)
 exten => _X.,n,Hangup
 
Mach das goto() wie du es willst, z.B....
goto(siptrunk,1111,1)
...weil im To: Header oder der ${EXTEN} steht ja: raspi4-1
Und darauf trifft _X. nicht.

Beziehungsweise
Was kommt denn bei einen...
verbose(1,${SIP_HEADER(To):11:7})
...raus?
 
Zuletzt bearbeitet:
Ich glaube ich kann dir nicht ganz folgen.

Ist diese Zeile hier falsch?
exten => raspi4-1,1,Goto(siptrunk,${SIP_HEADER(To):11:7},1)

Es soll ja "siptrunk" aufgerufen werden, damit iaxmodem das Fax entgegen nimmt.

P.S. Bitte entschuldige, wenn ich mich arg blöd anstelle!
 
_X. Ist ein sogenanntes Muster für Zahlen.
_[a-zA-Z0-9]! Ist ein Muster für Buchstaben und Zahlen.
Jetzt ist raspi4-1 bis auf das Minuszeichen dabei.
Deswegen ist das goto(siptrunk,1111,1) einsfacher, äh, einfacher.
...denn darauf trifft das: _X.
 
Ok das heißt, wenn ich

exten => raspi4-1,1,Goto(siptrunk,${SIP_HEADER(To):11:7},1)

mit

exten => raspi4-1,1,Goto(siptrunk,1111,1)

ersetze, ist soweit alles ok bei meiner Konfiguration?
 
Sieht logisch OK aus, ja.
Obs funktioniert?
Bitte Bitte lass uns/mich nicht im Dunkeln :cool:
 
Das scheint auch geklappt zu haben! Vielen Dank für die Hilfe!

(Dann ist das nächste Projekt nur noch die Möglichkeit des Faxversands mit aufzunehmen. Obwohl ich es nicht wirklich brauche, bestimmt nicht schlecht es trotzdem zu haben.)
 
Wie schon weiter oben geschrieben...
Dein Peer zum Rausrufen ist laut sip.conf: [raspi4-1]
In der extensions.conf wäre dann ein "Rausruf": dial(SIP/${EXTEN}@raspi4-1,120)


PS: Statt 621 ist jetzt raspi4-1 "doppeldeutig"
1x sip.conf ( als Peer )
1x extensions.conf ( als Extension )
Letzteres wird beim "register =>" hinter dem / definiert.
 
Ah jetzt geht ein Licht auf und so macht das auch für mich Sinn.

Vielen Dank und noch einen schönen Abend!
 
Ah jetzt geht ein Licht auf und so macht das auch für mich Sinn.
Du Glücklicher :p
Ick hab Monate gebraucht um das zu kapieren und erst ab dann war sinnvolles/produktives arbeiten mit Asterisk möglich :)


Wenn du die "Faxfunktion" in der FRITZ!Box aktiv hast, kannst du Testanrufe für den Faxempfang in der FRITZ!Box testen.
Mit Anrufe an die Faxfunktion direkt oder an die Memofunktion, die eine Faxerkennung hat.

Anruf an die Faxfunktion...
dial(SIP/**605@raspi4-1,120)
...über die Faxerkennung der Memofunktion, da **600 das Sprachmenü (interner Anruf) abspulen tut.

Direkt an die Faxfunktion
dial(SIP/**329@raspi4-1,120)
Bildschirmfoto vom 2020-06-17 08-11-23.png
( Zum Test mit DECT-Mobilteil angerufen )
...ist noch relativ undokumentiert ;)

Die interne Faxfunktion macht auch produktiv Sinn...
1. Wenn Faxe als PDF intern gespeichert werden sollen
2. Und/Oder Fax-PDF via EMail-Weiterleitung gewünscht ist
 
Zuletzt bearbeitet:
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.