diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
commit | 415856bdd4f48ab4f2732996f0bae58595092bbe (patch) | |
tree | ede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/capi4hylafax |
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/capi4hylafax')
-rw-r--r-- | extra/capi4hylafax/PKGBUILD | 49 | ||||
-rw-r--r-- | extra/capi4hylafax/capi4hylafax.install | 16 | ||||
-rwxr-xr-x | extra/capi4hylafax/capi4hylafax.rc | 49 | ||||
-rw-r--r-- | extra/capi4hylafax/config.faxCAPI | 397 |
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 + } +} + |