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

Reply via email to