[Pkg-voip-commits] [dahdi-tools] 116/285: Do the Right Thing when there's no config

tzafrir at debian.org tzafrir at debian.org
Thu Jul 7 19:18:41 UTC 2016


This is an automated email from the git hooks/post-receive script.

tzafrir pushed a commit to branch master
in repository dahdi-tools.

commit c1e016fa3389cc04ae7f4a1ed9329e0d6c7435ca
Author: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
Date:   Tue Oct 1 22:13:43 2013 +0300

    Do the Right Thing when there's no config
    
    Do the "right thing" (hopefully. At least for a system with a single
    device) if there is are no configuration files:
    
    * No span-types.conf: just ignore it as before. It is optional.
    * No pinned-spans.conf: use span_assignments auto (same as having
      dahdi.auto_assign_spans=1).
    * No system.conf: generate a temporary one with dahdi_genconf.
    
    This will hopefully allow having a partially-working system, and help
    making ut usable with 'span_assignments dumpconfig'. Or maybe just work
    as-is.
    
    Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
---
 handle_device |  3 +++
 span_config   | 30 ++++++++++++++++++++++--------
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/handle_device b/handle_device
index a25c921..4a95b7b 100755
--- a/handle_device
+++ b/handle_device
@@ -54,6 +54,9 @@ add)
 		fi
 		if [ -r "$DAHDICONFDIR/pinned-spans.conf" ]; then
 			span_assignments add "/sys$DEVPATH"
+		else
+			# No configuration. No order guaranteed
+			span_assignments auto
 		fi
 	) 2>&1 < /dev/null | $LOGGER &
 	;;
diff --git a/span_config b/span_config
index 8500d46..64a6ede 100755
--- a/span_config
+++ b/span_config
@@ -32,22 +32,36 @@ DAHDICONFDIR='/etc/dahdi'
 export DAHDICONFDIR
 
 run_dahdi_cfg() {
+	echo "dahdi_cfg: span $spanno <$basechan-$endchan>"
+	dahdi_cfg -c "$cfg_file" -S "$spanno" -C "$basechan-$endchan"
+}
+
+configure_span() {
 	span_devpath="$1"
 	# Sanity check
 	checkit=`"dahdi_cfg" --help 2>&1 | grep -- '-S' | wc -l`
 	if [ "$checkit" != 1 ]; then
-		$LOGGER "Bad dahdi_cfg (no -S support). Skipping"
+		echo "Bad dahdi_cfg (no -S support). Skipping"
 		exit 0
 	fi
+
+	# Set variables
 	spanno=`echo "$span_devpath" | sed 's,.*/span-,,'`
 	basechan=`cat "$span_devpath/basechan"`
 	channels=`cat "$span_devpath/channels"`
 	endchan=`expr "$basechan" + "$channels" - 1`
-	echo "dahdi_cfg: span $spanno <$basechan-$endchan>"
-	dahdi_cfg \
-		-c "$DAHDICONFDIR/system.conf" \
-		-S "$spanno" \
-		-C "$basechan-$endchan"
+
+	# Configure DAHDI
+	cfg_file="$DAHDICONFDIR/system.conf"
+	if [ -r "$cfg_file" ]; then
+		run_dahdi_cfg
+	else
+		echo "Using auto-generated config for dahdi_cfg"
+		cfg_file='-'
+		DAHDI_CONF_FILE="$cfg_file" dahdi_genconf system | run_dahdi_cfg
+	fi
+
+	# Add to asterisk
 	asterisk -rx "dahdi create channels $basechan $endchan"
 }
 
@@ -57,9 +71,9 @@ add)
 	# Can have alternate dahdi configuration directory for debugging
 	# export DAHDICONFDIR="/tmp/xortel/dahdi"
 
-	run_dahdi_cfg "/sys$DEVPATH" 2>&1 | $LOGGER
+	configure_span "/sys$DEVPATH" 2>&1 | $LOGGER
 	;;
-remove)
+remove|online|offline)
 	# Nothing to do yet...
 	echo "$ACTION: $DEVPATH" | $LOGGER
 	;;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/dahdi-tools.git



More information about the Pkg-voip-commits mailing list