Am 05.05.20, 15:02, schrieb Robert Robinson:
Hello;
We currently use Kannel 1.4.5 as a middleware box which sits between our
network and our partner network. We call into smsbox, using the HTTP API
to submit outbound messages to bearerbox, and using the sms-service to
make HTTP calls into our network when bearerbox submits messages to
smsbox. We interface with our partner using the smpp SMSC module. This
works very well.
Today, we can receive DLR reports for the outbound messages that we send
to our partner by adding the dlr-mask and dlr-url parameters to the HTTP
call we make to smbox.
I would like to know how I can configure smsbox to allow for delivery
reports to be crafted for messages that sms-service delivers over HTTP.
Specifically, I am looking for a way to be able to signal back to our
partner specific SMPP deliver error codes when a message that is
received cannot be delivered. Is this possible with smsbox today? If so,
what would need to be included in the HTTP response returned on the call
made by sms-service?
Thank you for any insight you can provide.
~Robert
The sms-service config we use (callback host changed for sake of example):
group = sms-service
keyword-regex = .*
catch-all = yes
max-messages = 7
omit-empty = true
alt-charset = "UTF-8"
get-url =
http://sms.example.com/sms?to=%P&from=%p&message=%a&udh=%u&bin_message=%b
concatenation = true
accept-x-kannel-headers = true
Hi Robert,
does this means you want to:
a) send a corresponding deliver_sm_resp.command_status (error code)
value when the MO is received on bearerbox side, and then being unable
to forward to the sms-service defined URL by smsbox?, or
b) you want to send an ESME outbound DLR to the SMSC side via
submit_sm/data_sm?
So, the question is, DO you want to send a delivery notification towards
the SMSC that the ESME side has "accepted" the MO message? In SMPP this
CAN be done by definition of the protocol, but rarely the SMSCs support
this.
If you run a SMS hubbing configuration, which is presumably the
intention when you interface via IP to the actual user agent on the
device, then typically the communication parties maintain a 2 way
connection by implementing both communication roles.
Example: Let's assume you have a number range that is "your network",
and that number range is delivered to you via a signal link provider and
it's SMSC. Then you would have the following:
operator(SMSC) <-MT- bearerbox <- smsbox <-HTTP- msg(to:yyy,from:xxx) APPL
operator(SMSC) -DLR-> bearerbox -> smsbox -HTTP-> DLR-URL
operator(ESME) msg(to:xxx,from:yyy) -MT-> smppbox ->
bearerbox(smsc_http) -HTTP-> APPL
operator(ESME) <-DLR- smppbox <- bearerbox(smsc_http)
So, the DLR is send to the opreator being in the ESME (SMPP client role)
from your SMPP server (Kannel smppbox) when bearerbox indicates that the
message (MT) has been acknowledged by the HTTP APPL layer.
--
Best Regards,
Stipe
-------------------------------------------------------------------
Koelner 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
-------------------------------------------------------------------