Kannel – setting up active-active load-balanced SMPP gateways

This post documents setting up Kannel in active-active load balanced SMPP gateways.

Note: Kannel does not attempt to do any quality of service over load balanced SMPP gateways i.e if a gateway is connected and is not delivering messages, it will continue using the gateway until the connection to the gateway goes offline.

Prerequisites

This post assumes that you have working knowledge of setting up and running Kannel. Only relevant config is documented, rest of the config parts are are snipped off for readability

Setting up active-active gateways

The trick in setting up active-active gateways in Kannel is to set the same smpp-id for both the SMPP gateways.

[SMPP connection 1 config]
group = smsc
smsc = smpp
smsc-id = smpp_carrier_gw
host = carrier1.example.com
smsc-username = carrier1
smsc-password = carrier1

[SMPP connection 2 config]
group = smsc
smsc = smpp
smsc-id = smpp_carrier_gw
host = carrier2.example.com
smsc-username = carrier2
smsc-password = carrier2
Hooking the gateways to an account

group = sendsms-user
username = company_1
password = compant_1_admin
name =  company_1
.
.
default-smsc = smpp_carrier_gw
forced-smsc = smpp_carrier_gw

This will make Kannel load-balance between the two SMPP gateways