diff --git a/dahdi_cfg_device_args b/dahdi_cfg_device_args new file mode 100755 index 0000000..de5d557 --- /dev/null +++ b/dahdi_cfg_device_args @@ -0,0 +1,32 @@ +#! /bin/sh + +devbase='/sys/bus/dahdi_devices/devices' + +# Use given devices or otherwise, all existing devices +if [ "$#" -gt 0 ]; then + DEVICES="$@" +else + DEVICES=`echo $devbase/*` +fi + +run_action_spans() { + device="$1" + for span in $device/span-* + do + spanno=`echo "$span" | sed 's,.*/span-,,'` + spantype=`cat "$span/spantype"` + basechan=`cat "$span/basechan"` + channels=`cat "$span/channels"` + endchan=`expr "$basechan" + "$channels" - 1` + echo "-S $spanno -C $basechan-$endchan" + done +} + +run_action() { + for device in $DEVICES + do + run_action_spans "$device" + done +} + +run_action diff --git a/handle_device b/handle_device index 180a163..59d0f62 100755 --- a/handle_device +++ b/handle_device @@ -22,6 +22,12 @@ PATH="$dir:/usr/sbin:/sbin:/usr/bin:/bin" set -e +run_dahdi_cfg() { + args="-c $DAHDICONFDIR/system.conf $@" + echo "Running dahdi_cfg $args" + dahdi_cfg $args +} + echo >&2 "$0($ACTION): DEBUG($# args): '$*'" case "$ACTION" in @@ -31,6 +37,9 @@ add) #export DAHDICONFDIR="/tmp/xortel/dahdi" span_types set "/sys/$DEVPATH" 2>&1 | $LOGGER span_assignments add "/sys/$DEVPATH" 2>&1 | $LOGGER + dahdi_cfg_device_args | while read args; do + run_dahdi_cfg $args 2>&1 | $LOGGER + done ;; remove) echo "$ACTION: $DEVPATH" | $LOGGER