Asterisk Fax T.38 gateway, termination, origination

dalepbx

Neuer User
Mitglied seit
24 Feb 2010
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe ein Problem mit unzuverlässigem Faxbetrieb bei folgender Anlage:

- Digium TE121 an einem Primärmultiplexanschluss
- Debian Kiste mit Asterisk 1.4
- Grandstream GXW-4008 SIP ATA an welche die Faxgeräte angeschlossen sind.

Das ganze Setup sieht dann so aus:

PMX <-> Digium <-> Asterisk <-> SIP/RTP <-> Grandstream <-> Faxgerät(e)

Theoretisch funktioniert das wunderbar, allerdings ist die Zuverlässigkeit beim Faxen gering (je mehr Seiten und/oder Grafiken desto mehr Faxabbrüche).

Bei meinen bisherigen Recherchen bin ich auf zwei Faktoren gestoßen welche solche Probleme verursachen können:

1)
Die Sip/RTP Kommunikation zwischen Grandstream und Asterisk geht über Ethernet, welches sich ja bekanntlich wenig deterministisch verhält (z.B. Jitter, Paketverluste, ...). So was mag Fax (T.30) leider gar nicht.

2)
Das ISDN Netz, also der PMX und der Grandstream haben ein unterschiedliches Timing (clock source), was das sehr zeitkritische Fax ebenfalls nicht mag.

Ich habe mir nun mal eine kleine Testanlage mit einem Asterisk svn checkout (also 1.6.superaktuell) von Montag aufgebaut, inklusive Spandsp. ReceiveFAX funktioniert, T.38 auch.

Problem 1) möchte ich durch die Verwendung von T.38 lösen.

Zu Problem 2) bräuchte ich eben eine "Umwandlung" von T.38 zu "ISDN". Ich vermute so was nennt man "Fax relay" (vgl. http://www.voip-info.org/wiki/view/Asterisk+fax). Allerdings habe ich keine Ahnung wie man so etwas einrichtet bzw. was da eigentlich der richtige Ansatz ist.

Für jegliche Vorschläge zu meinem Problem bin ich sehr dankbar. (Das es etliche "Lösungen" mir komplett anderer Hardware gibt ist mir jedoch schon bekannt)
 
Danke für die schnelle Antwort!

D.h. Fax Relay:

T.38 relay:
In fax relay mode, gateways terminate T.30 fax signaling by spoofing a virtual fax machine to the locally attached fax machine. Unlike in-band faxing or fax pass-through, fax relay breaks down the T.30 fax tones into their specific HDLC frames (demodulation), sends the information across the voice network using the fax relay protocol (T.38), and then converts the bits back into tones at the far side (modulation). The fax machines on either end are sending and receiving tones and are not aware that a demodulation/modulation fax relay process is occurring.

und Gateway sind das selbe bzw. hängen zusammen?

Wird dann bei einem Aufruf von FaxGateway, z.B.

[faxt38]
exten => _X.,1,FaxGateway(DAHDI/G0/${EXTEN})

automatisch diese Relay-Funktion verwendet?

Leider ist die Informationslage zu all diesem extrem dürftig im Netz...
 
pi4tel;1493264 [url schrieb:
https://issues.asterisk.org/view.php?id=13405[/url]

Danke für den Link!

T.38 Gateway Funktionalität ich mittlerweile am Laufen. Ich poste einfach mal was ich so gemacht habe, zum einen als Bump bzw. RFC, zum anderen weil es ja auch andere interessieren könnte ;)
Code:
Asterisk 1.6 with T.38 Gateway functionality:
=============================================

Installation:
-------------

apt-get install gcc g++ make libxml++2.6-dev libncurses5-dev libtiff4-dev linux-headers-2.6.26-2-686
   (linux-headers according to uname -a)

cd /usr/src

wget http://www.soft-switch.org/downloads/spandsp/old/spandsp-0.0.5pre4.tgz
   spandsp is needed for:
   - app_fax -> "T.38 termination & origination"
     (http://www.voip-info.org/wiki/view/Asterisk+T.38)
   - FaxGateway() from t38-gw-dial-r240716.patch
   (with newer versions of spandsp asterisk will not compile with t38-gw-dial-r240716.patch applied)

tar xzvf spandsp-0.0.5pre4.tgz
cd spandsp-0.0.5
./configure --prefix=/usr
make
make install

svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk
   t38-gw-dial-r240716.patch needs to be applied against revision 240716:
svn update -r 240716 http://svn.digium.com/svn/asterisk/trunk asterisk
cd asterisk
patch -p 0 < ../t38-gw-dial-r240716.patch

svn checkout http://svn.digium.com/svn/dahdi/linux/trunk dahdi-linux
svn checkout http://svn.digium.com/svn/dahdi/tools/trunk dahdi-tools
svn checkout http://svn.digium.com/svn/libpri/branches/1.4 libpri

cd ../libpri 
make
make install

cd ../dahdi-linux
make
make install

cd ../dahdi-tools/
./configure
make menuselect (select all)
make 
make install
make config
   Throws: ... No hardware found
   -> /etc/dahdi/modules can be edited to avoid loading of unneeded modules

cd ../asterisk
./configure
make menuselect (check if app_fax is available and checked)
make
make install


Test configuration:
-------------------

/etc/asterisk/sip.conf
[general]
port=5060
bindaddr=0.0.0.0

'Fax machine connected to Grandstream
[305]
type=friend
secret=1234
host=dynamic


/etc/asterisk/extensions.conf
[default]
exten => 305,1,FaxGateway(SIP/305)
exten => _00.,n,Dial(DAHDI/g0/${EXTEN:2})

Leider kann ich das auf dem Testserver nicht abschliessend testen, da dieser keine Digium-Karte sondern nur ne Fritz! :silly: hat. Um mich, trotz des anscheinend mittlerweile im Kernel vorhandenen Fritz!-Treibers, nochmal auf so ne Fritz!-Oddysee einzulassen, fehlt mir irgendwie die Motivation.

Vielleicht kann ich das nächste woche mal auf dem Produktivsystem testen...
 
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.