I also need it please.
This requires the same amount of work as the solution in the previous post. We do not have concrete plans to implement this functionality at the moment but if we get enough requests from customers with a valid license that is still in the free support and upgrade period we will probably add it to one of the future versions of Diafaan SMS Server.
I understand and see your point. And I do know that implementing it isn't a trivial or quick development.
In the case of these iQsim SMPP servers, they already have this functionality. They actually send all the replies with the same MessageId as the original message and the DLR back to Diafaan, so it is just a matter of routing.
Can it be implemented easily in this case?
It is possible to add functionality to the SMPP Connector to route received messages back to the user that last sent a message to that phone number. This is not a 100% reliable solution because multiple users might send messages to the same destination and it is then unclear which user should receive the reply message.
We already use this reply logic in the Email Connector and the HTTP Connector. It is not (yet) added to the SMPP Connector and at the moment we do not have concrete plans to add it to Diafaan SMS Server in the near future.
The iQsim system is definitely sending the SMS replies to the correct SMPP bind, with information on the MessageId.
I've tested with several SMS and concurrent binds with an SMPP client (SMSC .NET client) and the DLRs and replies are always sent to the correct SMPP client.
However, when you look at the Diafaan logs, you can't correctly see the inbound messages coming from the SMPP gateway.
So it is a matter of Diafaan handling correctly the messages that come fromthe SMPP gateway. If you do it, you'll have 2-way SMS, as long as the gateway supports it.
What do you think? Can it be done?
The receipts have a message ID that matches the original message, but the received messages do not have a message ID that can be linked to a previous message.
You can link the received message to a previously sent message using the sender number but that is never entirely reliable in a multi-user setup and Diafaan SMS Server does not have an option for this in the SMPP Connector.
The HTTP callback functionality in Diafaan SMS Server makes it possible to set the user name for an incoming message with an external PHP or ASP.NET script. So it is possible to create this functionality, but is requires some custom scripting and it will not always work as expected.
Assuming the message coming from the SMPP gateway is in the Receive Log and has the same routing characteristics as the DLR: MessageId and MessageFrom. Can't it be routed back upstream to the correct Connector and UserId?
I made some tests and collected the SMPP gateway and SMPP connector logs:
SMPP Gateway logs:
2018/07/16 12:01:33.632 > 0000003E00000004000000000014F52F00010139393900010135353131393732373136373035000000000000010000000D5465737465206465204D4F2036
2018/07/16 12:01:33.632 - command:submit_sm status:ok sequence:1373487 source:+999 dest:+5511972716705 short_message:Teste de MO 6
2018/07/16 12:01:43.086 0000001180000005000000000000002700
2018/07/16 12:01:43.086 - command:deliver_sm_resp status:ok sequence:39
2018/07/16 12:02:04.036 0000001180000005000000000000004100
2018/07/16 12:02:04.036 - command:deliver_sm_resp status:ok sequence:65
2018/07/16 12:02:07.624 0000001180000005000000000000004500
2018/07/16 12:02:07.624 - command:deliver_sm_resp status:ok sequence:69
SMPP Connector logs:
2018/07/16 11:57:57.275 49287 0000003580000004000000000000001439633566306639322D386462662D343066332D613835612D30303538623932326266636200
2018/07/16 11:57:57.275 49287 - command:submit_sm_resp status:ok sequence:20 message_id:9c5f0f92-8dbf-40f3-a85a-0058b922bfcb
2018/07/16 11:58:09.350 49287 > 000000E700000005000000000000000100010135353131393732373136373035000101393939000400000000000000008169643A39633566306639322D386462662D343066332D613835612D303035386239323262666362207375623A30303120646C7672643A303031207375626D697420646174653A3138303731363131353820646F6E6520646174653A3138303731363136353820737461743A44454C49565244206572723A30303020746578743A20001E002539633566306639322D386462662D343066332D613835612D30303538623932326266636200042700010204230003030000
2018/07/16 11:58:09.350 49287 - command:deliver_sm status:ok sequence:1 source:+5511972716705 dest:+999 receipt:id:9c5f0f92-8dbf-40f3-a85a-0058b922bfcb sub:001 dlvrd:001 submit date:1807161158 done date:1807161658 stat:DELIVRD err:000 text:
2018/07/16 11:58:09.365 49287 < 0000001180000005000000000000000100
2018/07/16 11:58:09.365 49287 - command:deliver_sm_resp status:ok sequence:1
2018/07/16 12:01:33.523 49287 0000003580000004000000000000001B32363939626534372D623835372D343130662D616663342D34336334353133626332623900
2018/07/16 12:01:33.523 49287 - command:submit_sm_resp status:ok sequence:27 message_id:2699be47-b857-410f-afc4-43c4513bc2b9
2018/07/16 12:01:45.223 49287 > 000000E700000005000000000000000200010135353131393732373136373035000101393939000400000000000000008169643A32363939626534372D623835372D343130662D616663342D343363343531336263326239207375623A30303120646C7672643A303031207375626D697420646174653A3138303731363132303120646F6E6520646174653A3138303731363137303120737461743A44454C49565244206572723A30303020746578743A20001E002532363939626534372D623835372D343130662D616663342D34336334353133626332623900042700010204230003030000
2018/07/16 12:01:45.223 49287 - command:deliver_sm status:ok sequence:2 source:+5511972716705 dest:+999 receipt:id:2699be47-b857-410f-afc4-43c4513bc2b9 sub:001 dlvrd:001 submit date:1807161201 done date:1807161701 stat:DELIVRD err:000 text:
2018/07/16 12:01:45.238 49287 < 0000001180000005000000000000000200
2018/07/16 12:01:45.238 49287 - command:deliver_sm_resp status:ok sequence:2
2018/07/16 12:02:15.237 49287 0000001080000015000000000000001C
2018/07/16 12:02:15.237 49287 - command:enquire_link_resp status:ok sequence:28
Isn't there enough information to send the incoming SMS to the correct route upstream?
Diafaan SMS Server does not have built-in functionality to forward the received SMS messages to different users of the SMPP Connector. Due to the way that SMS works it is not possible to know that a message is a reply to a previous message and to which user it should be sent.
I have a system (SMPP gateway) that can handle 2-way communication, and a customer (SMPP connector) that wants to do it.
Can Diafaan handle it?
2-way would be: we send an SMS and the recipient replies with another SMS, which is correctly sent to the originator of the message.
How does it work?
Most Users Ever Online: 494
Currently Browsing this Page:
Guest Posters: 485
Newest Members:, Henk Helmantel
Administrators: Henk Helmantel: 893