hi evrybody,
I've somme probleme with kannel.
My smsc is connected with kannel and it's onlines. But when i loock to 
store-status, i see many sms are queued.
And these sms are destinated to this smsc witch is online.
My smsbox is also online.
Does somebody can help me?
> From: [email protected]
> To: [email protected]; [email protected]; [email protected]
> Subject: RE: Life without smsbox
> Date: Tue, 10 Aug 2010 00:59:13 +0800
> 
> Hmm, OK. Interesting. I've reverted to the SVN head of sqlbox and configured
> the following:
> 
> group = smsbox
> bearerbox-host = localhost
> smsbox-id = sqlbox
> 
> group = smsbox-route
> smsbox-id = sqlbox
> 
> group = sqlbox
> id = sqlbox
> smsbox-id = sqlbox
> bearerbox-port = 13100
> bearerbox-host = localhost
> # smsbox-port = 13200
> sql-log-table = smsgw_kannel_sms_result
> sql-insert-table = smsgw_kannel_sms_queue
> log-file = /usr/local/kannel/log/sqlbox.log
> log-level = 0
> 
> Now, I see the following in bearerbox.log:
> 
> 2010-08-10 00:53:11 [1691] [13] DEBUG: boxc_receiver: sms received
> 2010-08-10 00:53:11 [1691] [13] DEBUG: send_msg: sending msg to boxc:
> <sqlbox>
> 2010-08-10 00:53:11 [1691] [14] DEBUG: send_msg: sending msg to boxc:
> <sqlbox>
> 2010-08-10 00:53:11 [1691] [14] DEBUG: boxc_sender: sent message to
> <127.0.0.1>
> 2010-08-10 00:53:17 [1691] [14] DEBUG: send_msg: sending msg to boxc:
> <sqlbox>
> 2010-08-10 00:53:17 [1691] [14] DEBUG: boxc_sender: sent message to
> <127.0.0.1>
> 
> The lines at 00:53:11 are written when the MT is sent out. The lines at
> 00:53:17 are written when the DLR arrives.
> 
> And... unfortunately the queuing is back - here's the relevant status
> output:
> 
> SMS: received 0 (0 queued), sent 2 (0 queued), store size 4
> SMS: inbound (0.00,0.00,0.00) msg/sec, outbound (0.01,0.01,0.01) msg/sec
> 
> DLR: received 4, sent 0
> DLR: inbound (0.02,0.01,0.01) msg/sec, outbound (0.00,0.00,0.00) msg/sec
> DLR: 262 queued, using mysql storage
> 
> Box connections:
>     smsbox:sqlbox, IP 127.0.0.1 (4 queued), (on-line 0d 0h 4m 39s)
> 
> I still chalk the queuing up to a missing ACK from sqlbox - the following
> line is missing from the logs:
> DEBUG: boxc_receiver: got ack
> 
> When I had smsbox running and calling a dummy URL to get rid of DLRs, that
> ack would appear each time a message (MT or DLR) was sent to sqlbox.
> 
> So, I'm still convinced that the DLR routing to sqlbox is happening, and
> that bearerbox is just getting upset as it gets no ACK from sqlbox. My
> hypothesis regarding the "WARNING: smsbox_list empty!" message is that
> bearerbox isn't getting a smsbox registration message (as sqlbox doesn't
> generate one, and relies on the non-existent smsbox to do so), but is still
> routing both MT notifications and DLRs to sqlbox as it's been instructed to
> do. I'd be happy to be proved wrong though!
> 
> Thanks,
> Toby.
> 
> 
> -----Original Message-----
> From: Nikos Balkanas [mailto:[email protected]] 
> Sent: Tuesday, 10 August 2010 12:31 AM
> To: Toby Phipps; 'Rene Kluwen'; [email protected]
> Subject: Re: Life without smsbox
> 
> Nope. What you see is entirely different. send_msg is not sending the DLR to
> 
> sqlbox, but rather responding an ACK to the received MT. I don't know if 
> there is a problem with sqlbox, but I bet I would have heard about it if it 
> were, but revert to the svn version and try smsbox-route. The warning you 
> get is very crucial, you are missing incoming DLRs. You need to fix that, 
> before anything else.
> 
> BR,
> Nikos
> ----- Original Message ----- 
> From: "Toby Phipps" <[email protected]>
> To: "'Nikos Balkanas'" <[email protected]>; "'Rene Kluwen'" 
> <[email protected]>; <[email protected]>
> Sent: Monday, August 09, 2010 7:24 PM
> Subject: RE: Life without smsbox
> 
> 
> > Hi Nikos,
> >
> > I'll certainly try what you suggest, but I'm not quite sure that's the
> > issue. Although bearerbox may think it doesn't have any smsboxes 
> > connected,
> > it's still happily routing messages to sqlbox - here's a brief extract 
> > from
> > the bearerbox log:
> >
> > 2010-08-09 23:46:52 [24133] [4] WARNING: smsbox_list empty!
> > 2010-08-09 23:46:52 [24133] [4] DEBUG: Thread 4
> > (gw/bb_boxc.c:sms_to_smsboxes) terminates.
> > 2010-08-09 23:46:52 [24133] [14] DEBUG: send_msg: sending msg to boxc:
> > <sqlbox>
> >
> > sqlbox is also getting each message as intended, and I can see it arriving
> > in its log, and I can also see bearerbox queuing them in the status 
> > output.
> >
> >    smsbox:sqlbox, IP 127.0.0.1 (110 queued), (on-line 0d 0h 0m 50s)
> >
> > The piece that's missing really seems to be the ACK from sqlbox to 
> > bearerbox
> > for each DLR message it receives. bearerbox is successfully sending each 
> > DLR
> > to sqlbox, and sqlbox is successfully logging it to the DB. However, as
> > sqlbox is sending no ACK back, bearerbox has no way of knowing that sqlbox
> > received the DLR and is therefore queuing it locally, and periodically
> > re-sending to sqlbox.
> >
> > Now I've read the sqlbox code, it seems that it's a thin shell and doesn't
> > implement ANY of the ACK processing that smsbox does. It simply logs to 
> > the
> > DB, passes messages to smsbox and hopes that smsbox will pass it back an 
> > ACK
> > that it can then pass to bearerbox so that the loop can be closed. 
> > However,
> > without an smsbox connection, sqlbox is simply processing and dumping each
> > message from bearerbox, leading to the unnecessary queuing in bearerbox.
> >
> > Anyway, that's what I've worked out from a few hours of looking through 
> > the
> > code. This is nothing compared to the years that everyone else has with 
> > it,
> > and I'm happy to be proved wrong!
> >
> > Just as an aside, between the time I sent my earlier email and I saw your
> > response, I implemented a very rudimentary #2 (ACK in sqlbox) and it seems
> > to have resolved the issue. All I'm doing is checking on each message
> > receipt inside sqlbox to see if a smsbox is connected. If so then nothing
> > changes - if not, then sqlbox returns the successful ACK.
> >
> > Thanks,
> > Toby
> >
> > -----Original Message-----
> > From: Nikos Balkanas [mailto:[email protected]]
> > Sent: Tuesday, 10 August 2010 12:08 AM
> > To: Toby Phipps; 'Rene Kluwen'; [email protected]
> > Subject: Re: Life without smsbox
> >
> > Hi,
> >
> > You are missing an smsbox-route group. Once you configure that, your DLR
> > problem will disappear. You need to set an smsbox-id in your smsbox group 
> > (I
> >
> > remeber you already have a dummy one), that corresponds to the id in your
> > sqlbox. Then configure that to your smsbox-route group. Right now your bb 
> > is
> >
> > getting the DLRs, but doesn't know where to send them. Granted it is 
> > pretty
> > lame to have only 1 smsbox connected to it, and not know what to do with 
> > it.
> >
> > It could be fixed sometime.
> >
> > Do not proceed with (2).
> >
> > BR,
> > Nikos
> > ----- Original Message ----- 
> > From: "Toby Phipps" <[email protected]>
> > To: "'Nikos Balkanas'" <[email protected]>; "'Rene Kluwen'"
> > <[email protected]>; <[email protected]>
> > Sent: Monday, August 09, 2010 6:17 PM
> > Subject: RE: Life without smsbox
> >
> >
> >> Hi Nikos,
> >>
> >> Thanks again for the feedback. You hit the nail on the head - I am seeing
> >> "WARNING: smsbox_list empty!" throughout the bearerbox log. Looks like
> >> running sqlbox alone is not enough to truly emulate a smsbox.
> >>
> >> So, I delved into the source for sqlbox, and from what I can see, it has
> >> no
> >> ACK response logic at all. It receives the DLR (or MO) from bearerbox,
> >> writes it to the DB and then passes it to a connected smsbox. It appears
> >> to
> >> rely on smsbox to generate the ACK - there's logic in there to pass 
> >> smsbox
> >> messages back to bearerbox (which I assume would include the ACKs), but
> >> nothing to handle the situation where there is no smsbox connected. In
> >> this
> >> case, the message gets written to the DB then simply dropped, hence the
> >> queuing in bearerbox that I'm seeing.
> >>
> >> So, I'm looking at two options and would very much appreciate advice on
> >> which one would be most appropriate:
> >>
> >> 1. Configure a "dummy" smsbox to receive/ACK the messages from sqlbox but
> >> do
> >> nothing else them. Not sure if I can configure smsbox to do this (I'll 
> >> hit
> >> the doc), whether I'll need to patch it to provide a "ACK and drop" mode,
> >> or
> >> whether I should have it call a dummy destination to avoid the patching.
> >>
> >> 2. Enhance sqlbox to generate its own ACK if it doesn't have a connected
> >> smsbox to pass the MO/DLR onto.
> >>
> >> Any suggestions? If not, I'll probably start on #2 as it seems much
> >> cleaner
> >> to me and avoids the unnecessary overhead of a dummy smsbox process and
> >> associated IPC. Who is the appropriate sqlbox owner that I should run
> >> these
> >> changes by? I'm sure I'm not the only one that has no need for smsbox.
> >>
> >> Thanks,
> >> Toby.
> >>
> >> -----Original Message-----
> >> From: Nikos Balkanas [mailto:[email protected]]
> >> Sent: Monday, 9 August 2010 2:17 AM
> >> To: Toby Phipps; 'Rene Kluwen'; [email protected]
> >> Subject: Re: Life without smsbox
> >>
> >> Hi,
> >>
> >> The only way for bearerbox to remove the DLR from store is to receive an
> >> upstream ACK (smsbox or sqlbox). That is the architectural spec. If this
> >> is
> >> not happenning, sqlbox has a bug. You could check for that in maximum
> >> detail
> >>
> >> bb (and sqlbox) logs. If there is a problem with routing or boxc ids in
> >> bb,
> >> you should get a lot of warnings like "Warning: smsbox-list empty!", 
> >> which
> >> will also build up DLR store queue.
> >>
> >> BR,
> >> Nikos
> >>
> >>
> >> ----- Original Message ----- 
> >> From: "Toby Phipps" <[email protected]>
> >> To: "'Rene Kluwen'" <[email protected]>; <[email protected]>
> >> Sent: Sunday, August 08, 2010 3:26 PM
> >> Subject: RE: Life without smsbox
> >>
> >>
> >>> Just a follow-up - I also tried setting "smsbox-id = sqlbox" in the
> >>> "sqlbox"
> >>> section, and sqlbox starts but I get the same results, which is that the
> >>> bearerbox store size increments by one for each DLR received, as viewed
> >>> in
> >>> the status output. For example:
> >>>
> >>> SMS: received 0 (0 queued), sent 13 (0 queued), store size 85
> >>>
> >>> Right now, my sqlbox.conf looks like this:
> >>>
> >>> group = sqlbox
> >>> id = sqlbox
> >>> smsbox-id = sqlbox
> >>> bearerbox-port = 13100
> >>> bearerbox-host = localhost
> >>> # smsbox-port = 13200
> >>> sql-log-table = smsgw_kannel_sms_result
> >>> sql-insert-table = smsgw_kannel_sms_queue
> >>> log-file = /usr/local/kannel/log/sqlbox.log
> >>> log-level = 0
> >>>
> >>> group = mysql-connection
> >>> id = sqlbox
> >>> host = localhost
> >>> username = <removed>
> >>> password = <removed>
> >>> database = <removed>
> >>> max-connections = 3
> >>>
> >>> As you can see, the smsbox-port is commented out, meaning that I don't
> >>> want
> >>> sqlbox to try to talk to smsbox. I've tried with this line commented 
> >>> out,
> >>> or
> >>> uncommented (but pointed to a non-listening port). Both result in the
> >>> same
> >>> behaviour,
> >>>
> >>> Any more ideas anyone? I'm about to start delving into the source...
> >>>
> >>> Thanks,
> >>> Toby.
> >>>
> >>>
> >>>
> >>
> >>
> >
> > 
> 
> 
> 
                                          

Reply via email to