Can't get Positive Delivery Receipts

Can't get Positive Delivery Receipts SearchSearch
Author Message
Khali Ja
New member
Username: Khali

Post Number: 1
Registered: 10-2008
Posted on Thursday, October 02, 2008 - 11:57 am:   

Hi. I can't get positive delivery receipts on my GSM modem (Teltonika G10). Messages are delivered, but receipts does not come. Only negative receipts are coming, i.e. "stat:REJECTD", when invalid/incorrect numbers is chosen. Maybe something wrong with the "Registered delivery" mask in the software?
Modem works well with the another softwares.
I use now NowSMS v2008.06.02
Des - NowSMS Support
New member
Username: Desosms

Post Number: 2
Registered: 08-2008
Posted on Friday, October 03, 2008 - 03:36 pm:   

Hi,

Do you get positive delivery receipts with other software?

I'd like to take a closer look at the raw transactions. Could you enable the SMSDEBUG.LOG (checkbox on "Serial #" page)?

Then, send two test messages with delivery receipts requested ... one to an invalid number ... and one to a valid number.

Post the resulting SMSDEBUG.LOG in reply here, and let's take a closer look to see what data we are seeing from the modem.

--
Des
NowSMS Support
Khali Jah
New member
Username: Khali_jah

Post Number: 1
Registered: 10-2008
Posted on Tuesday, October 07, 2008 - 08:05 am:   

Hi. It's me again.
I've looked at smsdebug.log and made a trace from another modem soft. Here is the dumps:

1) NowSMS dump:
0021040B819740110555F500080C043F04400438043204350434

2) smsd dump:
0031000B919740110555F50019FF0C043F04400438043204350434

I can receive delivery reports only in soft (2)
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 126
Registered: 08-2008
Posted on Tuesday, October 07, 2008 - 03:58 pm:   

Hi,

I'd like to see this information in context with an SMSDEBUG.LOG if you could post that.

I also need to see a little more information about the transaction in which the message was submitted.

--
Des
NowSMS Support
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 127
Registered: 08-2008
Posted on Tuesday, October 07, 2008 - 04:18 pm:   

Hi,

The SMS PDUs that you reference above are not delivery reports. They appear to be submit reports, indicating that the message has been submitted to the SMSC.

Delivery reports (and non-delivery reports) are communicated as messages of the type "status report", not "submit report".

The strange thing about all of this is that normally you would never see a "submit report" on a modem. This is a packet communicated over the network, and the modem waits for this response to determine whether to return an "OK" or "ERROR" response for the actual message submission. At least, that's how I understand it.

So I'd like to understand all of this in a more complete context.

What does SMSDEBUG.LOG show when the message is submitted? Does SMSDEBUG.LOG show this PDU ... if not, where are you seeing it?

--
Des
NowSMS Support
Khali Jah
New member
Username: Khali_jah

Post Number: 2
Registered: 10-2008
Posted on Wednesday, October 08, 2008 - 04:37 am:   

Well,
I submitted message via Nowsms and put hexdump of it here, under 1)
and then submitted the same message via another sofware - see hexdump 2).
These dumps are both "submit_sm" pakets with TP-Status-Report-Request set. But in Nowsms software Status-Reports does not come. Check the difference in hexdumps.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7665
Registered: 10-2002
Posted on Wednesday, October 08, 2008 - 07:25 pm:   

Hi,

That is why Des asked to see an SMSDEBUG.LOG.

We are trying to understand the context in which those hex dumps occur.

If those hex dumps are being received by NowSMS, then they make no sense ("submit report" type instead of "status report").

However, it now sounds like you are saying that these are the hex of the message submissions, which makes more sense. (It would be so much easier if you could post the SMSDEBUG.LOG.)

Regarding the differences between the two submissions, there is not much significant difference.

The other submission includes an optional validity period parameter.

The DCS values are different (08 vs 19 ... the latter indicating message class 1).

And the destination phone numbers are different ... the other one is international format, the NowSMS one doesn't indicate an international format ("+" must not have been included in the phone number on submission).

None of those factors should make any difference with regard to delivery receipt generation. I tend to suspect that there is something else going on ... which is why I would like to see an SMSDEBUG.LOG that shows NowSMS submitting two messages ... one where you get the non-delivery receipt back, and one where the expected delivery receipt is not received. Seeing the full context of that log can help me better understand what is happening.

All that said, there is one other minor difference. NowSMS is setting a message reference value, while the other software is not.

There is really no reason for NowSMS to be setting a message reference value as the modem will override it anyway. But oddly enough, we set this value because there was a particular modem that would not generate delivery receipts unless we set this value.

Could it be that a different modem has the reverse quirk ... generating delivery receipts only if this value is left at zero?

It seems worth a test at least...

Download the updated build of NowSMS at http://www.nowsms.com/download/nowsmstest.zip. After installing, edit SMSGW.INI, and under the [SMSGW] header, add TestZeroMR=Yes. This is a special setting to zero out this message reference value that I'm referring to. I'd be surprised, but maybe that will make a difference.

-bn
Khali Jah
New member
Username: Khali_jah

Post Number: 3
Registered: 10-2008
Posted on Thursday, October 09, 2008 - 03:51 am:   

Hi.
I set nowsmstest and added TestZeroMR=Yes.

This is the part of SMSDEBUG.LOG when I submitted message.


11:11:18:171 [11] ThreadProcessConnection: Processing request /Send%20Text%20Message.htm?PhoneNumber=79041150555&Text=%D0%BF%D1%80%D0%B8%D0%B2 %D0%B5%D0%B4&InfoCharCounter=&PID=&DCS=&DestPort=&DelayUntil=-1&Submit=Submit

11:11:18:187 [11] Debug: 1 recipient entries

11:11:18:187 [11] UTF8StringRequiresUnicodeEncoding: Translate to/from GSM string results in loss of data

11:11:18:187 [11] UTF8StringRequiresUnicodeEncoding: п©я─п╦п╡п╣п╢

11:11:18:187 [11] UTF8StringRequiresUnicodeEncoding: ц╘@@@8ц╗

11:11:18:187 [11] ThreadProcessConnection: SMS message must be submitted with Unicode

11:11:18:187 [11] ThreadProcessConnection: п©я─п╦п╡п╣п╢

11:11:18:187 [11] WaitForSocketClose: WinSock reported ioctlsocket complete

11:11:18:187 [11] ThreadProcessConnection: Request processing complete

11:11:19:562 [2] ThreadProcessModem: Processing 48DB934F.req...

11:11:19:562 [2] ThreadProcessModem: OUT: AT+CMGS=25

11:11:19:656 [2] ThreadProcessModem: IN:

>

11:11:19:656 [2] ThreadProcessModem: OUT: 0021000B819740110555F500080C043F04400438043204350434

11:11:19:859 [2] ThreadProcessModem: OK


Log ends here, with no receipts.

The reason why I received negative delivery receipts were by mistake - there was unchecked box "Support any outbound traffic" in modem propery page. Now, when this box is checked, delivery receipts does not come at all.
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 140
Registered: 08-2008
Posted on Thursday, October 09, 2008 - 02:18 pm:   

Hi,

I'm curious about information that occurs a bit earlier in the SMSDEBUG.LOG.

There are some "AT+CNMI=" commands that are issued, and I would like to see the responses. It would be helpful to see some of the other command responses that are included in the log as well, as it gives us an idea of the capabilities of the modem ... and we can also see some of the other configuration options.

For example, one issue that comes to mind is that some modems will only send delivery receipts if NowSMS is configured with "SMS Message Storage" = "Direct to Modem". (At least, that was the case with older versions of NowSMS. In newer versions we send a command to tell the modem to send delivery reports directly to the modem, even if other received messages are being stored temporarily at the modem.) Nonetheless, I'd suggest trying the "SMS Message Storage" = "Direct to Modem" option under "Properties" for the modem in the "SMSC" list of NowSMS.

--
Des
NowSMS Support
Khali Jah
New member
Username: Khali_jah

Post Number: 4
Registered: 10-2008
Posted on Friday, October 10, 2008 - 05:20 am:   

Hi.
It's worked with option "Direct to Modem". Thank you.

Here is the full SMSDEBUG.LOG

07:48:30:593 [0] main: Now SMS/MMS Gateway v2008.10.08 Web server started on port number 8800
07:48:32:656 [0] main: preferred routing = *,ModemPCI
07:48:32:656 [0] main: preferred sender = +7964847971,ModemPCI
07:48:32:656 [2] ThreadProcessModem: ModemPCI
07:48:32:953 [2] ThreadProcessModem: Before ModemAllocate - ModemPCI
07:48:32:953 [2] ThreadProcessModem: After ModemAllocate - ModemPCI - OK
07:48:32:953 [2] ThreadProcessModem: Re-initializing modem: ModemPCI ...
07:48:38:656 [2] ThreadProcessModem: ATI0
07:48:38:656 [2] ThreadProcessModem:
Nokia
OK
07:48:38:984 [2] ThreadProcessModem: AT+CPMS?
07:48:39:109 [2] ThreadProcessModem:
+CPMS: "SM",3,20,"SM",3,20,"MT",3,40
OK
07:48:39:109 [2] ThreadProcessModem: AT+CNMI=2,2,2,1,0
07:48:39:218 [2] ThreadProcessModem:
OK
07:48:39:218 [2] ThreadProcessModem: AT+CNMI=,,,1
07:48:39:328 [2] ThreadProcessModem:
OK
07:48:39:328 [2] ThreadProcessModem: AT+CNMI?
07:48:39:437 [2] ThreadProcessModem:
+CNMI: 2,2,2,1,0
OK
07:48:39:437 [2] ThreadProcessModem: AT+CPMS=?
07:48:39:546 [2] ThreadProcessModem:
+CPMS: ("ME","SM"),("ME","SM"),("MT")
OK

07:48:52:421 [11] ThreadProcessConnection: Processing connection from 127.0.0.1...
07:48:52:421 [11] ThreadProcessConnection: Processing request /Send%20Text%20Message.htm?PhoneNumber=79040005555&Text=%D0%B912&InfoCharCounter =&PID=&DCS=&DestPort=&DelayUntil=&Submit=Submit&ReceiptRequested=Yes
07:48:52:421 [11] Debug: 1 recipient entries
07:48:52:421 [11] UTF8StringRequiresUnicodeEncoding: Translate to/from GSM string results in loss of data
07:48:52:421 [11] UTF8StringRequiresUnicodeEncoding: п╧12
07:48:52:421 [11] UTF8StringRequiresUnicodeEncoding: ц╘12
07:48:52:421 [11] ThreadProcessConnection: SMS message must be submitted with Unicode
07:48:52:421 [11] ThreadProcessConnection: п╧12
07:48:52:468 [11] WaitForSocketClose: WinSock reported ioctlsocket complete
07:48:52:468 [11] ThreadProcessConnection: Request processing complete
07:48:54:296 [2] ThreadProcessModem: Processing 48DB9351.req...
07:48:54:296 [2] ThreadProcessModem: OUT: AT+CMGS=19
07:48:54:406 [2] ThreadProcessModem: IN:
>
07:48:54:406 [2] ThreadProcessModem: OUT: 0021000B819740110555F5000806043900310032
07:48:54:593 [2] ThreadProcessModem: OK
07:49:05:531 [2] ReceiveModemCommand: Processing +CMT: Message
07:49:05:531 [2] ReceiveModemCommand: +CDS: 25
07919730071111F186830B819740110555F5800101907413008001019074530000

+CPMS: ("ME","SM"),("ME","SM"),("MT")

OK

07:49:05:531 [2] ModemReceiveMessages: 07919730071111F186830B819740110555F5800101907413008001019074530000
07:49:05:531 [2] ModemReceiveMessages: SMSC address len = 7
07:49:05:531 [2] ModemReceiveMessages: SMSC Address = +79037011111
07:49:05:531 [2] ModemReceiveMessages: SMS Message Type = SMS-STATUS-REPORT
07:49:05:531 [2] ModemReceiveMessages: Recipient address len = 11
07:49:05:531 [2] ModemReceiveMessages: Receipient Address = 79041150555
07:49:05:609 [2] ModemReceiveMessages: Message = id:unknown sub:001 dlvrd:001 submit date:0810100947 done date:0810100947 stat:DELIVRD err:000
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 142
Registered: 08-2008
Posted on Friday, October 10, 2008 - 12:02 pm:   

Sorry that I didn't think of that configuration setting sooner.

The AT+CNMI=,,,1 command should be sufficient to trigger delivery reports to be routed back directly to the modem. (Older versions of NowSMS didn't send this command.)

But it looks like that modem will only process delivery reports directly that way if all messages are also processed that same way.

--
Des
NowSMS Support