Problem with SMS hubing (delivery reports)

Problem with SMS hubing (delivery reports) SearchSearch
Author Message
Michael
New member
Username: Michael123

Post Number: 21
Registered: 02-2007
Posted on Friday, September 21, 2012 - 07:37 am:   

Hello,

I want to use NowSMS in sms hubbing (v2012.06.28).

I have 2 SMPP connections to 2 different SMSC (GSM and CDMA).

Trying to send sms from GSM to CDMA. Message delivered, SMS received on GSM with delivery status.

Trying to send sms from CDMA to GSM. Message delivered, status report not received. CDMA SMSC rejected it with error.

Logs and config are sent by mail on nowsms@nowsms.com with subject "Problem with SMS hubing (delivery reports)"

I want to ask 2 questions:
1. What I'm doing wrong and why I'm not receiving SMS with report on CDMA?
2. What I need to do get "normal" delivery reports on both side?

Thank you in advance,

Michael
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8031
Registered: 10-2002
Posted on Friday, September 21, 2012 - 05:10 pm:   

Hi Michael,

I've looked over the logs, and I think I see what the issue is.

NowSMS uses a submit_sm packet to route delivery reports back to the originating SMSC.

Your GSM SMSC is fine with this.

However, the CDMA SMSC refuses to accept these delivery reports.

Looking at the logs, and in particular looking at the delivery report that the CDMA SMSC produces, I think I can see that the CDMA SMSC wants to receive delivery reports in a different format. It wants data_sm to be used instead of submit_sm.

At least that is my best theory. I don't know for certain that this would resolve the problem, as it is possible that the CDMA SMSC will simply not accept delivery reports in this type of hubbign scenario. Logically, however, in a hubbing scenario, it would make sense that a delivery report should use data_sm instead of submit_sm, and we should offer a configuration option to use data_sm instead of submit_sm (either for all messages, or for delivery reports only).

I'm going to discuss this with engineering, and see if we can get configuration settings implemented to force the use of data_sm. Realistically, however, it's probably going to take about 2 weeks before this can be scheduled.

In the meantime, I would suggest editing the SMSGW.INI to suppress delivery reports from being generated by the GSM SMSC. Under the [SMPP - a.b.c.d:xyz] header for the GSM SMSC, add DisableDeliveryReceipt=Yes

That is the only way I can think of to stop the reports from being generated and sent to the CDMA SMSC.

Meanwhile, I'll see what we can do about those configuration options, as I am hopeful that this could resolve the issue.

-bn
Michael
New member
Username: Michael123

Post Number: 22
Registered: 02-2007
Posted on Saturday, September 22, 2012 - 07:42 am:   

Hi Bryce,

I changed configuration on CDMA SMSC and now it uses submit_sm, but problem is the same. (I sent log by mail).

I noticed, that when CDMA SMSC sends report, it uses Esm_class 4. Maybe it rejects reports with Esm_class 8? Is it possible to change this parameter on Nowsms?

Thanks
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8035
Registered: 10-2002
Posted on Saturday, September 22, 2012 - 07:08 pm:   

Hi Michael,

I suppose that is possible. However, esm_class value 4 is not defined as valid in submit_sm, only for deliver_sm.

We changed it to 8 beginning with the 2009.12.21 version, because of this reason.

You could try an older version to see if this value is the issue. http://www.nowsms.com/download/nowsms20091104.zip is a version that would still use esm_class = 4 in this scenario.

Unfortunately, for the other modification, it will take about 2 weeks.

-bn
Michael
New member
Username: Michael123

Post Number: 23
Registered: 02-2007
Posted on Monday, September 24, 2012 - 06:59 am:   

Hi Bryce,

You are right, it works on old version. Now I'll ask to CDMA SMSC vendor for support.

Another question: now we are getting delivery reports on handset as normal sms. How it can be converted to "normal" delivery report?

Thanks
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8038
Registered: 10-2002
Posted on Monday, September 24, 2012 - 04:09 pm:   

Hi Micheal,

Ok. We will make the esm_class value configurable in an update. That is certainly easier than changing to use data_sm.

Regarding the delivery reports arriving as regular messages, I believe you will have to ask the SMSC vendor for guidance. The esm_class value should be sufficient to signal it is a receipt.

-bn
Michael
New member
Username: Michael123

Post Number: 24
Registered: 02-2007
Posted on Thursday, October 18, 2012 - 06:02 am:   

Hi Bryce,

When are you planning to release new version (with configurable esm_class value)? I'll be happy to test it )

Thanks
sam
Frequent Contributor
Username: Samdsouza

Post Number: 90
Registered: 08-2006
Posted on Thursday, October 18, 2012 - 12:33 pm:   

Its been released already:

http://www.nowsms.com/download/nowsms20121004.zip

2012-10-04:

* SMPP: If routing a delivery receipt via an outbind SMSC connection, by default, go back to using an esm_class value of 4 in submit_sm. This was the behaviour prior to version 2009.12.21. Beginning with 2009.12.21, the default was to use an esm_class value of 8 which is the proper value for a delivery report, however this value is not defined as valid for a submit_sm message. A configuration option has been added to define which esm_class value to use. To use a value of 8, edit SMSGW.INI, and under the appropriate [SMPP - server:port] section header, add ReceiptESMClass=8.
Michael
New member
Username: Michael123

Post Number: 25
Registered: 02-2007
Posted on Monday, October 22, 2012 - 08:50 am:   

Hi Sam,

Thank you for your reply.

I need to use esm_class = 4. I put ReceiptESMClass=4 under [SMPP - server:port] section, but nothing was changed.

Does it work only with value 8?

Thanks
sam
Frequent Contributor
Username: Samdsouza

Post Number: 93
Registered: 08-2006
Posted on Monday, October 22, 2012 - 05:19 pm:   

Hi Michael

As far as i understand to use value of 4 there is no need for the settings as it has been reverted back. Dont use any settings if your esm class required is 4.

If you need esm class 8 then use ReceiptESMClass=8
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4163
Registered: 08-2008
Posted on Monday, October 22, 2012 - 06:29 pm:   

Hi Michael,

Sorry, we made a mistake on this one. The updated SMSSMPP.DLL that implements this setting was not properly included in the install.

As a temporary fix, I have uploaded it to http://www.nowsms.com/download/smpp20121022.zip. As Sam indicated, the default should be esm_class=4 (which is how older versions behaved), and if esm_class=8 is required, it can be configured with an INI setting.

--
Des
NowSMS Support
Michael
New member
Username: Michael123

Post Number: 26
Registered: 02-2007
Posted on Wednesday, October 24, 2012 - 01:49 pm:   

Thank you Des, looks like everything works fine!

Regards,
Michael
New member
Username: Michael123

Post Number: 27
Registered: 02-2007
Posted on Thursday, October 25, 2012 - 07:05 am:   

Hi,

I have one more question:

Now delivery report comes as regular sms with text like

id:123456 sub:001 dlvrd:001 submit date:0000000000 done date:1210081554 stat:DELIVRD err:000

Can I change message text? f.e. I want to put there more subscriber friendly text like "message was delivered".

Thanks
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4176
Registered: 08-2008
Posted on Thursday, October 25, 2012 - 07:24 pm:   

Hi Michael,

No, we don't have any mechanism for doing this.

If the SMSC doesn't flag them as delivery reports, I would not even bother forwarding them to the subscriber.

There are two ways to stop them. One is to block asking for them.

To block asking for delivery reports, add DisableDeliveryReceipt=Yes to the [SMPP - server:port] section of the SMSGW.INI file for the side of the connection that is generating the delivery reports (not the side that is having trouble processing them).

The other, more complicated way, is to use SMS Accounting Callbacks. I assume you are using ReRouteReceived= for the hubbing. There will be an SMSSend PreAuth callback with the delivery receipt is received. And I believe that callback will tell you which route we are proposing to route the delivery report to, which would allow you to return PreAuth=Deny to block delivery reports destined for the problem network. In the ReRouteReceived scenario, the PreAuth=Deny will not return an error to the sender, but simply cause the message/delivery report to be discarded.

--
Des
NowSMS Support