Hi Oliver,
long time no see ;) ... let me assist.
Oliver Eales schrieb:
> Hello,
>
> i have some problems understanding the routing of outgoing SMS within
> the bearerbox.
> I have the three sms-c links. One single SMPP link (link0) and two EMI
> links (link1 and link2).
> Now i want to use link1 and link2 in a a round-robin way with failover.
>
> Basically the routing with only two different single routes (link0 and
> link1 for example) is working, but how can i distribute the outgoing
> traffic between link1 and link2.
> Here is a excerpt of my config.
>
>
> group = smsc
> smsc = smpp
> host = 10.200.1.1
> port = 6112
> smsc-username = "none"
> smsc-password = fooby
> smsc-id = link0
> preferred-smsc-id = link0
> allowed-smsc-id = link0
> system-type = "VMA"
> connect-allow-ip = 127.0.0.1
> transceiver-mode = true
>
> group = smsc
> smsc = emi
> host = 10.128.2.29
> port = 8006
> smsc-username = "foo"
> smsc-password = bar
> smsc-id = link1
> keepalive = 55
> preferred-smsc-id = link1
> allowed-smsc-id = link1;link2
> system-type = "VMA"
> connect-allow-ip = 127.0.0.1
> idle-timeout = 30
> transceiver-mode = true
>
> group = smsc
> smsc = emi
> host = 10.128.2.30
> port = 8006
> smsc-username = "foo"
> smsc-password = bar
> smsc-id = link2
> keepalive = 55
> preferred-smsc-id = link2
> allowed-smsc-id = link2;link1
> system-type = "VMA"
> connect-allow-ip = 127.0.0.1
> idle-timeout = 30
> transceiver-mode = true
let me sum up the 3 stage process of how bearerbox does routing:
assumption: we get a msg to bearerbox from smsbox with a smsc-id flag 'X'. What
happens in bearerbox is this:
1) what is the set of SMSC connections that are online, so that are
"technically" capable to receive and transport the message? -> set S1
(note: if all are online this means: set S1 = {link0, link1, link2})
2) what routes are allowed according to allowed/denied rule sets for set S1 and
the msg flag X? -> set S2
(note: if link0 would have allowed-smsc-id = "link0;X", then we get: set S2 = {
link0})
3) do random select on set S2 to pick the route we take -> route.
So in your case you want to "load-balance" across link1 and link2, which would
be done like this:
group = smsc
smsc-id = link1
...
allowed-smsc-id = "linkl;link3"
...
group = smsc
smsc-id = link2
...
allowed-smsc-id = "link2;link3"
...
which means, we use a "virtual" smsc-id tag 'link3' that can be used by the
upper layer (smsbox) to load-balance across link1, link2.
When you inject the MTs to smsbox with ...&smsc=link3&... you will get have the
following steps in the routing (as described above):
step 1) set S1 = { link0, link1, link2 } (since all are online)
step 2) set S2 = { link1, link2 } (since link3 is allowed in both)
step 3) random pick out of set S2
:)
Best Regards,
Stipe
--
-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany
tolj.org system architecture Kannel Software Foundation (KSF)
http://www.tolj.org/ http://www.kannel.org/
mailto:st_{at}_tolj.org mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------