Hylafax + Capi4Hylafax + mehrere MSNs + Fax2Email für jede MSN

Kintac

Neuer User
Mitglied seit
15 Jan 2005
Beiträge
135
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich möchte gerne eingehende Fax auf verschiedene MSNs empfangen und diese dann an die entsprechenden Empfänger per Email zusenden.

Was geht nun alles?


In der /etc/config.faxCAPI habe ich einiges ergänzt. Für jede MSN wurde ein device angelegt:


Code:
{
HylafaxDeviceName: faxCAPI
RecvFileMode: 0666
FAXNumber: +49.951.937.0151
LocalIdentifier: "9370151"
MaxConcurrentRecvs:         2
OutgoingController:         1
OutgoingMSN:                7340151
SuppressMSN:                0
NumberPrefix:
RingingDuration:            0
}


{
HylafaxDeviceName: dev51
RecvFileMode: 0666
FAXNumber: +49.951.937.0151
LocalIdentifier: "9370151"
MaxConcurrentRecvs:         2
OutgoingController:         1
OutgoingMSN:                7340151
SuppressMSN:                0
NumberPrefix:
RingingDuration:            0
}

{
HylafaxDeviceName: dev52
RecvFileMode: 0666
FAXNumber: +49.951.937.0152
LocalIdentifier: "7340152"
MaxConcurrentRecvs:         2
OutgoingController:         1
OutgoingMSN:                7340152
SuppressMSN:                0
NumberPrefix:
RingingDuration:            0
}

Nach einem Neustart erscheinen diese auch unter:

Code:
/var/spool/fax # ls -l
total 72
-r--r--r-- 1 fax  uucp    5426 Jun  7 02:37 COPYRIGHT
prw------- 1 fax  uucp       0 Nov 19 07:24 FIFO
prw-rw-rw- 1 fax  dialout    0 Nov 19 07:24 FIFO.dev51
prw-rw-rw- 1 fax  dialout    0 Nov 19 07:24 FIFO.dev52
prw-rw-rw- 1 fax  dialout    0 Nov 19 07:24 FIFO.faxCAPI
drwx------ 2 fax  uucp    4096 Jun  7 02:37 archive
drwxr-xr-x 2 fax  uucp    4096 Nov 18 14:40 bin
drwxr-xr-x 2 fax  uucp    4096 Nov 18 14:48 client
drwxr-xr-x 2 fax  uucp    4096 Nov 14 10:04 config
drwxr-xr-x 2 fax  uucp    4096 Nov 14 10:01 dev
drwx------ 2 fax  uucp    4096 Nov 17 08:51 docq
drwx------ 2 fax  uucp    4096 Nov 17 07:44 doneq
drwxr-xr-x 3 fax  uucp    4096 Nov 18 14:50 etc
drwxr-xr-x 2 fax  uucp    4096 Jun  7 02:37 info
drwxr-xr-x 2 fax  uucp    4096 Nov 18 14:46 log
drwx------ 2 fax  uucp    4096 Jun  7 02:37 pollq
drwxr-xr-x 2 fax  uucp    4096 Nov 18 14:46 recvq
drwx------ 2 fax  uucp    4096 Nov 17 08:52 sendq
drwxr-xr-x 2 fax  uucp    4096 Nov 17 15:07 status
-rw-r--r-- 1 root root       5 Nov 14 10:34 text.txt
drwx------ 2 fax  uucp    4096 Nov 17 08:51 tmp

hylafax läuft soweit und ich kann Faxe senden und empfangen:

Code:
hyla:/var/spool/fax # faxstat -r
HylaFAX scheduler on hyla.mydomain.de: Running
Modem faxCAPI (+49.231.734.0150): Running and idle
Modem dev51 (+49.231.734.0151): Running and idle
Modem dev52 (+49.231.734.0152): Running and idle

Was mit als erstes aufgefallen ist. Egal, an welche Nummer ich sende: ...0150, ...0151, ...0152, nur faxCAPI empfängt:

Code:
hyla:/var/spool/fax # faxstat -r
HylaFAX scheduler on hyla.mydomain.de: Running
Modem faxCAPI (+49.231.734.0150): Answering the phone
Modem dev51 (+49.231.734.0151): Running and idle
Modem dev52 (+49.231.734.0152): Running and idle

hyla:/var/spool/fax # faxstat -r
HylaFAX scheduler on hyla.mydomain.de: Running
Modem faxCAPI (+49.231.734.0150): Receiving facsimile
Modem dev51 (+49.231.734.0151): Running and idle
Modem dev52 (+49.231.734.0152): Running and idle

Die Datein landen dann auch wunderbar in:


Code:
hyla:/var/spool/fax/recvq # ls
fax00001.tif  fax00005.tif  fax00009.tif  fax00013.tif  fax00017.tif
fax00002.tif  fax00006.tif  fax00010.tif  fax00014.tif  fax00018.tif
fax00003.tif  fax00007.tif  fax00011.tif  fax00015.tif  fax00019.tif
fax00004.tif  fax00008.tif  fax00012.tif  fax00016.tif  seqf

Wenn ich in den logs unter:

Code:
hyla:/var/spool/fax/log # ls
c000000001  c000000005  c000000009  c000000013  c000000017
c000000002  c000000006  c000000010  c000000014  c000000018
c000000003  c000000007  c000000011  c000000015  c000000019
c000000004  c000000008  c000000012  c000000016  seqf

nachschaue:

Code:
hyla:/var/spool/fax/log # cat c000000018
Nov 18 14:46:34.98: [ 3158]: SESSION BEGIN 000000018 +49.231.734.0150
Nov 18 14:46:34.98: [ 3158]: Incoming analog call on controller 1 to 7340152.
Nov 18 14:46:44.66: [ 3158]: Connection established.
Nov 18 14:46:44.66: [ 3158]:    StationID = +49 000 00000000
Nov 18 14:46:44.66: [ 3158]:    BaudRate  = 14400
Nov 18 14:46:44.66: [ 3158]:    Flags     = HighRes, MMR_compr
Nov 18 14:46:44.66: [ 3158]: Write fax in path /var/spool/fax to file recvq/fax00018.tif.
Nov 18 14:46:59.57: [ 3158]: Page 1 was received. - Last Page!
Nov 18 14:47:02.30: [ 3158]: Fax received and calling '/var/spool/fax/bin/faxrcvd "recvq/fax00018.tif" "faxCAPI" "000000018" "" "+49 000 00000000" "" "7340152"'.
Nov 18 14:47:02.77: [ 3158]: Connection is droped with reason 0x3400 (No additional information).
Nov 18 14:47:02.77: [ 3158]: SESSION END

funktioniert alles soweit ganz gut.


Nun will ich aber jeder MSN einen Nutzer zuweisen. Jeder Nutzer erhält sein Fax an seine Email-Adresse

Also ab in die Datei:

Code:
hyla:/var/spool/fax/bin # cat FaxDispatch

#
# Dispatch fax to email depending on own MSN or extention (ISDN lines)
# sourced from faxrcv USERNAME statt 2
#

#if [ "$CALLID3" != "" ]; then
#    PHONEMATCH=$CALLID3\$
#    USERENTRY=`grep -v "^#" etc/users | grep "$PHONEMATCH"`
#    if [ "$USERENTRY" != "" ]; then
#       USERNAME=`echo $USERENTRY | awk '{print $1}'`
#       SENDTO="$USERNAME"
#    fi
#fi


case "$CALLID3" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$7" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$2" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$1" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$3" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$4" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$5" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$6" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac


Wie Ihr seht, habe ich schon einiges ersetzt

Offenbar war in der Vergangenheit eine Variable nicht belegt worden. Ich habe versucht diese zu erwischen, jedoch kein Erfolg. Die Anleitungen widersprechen sich da schon sehr:

Welchen Anleitungen bin ich u.a. gefolgt:

Code:
http://www.linux-club.de/viewtopic.php?f=23&t=94255
http://home.rhein-zeitung.de/~wwilhelm/isdnfax.shtml
http://www.linux-club.de/viewtopic.php?f=23&t=95368&st=0&sk=t&sd=a

Ich habe etliche Dateien abgeändert. Eben auch die

Code:
hyla:/var/spool/fax/bin # cat faxrcvd


#
# faxrcvd file devID commID error-msg
#


if [ -f bin/FaxDispatch ]; then
    . bin/FaxDispatch          # NB: FaxDispatch sets SENDTO
fi


case "$CALLID3" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$7" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$2" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$1" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$3" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$4" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$5" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

case "$6" in *7340152) SENDTO="[email protected]"; FILETYPE=pdf;; esac

Ich habe den Absatz mit

Code:
if [ -f bin/FaxDispatch ]; then
    . bin/FaxDispatch          # NB: FaxDispatch sets SENDTO
fi

nach oben verschoben.

Die cases habe ich auch einmal dort eingefügt.

Es funktioniert nicht. Er schickt mir keine Emails nach außen.
Dafür erhalten ich lokal als root Emails.

Da ich nicht mehr weiterkomme, frage ich mich, wo der Fehler liegt?
Bei mir läuft übrigens opensuse 11.0 mit einer AVM Fritzcard PCI
 

Statistik des Forums

Themen
246,300
Beiträge
2,249,714
Mitglieder
373,904
Neuestes Mitglied
Elemir
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.