Hello,
Opensips3.0 doesn't start automatically. It times out on a remote
mysqlconnection.
Jun 22 13:27:09 hendrix /data/opensips/sbin/opensips[1291]:
ERROR:db_mysql:db_mysql_connect: driver error(2003): Can't connect to MySQL
server on '10.3.0.81' (110 "Connection timed out")
Jun 22 13:27:09 hendrix /data/opensips/sbin/opensips[1291]:
ERROR:db_mysql:db_mysql_new_connection: initial connect failed
Jun 22 13:27:09 hendrix /data/opensips/sbin/opensips[1291]:
ERROR:core:db_do_init: could not add connection to the pool
Jun 22 13:27:09 hendrix /data/opensips/sbin/opensips[1291]:
ERROR:domain:domain_db_init: Cannot initialize database connection
Jun 22 13:27:09 hendrix /data/opensips/sbin/opensips[1291]:
ERROR:core:init_mod: failed to initialize module domain
Jun 22 13:27:09 hendrix /data/opensips/sbin/opensips[1291]: ERROR:core:main:
error while initializing modules
With 2.4, the problem was not there. Please advice on how I need to fix
this.
Johan De Clercq, Managing Director
Democon bvba - Ooigemstraat 41 - 8780 Oostrozebeke
Tel +3256980990 - GSM +32478720104
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: opensips
# Required-Start: $syslog $network $local_fs $time $remote_fs $mysql
# Required-Stop: $syslog $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start the OpenSIPS SIP server
# Description: Start the OpenSIPS SIP server
### END INIT INFO
#
# TODO:
# The following fields should be added (and completed):
# Should-Start: postgresql mysql radius
# Should-Stop: postgresql mysql radius
set -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/data/opensips/sbin/opensips
NAME=opensips
DESC=opensips
CFGFILE=/data/opensips/etc/opensips/opensips.cfg
M4CFGFILE=/etc/opensips/opensips.m4
M4ARCHIVEDIR=/etc/opensips/archive
HOMEDIR=/var/run/opensips
PIDFILE=$HOMEDIR/$NAME.pid
DEFAULTS=/etc/default/opensips
RUN_OPENSIPS=yes
[ -e "/lib/lsb/init-functions" ] && . /lib/lsb/init-functions
test -f $DAEMON || exit 0
# Load startup options if available
if [ -f $DEFAULTS ]; then
. $DEFAULTS || true
fi
if [ "$RUN_OPENSIPS" != "yes" ]; then
echo "OpenSIPS not yet configured. Edit /etc/default/opensips first."
exit 0
fi
check_opensips_config ()
{
# Check if opensips configuration is valid before starting the server
set +e
out=$($DAEMON -c -f $CFGFILE 2>&1 > /dev/null)
retcode=$?
set -e
if [ "$retcode" != '0' ]; then
echo "Not starting $DESC: invalid configuration file!"
echo -e "\n$out\n"
exit 1
fi
}
create_radius_seqfile ()
{
# Create a radius sequence file to be used by the radius client if
# radius accounting is enabled. This is needed to avoid any issue
# with the file not being writable if opensips first starts as user
# root because DUMP_CORE is enabled and creates this file as user
# root and then later it switches back to user opensips and cannot
# write to the file. If the file exists before opensips starts, it
# won't change it's ownership and will be writable for both root
# and opensips, no matter what options are chosen at install time
RADIUS_SEQ_FILE=/var/run/opensips/opensips_radius.seq
if [ -d /var/run/opensips ]; then
chown ${USER}:${GROUP} /var/run/opensips
if [ ! -f $RADIUS_SEQ_FILE ]; then
touch $RADIUS_SEQ_FILE
fi
chown ${USER}:${GROUP} $RADIUS_SEQ_FILE
chmod 660 $RADIUS_SEQ_FILE
fi
}
S_MEMORY=$((`echo $S_MEMORY | sed -e 's/[^0-9]//g'`))
P_MEMORY=$((`echo $P_MEMORY | sed -e 's/[^0-9]//g'`))
[ -z "$USER" ] && USER=opensips
[ -z "$GROUP" ] && GROUP=opensips
[ $S_MEMORY -le 0 ] && S_MEMORY=32
[ $P_MEMORY -le 0 ] && P_MEMORY=32
if test "$DUMP_CORE" = "yes" ; then
# set proper ulimit
ulimit -c unlimited
# directory for the core dump files
# COREDIR=/home/corefiles
# [ -d $COREDIR ] || mkdir $COREDIR
# chmod 777 $COREDIR
# echo "$COREDIR/core.%e.sig%s.%p" > /proc/sys/kernel/core_pattern
fi
OPTIONS="-P $PIDFILE -m $S_MEMORY -M $P_MEMORY -u $USER -g $GROUP -f $CFGFILE"
case "$1" in
start)
check_opensips_config
create_radius_seqfile
sleep 2
# dirs under /var/run will go away on reboot.
mkdir -p "$HOMEDIR"
chmod 775 "$HOMEDIR"
chown "$USER:$GROUP" "$HOMEDIR" >/dev/null 2>&1 || true
# Generate config from M4
if [ -f $M4CFGFILE ]; then
m4 -Q $M4CFGFILE >$CFGFILE.tmp
if [ $? != 0 ]; then
echo "Cannot process m4 macro"
rm "$CFGFILE.tmp"
exit 1
fi
[ -e $CFGFILE ] || touch $CFGFILE
# compare configs
if [ `md5sum $CFGFILE|awk '{print $1}'` != `md5sum
$CFGFILE.tmp|awk '{print $1}'` ]; then
mkdir -p "$M4ARCHIVEDIR"
mv "$CFGFILE" "$M4ARCHIVEDIR/$NAME.cfg-`date
+%Y%m%d_%H%M%S`"
fi
mv "$CFGFILE.tmp" "$CFGFILE"
chown $USER:$GROUP $CFGFILE
chmod 640 $CFGFILE
fi
log_daemon_msg "Starting $DESC" "$NAME"
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- $OPTIONS || echo -n " already running"
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \
--exec $DAEMON
log_end_msg $?
;;
restart|force-reload)
check_opensips_config
create_radius_seqfile
log_daemon_msg "Restarting $DESC" "$NAME"
start-stop-daemon --oknodo --stop --quiet --pidfile \
$PIDFILE --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
$PIDFILE --exec $DAEMON -- $OPTIONS
log_end_msg $?
;;
status)
status_of_proc -p $PIDFILE "$DAEMON" "$NAME"
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users