Hylafax mit AVM B1 PCI

Voraussetzungen

  • metamail-2.7-29.fc2.mok
  • exim-4.43-1.RHEL4.1
  • capi4hylafax-01.02.03-cvs1.5
  • capi4k-utils-devel-2005.03.22-1tom.4EL
  • hylafax-4.2.1-1rh4
  • sharutils-4.2.1-22
  • capi4k-utils-2005.03.22-1tom.4EL
  • createrepo-0.4.2-1.2.el4.rf
  • yum-2.1.13-1

Firmware

/usr/lib/isdn/b1.t4

# Firmware Dateien für die aktiven ISDN Karten von AVM sind
# unter /usr/lib/isdn abzulegen.

capi.conf

/etc/capi.conf

# card  file    proto   io      irq     mem     cardnr  options
#b1isa           b1.t4   DSS1    0x150   9       -       -       P2P
b1pci          b1.t4   DSS1    -       -       -       -
#c4             c4.bin  DSS1    -       -       -       -
#c4             -       DSS1    -       -       -       -
#c4             -       DSS1    -       -       -       -       P2P
#c4             -       DSS1    -       -       -       -       P2P
#t1isa          t1.t4   DSS1    0x340   9       -       0
#t1pci          t1.t4   DSS1    -       -       -       -
#fcpci          -       -       -       -       -       -
#fcclassic       -       -       0x340   5       -       -
#                               -----   --
# 1) Insert I/O address here _______|   |
# 2) Insert IRQ number here ___________/
# 3) Remove '#' in front of "fcclassic" 

modules

/etc/modprobe.conf (oder /etc/modules.conf)

modprobe.conf

# capidrv soll in jedem Fall geladen werden
alias eth2 capidrv

hotplug-blacklist

/etc/hotplug/blacklist

# isdn drivers in die Blacklist aufnehmen, da nur über rc-Skripte zu starten!
hisax_fcpcipnp
b1pci
b1isa

rcCapi

/etc/init.d/capi

#! /bin/sh
# /etc/rc.d/init.d/capi reps. /etc/init.d/capi	-- CAPI device init script
# Das Skript wurd von mir (Thomas Baumann) insoweit modifiziert,
# dass das udev-device /dev/capi (191) immer als (68) angelegt wird,
# und für hylafax immer als chmod 666 erstellt ist.
#
# File Version:		2005.02.21-tom.01
#
# Copyright (c) 2000-2004 Herbert U. Huebner 
#
#    Permission to use, copy, modify, and distribute this software/file
#    for any purpose with or without fee is hereby granted, provided that
#    the above copyright notice and this permission notice appear in all
#    copies.
#
#    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
#    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
#    IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
#    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
#    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
#    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
#    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
#    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
#    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
#    SUCH DAMAGE.
#
# See http://mungo.homelinux.org or http://www.friendglow.net
#
#
# Please, note:	CAPI init must start before network init (starts as 10) 
#		else the network ppp device setup will try to load the
#		ISDN HISAX drivers from the isdn4k-utils package instead.
#
#		Please sent any changes or additions to
# 		  Herbert U. Huebner 
#		I try to collect this stuff in order to get a unified
#		startup script ready for the community.
#		Bluetooth setup is already integrated in the next release,
#		it's left out here because the test cycle isn't finished
#               for use with kernel 2.6.x
#
# capi          Start/Stop the capi 2.0 daemon.
#
# chkconfig: 235 09 82
# description: CAPI is a UNIX program that starts the CAPI 2.0 interface \
#              for CAPI compatible devices, like AVM PCI and USB devices, \
#              certain Eicon DIVA cards, certain Siemens Gigaset devices, \
#	       certain Hagenuk external modems, etc..
# processname: capi
# config: /etc/capi.conf
# pidfile: /var/run/capicard.pid

# Check for missing programs
# The regular path is /sbin but other distributions might have it in /usr/sbin
test -x /sbin/capiinit -o -x /usr/sbin/capiinit || exit 5

# Source function library.
if [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
. /etc/init.d/functions
fi

RETVAL=0

# Try to work around hotplug/udev issues in kernel 2.6.x
# on several distributions
#
# This fixes the CAPI /dev/ entries that are wrong in 
# certain kernel 2.6.x based distributions.
#
# Someone introduced the devices capi20.?? as 
# character-major-191
# That is incorrect, char-major-191 is reserved for PCMCIA!
#
# In addition the naming scheme is partial incorrect.
# The device name for the first device is /dev/capi20. Some
# distributions like Fedora Core 3 use the name /dev/capi.
# The child devices are assigned to capi20.??
# - were ?? denotes the number.
# A maximum of 20 additional devices are defined in the kernel
# documentation. udev creates 31 with a wrong name.
# Special in the naming scheme is that child name behind the 
# period sign must constist of two digits and the first 10 
# devices - 0 to 9 - must have a leading 0.
#
# However, hotplug/udev assigns them to capi0 to capi31 which
# is wrong.

# This adds CAPI dev entries on installations that don't
# install them by default
createcapi()
{
# and to kernel 2.6 based installations. Now the program
# capiinit finds it's correct char-major-68 devices and in 
# case of udev ignores the incorrect entries.
#
# We split the process in two parts because of leading zeros
# Variables used:
# C	= device counter
# CE	= device name extension = capi20.CE
# CN	= device node number    = 68 CN
#
# This is the controlling device and isn't named .CE
# so we treat it extra.
# /dev/capi20       = mknod -m 660 /dev/capi20 c 68 0
if [ ! -c /dev/capi20 ] >/dev/null 2>&1; then
   mknod -m 666 /dev/capi20 c 68 0
   chown root.root /dev/capi20
fi

# all other devices   = mknod -m 660 /dev/capi20.?? c 68 ?
# with variable below = mknod -m 660 /dev/capi20.?? c 68 ?
#
# Don't mess around with the following because it needs special
# arithmetic expressions.
# I.e. computers start calculationg with 0, human beeings with 1
#      and bash doesn't like floating numbers out of the box.
#
C=0
CE=0
CC=20
CN=0
while [ $C -lt 20 ]; do
CE=`echo "scale=2; $CC+$C/100" | bc -l`
if [ ! -c /dev/capi$CE ] >/dev/null 2>&1; then
   let CN=$C+1
   mknod -m 666 /dev/capi$CE c 68 $CN
   chown root.root /dev/capi$CE
fi
C=`expr $C + 1`
done
}

# Because udev is slow it takes a while until it's devices show up.
# While we have created our devices with createcapi udev id behind
# and overwrites our /dev/capi20 major device.
# So we need to run it here gain AFTER our device ist initializes!
# Thats's why we give the system a little break for 5 seconds ;-)
capicreate()
{
# Old style
#if [ ! -c /dev/capi20 ] >/dev/null 2>&1; then
#   mknod -m 660 /dev/capi20 c 68 0
#fi

# The system takes a little break until udev has changed the assignment again ;-)
sleep 5s
# if (ls -1 /dev/capi20 | grep '191') >/dev/null 2>&1; then
   rm -f /dev/capi20
   mknod -m 666 /dev/capi20 c 68 0
   chown root.root /dev/capi20
# fi

}


# See how we were called.
case "$1" in
  start)
	echo -n "Starting the CAPI 2.0 daemon: "
	if [ -f /dev/.udev.tdb ]; then
	   createcapi
	fi
	daemon capiinit start
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/capicard
	if [ -f /dev/.udev.tdb ]; then
	   capicreate
	fi
	;;
  stop)
	echo -n "Stopping the CAPI 2.0 daemon: "
	# udev on kernel 2.6 might have overwritten the original capi20 device
	# That's why we need to overwrite the udev entry again
	if [ -f /dev/.udev.tdb ]; then
	   createcapi
	fi
	daemon capiinit stop
	RETVAL=$?
	# udev in kernel 2.6 does not allow to remove the kernel module capifs!
	# Therefore, in case your CAPI card/adapter needs re-initialized you MUST
	# restart your computer.
	# Kernel 2.4 didn't have his problem. All kernel CAPI modules have been
	# removed with the appropriate rmmod command.
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/capicard
	;;
  status)
	daemon capiinit show
	# Just to make sure udev does not bite us.
	if [ -f /dev/.udev.tdb ]; then
	   createcapi
	fi
	RETVAL=$?
	;;
  restart)
  	$0 stop
	$0 start
	RETVAL=$?
	;;
  *)
	echo "Usage: capi {start|stop|show|restart}"
	exit 1
esac

exit $RETVAL

inittab

/etc/inittab muss folgenden Eintrag enthalten:

fr:235:once:/usr/bin/c2faxrecv

faxCAPI

/var/spool/hylafax/etc/config.faxCAPI

ln -s config.faxCAPI config.faxCAPI1
# Wichtig: Da beide B-Kanäle genutzt werden sollen, so sind zwei Sektionen
#          notwendig, einmal mit     HylafaxDeviceName:          faxCAPI
#          und einmal mit            HylafaxDeviceName:          faxCAPI1
#          Der Link ist notwendig, da ansonsten kein zweites FIFO angelegt wird.
# Grundsätzliches:
# - Es gibt für jeden Wert einen Standardzustand (default), sodass jede Zeile
#   der Datei oder auch das komplette Configfile ausgelassen werden kann.
# - Es gibt ausschließlich ein Configfile, in dem alle nötigen Angaben für
#   "c2faxsend/-receive" eingetragen werden können.
# - Werden für HylaFAX mehrere virtuelle Geräte (devices) angelegt, muss es
#   für jedes Device ein Configfile im Format config.[DeviceName] geben.
#   Dessen Existenz wird von HylaFAX überprüft. Ohne dieses File kann die
#   Arbeit mit dem Device nicht aufgenommen werden. Die Existenz einer
#   solchen Datei kann am einfachsten durch einen Link auf dieses ConfigFile
#   oder ein minimales "dummy"-ConfigFile nachgewiesen werden.
#
# Basics:
# - There is a default condition for each value, such that each line of the
#   file or the complete configfile can be left out.
# - There is only one configfile in which all information required for
#   "c2faxsend/-receive" can be entered.
# - If multiple virtual devices are created for HylaFAX, there must be a
#   Configfile in the format config.[DeviceName] for each device. HylaFAX
#   checks that this file exists. Without this file, it is not possible to
#   start working with the device. The easiest way to establish the existence
#   of such a file is to create a link to this ConfigFile or a minimum
#   "dummy" ConfigFile.


# "SpoolDir" gibt den Pfad an, unter dem im HylaFAX-kompatiblen Betrieb die
# HylaFAX-Dateien zu finden sind oder unter dem im Stand-Alone-Betrieb die
# empfangenen Faxe gespeichert werden sollen. Im HylaFAX-kompatiblen Betrieb
# werden die Faxe im Verzeichnis $(SpoolDir)/recvq gespeichert.
#
# "SpoolDir" indicates the path in which the HylaFAX are located in HylaFAX-
# compatible operation or in which received faxes are to be saved in
# stand-alone operation. In HylaFAX-compatible operation, faxes are saved in
# the directory $(SpoolDir)/recvq.
#
# default   /var/spool/hylafax
#
SpoolDir:               /var/spool/hylafax


# "FaxRcvdCmd" gibt das Skript an, das ausgeführt wird, sobald ein Fax
# empfangen wurde. Im Stand-Alone-Betrieb werden andere Parameter
# übergeben als für HylaFAX (mehr dazu im sample_faxrcvd).
#
# "FaxRcvdCmd" indicates the script performed whenever a fax is
# received. Parameters other than the ones for HylaFAX are returned in
# stand-alone operation (see sample_faxrcvd for more information).
#
# default   /var/spool/hylafax/bin/faxrcvd
#
FaxRcvdCmd:             /var/spool/hylafax/bin/faxrcvd


# "PollRcvdCmd" gibt das Skript an, das ausgeführt wird, sobald ein
# Fax per Faxabruf empfangen wurde. Im Stand-Alone-Betrieb werden
# andereParameter übergeben als für HylaFAX (mehr dazu im
# sample_faxrcvd).
#
# "PollRcvdCmd" indicates the script performed whenever a fax was
# received by fax polling. Parameters other than the ones for HylaFAX
# are returned in stand-alone operation (see sample_faxrcvd for more
# information).
#
# default   /var/spool/hylafax/bin/pollrcvd
#
PollRcvdCmd:             /var/spool/hylafax/bin/pollrcvd


# "FaxReceiveUser" ist der User, als der c2faxrecv ausgeführt wird.
# Die Änderung des Users kann nur vom Superuser bzw. "root" erfolgen. Sollte
# c2faxrecv von einem anderen User gestartet werden, wird dieser Eintrag
# ignoriert. Hier einen anderen als den Hylafax-Standardwert "uucp"
# einzutragen ist dann sinnvoll, wenn beispielsweise die Rechte von
# /dev/capi20 nicht geändert werden sollen oder Ihre Linux-Distribution einen
# anderen User voraussetzt.
#
# "FaxReceiveUser" is the user when c2faxrecv is run. This user can be
# changed only by the Superuser or "root" user. If c2faxrecv is started by
# another user, this entry will be ignored. Here it is a good idea to enter a
# value other than the hylafax default value "uucp", for instance, if the
# rights of /dev/capi20 are not to be changed or your Linux distribution
# requires another user.
#
# default   ""
#
FaxReceiveUser:         uucp


# Im "LogFile" werden Informationen über den Faxablauf abgespeichert.
#
# Information about the order of events in faxing are saved in the "LogFile".
#
# default   ""
#
LogFile:                # /tmp/capifax.log


# Der Befehl "LogTraceLevel" gibt die Menge der Daten an, die in ein LogFile
# geschrieben werden. Die Spanne reicht von 0 = nichts bis 4 = vieles.
#
# The "LogTraceLevel" command indicates the amount of data written in a
# LogFile. The range goes from 0 = nothing to 4 = many.
#
# default   0
#
LogTraceLevel:          0


# "LogFileMode" sind die Angaben (mode), aufgrund derer sowohl das gerade
# erwähnte LogFile als auch die LogFiles für HylaFAX angelegt werden.
#
# "LogFileMode" is the mode, on the basis of which both the LogFile just
# mentioned and the LogFiles for HylaFAX are generated.
#
# default   0600
#
LogFileMode:            0600


# Die geschweiften Klammern geben Anfang und Ende einer Section an.
# Jede Section darf eine oder mehrere SubSections enthalten.
# SubSubSections sind nicht erlaubt.
# Dabei enthält die Section Angaben zu einem virtuellen Device;
# die Subsection die Angaben für die Rufannahme jedes Controllers.
# Es können beliebig viele Sections und, darin enthalten, jeweils beliebig
# viele Subsections erzeugt werden.
# Jede Section muss aber einen anderen HylafaxDeviceName erhalten;
# zusätzlich muss in jeder Subsection innerhalb einer Section ein anderer
# Controller aufgeführt werden. Beim Stand-Alone-Betrieb ist eine Section mit
# entsprechend vielen Subsections ausreichend, da in diesem Betriebsmodus die
# virtuellen DeviceNamen keine Rolle spielen.
#
# The curved brackets indicate the beginning and end of a section.
# Each section may contain one or more subsections.
# SubSubSections are not permitted.
# The section contains information about a virtual device; the subsection the
# call acceptance information for each controller.
# Any number of sections containing any number of subsections may be
# generated, but each section must receive a different HylafaxDeviceName; and
# a different controller must be listed in every subsection within a section.
# For stand-alone operation, it is sufficient to have just one section with
# as many subsections as required, since virtual DeviceNames do not play
# any role in this mode of operation.
#
{

    # "HylafaxDeviceName" ist der Name, unter dem sich C4H bei HylaFAX als
    # "virtuelles Modem" anmeldet. Sollen für HylaFAX mehrere dieser "Modems"
    # erzeugt werden, legen Sie einfach eine neue Section mit einem anderen
    # HylafaxDeviceName an.
    #
    # "HylafaxDeviceName" is the name, under which C4H registers in HylaFAX as
    # a "virtual modem". If multiple "modems" are to be generated for HylaFAX,
    # simply create a new section with another HylafaxDeviceName.
    #
    # default   faxCAPI
    #
    HylafaxDeviceName:          faxCAPI


    # "RecvFileMode" ist der Mode, in dem empfangene Faxe abgespeichert
    # werden. User und Group der Datei wird durch FaxReceiveUser (s.o.)
    # festgelegt.
    #
    # "RecvFileMode" is the mode, in which received faxes are saved. User and
    # Group of the file are determined by the FaxReceiveUser (see above).
    #
    # default   0600
    #
    RecvFileMode:               0600


    # "FAXNumber" ist die eigene Nummer des Computers und wird der Gegenseite
    # mitgeteilt (sichtbar z. B. im Fax-Journal).
    #
    # "FAXNumber" is the fax number of the computer itself and is transmitted
    # to the remote site (visible in the Fax Journal).
    #
    # default   ""
    #
    FAXNumber:                  +49.70000.329329


    # "LocalIdentifier" ist der von CAPI aus konfigurierbare Teil der
    # Kopfzeile. Ein leerer Eintrag führt dazu, dass keine Fax-Kopfzeile
    # eingefügt wird.
    #
    # "LocalIdentifier" is the part of the fax header which can be configured
    # from CAPI. An empty entry specifies an empty header.
    #
    # default   ""
    #
    LocalIdentifier:            "tiri.fax service"


    # Die maximale Anzahl von gleichzeitig empfangbaren Faxen kann
    # durch "MaxConcurrentRecvs" angepaßt werden. Diese Anzahl wird
    # durch die Anzahl der durch die Hardware zur Verfügung
    # gestellten B-Kanäle begrenzt.
    #
    # The maximum number of faxes that can be received at the same
    # time can be adjusted using "MaxConcurrentRecvs". This number
    # is limited by the number of B channels provided by the hardware.
    #
    # default   2
    #
    MaxConcurrentRecvs:         2


    # ----------- outgoing params -----------

    # "OutgoingController" gibt den Controller an, über den eine externe
    # Verbindung aufgebaut werden soll.
    #
    # "OutgoingController" indicates the controller which is to be used to
    # establish an external connection.
    #
    # default   1
    #
    OutgoingController:         1


    # Die "OutgoingMSN" ist die MSN, die für ausgehenden Faxe benutzt wird.
    #
    # The "OutgoingMSN" is the MSN used for outgoing faxes.
    #
    # default   ""
    #
    OutgoingMSN:                9


    # CLIR (Rufnummernunterdrückung) kann über "SuppressMSN" und den Wert (0)
    # abgeschaltet oder mit dem Wert (1) erneut angeschaltet werden.
    #
    # CLIR (Calling Line Identification Restriction) can be switched off using
    # the value (0) or switched back on by entering the value (1).
    #
    # default   0
    #
    SuppressMSN:                1


    # "NumberPrefix" wird vor jede Telefonnummer gestellt. Dies ist bei
    # Nebenstellenanlagen wichtig, bei denen für den Aufbau einer externen
    # Verbindung eine Ziffer vorgewählt werden muss.
    #
    # "NumberPrefix" is set to precede each telephone number. This is
    # important for PBX systems which require that a number be dialed to
    # obtain an outside line.
    #
    # default   ""
    #
    NumberPrefix:               


    # Wenn der Wert in "UseISDNFaxService" = 1 ist, wird ein ausgehender Ruf
    # mit der ISDN-FAX-G3 Dienstekennung aufgebaut. Bei 0 wird eine 3.1kHz
    # Audio-Verbindung hergestellt.
    #
    # When in "UseISDNFaxService" the value is = 1, an outoing call will be
    # established using the ISDN-FAX-G3 service indicator. For 0, a 3.1kHz
    # audio connection is established.
    #
    # default   0
    #
    UseISDNFaxService:          0


    # Gibt die Dauer in Sekunden an, die auf eine Verbindungsannahme durch die
    # Gegenseite gewartet wird. So wird beim Faxversand nicht automatisch die
    # gesamte von der Telekom vorgegebene Wartezeit genutzt. Eine Angabe des
    # Wertes 0 nutzt die gesamte Wartezeit.
    #
    # The duration in seconds you wait for the remote site to accept your
    # outgoing call In this way you do not have to use the entire ringing
    # duration preset by the telephone company. The default value 0 uses the
    # entire ringing duration.
    #
    # default   0
    #
    RingingDuration:            0


    # ----------- incoming params -----------
    {

        # Controller, für den diese Subsection gilt.
        #
        # Controller for which this subsection is valid.
        #
        # default   1
        #
        Controller:             1


        # Wenn "AcceptSpeech" auf 1 steht, wird auch die Dienstekennung
        # "Sprache" angenommen.
        #
        # If "AcceptSpeech" is set to 1, the service indicator "Voice" also
        # will be accepted.
        #
        # default   0
        #
        AcceptSpeech:           0


        # Sofern man DDI nutzen will, sollte man "UseDDI" auf 1 stellen.
        #
        # If DDI is to be used, "UseDDI" should be set to a value of 1.
        #
        # default   0
        #
        UseDDI:                 0


        # Die DDI-Stammnummer wird bei "DDIOffset" eingetragen.
        # Der Standardwert führt zu keinem korrekten Ergebnis und
        # sollte, sofern "UseDDI" auf 1 gestellt wurde, immer
        # verändert werden.
        #
        # "DDIOffset" indicates the DDI offset number which precedes
        # extension number. Because the default value can't guarantee
        # a correct result, this value should be modified whenever
        # "UseDDI" is set to 1.
        #
        # default   ""
        #
        DDIOffset:              


        # "DDILength" gibt die Anzahl der Durchwahlziffern an. (Diese Ziffern
        # werden lediglich als Teil der Empfängernummer mitgeteilt.) Der
        # Standardwert sollte bei Verwendung von DDI ebenfalls angepasst
        # werden.
        #
        # "DDILength" indicates the number of digits in the extension. (These
        # numbers are only used as a component of the recipient's number.) The
        # default value should be adapted whenever DDI is used.
        #
        # default   0
        #
        DDILength:              0


        # Bei "IncomingDDIs" können in einer durch Komma getrennten Liste alle
        # Durchwahlziffern (DDIs) angegeben werden, für die Rufe angenommen
        # werden sollen. Eine Bereichsangabe ist auch möglich (z.B. 100-300),
        # wobei aber keine offenen Bereiche (z.B. -100) erlaubt sind.
        # Sofern IncommingDDIs gesetzt ist, wird DDILength ignoriert.
        #
        # In "IncomingDDIs", all extension numbers (DDIs) for which calls are
        # to be accepted may be listed, separated by commas. It is also
        # possible to specify a range (e.g. 100-300); here no open ranges are
        # permitted (e.g. -100). When the "IncomingDDIs" switch is set, the
        # parameters for DDILength will be ignored.
        #
        # default   ""
        #
        IncomingDDIs:           


        # Bei "IncomingMSNs" können in einer durch Komma getrennten Liste alle
        # MSNs angegeben werden, für die Rufe angenommen werden sollen. Ist
        # die Liste leer, werden alle Rufe auf ISDN FAX G3, 3,1kHz Audio und
        # eventuell "Sprache" angenommen.
        # Wenn "UseDDI" auf 1 gestellt ist, wird "IncomingMSNs" ignoriert.
        #
        # In "IncomingMSNs", all MSNs for which calls are to be accepted may
        # be listed, separated by commas. When the list is empty, all calls
        # are accepted for ISDN FAX G3, 3,1kHz audio and perhaps "Voice".
        # When "UseDDI" is set to 1, "IncomingMSNs" is ignored.
        #
        # default   ""
        #
        IncomingMSNs:           7


        # Wenn "AcceptGlobalCall" auf 1 steht, werden auch Calls ohne
        # Zielrufnummer (ohne MSN) angenommen.
        # Notwendig hinter einigen Telefonanlagen, die keine Zielrufnummer
        # senden.
        #
        # If "AcceptGlobalCall" is set to 1, calls without Called Party
        # Number also will be accepted.
        # Needed on internal ports of some PBX.
        #
        # default   1
        #
        AcceptGlobalCall:   1
    }
}

{

    # "HylafaxDeviceName" ist der Name, unter dem sich C4H bei HylaFAX als
    # "virtuelles Modem" anmeldet. Sollen für HylaFAX mehrere dieser "Modems"
    # erzeugt werden, legen Sie einfach eine neue Section mit einem anderen
    # HylafaxDeviceName an.
    #
    # "HylafaxDeviceName" is the name, under which C4H registers in HylaFAX as
    # a "virtual modem". If multiple "modems" are to be generated for HylaFAX,
    # simply create a new section with another HylafaxDeviceName.
    #
    # default   faxCAPI
    #
    HylafaxDeviceName:          faxCAPI1


    # "RecvFileMode" ist der Mode, in dem empfangene Faxe abgespeichert
    # werden. User und Group der Datei wird durch FaxReceiveUser (s.o.)
    # festgelegt.
    #
    # "RecvFileMode" is the mode, in which received faxes are saved. User and
    # Group of the file are determined by the FaxReceiveUser (see above).
    #
    # default   0600
    #
    RecvFileMode:               0600


    # "FAXNumber" ist die eigene Nummer des Computers und wird der Gegenseite
    # mitgeteilt (sichtbar z. B. im Fax-Journal).
    #
    # "FAXNumber" is the fax number of the computer itself and is transmitted
    # to the remote site (visible in the Fax Journal).
    #
    # default   ""
    #
    FAXNumber:                  +49.70000.329329


    # "LocalIdentifier" ist der von CAPI aus konfigurierbare Teil der
    # Kopfzeile. Ein leerer Eintrag führt dazu, dass keine Fax-Kopfzeile
    # eingefügt wird.
    #
    # "LocalIdentifier" is the part of the fax header which can be configured
    # from CAPI. An empty entry specifies an empty header.
    #
    # default   ""
    #
    LocalIdentifier:            "tiri.fax service"


    # Die maximale Anzahl von gleichzeitig empfangbaren Faxen kann
    # durch "MaxConcurrentRecvs" angepaßt werden. Diese Anzahl wird
    # durch die Anzahl der durch die Hardware zur Verfügung
    # gestellten B-Kanäle begrenzt.
    #
    # The maximum number of faxes that can be received at the same
    # time can be adjusted using "MaxConcurrentRecvs". This number
    # is limited by the number of B channels provided by the hardware.
    #
    # default   2
    #
    MaxConcurrentRecvs:         2


    # ----------- outgoing params -----------

    # "OutgoingController" gibt den Controller an, über den eine externe
    # Verbindung aufgebaut werden soll.
    #
    # "OutgoingController" indicates the controller which is to be used to
    # establish an external connection.
    #
    # default   1
    #
    OutgoingController:         1


    # Die "OutgoingMSN" ist die MSN, die für ausgehenden Faxe benutzt wird.
    #
    # The "OutgoingMSN" is the MSN used for outgoing faxes.
    #
    # default   ""
    #
    OutgoingMSN:                9


    # CLIR (Rufnummernunterdrückung) kann über "SuppressMSN" und den Wert (0)
    # abgeschaltet oder mit dem Wert (1) erneut angeschaltet werden.
    #
    # CLIR (Calling Line Identification Restriction) can be switched off using
    # the value (0) or switched back on by entering the value (1).
    #
    # default   0
    #
    SuppressMSN:                1


    # "NumberPrefix" wird vor jede Telefonnummer gestellt. Dies ist bei
    # Nebenstellenanlagen wichtig, bei denen für den Aufbau einer externen
    # Verbindung eine Ziffer vorgewählt werden muss.
    #
    # "NumberPrefix" is set to precede each telephone number. This is
    # important for PBX systems which require that a number be dialed to
    # obtain an outside line.
    #
    # default   ""
    #
    NumberPrefix:               


    # Wenn der Wert in "UseISDNFaxService" = 1 ist, wird ein ausgehender Ruf
    # mit der ISDN-FAX-G3 Dienstekennung aufgebaut. Bei 0 wird eine 3.1kHz
    # Audio-Verbindung hergestellt.
    #
    # When in "UseISDNFaxService" the value is = 1, an outoing call will be
    # established using the ISDN-FAX-G3 service indicator. For 0, a 3.1kHz
    # audio connection is established.
    #
    # default   0
    #
    UseISDNFaxService:          0


    # Gibt die Dauer in Sekunden an, die auf eine Verbindungsannahme durch die
    # Gegenseite gewartet wird. So wird beim Faxversand nicht automatisch die
    # gesamte von der Telekom vorgegebene Wartezeit genutzt. Eine Angabe des
    # Wertes 0 nutzt die gesamte Wartezeit.
    #
    # The duration in seconds you wait for the remote site to accept your
    # outgoing call In this way you do not have to use the entire ringing
    # duration preset by the telephone company. The default value 0 uses the
    # entire ringing duration.
    #
    # default   0
    #
    RingingDuration:            0


    # ----------- incoming params -----------
    {

        # Controller, für den diese Subsection gilt.
        #
        # Controller for which this subsection is valid.
        #
        # default   1
        #
        Controller:             1


        # Wenn "AcceptSpeech" auf 1 steht, wird auch die Dienstekennung
        # "Sprache" angenommen.
        #
        # If "AcceptSpeech" is set to 1, the service indicator "Voice" also
        # will be accepted.
        #
        # default   0
        #
        AcceptSpeech:           0


        # Sofern man DDI nutzen will, sollte man "UseDDI" auf 1 stellen.
        #
        # If DDI is to be used, "UseDDI" should be set to a value of 1.
        #
        # default   0
        #
        UseDDI:                 0


        # Die DDI-Stammnummer wird bei "DDIOffset" eingetragen.
        # Der Standardwert führt zu keinem korrekten Ergebnis und
        # sollte, sofern "UseDDI" auf 1 gestellt wurde, immer
        # verändert werden.
        #
        # "DDIOffset" indicates the DDI offset number which precedes
        # extension number. Because the default value can't guarantee
        # a correct result, this value should be modified whenever
        # "UseDDI" is set to 1.
        #
        # default   ""
        #
        DDIOffset:              


        # "DDILength" gibt die Anzahl der Durchwahlziffern an. (Diese Ziffern
        # werden lediglich als Teil der Empfängernummer mitgeteilt.) Der
        # Standardwert sollte bei Verwendung von DDI ebenfalls angepasst
        # werden.
        #
        # "DDILength" indicates the number of digits in the extension. (These
        # numbers are only used as a component of the recipient's number.) The
        # default value should be adapted whenever DDI is used.
        #
        # default   0
        #
        DDILength:              0


        # Bei "IncomingDDIs" können in einer durch Komma getrennten Liste alle
        # Durchwahlziffern (DDIs) angegeben werden, für die Rufe angenommen
        # werden sollen. Eine Bereichsangabe ist auch möglich (z.B. 100-300),
        # wobei aber keine offenen Bereiche (z.B. -100) erlaubt sind.
        # Sofern IncommingDDIs gesetzt ist, wird DDILength ignoriert.
        #
        # In "IncomingDDIs", all extension numbers (DDIs) for which calls are
        # to be accepted may be listed, separated by commas. It is also
        # possible to specify a range (e.g. 100-300); here no open ranges are
        # permitted (e.g. -100). When the "IncomingDDIs" switch is set, the
        # parameters for DDILength will be ignored.
        #
        # default   ""
        #
        IncomingDDIs:           


        # Bei "IncomingMSNs" können in einer durch Komma getrennten Liste alle
        # MSNs angegeben werden, für die Rufe angenommen werden sollen. Ist
        # die Liste leer, werden alle Rufe auf ISDN FAX G3, 3,1kHz Audio und
        # eventuell "Sprache" angenommen.
        # Wenn "UseDDI" auf 1 gestellt ist, wird "IncomingMSNs" ignoriert.
        #
        # In "IncomingMSNs", all MSNs for which calls are to be accepted may
        # be listed, separated by commas. When the list is empty, all calls
        # are accepted for ISDN FAX G3, 3,1kHz audio and perhaps "Voice".
        # When "UseDDI" is set to 1, "IncomingMSNs" is ignored.
        #
        # default   ""
        #
        IncomingMSNs:           7


        # Wenn "AcceptGlobalCall" auf 1 steht, werden auch Calls ohne
        # Zielrufnummer (ohne MSN) angenommen.
        # Notwendig hinter einigen Telefonanlagen, die keine Zielrufnummer
        # senden.
        #
        # If "AcceptGlobalCall" is set to 1, calls without Called Party
        # Number also will be accepted.
        # Needed on internal ports of some PBX.
        #
        # default   1
        #
        AcceptGlobalCall:   1
    }
}

Faxempfang -> faxrecvd

/var/spool/hylafax/bin/faxrecvd

# Sollte die e-Mail, die verschickt wird, Müll enthalten, so
# liegt das i.d.R. daran, dass die etc/setup.cache nicht auf dem
# aktuellsten Stand ist, d.h. es ist empfohlen faxsetup nocheinmal
# auszuführen.	

eMail-Versand -> exim.conf

/etc/exim/exim.conf

# Die Rewrite-Sektion der exim.conf ist ggf. anzupassen,
# so dass e-Mails korrekt an den Haupt-Server verteilt werden.
root@asterisk.intra.tiri.li	ADMINACCOUNT@HAUPTSERVER.DE	bctT
*@asterisk.intra.tiri.li	$1@HAUPTSERVER.DE     		Ffs

e-Mail mit jpeg-Vorschau

Es ist hierzu das Paket ImageMagick notwendig.

Beste Lösung:

         echo ""
         echo "--$MIMEBOUNDARY"
         echo "Content-Type: image/jpeg; name=\"$FILENAME.jpg\""
         echo "Content-Description: $FILENAME.jpg"
         echo "Content-Transfer-Encoding: $ENCODING"
         echo "Content-Disposition: inline; filename=\"$FILENAME.jpg\""
         echo ""
         convert $FILE[0] -resample 210x297 -resize 210x297 $FILENAME.jpg
         encode $FILENAME.jpg
         $RM -f $FILENAME.jpg 2>$ERRORSTO
         echo ""
         echo "--$MIMEBOUNDARY--"

oder :

         # alternative: konvertiere gesamt, und loesche dann alles ausser der
         # ersten seite
         convert $FILE -resample 210x297 -resize 210x297 $FILENAME.jpg
         if [ -f $FILENAME.jpg.0 ] ; then
                $MV -f $FILENAME.jpg.0 $FILENAME.jpg
                $RM -f $FILENAME.jpg.*
         fi

faxrcvd

Hier der diff für bestehende faxrcvd:

--- faxrcvd.orig        2005-05-08 13:32:03.625156008 +0200
+++ faxrcvd     2005-05-08 13:29:47.198895952 +0200
@@ -248,6 +248,16 @@
             $FAX2PS $FILE 2>$ERRORSTO
         fi
         echo ""
+        echo "--$MIMEBOUNDARY"
+        echo "Content-Type: image/jpeg; name=\"$FILENAME.jpg\""
+        echo "Content-Description: $FILENAME.jpg"
+        echo "Content-Transfer-Encoding: $ENCODING"
+        echo "Content-Disposition: inline; filename=\"$FILENAME.jpg\""
+        echo ""
+        convert $FILE[0] -resample 210x297 -resize 210x297 $FILENAME.jpg
+        encode $FILENAME.jpg
+        $RM -f $FILENAME.jpg 2>$ERRORSTO
+        echo ""
         echo "--$MIMEBOUNDARY--"
        ) | 2>&1 $SENDMAIL -f$FROMADDR -oi $SENDTO
     fi
 
wissen/capi/capi4hylafax.txt · Zuletzt geändert: 05.09.2010 20:31
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de