What is the table name that Playsms using?? My SMPP providing the status as text DRLVRD ATS EXPIRD etc… but I didn’t found in the 2 tables tblDLR and tblSMSOutgoing the status field as text, both are integer, so where the SMPP Status was saved?
do you have any idea about the remote ID? How do I save it or at least will do it as external PHP file, but how do I get it in order to explode it into our DB
if you use Kannel, I don’t see how playSMS can get message ID info, looks like Kannel don’t have parameter/variable to reflect message ID value of a message or DLR
Anton, the DLR replication can be done with 2 stages.
when we sent the SMS to the SMPP WE should save the remote ID into our DB to locate is fast.
when we receive the DLR from the SMPP we should extract the ID as mentioned before in order to update the table and set the status where id = xxxx which is extracted from the DLR request.
A: now playSMS save the smslog_id locally and also save it on dlr-url, meaning that Kannel will map smslog_id with its own ID (the remote ID we’re taking about)
B: and then when Kannel send the DLR to us, you can get the smslog_id and also the remote ID (from extracted %a)
so, you can do this:
During A, save just smslog_id on a table (for example on: playsms_gatewayKannel_logs)
During B, look for smslog_id on the table and save the remote ID to the same row
in the end you get remote message ID and local smslog_id mapped on playSMS
Anton, the smslog_id means internal ID or the remote?
The problem is I’m checking the table, it’s always giving field url is empty, in other word there is no relation between the smslog_id and the remote ID.
We need to catch the ID on submission in order to be easy for us to replicate the status base on the ID
The term smslog_id is internal playSMS message id
And the term remote ID is Kannel’s message ID
When sending SMS playSMS cannot get remote ID because Kannel does not have facility to pass that ID to playSMS
So, playSMS need to be creative, it will include smslog_id and response=%a on its dlr-url when sending SMS, just like you did
playSMS also save the value of smslog_id when sending SMS on a DB table, for example in playsms_gatewayKannel_log (this table does not exists, so you must create it)
Once SMS submitted to Kannel, Kannel will push a DLR to playSMS
On dlr.php, you do extraction of remote ID from $response (which is on dlr-url), just like you did. remember that on this stage there will be 2 ID’s, smslog_id and remote ID (both will be pushed by Kannel)
Also on dlr.php, once you get both ID’s from Kannel, you update the row on DB table that was saved on point 3 above
I hope this explains how playSMS can map smslog_id and remote ID.