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







Reply via email to