.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Linux allgemein" wurde erstellt von Kintac, 3 Dez. 2008.

  1. Kintac

    Kintac Neuer User

    Registriert seit:
    15 Jan. 2005
    Beiträge:
    135
    Zustimmungen:
    0
    Punkte für Erfolge:
    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="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$7" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$2" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$1" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$3" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$4" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$5" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$6" in *7340152) SENDTO="ich@mydomain.de"; 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="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$7" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$2" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$1" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$3" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$4" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$5" in *7340152) SENDTO="ich@mydomain.de"; FILETYPE=pdf;; esac
    
    case "$6" in *7340152) SENDTO="ich@mydomain.de"; 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