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: mico...@gmail.com
To: sr-users@lists.sip-router.org
CC: moacirferre...@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: 4li...@gmail.com <mailto:4li...@gmail.com>
    To: sr-users@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@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@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

--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to