Paid support request

183 views
Skip to first unread message

MB

unread,
Jun 25, 2018, 5:08:24 AM6/25/18
to Jasmin SMS Gateway
Hi

I'm looking for urgent help in configuring Jasmin

I have working setup (clean debian install) working, but some problems need to be addressed

Problem 1: No DLR for messages submitted by Jasmin user using SMPP, but OK for submission over HTTP API

Situation: User submits message using HTTP interface and requests DLR. Jasmin accepts this and handle DLR, tries to deliver them to submitted URL. Everything seems OK, upstreams are generating DLR and Jasmin try to deliver them to dlr-url
But when the same user submit using SMPP connector, even if DLR is requested, its never deliveried. It's the same user, same route, same upstream provider. Only submission interface is different.
I force Jasmin to request DLR's using Python interceptor script provided in documentation
In message log I see, that every message (submitted using HTTP or SMPP) is flagged with request for DLR when sending out to upstream. 
Only difference I can see is that with HTTP interface user requests DLR Level 3 (SMSC+handset). 
Don't know how to enforce DLR level using interceptor script, maybe this one will help

Problem 2: Charge users AFTER message is accepted by upstream SMSC + report submission failure to user

Probably related do lack of DLR's from first problem

I know about async billing, but minimum early percent is 1%. But I need 0% or other way to bill only if message is accepted by upstream

Problem: user submit message to Jasmin, Jasmin ACK submission and charge user, Jasmin try to send using SMPP connector, upstream SMPP provider rejects message (i.e. forbidden source address). That's a final fatal error. Message will never be delivered, but user was charged and that amount is not returned to his account. Also user submitting message don't get any report about delivery failure, it only get ack on submission to Jasmin.


Anybody with deep Jasmin knowlege - please contact me, we will discuss details

Rasto Rickardt

unread,
Jun 25, 2018, 5:25:44 AM6/25/18
to jasmin-sm...@googlegroups.com

> *Problem 1: No DLR for messages submitted by Jasmin user using SMPP, but
> OK for submission over HTTP API*

> But when the same user submit using SMPP connector, even if DLR is
> requested, its never deliveried. It's the same user, same route, same
> upstream provider. Only submission interface is different.

Your client need to be bind as receiver or transceiver in order to
receive DLR from upstream. No further configuration should be required
in order to receive DLR in case it is requested.

> I force Jasmin to request DLR's using Python interceptor script provided
> in documentation
> In message log I see, that every message (submitted using HTTP or SMPP)
> is flagged with request for DLR when sending out to upstream. 
> Only difference I can see is that with HTTP interface user requests DLR
> Level 3 (SMSC+handset). 
> Don't know how to enforce DLR level using interceptor script, maybe this
> one will help

This should work:
http://jasmin.readthedocs.io/en/latest/interception/#enforcing-dlr

> *Problem 2: Charge users AFTER message is accepted by upstream SMSC +
> report submission failure to user*
>
> Probably related do lack of DLR's from first problem
>
> I know about async billing, but minimum early percent is 1%. But I need
> 0% or other way to bill only if message is accepted by upstream
>
> Problem: user submit message to Jasmin, Jasmin ACK submission and charge
> user, Jasmin try to send using SMPP connector, upstream SMPP provider
> rejects message (i.e. forbidden source address). That's a final fatal
> error. Message will never be delivered, but user was charged and that
> amount is not returned to his account. Also user submitting message
> don't get any report about delivery failure, it only get ack on
> submission to Jasmin.

I see this as a billing based on final message status. It might take a
while until final delivery messages is received from SMSC. You can log
all your message id`s and statuses to database and running billing
daily. There might be 24/48 hours until message is no longer retried on
SMSC to deliver, it will depend of the mobile network configuration.

Rasto

MB

unread,
Jun 25, 2018, 5:48:39 AM6/25/18
to Jasmin SMS Gateway
Hi Rasto,

W dniu poniedziałek, 25 czerwca 2018 11:25:44 UTC+2 użytkownik Rasto Rickardt napisał:

Your client need to be bind as receiver or transceiver in order to
receive DLR from upstream. No further configuration should be required
in order to receive DLR in case it is requested.

Yes, client is bound as transceiver
I'm doing exactly that, in message.log I see that every message is sent with request delivery report flag

Still got no DLR for SMPP clients. I send a few seconds later the same message (everything is the same), same user, provider, routes etc, but with HTTP API interface and I get DLR's and can see in logs that Jasmin/DLR Thrower tries to deliver them to dlr-url

Maybe you know how to enforce DLR level in interceptor script?

 

> *Problem 2: Charge users AFTER message is accepted by upstream SMSC +
> report submission failure to user*

I see this as a billing based on final message status. It might take a
while until final delivery messages is received from SMSC. You can log
all your message id`s and statuses to database and running billing
daily. There might be 24/48 hours until message is no longer retried on
SMSC to deliver, it will depend of the mobile network configuration.

Yeah, I know, but that's bit different case. 

When I submit message with wrong source address, upstream rejects it and that's final error and should be passed back to sender ASAP. No need to wait for 48 hours, because they rejected submission, they will never try to deliver it. 
I think user charges should be reverted at that point
 

Rasto

Rasto Rickardt

unread,
Jun 25, 2018, 11:30:28 AM6/25/18
to jasmin-sm...@googlegroups.com
> Yes, client is bound as transceiver

Ok, then please check dlr-thrower.log and adjust log_level in
dlr-thrower section of jasmin.cfg if needed.

> I'm doing exactly that, in message.log I see that every message is sent
> with request delivery report flag
>
> Still got no DLR for SMPP clients. I send a few seconds later the same
> message (everything is the same), same user, provider, routes etc, but
> with HTTP API interface and I get DLR's and can see in logs that
> Jasmin/DLR Thrower tries to deliver them to dlr-url
>
> Maybe you know how to enforce DLR level in interceptor script?

You just set routable.pdu.params['registered_delivery'] variable to
RegisteredDelivery(
RegisteredDeliveryReceipt.SMSC_DELIVERY_RECEIPT_REQUESTED)

as provided in URL in last post. But as you see in message.log that all
the messages have DLR requested, there will be some more general problem
with SMPP delivery for DLR.

Kind Regards,

Rasto
Reply all
Reply to author
Forward
0 new messages