diff options
Diffstat (limited to 'net-misc/dahdi-tools')
-rw-r--r-- | net-misc/dahdi-tools/Manifest | 8 | ||||
-rw-r--r-- | net-misc/dahdi-tools/dahdi-tools-2.10.0.ebuild | 47 | ||||
-rw-r--r-- | net-misc/dahdi-tools/dahdi-tools-2.10.1.ebuild | 54 | ||||
-rw-r--r-- | net-misc/dahdi-tools/dahdi-tools-2.10.2.ebuild | 54 | ||||
-rw-r--r-- | net-misc/dahdi-tools/dahdi-tools-2.6.2.ebuild | 47 | ||||
-rw-r--r-- | net-misc/dahdi-tools/dahdi-tools-2.8.0.ebuild | 47 | ||||
-rw-r--r-- | net-misc/dahdi-tools/dahdi-tools-2.9.0.1.ebuild | 47 | ||||
-rw-r--r-- | net-misc/dahdi-tools/files/dahdi-autoconf.conf2 | 40 | ||||
-rw-r--r-- | net-misc/dahdi-tools/files/dahdi-autoconf.init2 | 225 | ||||
-rw-r--r-- | net-misc/dahdi-tools/files/dahdi-autoconf.init3 | 226 | ||||
-rw-r--r-- | net-misc/dahdi-tools/files/dahdi.init2 | 37 | ||||
-rw-r--r-- | net-misc/dahdi-tools/metadata.xml | 11 |
12 files changed, 843 insertions, 0 deletions
diff --git a/net-misc/dahdi-tools/Manifest b/net-misc/dahdi-tools/Manifest new file mode 100644 index 000000000000..ad233aa9355e --- /dev/null +++ b/net-misc/dahdi-tools/Manifest @@ -0,0 +1,8 @@ +DIST dahdi-tools-2.10.0.tar.gz 655475 SHA256 fc70c4677cf251abaa16c74adb0f5ee13361be6b463b048f95cf061739f15bcd SHA512 cf84d1117ac6b4dbd87db4a6ec072e945e64677fbd5dca169e06d954c599ce4ff9a80254aa3027bcc02f7770a5e0a3bcaca075aacfd28c62870d011801d0d225 WHIRLPOOL 19ebf4ddf12e7267d5fe2f35bf43d4ae60fe7c9e69edd4991ad5bbce7a2af5b2dbf0f4e1dc4f8e078749f7b8c98b0c0b70a1cd61c844955cceacc24fd971ebe2 +DIST dahdi-tools-2.10.1.tar.gz 656275 SHA256 eac80535a0fa4f61fc7ba767bbbd726e0ad769e3d22c207e75d381fe578a6c21 SHA512 856116119336b1d51da1c263c95e361c379d61b672db69703f48fb260d570f9335169b8c53daf7d6b18725eb3112539fd9e229b257ff6e9d76a00e74a859da66 WHIRLPOOL 661e821bb6c7ee1b7243ec1893850d9a67085da2c9f74651be9b87871d97b6c7893ab1524df188c8e1dbcd8bacf9be9350a61da3ebff0fc9143f2006211224f6 +DIST dahdi-tools-2.10.2.tar.gz 656284 SHA256 9e904815dedab231084c542d2d7d5dcc832ebec4b5d5d999a5d757df8b2d571a SHA512 5030e5b5fee3ca7853da07a907a4a9e4e72b06d62cb315cf80c0978eac27d70d86024c32f0fc08e8f667f5d7c039968c862631cc310ce30008d52cd121c61004 WHIRLPOOL f07bcac099eeafe1512370f9e06940d546eb1e98b98caef1df7a4bdb865500c864207912c2151116a037eabaa060b72f7751c2b06dc1351004303bdfb7773ff0 +DIST dahdi-tools-2.6.2.tar.gz 843572 SHA256 1c000b31acee6e26187b72800b38325bf419e8eb95063e24b327030f2e8d63c5 SHA512 3e0abb7cdfff072720bf48ccdb5cc43d183e0c3217b1eadfee7920f5b29cfe31f3b79d981516ae95232065c7686a87f169835802788cb1185c3c947feff275c3 WHIRLPOOL 47c381abdbe63224308cf315cee0dc4ee48f65538bbe4f42f5edd409683fc18b9e0c66ec1548b9d853681c45bd3559c1eb47ff6a0874d8699aabf0ae061a71ca +DIST dahdi-tools-2.8.0.tar.gz 642755 SHA256 bcc8b1fd90a0230489a818a185fcbc3d22b8acbf5d94981501ffa5290981732b SHA512 983e1dfe9bda130c3d0e60f44a79ebb75ae8ab9f27bd77d0355c58e901012465a37411fb1cdc97a131ac01ac892f37729f5853439aaba4ba5a4927c7a7997f81 WHIRLPOOL 14fbf62685cc3a135c2455905a5167e340b6d56202a403510736f00686c3093acbca341f22f9f897004670d4c68132a3fc064cd64922a9bff30bb908f9c40f8e +DIST dahdi-tools-2.9.0.1.tar.gz 649990 SHA256 023bb55905dc7bddb682773369e1abe21e8bc4f86f96d54e43462a12c9b6530c SHA512 2e16312d4f44aa50cbd7d843514aca06b8f1019b114a00ca5a76cf40ea9b8e937766e70c7628a76a991fa3ad8a12d36782c378a2ad783f9882f0225429794494 WHIRLPOOL 120cd5aff2347848f70c3f364e44f4e26a48d40632214c12861ce563c91b9254cca80d56b833900def2efbcf18f8cf9c4911e58a80b8771c61233cfebf6eb221 +DIST gentoo-dahdi-tools-patchset-0.3.tar.bz2 2250 SHA256 2fce2849d6746db1256ee824d974c74f571a2d70a11246c3301c0ade6de43974 SHA512 15bba73140ede20f49f69419d9ef9a4f242d18ad2da6edee6e91c44fad7ddaf5aa7d6d9e5127c0af0f384d81b4bc8c3fae9e5504d13279abb7ac3db2d01b6a43 WHIRLPOOL a4642ab37673f0470631c3c330b89449f823f270d7266adf0f4bc77366d3bed085969fbc30534c6742b48f8a7f901a7e749021a4a406d2073c83db7e469f06e2 +DIST gentoo-dahdi-tools-patchset-0.4.tar.bz2 2665 SHA256 71642a87e566220c7e7f908adb25dadcf87ff62a23150a6e6074708fd91297b1 SHA512 e48797bd5e741ba94bfd2b19c088ae51812272dc67e7fac04a0c52df9a8371443112d0385e31fe0b812acfc4c912c8cc38e9c632131d5ede55afc43301e2c2be WHIRLPOOL c4704d6ba82a6c020632380507d4435d0c2af4d9c61ed753957bb0ca8ce50ee955526d13497e34db2b4f61a4160db2bc51e5df82fc2f49bc88d857041669f82b diff --git a/net-misc/dahdi-tools/dahdi-tools-2.10.0.ebuild b/net-misc/dahdi-tools/dahdi-tools-2.10.0.ebuild new file mode 100644 index 000000000000..df7c0827a009 --- /dev/null +++ b/net-misc/dahdi-tools/dahdi-tools-2.10.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit base + +DESCRIPTION="Userspace tools to configure the kernel modules from net-misc/dahdi" +HOMEPAGE="http://www.asterisk.org" +SRC_URI="http://downloads.asterisk.org/pub/telephony/${PN}/releases/${P}.tar.gz + mirror://gentoo/gentoo-${PN}-patchset-0.4.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~x86" +IUSE="ppp" + +DEPEND="dev-libs/newt + ppp? ( net-dialup/ppp ) + >=net-misc/dahdi-2.5.0 + !net-misc/zaptel + >=sys-kernel/linux-headers-2.6.35 + virtual/libusb:0" +RDEPEND="${DEPEND}" + +EPATCH_SUFFIX="diff" +PATCHES=( "${WORKDIR}/${PN}-patchset" ) + +src_compile() { + default_src_compile + emake tests + use ppp && emake -C ppp +} + +src_install() { + emake DESTDIR="${D}" install + use ppp && emake DESTDIR="${D}" -C ppp install + emake DESTDIR="${D}" config + + dosbin patgen pattest patlooptest hdlcstress hdlctest hdlcgen hdlcverify timertest + + # install init scripts + newinitd "${FILESDIR}"/dahdi.init2 dahdi + newinitd "${FILESDIR}"/dahdi-autoconf.init2 dahdi-autoconf + newconfd "${FILESDIR}"/dahdi-autoconf.conf2 dahdi-autoconf +} diff --git a/net-misc/dahdi-tools/dahdi-tools-2.10.1.ebuild b/net-misc/dahdi-tools/dahdi-tools-2.10.1.ebuild new file mode 100644 index 000000000000..acdc58467bb5 --- /dev/null +++ b/net-misc/dahdi-tools/dahdi-tools-2.10.1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit base + +DESCRIPTION="Userspace tools to configure the kernel modules from net-misc/dahdi" +HOMEPAGE="http://www.asterisk.org" +SRC_URI="http://downloads.asterisk.org/pub/telephony/${PN}/releases/${P}.tar.gz + mirror://gentoo/gentoo-${PN}-patchset-0.4.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="ppp" + +DEPEND="dev-libs/newt + ppp? ( net-dialup/ppp ) + >=net-misc/dahdi-2.5.0 + !net-misc/zaptel + >=sys-kernel/linux-headers-2.6.35 + virtual/libusb:0" +RDEPEND="${DEPEND}" + +EPATCH_SUFFIX="diff" +PATCHES=( "${WORKDIR}/${PN}-patchset" ) + +src_prepare() { + base_src_prepare + sed -i \ + -e 's:-Werror::' \ + Makefile xpp/Makefile || die +} + +src_compile() { + default_src_compile + emake tests + use ppp && emake -C ppp +} + +src_install() { + emake DESTDIR="${D}" install + use ppp && emake DESTDIR="${D}" -C ppp install + emake DESTDIR="${D}" config + + dosbin patgen pattest patlooptest hdlcstress hdlctest hdlcgen hdlcverify timertest + + # install init scripts + newinitd "${FILESDIR}"/dahdi.init2 dahdi + newinitd "${FILESDIR}"/dahdi-autoconf.init2 dahdi-autoconf + newconfd "${FILESDIR}"/dahdi-autoconf.conf2 dahdi-autoconf +} diff --git a/net-misc/dahdi-tools/dahdi-tools-2.10.2.ebuild b/net-misc/dahdi-tools/dahdi-tools-2.10.2.ebuild new file mode 100644 index 000000000000..4a04cf36e8bd --- /dev/null +++ b/net-misc/dahdi-tools/dahdi-tools-2.10.2.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit base + +DESCRIPTION="Userspace tools to configure the kernel modules from net-misc/dahdi" +HOMEPAGE="http://www.asterisk.org" +SRC_URI="http://downloads.asterisk.org/pub/telephony/${PN}/releases/${P}.tar.gz + mirror://gentoo/gentoo-${PN}-patchset-0.4.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ppp" + +DEPEND="dev-libs/newt + ppp? ( net-dialup/ppp ) + >=net-misc/dahdi-2.5.0 + !net-misc/zaptel + >=sys-kernel/linux-headers-2.6.35 + virtual/libusb:0" +RDEPEND="${DEPEND}" + +EPATCH_SUFFIX="diff" +PATCHES=( "${WORKDIR}/${PN}-patchset" ) + +src_prepare() { + base_src_prepare + sed -i \ + -e 's:-Werror::' \ + Makefile xpp/Makefile || die +} + +src_compile() { + default_src_compile + emake tests + use ppp && emake -C ppp +} + +src_install() { + emake DESTDIR="${D}" install + use ppp && emake DESTDIR="${D}" -C ppp install + emake DESTDIR="${D}" config + + dosbin patgen pattest patlooptest hdlcstress hdlctest hdlcgen hdlcverify timertest + + # install init scripts + newinitd "${FILESDIR}"/dahdi.init2 dahdi + newinitd "${FILESDIR}"/dahdi-autoconf.init2 dahdi-autoconf + newconfd "${FILESDIR}"/dahdi-autoconf.conf2 dahdi-autoconf +} diff --git a/net-misc/dahdi-tools/dahdi-tools-2.6.2.ebuild b/net-misc/dahdi-tools/dahdi-tools-2.6.2.ebuild new file mode 100644 index 000000000000..45224b578f8a --- /dev/null +++ b/net-misc/dahdi-tools/dahdi-tools-2.6.2.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit base + +DESCRIPTION="Userspace tools to configure the kernel modules from net-misc/dahdi" +HOMEPAGE="http://www.asterisk.org" +SRC_URI="http://downloads.asterisk.org/pub/telephony/${PN}/releases/${P}.tar.gz + mirror://gentoo/gentoo-${PN}-patchset-0.3.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="ppp" + +DEPEND="dev-libs/newt + ppp? ( net-dialup/ppp ) + >=net-misc/dahdi-2.5.0 + !net-misc/zaptel + >=sys-kernel/linux-headers-2.6.35 + virtual/libusb:0" +RDEPEND="${DEPEND}" + +EPATCH_SUFFIX="diff" +PATCHES=( "${WORKDIR}/${PN}-patchset" ) + +src_compile() { + default_src_compile + emake tests + use ppp && emake -C ppp +} + +src_install() { + emake DESTDIR="${D}" install + use ppp && emake DESTDIR="${D}" -C ppp install + emake DESTDIR="${D}" config + + dosbin patgen pattest patlooptest hdlcstress hdlctest hdlcgen hdlcverify timertest + + # install init scripts + newinitd "${FILESDIR}"/dahdi.init2 dahdi + newinitd "${FILESDIR}"/dahdi-autoconf.init2 dahdi-autoconf + newconfd "${FILESDIR}"/dahdi-autoconf.conf2 dahdi-autoconf +} diff --git a/net-misc/dahdi-tools/dahdi-tools-2.8.0.ebuild b/net-misc/dahdi-tools/dahdi-tools-2.8.0.ebuild new file mode 100644 index 000000000000..59ec917e4dc3 --- /dev/null +++ b/net-misc/dahdi-tools/dahdi-tools-2.8.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit base + +DESCRIPTION="Userspace tools to configure the kernel modules from net-misc/dahdi" +HOMEPAGE="http://www.asterisk.org" +SRC_URI="http://downloads.asterisk.org/pub/telephony/${PN}/releases/${P}.tar.gz + mirror://gentoo/gentoo-${PN}-patchset-0.4.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="ppp" + +DEPEND="dev-libs/newt + ppp? ( net-dialup/ppp ) + >=net-misc/dahdi-2.5.0 + !net-misc/zaptel + >=sys-kernel/linux-headers-2.6.35 + virtual/libusb:0" +RDEPEND="${DEPEND}" + +EPATCH_SUFFIX="diff" +PATCHES=( "${WORKDIR}/${PN}-patchset" ) + +src_compile() { + default_src_compile + emake tests + use ppp && emake -C ppp +} + +src_install() { + emake DESTDIR="${D}" install + use ppp && emake DESTDIR="${D}" -C ppp install + emake DESTDIR="${D}" config + + dosbin patgen pattest patlooptest hdlcstress hdlctest hdlcgen hdlcverify timertest + + # install init scripts + newinitd "${FILESDIR}"/dahdi.init2 dahdi + newinitd "${FILESDIR}"/dahdi-autoconf.init2 dahdi-autoconf + newconfd "${FILESDIR}"/dahdi-autoconf.conf2 dahdi-autoconf +} diff --git a/net-misc/dahdi-tools/dahdi-tools-2.9.0.1.ebuild b/net-misc/dahdi-tools/dahdi-tools-2.9.0.1.ebuild new file mode 100644 index 000000000000..59ec917e4dc3 --- /dev/null +++ b/net-misc/dahdi-tools/dahdi-tools-2.9.0.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit base + +DESCRIPTION="Userspace tools to configure the kernel modules from net-misc/dahdi" +HOMEPAGE="http://www.asterisk.org" +SRC_URI="http://downloads.asterisk.org/pub/telephony/${PN}/releases/${P}.tar.gz + mirror://gentoo/gentoo-${PN}-patchset-0.4.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="ppp" + +DEPEND="dev-libs/newt + ppp? ( net-dialup/ppp ) + >=net-misc/dahdi-2.5.0 + !net-misc/zaptel + >=sys-kernel/linux-headers-2.6.35 + virtual/libusb:0" +RDEPEND="${DEPEND}" + +EPATCH_SUFFIX="diff" +PATCHES=( "${WORKDIR}/${PN}-patchset" ) + +src_compile() { + default_src_compile + emake tests + use ppp && emake -C ppp +} + +src_install() { + emake DESTDIR="${D}" install + use ppp && emake DESTDIR="${D}" -C ppp install + emake DESTDIR="${D}" config + + dosbin patgen pattest patlooptest hdlcstress hdlctest hdlcgen hdlcverify timertest + + # install init scripts + newinitd "${FILESDIR}"/dahdi.init2 dahdi + newinitd "${FILESDIR}"/dahdi-autoconf.init2 dahdi-autoconf + newconfd "${FILESDIR}"/dahdi-autoconf.conf2 dahdi-autoconf +} diff --git a/net-misc/dahdi-tools/files/dahdi-autoconf.conf2 b/net-misc/dahdi-tools/files/dahdi-autoconf.conf2 new file mode 100644 index 000000000000..a46545231911 --- /dev/null +++ b/net-misc/dahdi-tools/files/dahdi-autoconf.conf2 @@ -0,0 +1,40 @@ +# Global settings +# Set this to your country code. +DAHDI_ZONE=za +DAHDI_ECHOCAN=oslec # mg2,jpah,kb1,sec,sec2 (there may be more, we recommend oslec) + +# Settings for analog +#Analog signal types, one of: +# ks - KewlStart (recommended, default) +# ls - LoopStart +# gs - GroundStart + +# Signalling to be used on FXO ports +DAHDI_FXO_SIGNALLING=ks + +# Signalling to be used on FXS ports +DAHDI_FXS_SIGNALLING=ks + +# Whether or not to echocan: +DAHDI_FXO_ECHOCAN=yes +DAHDI_FXS_ECHOCAN=yes + +# These settings will be used for BRI cards. +# Known options: B8ZS,AMI,HDB3 +DAHDI_BRI_CODING=AMI + +# Known options: ESF,D4,CCS,CRC4 +DAHDI_BRI_FRAMING=CCS + +# Our experience is that it's not required (still defaults to yes) +DAHDI_BRI_NT_ECHOCAN=yes +DAHDI_BRI_TE_ECHOCAN=yes + +# These settings are for PRI cards. Note that only E1 currently supported. +DAHDI_E1_CPE_ECHOCAN=yes +DAHDI_E1_NET_ECHOCAN=yes + +# PRI will default to CPE mode (remote end provides signalling). +# If you really want to provide signalling set the appropriate spans +# here (eg, set span 1 to NET mode). +#PRI_SPAN_1_NET=yes diff --git a/net-misc/dahdi-tools/files/dahdi-autoconf.init2 b/net-misc/dahdi-tools/files/dahdi-autoconf.init2 new file mode 100644 index 000000000000..1ebe8ec28ea8 --- /dev/null +++ b/net-misc/dahdi-tools/files/dahdi-autoconf.init2 @@ -0,0 +1,225 @@ +#!/sbin/runscript +# Copyright 1999-2011 Ultimate Linux Solutions CC +# Distributed under the terms of the GNU General Public License v2 + +depend() { + before dahdi +} + +dahdi_load_modules() { + local hwlist loc status mod mod_vname pciid desc + + hwlist=$(/usr/sbin/dahdi_hardware) + + if [ -z "${hwlist}" ]; then + einfo "No digium hardware found." + ebegin "Loading module dahdi_dummy" + /sbin/modprobe dahdi_dummy + eend $? + return + fi + + echo "${hwlist}" | while read loc mod pciid desc; do + status="${mod:${#mod}-1:1}" + mod="${mod%[+-]}" + mod_vname="mod_${mod}" + + einfo "Found $desc at $loc (module: $mod)" + + if [ "${status}" = "-" -a "${!mod_vname-notloaded}" = "notloaded" ]; then + ebegin "Loading module $mod" + /sbin/modprobe $mod + eend + + [ $? -eq 0 ] && eval "$mod_vname=loaded" + fi + done +} + +dahdi_module_unload() { + local mod=$1 s + [ -d /sys/module/${mod} ] || return 0 + + for s in $(find /sys/module/${mod}/holders -type l); do + dahdi_module_unload $(basename $s) + done + + ebegin "Removing dahdi module: $mod" + /sbin/rmmod $mod + eend $? +} + +dahdi_gen_fxo_config() { + local port=$1 + + echo "fxs${DAHDI_FXO_SIGNALLING-ks}=${port}" + [ "${DAHDI_FXO_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}" +} + +dahdi_gen_fxs_config() { + local port=$1 + + echo "fxo${DAHDI_FXO_SIGNALLING-ks}=${port}" + [ "${DAHDI_FXS_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}" +} + +dahdi_gen_bri_te_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},${port},0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}" + echo "bchan=${basechan}-$(( basechan + 1 ))" + echo "hardhdlc=$(( basechan + 2 ))" + [ "${DAHDI_BRI_TE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))" +} + +dahdi_gen_bri_nt_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},0,0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}" + echo "bchan=${basechan}-$(( basechan + 1 ))" + echo "hardhdlc=$(( basechan + 2 ))" + [ "${DAHDI_BRI_NT_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))" +} + +dahdi_gen_e1_cpe_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},${port},0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}" + bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))" + echo "bchan=${bchans}" + echo "dchan=$(( basechan + 15 ))" + [ "${DAHDI_E1_CPE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}" +} + +dahdi_gen_e1_net_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},0,0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}" + bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))" + echo "bchan=${bchans}" + echo "dchan=$(( basechan + 15 ))" + [ "${DAHDI_E1_NET_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}" +} + +dahdi_conf_span() { + local span=$1 + local type=$2 + local desc=$3 + local port=$4 + local basechan=$5 + local vname="" + + # Analog we need to deal with on a port-by-port basis. + [ "${type}" = "analog" ] && return 0 + + echo -e "\n# ${desc}" + case "${type}" in + digital-TE) + dahdi_gen_bri_te_config "${span}" "${port}" "${basechan}" + ;; + digital-NT) + dahdi_gen_bri_nt_config "${span}" "${port}" "${basechan}" + ;; + digital-E1) + # Use CPE by default. Unfortunately there is no easy + # way to detect CPE vs NET as far as I know and specifying + # in a config that you want NET mode seems the sanest way. + vname="PRI_SPAN_${span}_NET" + if [[ "${!vname}" = [Yy][Ee][Ss] ]]; then + dahdi_gen_e1_net_config "${span}" "${port}" "${basechan}" + else + dahdi_gen_e1_cpe_config "${span}" "${port}" "${basechan}" + fi + ;; + *) + echo "# Don't know how to configure this (type=${type})." + echo "# Please file a bug on bugs.gentoo.org and add jaco@uls.co.za as CC." + ;; + esac +} + +dahdi_gen_config() { + local type manufacturer devicetype basechan aport atype + local span= + local tfile="$(mktemp)" + local sfile="$(mktemp)" + local plocation="" + local isdnport=0 + + /usr/sbin/dahdi_scan > "${sfile}" + exec 3<"${sfile}" + + echo "# Automatically dahdi-autoconf generated file ($(date))." >> "${tfile}" + echo "# This file WILL get regenerated whenever you restart dahdi-autoconf." >> "${tfile}" + + while read LINE <&3; do + case "$LINE" in + [[]*[]]) + [ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}" + span="${LINE%?}" + span="${span#?}" + ;; + type=*|manufacturer=*|devicetype=*|basechan=*|name=*) + eval "${LINE%%=*}='${LINE#*=}'" + ;; + location=*) + eval "${LINE%%=*}='${LINE#*=}'" + if [ "${location}" == "${plocation}" ]; then + (( ++isdnport )) + else + plocation="${location}" + isdnport=1 + fi + ;; + port=*) + # For analog cards only. + aport="${LINE#*=}"; aport="${aport%,*}" + atype="${LINE#*,}" + [ "${aport}" -eq "${basechan}" ] && echo -e "\n# ${manufacturer} ${devicetype} (${name})" >> "${tfile}" + case "${atype}" in + FXO) + dahdi_gen_fxo_config $aport >> "${tfile}" + ;; + FXS) + dahdi_gen_fxs_config $aport >> "${tfile}" + ;; + esac + ;; + esac + done + + [ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}" + + echo -e "\nloadzone = ${DAHDI_ZONE}\ndefaultzone = ${DAHDI_ZONE}\n## END OF AUTOCONFIGURED FILE ##" >> "${tfile}" + + exec 3<&- + + rm -f "${sfile}" + mv /etc/dahdi/system.conf /etc/dahdi/system.conf.bck + mv "${tfile}" /etc/dahdi/system.conf +} + +start() { + dahdi_load_modules + + if [ ! -r /dev/dahdi/ctl ]; then + eerror "No DAHDI compatible cards detected." + return 1 + fi + + ebegin "Generating DAHDI Configuration" + dahdi_gen_config + eend $? +} + +stop() { + dahdi_module_unload dahdi +} diff --git a/net-misc/dahdi-tools/files/dahdi-autoconf.init3 b/net-misc/dahdi-tools/files/dahdi-autoconf.init3 new file mode 100644 index 000000000000..550a90e780d7 --- /dev/null +++ b/net-misc/dahdi-tools/files/dahdi-autoconf.init3 @@ -0,0 +1,226 @@ +#!/sbin/runscript +# Copyright 1999-2012 Ultimate Linux Solutions CC +# Distributed under the terms of the GNU General Public License v2 + +depend() { + before dahdi + after wanrouter +} + +dahdi_load_modules() { + local hwlist loc status mod mod_vname pciid desc + + hwlist=$(/usr/sbin/dahdi_hardware) + + if [ -z "${hwlist}" ]; then + einfo "No digium hardware found." + ebegin "Loading module dahdi_dummy" + /sbin/modprobe dahdi_dummy + eend $? + return + fi + + echo "${hwlist}" | while read loc mod pciid desc; do + status="${mod:${#mod}-1:1}" + mod="${mod%[+-]}" + mod_vname="mod_${mod}" + + einfo "Found $desc at $loc (module: $mod)" + + if [ "${status}" = "-" -a "${!mod_vname-notloaded}" = "notloaded" ]; then + ebegin "Loading module $mod" + /sbin/modprobe $mod + eend + + [ $? -eq 0 ] && eval "$mod_vname=loaded" + fi + done +} + +dahdi_module_unload() { + local mod=$1 s + [ -d /sys/module/${mod} ] || return 0 + + for s in $(find /sys/module/${mod}/holders -type l); do + dahdi_module_unload $(basename $s) + done + + ebegin "Removing dahdi module: $mod" + /sbin/rmmod $mod + eend $? +} + +dahdi_gen_fxo_config() { + local port=$1 + + echo "fxs${DAHDI_FXO_SIGNALLING-ks}=${port}" + [ "${DAHDI_FXO_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}" +} + +dahdi_gen_fxs_config() { + local port=$1 + + echo "fxo${DAHDI_FXO_SIGNALLING-ks}=${port}" + [ "${DAHDI_FXS_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}" +} + +dahdi_gen_bri_te_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},${port},0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}" + echo "bchan=${basechan}-$(( basechan + 1 ))" + echo "hardhdlc=$(( basechan + 2 ))" + [ "${DAHDI_BRI_TE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))" +} + +dahdi_gen_bri_nt_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},0,0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}" + echo "bchan=${basechan}-$(( basechan + 1 ))" + echo "hardhdlc=$(( basechan + 2 ))" + [ "${DAHDI_BRI_NT_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))" +} + +dahdi_gen_e1_cpe_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},${port},0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}" + bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))" + echo "bchan=${bchans}" + echo "dchan=$(( basechan + 15 ))" + [ "${DAHDI_E1_CPE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}" +} + +dahdi_gen_e1_net_config() { + span=$1 + port=$2 + basechan=$3 + + echo "span=${span},0,0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}" + bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))" + echo "bchan=${bchans}" + echo "dchan=$(( basechan + 15 ))" + [ "${DAHDI_E1_NET_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}" +} + +dahdi_conf_span() { + local span=$1 + local type=$2 + local desc=$3 + local port=$4 + local basechan=$5 + local vname="" + + # Analog we need to deal with on a port-by-port basis. + [ "${type}" = "analog" ] && return 0 + + echo -e "\n# ${desc}" + case "${type}" in + digital-TE) + dahdi_gen_bri_te_config "${span}" "${port}" "${basechan}" + ;; + digital-NT) + dahdi_gen_bri_nt_config "${span}" "${port}" "${basechan}" + ;; + digital-E1) + # Use CPE by default. Unfortunately there is no easy + # way to detect CPE vs NET as far as I know and specifying + # in a config that you want NET mode seems the sanest way. + vname="PRI_SPAN_${span}_NET" + if [[ "${!vname}" = [Yy][Ee][Ss] ]]; then + dahdi_gen_e1_net_config "${span}" "${port}" "${basechan}" + else + dahdi_gen_e1_cpe_config "${span}" "${port}" "${basechan}" + fi + ;; + *) + echo "# Don't know how to configure this (type=${type})." + echo "# Please file a bug on bugs.gentoo.org and add jaco@uls.co.za as CC." + ;; + esac +} + +dahdi_gen_config() { + local type manufacturer devicetype basechan aport atype + local span= + local tfile="$(mktemp)" + local sfile="$(mktemp)" + local plocation="" + local isdnport=0 + + /usr/sbin/dahdi_scan > "${sfile}" + exec 3<"${sfile}" + + echo "# Automatically dahdi-autoconf generated file ($(date))." >> "${tfile}" + echo "# This file WILL get regenerated whenever you restart dahdi-autoconf." >> "${tfile}" + + while read LINE <&3; do + case "$LINE" in + [[]*[]]) + [ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}" + span="${LINE%?}" + span="${span#?}" + ;; + type=*|manufacturer=*|devicetype=*|basechan=*|name=*) + eval "${LINE%%=*}='${LINE#*=}'" + ;; + location=*) + eval "${LINE%%=*}='${LINE#*=}'" + if [ "${location}" == "${plocation}" ]; then + (( ++isdnport )) + else + plocation="${location}" + isdnport=1 + fi + ;; + port=*) + # For analog cards only. + aport="${LINE#*=}"; aport="${aport%,*}" + atype="${LINE#*,}" + [ "${aport}" -eq "${basechan}" ] && echo -e "\n# ${manufacturer} ${devicetype} (${name})" >> "${tfile}" + case "${atype}" in + FXO) + dahdi_gen_fxo_config $aport >> "${tfile}" + ;; + FXS) + dahdi_gen_fxs_config $aport >> "${tfile}" + ;; + esac + ;; + esac + done + + [ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}" + + echo -e "\nloadzone = ${DAHDI_ZONE}\ndefaultzone = ${DAHDI_ZONE}\n## END OF AUTOCONFIGURED FILE ##" >> "${tfile}" + + exec 3<&- + + rm -f "${sfile}" + mv /etc/dahdi/system.conf /etc/dahdi/system.conf.bck + mv "${tfile}" /etc/dahdi/system.conf +} + +start() { + dahdi_load_modules + + if [ ! -r /dev/dahdi/ctl ]; then + eerror "No DAHDI compatible cards detected." + return 1 + fi + + ebegin "Generating DAHDI Configuration" + dahdi_gen_config + eend $? +} + +stop() { + dahdi_module_unload dahdi +} diff --git a/net-misc/dahdi-tools/files/dahdi.init2 b/net-misc/dahdi-tools/files/dahdi.init2 new file mode 100644 index 000000000000..9f550c17a15e --- /dev/null +++ b/net-misc/dahdi-tools/files/dahdi.init2 @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +checkconfig() { + if [ ! -f /etc/dahdi/system.conf ]; then + eerror "/etc/dahdi/system.conf not found. Nothing to do." + return 1 + fi + + return 0 +} + +start() { + checkconfig || return 1 + + ebegin "Starting DAHDI" + /usr/sbin/dahdi_cfg + eend $? + + if [ $? -eq 0 -a -r /etc/fxotune.conf ]; then + ebegin "Loading DAHDI fxotune.conf" + /usr/sbin/fxotune -s + eend $? + fi +} + +stop() { + ebegin "Stopping DAHDI" + /usr/sbin/dahdi_cfg -s + eend +} diff --git a/net-misc/dahdi-tools/metadata.xml b/net-misc/dahdi-tools/metadata.xml new file mode 100644 index 000000000000..2cfe9ff5a1e3 --- /dev/null +++ b/net-misc/dahdi-tools/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>chainsaw@gentoo.org</email> + <name>Tony Vroon</name> + </maintainer> + <use> + <flag name="ppp">Enables PPP/DAHDIRAS support</flag> + </use> +</pkgmetadata> |