The SQL Connector cannot save the number of message parts to one of the database fields of your database, the internal log database of Diafaan SMS Server stores more information than is available for the SQL Connector. Changing the name of the database field in the advanced settings of the SQL Connector will not have the effect you are looking for.
The only way to calculate the number of message parts of a message from the information that is available in the SQL database is to use the 'MessagePDU' database field. Each message part is stored as a PDU in this field and if there are more PDU's (message parts) they are all stored in this field, separated by comma's. In other words, the number of message parts is the number of comma's in the PDU field plus 1.
We have successfully created SQL Connector (SQL Server Express) with automatic DB created and can see all logs in dbo.MessageLog table but we found that UserInfo column actually represents MessageParts column. Let me explain.
When we send single SMS (160 or some more characters) UserInfo column is populated with string in format 'number1:0'. When we send concatenated SMS (say 300 characters) UserInfo is populated with string in format 'number2, number3:0'.
In Advanced connector properties tab we have changed field SMSLogUserInfo to MessageParts, manually recreated dbo.MessageLog but the result is the same, UserInfo=MessageParts.
Our question is: is there any way to create this column/field somehow to receive MessageParts in proper way, i.e when we send single SMS to have the column populated with '1' and when we send concatenated SMS (two parts) to have column populated with '2', etc.?
Hereby to note, that MessageLog.sqlite in UserInfo column produces same data as mentioned above and in MessageParts column always produces '1'.
Diafaan SMS Server offers two ways to create a send and receive log in an external database. The first, and easiest, method is to add an SQL Connector and then set the 'Log all messages to SQL Connector...' option in the advanced settings (menu options 'Actions-Options-Advanced'). All messages that are sent and received in Diafaan SMS Server are then logged to the selected SQL database.
Another way to log all messages is to use the 'HTTP callback' option of Diafaan SMS Server. When this option is activated, Diafaan SMS Server sends an HTTP call to a web server for each SMS message or status update that is sent or received by Diafaan SMS Server. A PHP or ASP.NET script on the web server can log the messages to a database or perform other actions, like user credit accounting.
We have been of opinion that MessageOut.sqlite have a function to collect data similar to main MessageLog.sqlite, but distributed only per Connector, nothing else.
We have no intention to change or modify these files at all.
The 'MessageOut.sqlite' database file for the SMPP Connector is an internal database file, it is not intended to be manipulated with an external program. This database is an intermediate storage for message statuses that cannot immediately be delivered to one of the SMPP clients, for instance when the SMPP client is offline. Changing this file manually can make the SMPP Connector unreliable.
What are you trying to accomplish by changing the 'MessageOut.sqlite' database?
Sequel to this topic, we are unsuccessful in attempt to populate MessageOut.sqlite files for SMPP Connectors (in ModuleData\Connector.X), Connector.2, Connector.3 and Connector.4.
What should be done to complete this action correctly?
This works fine now, thanks!
Thank you for the bug report, the problem is caused by a small bug in the SMPP Connector (up to version 188.8.131.52) that makes multiple SMPP Connectors interfere with each other. One SMPP Connectors works fine but if you add more SMPP Connectors the effect of the bug increases with each new connector. I will send you a plugin for the SMPP Connector by email with a fix for the problem.
Registered users of Diafaan SMS Server with a license that is still in the free update and support period who experience the same problem can send a request for the plugin to firstname.lastname@example.org.
We're testing Diafaan SMS Server in trial mode in smalll corporate local network 192.168.x.x
Once we add more than 1 SMPP Connector, i.e 3 SMPP Connectors at the time with 3 different ports (i.e. ports: 2775, 2776, 2777) and our 3 different users connect to defined connectors, SMPP Connectors starts to behave strange.
1. All 3 SMPP Connectors hang in the status / Event: Connector "X" started /, but users are actually disconnected and no SMS is processed. They cannot bind even if we restart Connectors and/or users with their apps
2. Furtheron new SMPP Connector Event appears randomly: / Event: Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket' /
It's totally random behaviour and basically we can add and run only 1 SMPP Connector properly.
Most Users Ever Online: 494
Currently Browsing this Page:
Guest Posters: 390
Newest Members:, Henk Helmantel
Administrators: Henk Helmantel: 610