Author |
Post |
|
#1 Sat Oct 17, 2009 03:46, 183 months ago.
|
Member
Registered: Aug 2009
Location: Belgium
|
Version of smsd: 3.1.5
Hello Keke,
With my current config, when a multipart SMS is sent, the event handler script is called once.
But a delivery report event is generated for each part of the SMS.
Is it a way to change this behaviour, and receive only one delivery report ?
Something like "internal_combine" for outgoing messages.
TIA
|
|
#2 Sun Oct 18, 2009 11:09, 183 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
A delivery report from the SMSC does not include information about the parts and therefore it's not very straight forward to create a functionality like "internal_combine". Also, some operators give only one report, even if there was more than one parts in the message. By default when a message is sent, only the last message id is stored into the sent message file. This can be controlled using a modem setting messageids. Usually, when one report is received, it is trusted that all parts are delivered. If it's known that there can be some troubles in the network, all message id's should be stored and handled in the eventhandler. However, this is very unusual.
|
|
#3 Sun Oct 18, 2009 11:50, 183 months ago.
|
Member
Registered: Aug 2009
Location: Belgium
Topic owner
|
keke wrote A delivery report from the SMSC does not include information about the parts and therefore it's not very straight forward to create a functionality like "internal_combine".
I only tried with one SMSC (Belgian Proximus) and I receive a delivery report for each part (with part ID). So, IMHO, implementing internal_combine should be possible, if not straightforward. Of course if it works only with a few SMSCs, it's not worth the effort. keke wrote Also, some operators give only one report, even if there was more than one parts in the message.
Here again, I don't see a problem. But I can understand that such a feature is not of high priority on the developers list. Anyway, I can solve my problem with the "messageids" feature. Thank you.
|
|
#4 Sun Oct 18, 2009 12:07, 183 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
oufti wrote keke wrote A delivery report from the SMSC does not include information about the parts and therefore it's not very straight forward to create a functionality like "internal_combine".
I only tried with one SMSC (Belgian Proximus) and I receive a delivery report for each part (with part ID). So, IMHO, implementing internal_combine should be possible, if not straightforward. Of course if it works only with a few SMSCs, it's not worth the effort.
Are you sure that there was part id, usually there is only message id available? If there is information about concatenation (number of parts and part number) available, internal combine can be done. Unfortunately the PDU of a status report is not very well documented. I have also seen that some service centers give much longer PDU than others. oufti wrote keke wrote Also, some operators give only one report, even if there was more than one parts in the message.
Here again, I don't see a problem. But I can understand that such a feature is not of high priority on the developers list.
Even if there is part count and part number available, missing report for one or more parts causes problem because message cannot be handled while some parts are still missing.
|
|
#5 Sun Oct 18, 2009 13:06, 183 months ago.
|
Member
Registered: Aug 2009
Location: Belgium
Topic owner
|
keke wrote Are you sure that there was part id, usually there is only message id available?
Not part id, only message id. I should have written "part message id". keke wrote If there is information about concatenation (number of parts and part number) available, internal combine can be done.
The SMSC doesn't give concatenation info in delivery reports. But you have the mapping part_number/message_id when the message is sent (the "messageids=3" feature). I know that, theoretically, this method can fail, due to message_id rollover. But the probability of a failure is very low if we keep the message_id/destination number information.
|