Am 11.11.2013 19:56, schrieb Porter, Kelvin:
Hi,

I am writing to insure that I have not overlooked an option. In my
application, I have a need to specify SMSC based on where the message is
being sent to (the users will not specify the smsc in the HTTP request).
Basically, I need to insure some MT destinations are treated differently
that the others, independent of what is specified in the request. I have
looked at the source and it does not appear that this functionality is
implemented. Have I missed something?

I am looking for something akin to the “smsc-route” option in the
opensmppbox. I may attempt to splice in this code from the opensmppbox,
if I must. Is there any interest in this functionality?


Hi Kelvin,

now, as far as I get you, you want some kind of "man in the middle" process that is able to tag the MT with the corresponding smsc-id (that is then routed for on the bearerbox level), while the external users (ESMEs) are injecting the MTs in standard fashion way via the smsbox HTTP sendsms interface, correct?

There are several ways to "do this". Let me give you a glance of options:

a) HTTP bridging: means, in a communication chain diagram this:

users -HTTP-> smsbox -> bearerbox(SMSC HTTP) -HTTP-> app -HTTP-> smsbox -> bearerbox -SMPP/..-> SMSC.

so, the users send the HTTP call, which is always routed (enforced) to a smsc-id RELAY, which is a HTTP SMSC config that sends again the MT via HTTP to an "application layer", (call is routing layer if you want). This logical entity can then do MNP (mobile number portability) lookups, decide which SMSC is in charge to transport the MT, and then "tag" the MT again with the correct smsc-id for the successing HTTP call to smsbox, which then get's routed to the corresponding SMSC instance in bearerbox.

So, effectively you create a HTTP loop to a application layer that does the routing decision, and then re-inject via smsbox.

b) smppbox bridging: means, in a communication chain diagram this:

users -HTTP-> smsbox -> bearerbox -SMPP-> smppbox -> bearerbox -SMPP/..-> SMSC

in this case you can utilize the Kannel smppbox plugin API to call for additional "control flows", i.e. via a HTTP callback, or even via implementation of own plugin logic into the smppbox to resolve the smsc-id you want to route to.

Option a) is a bit of config mangling, especially if DLRs are involved. Option b) is faster, but involves the licensing of the commercial Kannel SMPP v5.0 server (smppbox).

Hope this gives some insight.

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
-------------------------------------------------------------------

Reply via email to