I will review in more detail when I get a moment, my concern here is that
you are now sleeping at the bearerbox layer which could effect delivery to
other SMSC's.

The current throughput limits although the logic is per-smsc, they sleep
within their own threads as to not delay any others.

Have you addressed this scenario?

2009/6/9 Damián Viano <damian.vi...@buongiorno.com>

> Hi list:
>
>        I've seen kannel not respect throughput at all, at least with the
> fakesmsc
> and looking around find the following bug:
>
> http://redmine.kannel.org/issues/show/332
>
> With the following patch attached:
>
> http://redmine.kannel.org/attachments/104/0000332-emi_patch_ack_v3.txt
>
> Inspired by that one, I've implemented a smsc-independent throughput patch.
> The
> idea is to enforce the throughput from the beaberbox side instead of having
> to
> implement the same login in every smsc. This is possible due to the
> bb_smscconn_sent() and bb_smscconn_send_failed() callbacks from the smscs
> implementation. They MUST call one of this callbacks after sending a
> message
> either successfully(_sent) or with failure(_failed), so we can make them
> sleep
> there, making sure they NEVER go over the configured throughput.
>
> There's only one downside to this smsc-independent approach which is that
> we
> don't, and can't (without cluttering the interface, AFAIK) know how much
> time
> the smsc takes in actually sending the sms, so we assume it takes nothing,
> this
> would, practically give us a somewhat smaller real throughput, but I though
> that's better than the previous behaviour (which for me, flooded the smsc).
>
> I've only tested this with fakesmsc so far, and only commented out the
> previous
> throughput implementation in that smsc, doing the rest is trivial and I can
> do
> it (or anyone else can), but this first iteration is to gather opinions
> about
> this approach.
>
> Once again the patch is against the current stable release, I can update it
> if
> needed, just let me know.
>
> Again I would love comments, questions, commits, rants, whatever :)
>
> For reference:
> diffstat kannel-1.4.3-throughput.patch
>  bb_smscconn.c    |   46 ++++++++++++++++++++++++++++++++++++++++++++++
>  smsc/smsc_fake.c |    9 +++++++--
>  smscconn_p.h     |    2 ++
>  3 files changed, 55 insertions(+), 2 deletions(-)
>
> Hope to help.
>
>    Damián Viano(Des).
>
> P.D.: Also there's an info line in smsc_fake.c to count the number of sms,
> which should be removed from the final version, is only there for debugging
> purposes.
>



-- 
Donald Jackson
http://www.ddj.co.za/
donaldjster(a)gmail.com

Reply via email to