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
