No kidding, after I tried to set ID property to "Alphanumeric" for the second time (Ive set it back to hexadecimal to test if it works at all)- it started to return status code 201 without errors. Thank you very much for your help, if any error occurs, I will let you know.
Yes, please send me the log.
The delivery reports in previous log you sent me look OK, they both indicate that the messages were delivered to the mobile phone and they are both decoded correctly by Diafaan SMS Server.
Unfortunately after setting the property to "alphanumeric" (just from curiosity Ive tried also numeric) I get:
Status: 301, Error: Status error 'Undeliverable' received after the message was accepted by the SMPP gateway.
Would log help?
Thank you for the log. It shows that the delivery reports are received by Diafaan SMS Server but the SMS service you use sends the message ID in the delivery report in a way that the SMPP Gateway does not expect. The outcome is that Diafaan SMS Server is not able to match the delivery report to the original message. You can solve this by setting the 'MessageIdFormat' property in the advanced settings of the SMPP Gateway to 'Alphanumeric'.
The explanation for this behavior is that SMPP 3.4 has a slightly confusing way of handling message IDs. The specification says that the message ID format should be a hexadecimal number in the SUBMIT_SM response and the corresponding decimal number in the delivery report (receipt). A lot of SMPP servers follow this standard but your SMPP server uses a hexadecimal message ID in both the SUBMIT_SM response and the delivery report. If you set the 'MessageIdFormat' property to 'Alphanumeric' Diafaan SMS Server treats both message IDs as a string and matches them one to one.
Thank you for answering! Our SMS service does provide DLR funcionality, or at least when I set DLR request on Android phone, I always get notification about successful msg delivery.¨So I came to the conclusion they certainly do... Anyway just to be sure, I will be sending you my LOG file + SDR LOG snippet from gateway, where it states, that SMS was delivered successfully (D-OK).
There can be two reasons why messages in Diafaan SMS Server do not get status code 201. The first is that the SMS service you use does not return delivery reports. Another reason can be that the delivery report that is returned by your SMS service provider is in a format that Diafaan SMS Server handles incorrectly.
When your SMS service returns the standard delivery reports, Diafaan SMS Server automatically sets the status code to 201 when the message is received on the mobile phone. You don't have to enable a specific option in Diafaan SMS Server for delivery reports.
Are you certain that the SMS service you use returns delivery reports? If you are not sure then you can send a communication log for the gateway that sends the messages to email@example.com and I will have a look at it.
I´ve written to out gateways tech support. They described exactly the same procedure as you did (e.g. 'registered_delivery' parameter in the SUBMIT_SM packet). So our gateway in default settings waits for this packet, but we never receive anything else than code 200... but we "need" code 201. Is there any way to debug this behavior?
The SMPP Gateway in Diafaan SMS Server requests a delivery report when the final delivery outcome is delivery success or failure using the 'registered_delivery' parameter in the SUBMIT_SM packet. This can be disabled in the advanced settings of the SMPP Gateway settings with the 'DeliveryConfirmation' property but it is enabled by default.
As far as I know there is no other way to request a delivery report from the SMPP server.
Hello again Henk,
Is it possible (maybe in next update?) to somehow trough SMPP explicitly request "received messaage" confirmation e.g. code 201?
Our gateway states in manual:
With SMPP, the delivery information is active automatically in case the service is required by the SMPP counterparty or via an
incoming SMS message from the GSM/UMTS network.
Our MNO can't or doesn't want to explicitly enable this feature for given set of telephone numbers.
At the moment Diafaan SMS Server uses 5 status codes:
100 The message is in the send queue
200 The messages was sent and accepted by the SMS service
201 The message was delivered to the mobile phone
300 The message was rejected by the SMS service or could not be sent by Diafaan SMS Server
301 The message was sent and accepted by the SMS service but could not be delivered to the mobile phone
Status codes 201 and 301 indicate that the SMS service returned a status update (delivery report/receipt) for the message after it was sent by Diafaan SMS Server.
For status codes 300 and 301 there is usually an SMS service specific error code and error text with more information about the cause of the error.
would you mind redirecting me to somewhere, where I would be able to find SMS status codes your server is returning.
For example code 200, 201 (whole list would be great) etc. Unfortunately I couldnt find it anywhere. We need to verify (in our application) that message was 100% received by recipient (should be code 201). Thank you in advance.
Most Users Ever Online: 494
Currently Browsing this Page:
Guest Posters: 433
Newest Members:, Henk Helmantel
Administrators: Henk Helmantel: 729