Support forum
Hello Alexandre,
There is no option in the SMPP Connector of Diafaan SMS Server to send a delivery report (DLR) to the SMPP client when the message is still in the message queue of Diafaan SMS Server.
The SMPP Connector only sends a DLR when the message was delivered or when it could not be delivered (this DLR is sent automatically by default). It is also possible to let the SMPP Connector send a delivery report when the messages is sent by one of the gateway when you set the 'SendDlrOnStatus200' property in the advanced settings of the SMPP Connector to 'Delivered' or 'Accepted'. If you use a gateway that is sufficiently fast then this should prevent a timeout error in your library. If you use a slow gateway to send the messages (for instance a GSM 'Modem Gateway) then you could route the messages to an extra SMPP Gateway and SMPP Connector so that the messages are marked as 'Sent' immediately and trigger a status 200. The message flow would then be SMPP client -> SMPP Connector 1 -> SMPP Gateway -> SMPP Connector 2 -> GSM Modem Gateway.
If this does not answer the question I would like to receive a more elaborate description of your configuration and requirements by email, please send this to email address dms@diafaan.com.
Regards, Henk
4:03 pm
Hello,
I am the developer of ADS.
Here is our problem: Our system is developed in NodeJs. We receive in SMPP with the SMPP library (node-smpp) the sendings requests. We do not send the sms directly but inject them in a queue.
The system sends at a defined speed the sms, recovers the errors and stocks.
Our problem: during the sending request, if we do not return a value to command_status within a minute, a Timeout Error is generated.
Do you think it is possible to return 200 to command_status and then return the eventual error with delivery report?
The C# script runs in the Scripting Gateway of Diafaan SMS Server. There is no other way in Diafaan SMS Server to change the status of a message to 'Delivered' and it only works for messages that are handled (sent) by the Scripting Gateway.
Making a customized script for the Scripting Gateway in Diafaan SMS Server is not an easy task and requires an experienced C# programmer. The 'ClickatellCallbackScript.cs' script offers an example of how you can use the 'PostSendResultUpdate' method to update the message status but to implement it for your own application you'll need a C# programmer to customize the script for you.
Regards, Henk
6:10 pm
Thanks for your feedback.
So in C#, how can I use the PostSendResultUpdate function to return 201 codes to my diafaan account?
The 'ClickatellCallbackScript.cs' script is just an example of how the 'PostSendResultUpdate' method can be implemented in the Scripting Gateway. It only works with the Clickatell SMS service and is not a ready-made solution for a custom system that you want to set up. The API key in the script is a key that is given out by Clickatell if you want to use their HTTP API.
If you want to use your own API with Diafaan SMS Server you will have to create your own customized C# script in the Scripting Gateway, the 'ClickatellCallbackScript.cs' script can only be used as an example. It gives a possible solution of how to implement an update to status code '201' with a call to the 'PostSendResultUpdate' method but it won't work straight away with your own API.
Regards, Henk
5:04 pm
I read in the documentation of the scripping folder that you need an API key to use this script.
Where can I get this key?
Also, how do we run one of these scripts?
I can't find the host and the port on which to redirect this information.
Thanks
11:19 am
Thanks a lot. We will try. We will come back here if needed. Thanks again for your quick help.
If the message is handled by a Scripting Gateway (or the HTTP Gateway for a specific service) the status code can be updated with the 'PostSendResultUpdate' method. The method has to be called after the 'PostSendResult' method for a message with the same message ID. For example, if you want to update the status code for a message with message ID '123456' you can use the following code:
You can find an example of this functionality in the GatewayScripts\ClickatellCallbackScript\ClickatellCallbackScript.cs script in the Scripting Pack for Diafaan SMS Server on the download page on our website.
If the message is not handled by a Scripting Gateway then it is not possible to change the status of the messages manually, changing the message status is done automatically when a delivery report is received by the gateway.
Regards Henk
2:22 pm
Hello,
How can the code 201 be sent on your system offline in order to warn that an sms has gone well?
For the moment, we send the code 200 to communicate to diafaan that the sending of the sms has been taken into account, but we would like to return this code 201 later (and we cannot).
Our system was developed with NodeJs.
Thanks
Hello ADS,
I am not sure that I understand your question completely but as far as I understand it you receive the SMPP messages from SMPP clients with the SMPP Connector of Diafaan SMS Server and you want to send a delivery report back to the SMPP client even if the message has not been delivered (yet).
Diafaan SMS Server does not have an API to trigger a delivery report, but the SMPP Connector has an option to send a delivery report when a message is marked as 'Sent' instead of 'Delivered'. If you set the 'SendDlrOnStatus200' property in the advanced settings of the SMPP Connector to 'Delivered' a delivery report is returned to the SMPP client when the status code of the messages changes to '200' (sent).
Regards, Henk
Most Users Ever Online: 529
Currently Online:
4 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Member Stats:
Guest Posters: 679
Members: 0
Moderators: 0
Admins: 1
Forum Stats:
Groups: 2
Forums: 3
Topics: 1154
Posts: 3941
Newest Members:
, Henk HelmantelAdministrators: Henk Helmantel: 1508