summaryrefslogtreecommitdiff
path: root/extra/capi4hylafax
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/capi4hylafax
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/capi4hylafax')
-rw-r--r--extra/capi4hylafax/PKGBUILD49
-rw-r--r--extra/capi4hylafax/capi4hylafax.install16
-rwxr-xr-xextra/capi4hylafax/capi4hylafax.rc49
-rw-r--r--extra/capi4hylafax/config.faxCAPI397
4 files changed, 511 insertions, 0 deletions
diff --git a/extra/capi4hylafax/PKGBUILD b/extra/capi4hylafax/PKGBUILD
new file mode 100644
index 000000000..039ea496d
--- /dev/null
+++ b/extra/capi4hylafax/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 84286 2010-06-28 14:07:57Z tpowa $
+#Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=capi4hylafax
+pkgver=010300
+pkgrel=4
+pkgdesc="capi plugin for hylafax to enable isdn faxing"
+arch=(i686 x86_64)
+url="ftp://ftp.avm.de/tools"
+license=('GPL')
+depends=('glibc' 'capi4k-utils' 'hylafax' 'gcc-libs' 'libtiff')
+source=(ftp://ftp.avm.de/tools/capi4hylafax.linux/capi4hylafax-01.03.00.tar.gz
+ config.faxCAPI capi4hylafax.rc)
+install=capi4hylafax.install
+backup=(var/spool/hylafax/etc/config.faxCAPI)
+build() {
+ cd $srcdir/$pkgname-01.03.00
+# fix config file
+ sed -i -e 's#/etc/config.faxCAPI#/var/spool/hylafax/etc/config.faxCAPI#g' src/defaults.h.in || return 1
+ ./configure || return 1
+ make || return 1
+ install -m755 -D src/faxsend/c2faxsend $pkgdir/usr/bin/c2faxsend
+ install -m755 -D src/faxrecv/c2faxrecv $pkgdir/usr/bin/c2faxrecv
+ install -m755 -D setupconffile $pkgdir/usr/bin/c2faxaddmodem
+ install -m644 -D $srcdir/config.faxCAPI $pkgdir/var/spool/hylafax/etc/config.faxCAPI
+ install -m755 -D $srcdir/capi4hylafax.rc $pkgdir/etc/rc.d/capi4hylafax
+# adding FIFO
+ mkfifo $pkgdir/var/spool/hylafax/FIFO.faxCAPI
+ chown 10 $pkgdir/var/spool/hylafax/FIFO.faxCAPI
+ chgrp 14 $pkgdir/var/spool/hylafax/FIFO.faxCAPI
+ chmod 0600 $pkgdir/var/spool/hylafax/FIFO.faxCAPI
+# fix /var/spool/hylafax permission
+ chown 10 $pkgdir/var/spool/hylafax
+ chgrp 14 $pkgdir/var/spool/hylafax
+# adding udev rule
+ mkdir -p $pkgdir/lib/udev/rules.d
+cat << EOF >> $pkgdir/lib/udev/rules.d/53-capi4hylafax.rules
+# CAPI devices
+SUBSYSTEM=="capi", KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20", GROUP="uucp"
+SUBSYSTEM=="tty" KERNEL=="capi[0-9]*", NAME="capi/%n", GROUP="uucp"
+
+EOF
+# fix c2faxadd
+ sed -i -e 's#/etc/config.faxCAPI#/var/spool/hylafax/etc/config.faxCAPI#g' $pkgdir/usr/bin/c2faxaddmodem || return 1
+ echo "main_config_dialog" >> $pkgdir/usr/bin/c2faxaddmodem
+}
+md5sums=('d37dc652ac80d1525ef8693be55ee67f'
+ '653b60695d21c128f020a86274ca9192'
+ '1fe40c58289fa3ba625ce6fe2fdb3d07')
diff --git a/extra/capi4hylafax/capi4hylafax.install b/extra/capi4hylafax/capi4hylafax.install
new file mode 100644
index 000000000..20c2d8f63
--- /dev/null
+++ b/extra/capi4hylafax/capi4hylafax.install
@@ -0,0 +1,16 @@
+post_install() {
+cat << EOF
+For more information about setting up the package, please have a look here:
+"http://wiki.archlinux.org/index.php/capi4hylafax"
+EOF
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+cat << EOF
+Please remove your additions to /var/spool/hylafax/etc/config
+EOF
+}
diff --git a/extra/capi4hylafax/capi4hylafax.rc b/extra/capi4hylafax/capi4hylafax.rc
new file mode 100755
index 000000000..51025b020
--- /dev/null
+++ b/extra/capi4hylafax/capi4hylafax.rc
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/c2faxrecv`
+case "$1" in
+ start)
+ stat_busy "Starting capi4hylafax"
+ if [ -z "$PID" ]; then
+ /usr/bin/c2faxrecv > /dev/null &
+ faxmodem faxCAPI
+ fi
+ if [ ! -f /var/run/faxq.pid ]; then
+ stat_fail
+ echo "ERROR: hylafax is not running"
+ exit 1
+ fi
+ if [ ! -f /var/run/hfaxd.pid ]; then
+ stat_fail
+ echo "ERROR: hylafax is not running"
+ exit 1
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon capi4hylafax
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping capi4hylafax"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon capi4hylafax
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/extra/capi4hylafax/config.faxCAPI b/extra/capi4hylafax/config.faxCAPI
new file mode 100644
index 000000000..b2137757a
--- /dev/null
+++ b/extra/capi4hylafax/config.faxCAPI
@@ -0,0 +1,397 @@
+#
+# EDIT THIS CONFIGURATION TO REFLECT YOUR SETUP
+#
+
+# 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
+FaxReceiveGroup: uucp
+
+
+# Im "LogFile" werden Informationen über den Faxablauf abgespeichert.
+#
+# Information about the order of events in faxing are saved in the "LogFile".
+#
+# default ""
+#
+LogFile: /var/spool/hylafax/log/capi4hylafax
+
+
+# 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.00.00000
+
+
+ # "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: "AVM CAPI4HylaFAX"
+
+
+ # 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:
+
+
+ # 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: 0
+
+
+ # "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: 1
+
+
+ # 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: "12345"
+
+
+ # "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: 3
+
+
+ # 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:
+
+
+ # 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
+ }
+}
+