mirror of
https://github.com/openwrt/telephony.git
synced 2026-04-15 10:51:57 +00:00
`/etc/init.d/asterisk reregister` will re-register all outbound registrations. Currently only pjsip is supported, but, if required, this can be easily extended in the future. Signed-off-by: Andre Heider <a.heider@gmail.com>
79 lines
1.6 KiB
Bash
79 lines
1.6 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2014 OpenWrt.org
|
|
|
|
START=99
|
|
|
|
USE_PROCD=1
|
|
#PROCD_DEBUG=1
|
|
|
|
NAME=asterisk
|
|
COMMAND=/usr/sbin/$NAME
|
|
|
|
log() {
|
|
level=$1
|
|
shift
|
|
/usr/bin/logger -p daemon.$level -s -t $NAME "$@"
|
|
}
|
|
|
|
start_service() {
|
|
dbdir=/var/lib/asterisk/astdb
|
|
logdir=/var/log/asterisk
|
|
cdrcsvdir=$logdir/cdr-csv
|
|
rundir=/var/run/asterisk
|
|
spooldir=/var/spool/asterisk
|
|
varlibdir=/var/lib/asterisk
|
|
|
|
config_load $NAME
|
|
|
|
config_get_bool enabled general enabled 0
|
|
if [ $enabled -eq 0 ]; then
|
|
log err "service not enabled in /etc/config/$NAME"
|
|
return 1
|
|
fi
|
|
|
|
config_get_bool log_stderr general log_stderr 1
|
|
config_get_bool log_stdout general log_stdout 0
|
|
|
|
config_get options general options
|
|
|
|
for i in \
|
|
"$logdir" \
|
|
"$cdrcsvdir" \
|
|
"$rundir" \
|
|
"$spooldir" \
|
|
"$varlibdir" \
|
|
"$dbdir"
|
|
do
|
|
if ! [ -e "$i" ]; then
|
|
mkdir -m 0750 -p "$i"
|
|
[ -d "$i" ] && chown $NAME:$NAME "$i"
|
|
fi
|
|
done
|
|
|
|
procd_open_instance
|
|
procd_set_param command $COMMAND
|
|
procd_append_param command \
|
|
-U "$NAME" \
|
|
$options \
|
|
-f
|
|
# forward stderr to logd
|
|
procd_set_param stderr $log_stderr
|
|
# same for stdout
|
|
procd_set_param stdout $log_stdout
|
|
procd_close_instance
|
|
}
|
|
|
|
reload_service() {
|
|
procd_send_signal $NAME
|
|
}
|
|
|
|
extra_command "reregister" "Re-register all outbound registrations"
|
|
reregister() {
|
|
MODULES=`$COMMAND -x 'module show'` || exit 1
|
|
|
|
echo "$MODULES" | grep -q -s '^res_pjsip.so' && {
|
|
log info "re-registering all outbound pjsip registrations"
|
|
$COMMAND -x 'pjsip send unregister *all' -x 'pjsip send register *all'
|
|
}
|
|
}
|