Just a small note: this method, though very similar to load balancing,
it's not really "load balancing" in a "puristic" way. It's more like
"redundancy" (with some fault-tolerance accomplished by the fact that
two or more links are established).

When Kannel has more than one route to deliver traffic, it will
randomly (NOT round-robin NOR QOS'ed) choose one. It doesn't make
(AFAIK) any assumptions about the "quality" of the route (the queued
messages that it already has, throughput, etc).

Please correct me if I'm wrong: I can imagine a scenario where one of
the links is established but having performance problems on the line
or SMSC side. Kannel will continue to randomly deliver messages to
that link and probably they will remain queued there despite the fact
that the other links could be used.

Anyway, I'm being overly puristic here, in a real scenario this
suffices to accomodate most carrier's demands, at least for me.

Regards,

Alejandro.

On 5/9/07, Alvaro Cornejo <[EMAIL PROTECTED]> wrote:
Hi Hillel

Yes, kannel will send mo to each link up to a maximum of 10mo/sec (depending
on your settings) having a total on n * 10mo/sec. So if one link is down the
thoughput to that carrier will drop to (n-1)*10mo/sec.

If one link have a problem, Kannel can not automatically change the
throughput of the working link(s) based on the status of the agregated
binds.

Thoughput is a way to prevent kannel to send more mo/sec than what your
carrier suppoorts or have you asigned/agreed. Even if kannel would be able
to do that change, your carrier wouldn´t change it automatically. Yo may
need to have to call your carrier to see if they cann asign you a temporary
thoughput of 20mo/sec and wait until they make the configs..

Alvaro


-----Mensaje original-----
De: Hillel [mailto:[EMAIL PROTECTED]
Enviado el: Miércoles, 09 de Mayo de 2007 02:39
Para: 'Giulio Harding'
CC: Kannel Users
Asunto: RE: load balancing can Kannel do it


Hi Giulio,

(I've moved this to the user group as this seems to be possible with the
current Kannel CVS and so no extra patches are needed.)

Giulio you have explained that if the one bind drops Kannel will
automatically send via the others, but will Kannel do the load balancing to
get the extra throughput of effectively 20 SMSs/sec?

If each SMPP bind is at 10 SMSs/sec then can we send SMSs to the smsc-id at
effectively 20 SMSs/sec and Kannel will automatically load-balance between
both binds to send to the smsc-id (carriername as per your config) per bind
at 10 SMSs/sec each?

Or how else would you suggest using the throughput of each bind to the same
carrier?

Thanks for your great response.

-----Original Message-----
From: Giulio Harding [mailto:[EMAIL PROTECTED]
Sent: 09 May 2007 04:17
To: [EMAIL PROTECTED]
Cc: Kannel Devel
Subject: Re: load balancing can Kannel do it

As far as we can tell, Kannel supports this already - we're using it,
with no obvious problems so far!

We have a number of redundant binds with different carriers,
including one with four binds - here's a complete version of the
config we're using:

# Bind 1
group = smsc
smsc = smpp
smsc-id = carriername
host = x.x.x.x
port = xxx
receive-port = xxx
transceiver-mode = false
smsc-username = ***
smsc-password = ***
system-type = smpp
address-range = 0
source-addr-ton = 0
source-addr-npi = 4
dest-addr-ton = 1
dest-addr-npi = 1
alt-charset="ASCII"
enquire-link-interval = 30
allowed-smsc-id = "carriername"
msg-id-type = 0x00

# Bind 2
group = smsc
smsc = smpp
smsc-id = carriername
host = x.x.x.x
port = xxx
receive-port = xxx
transceiver-mode = false
smsc-username = ***
smsc-password = ***
system-type = smpp
address-range = 0
source-addr-ton = 0
source-addr-npi = 4
dest-addr-ton = 1
dest-addr-npi = 1
alt-charset="ASCII"
enquire-link-interval = 30
allowed-smsc-id = "carriername"
msg-id-type = 0x00

etc. (Binds 3 and 4 are identical again)

So the four binds have identical configs, and are logically identical
based on their smsc-id being the same (on a side note, I think the
allowed-smsc-id is redundant, and only there from a legacy
configuration). So any message destined for 'carriername' will go out
through any of the 4 binds - and if any binds go down, the remaining
binds will happily process all traffic, with no change in behaviour.
Any message coming in to kannel over any of those 4 binds will have
the same smsc-id, so to any external applications, etc. the different
binds aren't visible.

I assume you can throttle on the individual binds, and with all binds
up, get aggregate throughput equal to the sum of the max rate of each
individual bind.

We are using DLRs on our redundant binds, and again given that the
smsc-id is the same across the binds, DLRs work fine.

(BTW, if anyone sees anything wrong with this config that I've
missed, please let me know :) but it's been working fine for us for
the past 6+ months)

Cheers,


On 09/05/2007, at 2:52 AM, Hillel wrote:

> Hi,
>
> We have a SMSC provider that wants us to load balance so the
> diagram will
> look like:
>
> Sending SMSs:
> Kannel  ---Bind to Gateway1-----> Gateway1 ----connect to SMSC-----
> > SMSC
>         ---Bind to Gateway2-----> Gateway2 ----connect to SMSC----->
>
> For Incoming SMSs and delivery receipts:
>
> Kannel  <---Bind to Kannel----- Gateway1 <----connect to
> Gateway1----- SMSC
>         <---Bind to Kannel----- Gateway2 <----connect to Gateway2
> -----
>
>> From Gateway 1 and Gateway 2 we can send SMSs at 10 SMSs/sec per
>> Gateway.
> For SMSs going out, we must send via both Gateway1 and Gateway2 to
> get 20
> SMSs/sec.
> If either of the gateways go down the other must get the full
> amount of the
> SMSs and throttle at 10 SMS/sec.
>
> For delivery receipts they can come back via either Gateway. For
> Incoming SMSs they can come back via either Gateway.
>
>
> 1. For Sending SMSs is there any way to get Kannel to do the load
> balancing
> or must one add a patch to CVS?
>
> For incoming SMSs we would like to use the setup:
> group = smsbox-route
> smsbox-id = smsc_provider
> smsc-id = "Gateway1;Gateway2"
>
> 2. Will this work for delivery receipts so that they can come back
> with
> either Gateway1 or Gateway2.? (I assume this will work for incoming
> SMSs as
> this is described
> via the Kannel CVS website.)
>
> Thanks, any ideas on how to setup load-balancing (or if it can be
> done)
> appreciated
>
>
>

--
Giulio Harding
Systems Administrator

m.Net Corporation
Level 2, 8 Leigh Street
Adelaide SA 5000, Australia

Tel: +61 8 8210 2041
Fax: +61 8 8211 9620
Mobile: 0432 876 733
MSN: [EMAIL PROTECTED]

http://www.mnetcorporation.com











--
Alejandro Guerrieri
Magicom
http://www.magicom-bcn.net/
LinkedIn: http://www.linkedin.com/in/aguerrieri

Reply via email to