Hi,

We did not have sms-outgoing-disable-on-no-smsc set. So the SMSs should have
been re-queued.
We restarted the bearer box and SMS box process using the restart/stop
option from the script below and not via the HTTP command.

It seems I had many transmitters running at one time. When I restarted using
the script posted below. This script was posted to Kannel users.

According to the SMSC provider the problem was with Kannel not giving an
unbind command through and so
we were starting many transmitters.  They also said the receiver was not
giving back an enquire_link_resp and
so was dropping, we would then restart the transmitter and receiver. Since
we were not giving back an
unbind the number of transmitters were growing.

(I wish there was a way to only restart a transmitter or receiver.)

I think with many transmitters the Kannel queue gets confused, where to send
the SMS and discards them.

Questions:
1)How does one ensure only one transmitter or receiver is up?
2)Is it wrong to restart Kannel using the script below or must you use the
http command to stop/start the smsc connection?

Have others come up with similar problems with their providers not receiving
the unbind command and/or enquire_link_resp for the receivers.?

Thanks for any advise/assistance


#  This shell script takes care of starting and stopping
#          the Kannel SMS & WAP gateway
#          Original version Fabrice Gatille <[EMAIL PROTECTED]>
#          Modified by Stephane Rosa ([EMAIL PROTECTED]) for RedHat9
# chkconfig: 2345 97 03
# description: Kannel is an SMS and WAP gateway

VERSION=`/usr/local/bin/gw-config --version`
OPTIONS="--daemonize --user kannel --pid-file /var/run/kannel/"
KANNELPATH=/usr/local/sbin
CONF=/etc/kannel.conf
CONFDIR=/etc/configurations


# Source function library & networking conf.
. /etc/init.d/functions
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network

# Check that we are root ... so non-root users stop here
[ `id -u` = 0 ] || exit 1

# Various other checks
[ ${NETWORKING} = "yes" ] || exit 0
[ -x $KANNELPATH/bearerbox ] || exit 0
[ -x $KANNELPATH/smsbox ] || exit 0
[ -x $KANNELPATH/wapbox ] || exit 0
[ -f $CONF ] || exit 0

RETVAL=0; RETVAL1=0; RETVAL2=0; RETVAL3=0
prog="Kannel"

start() {
   # Check that at least one group is defined for sms
   # and/or wap to start the bearer. Then start boxes
   # as needed.
#   startsms=`egrep -se '^[ \t]*group *= *smsbox' $CONF`
#   startwap=`egrep -se '^[ \t]*group *= *wapbox' $CONF`

   startsms=`egrep -hse '^[ \t]*group *= *smsbox' $CONF ${CONFDIR}/*`
   startwap=`egrep -hse '^[ \t]*group *= *wapbox' $CONF ${CONFDIR}/*`

   if [ -n "$startsms$startwap" ]; then
      echo -n "Starting Mobile Gateway Service 1 ($VERSION): "
 daemon /usr/local/sbin/bearerbox ${OPTIONS}bearerbox.pid -- $CONF
      RETVAL1=$?
      echo
   else
      exit 0
   fi

   if [ -n "$startsms" ]; then
      echo -n "Starting Mobile Gateway Service 2 ($VERSION): "
      daemon /usr/local/sbin/smsbox ${OPTIONS}smsbox.pid -- $CONF
      RETVAL2=$?
      echo
   fi

   if [ -n "$startwap" ]; then
      echo -n "Starting Mobile Gateway Wap service ($VERSION): "
      daemon /usr/local/sbin/wapbox ${OPTIONS}wapbox.pid -- $CONF
      RETVAL3=$?
      echo
   fi

   let RETVAL=$REVAL1+$RETVAL2+$RETVAL3
   if [ $RETVAL -eq 0 ]; then
      sleep 2
      touch /var/lock/subsys/gateway
      cat /var/run/kannel/*.pid > /var/run/kannel.pid
   fi
   return $RETVAL
}

stop() {
   echo -n "Shutting down Mobile Gateway $VERSION: "
   killproc kannel
   RETVAL=$?
   echo

   if [ $RETVAL -eq 0 ]; then
      sleep 2
      rm -f /var/lock/subsys/gateway
      rm /var/run/kannel/*.pid
  fi
   return $RETVAL
}

# See how we were called.
case "$1" in
   start)
      # Start daemons.
      start
   ;;

   stop)
      # Stop daemons
      stop
   ;;

   restart)
      # Restart daemons
      stop
      sleep 1
      start
   ;;

   status)
      status bearerbox
      status smsbox
      status wapbox
      exit $?
   ;;

   *)
      echo "Usage: named {start|stop|status|restart}"
      RETVAL=1
esac

exit $RETVAL




Reply via email to