Hello,
thanks for the sample upstart script. Perhaps it would be good to be
added in the tracker not to get lost.
As said, I am not familiar with upstart, maybe someone else can
contribute other improvements for the moment.
Btw, is upstart the default init system for ubuntu 12.04, or is just an
alternative? Kamailio is packaged on official Debian distro, I wonder if
the follow the same init system already.
Cheers,
Daniel
On 11/15/12 9:12 PM, Moacir Ferreira wrote:
Before using my suggestion below, please consider
first that I am a
"dummy programmer" and then, that I am using Ubuntu server 12.04 LTS
64 bits. If you are using another distro or version, you may need to
adapt the upstart script. Also, I am not sure if this is the right way
of doing it, but it worked for me... Finally, I did not convert some
of the start-up scripts.
Now, the problem I see is that this addresses "my problem"
(Kamailio+MySQL on Ubuntu running Upstart). However, it would be nice
to have a more complete script. I.e.: If you are not running MySQL,
then you have to change the upstart script to match your SQL engine.
The old init script had a "Should-Start" statement so you could get
anything to start before Kamailio (postgresql mysql radius, etc.)
without being a "must" like in upstart. But I could not find the
equivalent command for this in Upstart docs... So I let here the
challenge for the community to improve what I could accomplish so far.
The first thing you need to do is to remove (or not install) the
/etc/init.d/kamailio init script. Then you need to create a symlink to
the kamailio upstart conf file that should be at /ect/init/. To do so:
# First save you original init script if you have one
mv /etc/init.d/kamailio ~
# Create symlink to upstart .conf file
ln -s /etc/init/kamailio.conf /etc/init.d/kamailio
Then create a /etc/init/kamailio.conf (notice it is /etc/init/ *not*
/etc/init.d/) with the following content:
# Kamailio Service
description "Kamailio server"
author "Moacir Ferreira"
# Change anything here
# to match your environment
env NAME=kamailio
env DAEMON=/sbin/kamailio
env CFGFILE=/etc/kamailio/kamailio.cfg
env USER=kamailio
env GROUP=kamailio
start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]
# This is required to start Kamailio
# after MySQL
start on started mysql
# This is required when the daemon
# forks 2 times
expect daemon
# Include this to see the nice
# kamailo init messages at the console
console output
pre-start script
# Do not start kamailio if fork=no is set in the config file
if grep -q "^[[:space:]]*fork[[:space:]]*=[[:space:]]*no.*" $CFGFILE; then
echo "$NAME ERROR: Kamilio not set to fork. Review your config or
start it in debug mode.";
exit 1;
fi
# Check if kamailio configuration is valid before starting the server.
out=$($DAEMON -c 2>&1 > /dev/null)
retcode=$?
set -e
if [ "$retcode" != '0' ]; then
echo "$NAME ERROR: Config file invalid."
exit 1;
fi
end script
exec $DAEMON -f $CFGFILE -u $USER -g $GROUP
# This is the end of the script
Good luck and Cheers!
Moacir
------------------------------------------------------------------------
Date: Wed, 14 Nov 2012 06:36:40 -0500
From: miconda(a)gmail.com
To: sr-users(a)lists.sip-router.org
CC: moacirferreira(a)hotmail.com
Subject: Re: [SR-Users] Returning problem
Hello,
On 11/13/12 6:15 PM, Moacir Ferreira wrote:
I wish it were that simple... I have done some "reading" and found
that Ubuntu has changed to upstart
http://upstart.ubuntu.com/cookbook/. However, I could not find how
I can start a non "upstart" style init script like Kamailio has
before the upstart styled ones... I guess that I have to either
to get the Kamailio community to create an upstart script or find
some help from the Ubuntu community how to overcome the problem.
Anyway, I think the Kamailio team should address it as it will
become a problem for everyone using Kamailio on Ubuntu.
Any help?
the link to the upstart documentation you gave has quite big content,
couldn't you find a migration guide from classic init.d to upstart
somewhere out there on the web? Might be easier to do it then.
Cheers,
Daniel
Moacir
From: 4lists(a)gmail.com <mailto:4lists@gmail.com>
To: sr-users(a)lists.sip-router.org
<mailto:sr-users@lists.sip-router.org>
Date: Mon, 12 Nov 2012 14:42:31 -0200
Subject: Re: [SR-Users] Returning problem
This is more a system initialization problem, so, take a look in your
/etc/rc<run-level>.d directory (or the correspondent one), specially in
the S* files and find out the start sequence. There You'll find the answer.
Edson.
Em 09/11/2012 17:03, Moacir Ferreira escreveu:
My kamailio start script has the following BEGIN
INIT INFO:
#
### BEGIN INIT INFO
# Provides: kamailio
# Required-Start: $syslog $network $local_fs $time mysql
# Required-Stop: $syslog $network $local_fs mysql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Should-Start: postgresql mysql radius
# Should-Stop: postgresql mysql radius
# Short-Description: Start the Kamailio SIP proxy server
# Description: Start the Kamailio SIP proxy server
### END INIT INFO
However, when I boot my server Kamailio will start before mysql. So,
after boot I can start Kamalio but at boot time it will fail.
Any hints how to fix it? I am running Ubuntu server 12.04 LTS - 64 bits.
All the code has been compiled at the server.
Cheers!
Moacir
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla -http://www.asipto.com
http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda>
-http://www.linkedin.com/in/miconda