Hi,

after trying to use rerouting functionality between two SMPP
connections and having reroute-smsc-id set in one of them I have faced
with the following issues:

1. If core group has smsbox-port missing (smsbox should be unnecessary
to achieve internal rerouting), stoping bearerbox gracefully results
in deadlock. Last lines in bearerbox log are "DEBUG: shutting down
smsc" and it's never ending. I guess it blocks on mutex but didn't
figured on which one. Setting smsbox-port and whole smsbox group makes
everything work correctly.

2. I expect reroute-smsc-id variable to explicitly reroute messages to
the smsc connection having specified smsc-id. However, this is not
true - my tests showed that sometimes messages are even "rerouted" to
the SMSC which the message has originated (i.e. the one having
reroute-smsc-id set). Looks like current workaround is to set
denied-smsc-id to ID of the smsc messages should be routed to. Since
I'm using store file, I'm guessing whether reason isn't due to we have
store_save(msg) called _before_ msg->sms.smsc_id is set in in
gw/bb_smscconn.c:route_incoming_to_smsc.

Has anybody else faced with similar issues? I'm using CVS HEAD, my
configuration is as follows (as I wrote, smsbox should be absent
here):

group = core
admin-port = 13000
smsbox-port = 13003
admin-password = admin123
log-file = "/var/log/kannel/bearerbox.log"
log-level = 0
access-log = "/var/log/kannel/kannel-access.log"
store-file = "/var/log/kannel/kannel.store"

group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
sendsms-chars = "0123456789+"
global-sender = 1234
immediate-sendsms-reply = true
log-file = "/var/log/kannel/smsbox.log"
log-level = 0
access-log = "/var/log/kannel/smsbox-access.log"

# SMSC SETUP
group = smsc
smsc = smpp
smsc-id = smsc1
host = 1.1.1.1
port = 1111
transceiver-mode = true
smsc-username = "1111"
smsc-password = "pass"
system-type = "VMA"
address-range = ""
dest-addr-ton = 1
dest-addr-npi = 1
log-file = "/var/log/kannel/smsc1.log"

group = smsc
smsc = smpp
smsc-id = smsc2
host = 2.2.2.2
port = 2222
transceiver-mode = true
smsc-username = "2222"
smsc-password = "pass"
system-type = "VMA"
address-range = ""
reroute-smsc-id = smsc1
denied-smsc-id = smsc1
log-file = "/var/log/kannel/smsc2.log"

Thanks,
Dziugas

Reply via email to