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@xorcom.com>
This commit is contained in:
parent
dc5c7de9fc
commit
c1e016fa33
@ -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 &
|
||||
;;
|
||||
|
30
span_config
30
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
|
||||
;;
|
||||
|
Loading…
Reference in New Issue
Block a user