Well, let's see:

1) 100% certain? You are much more experienced to answer this. I don't even 
have an SMSc connection. But I rely on how many tickets there are about SMS 
DLRed, but not delivered. The principle behind it is "if it ain't broke, don't 
fix it". How about waiting for a relevant ticket, before making unnecessary 
changes to the code?

2) I suspect this could be answered by a simple test. Unfortunately I cannot do 
it, but maybe you can. As already indicated, DLR matching would be much more 
complex in case of parts.

BR,
Nikos
  ----- Original Message ----- 
  From: Alejandro Guerrieri 
  To: Nikos Balkanas 
  Cc: Iain Dooley ; [email protected] 
  Sent: Friday, June 12, 2009 11:04 AM
  Subject: Re: registered_delivery - clarification


  Question is:


  1. Are you 100% certain that all SMSC's behave like that? I mean: they send 
the dlr's deliver_sm only after receiving all parts?


  2. Even then, what difference would it make if the registered_delivery on 
subsequent parts is set to 1 instead of 0?


  I'm not sure what the proper behavior should be, each approach has its 
caveats.


  Regards,


  Alejandro


  2009/6/12 Nikos Balkanas <[email protected]>

    Hi,

    I don't think it makes much sense to have individual verification for each 
part. The SMSc should respond with OK if message succesfully assembled and 
delivered as a whole; else if any part fails, failure. After all, if any part 
fails, correct behaviour would be to resend the whole SMS.

    Additionally, if part verification was enabled, then the sender would have 
the extra burden to mix and match different DLR parts, to see if the message 
was sent. I believe that it is the SMSc's responsibility to resend individual 
parts that failed in the final step, provided it has received the whole message 
succesfully.

    BR,
    Nikos
      ----- Original Message ----- 
      From: Alejandro Guerrieri 
      To: Iain Dooley 
      Cc: [email protected] 
      Sent: Friday, June 12, 2009 9:08 AM
      Subject: Re: registered_delivery - clarification


      registered_delivery gets set to nonzero when dlr-mask and dlr-url are 
present. 


      Assuming that you're in fact setting those parameters, I see your point. 
I'm not sure what the regular behaviour should be, when a message is being 
split by kannel?


      Let's analyze the facts further:


      I assume the behaviour now is only to set registered_delivery = 1 on the 
first part of the split message, and subsequent parts get set to zero. This 
causes kannel to only care about the first part of the message regarding dlrs.


      On the other hand, if all parts go as registered_delivery = 1, a dlr 
entry for all those parts would be needed (to match the incoming dlr later). 
Those dlr entries would share the same dlr-url, thus causing kannel to hit the 
same url again and again with confusing results (e.g., a "delivered" entry 
after a permanent "failed" on the same "id").


      So, a possible solution would be to modify kannel to handle two extra 
parameters on the dlr-url:


      * part number
      * number of parts


      That way, the dlr-url's would have different part numbers (and you would 
know how many parts to expect), so your application layer would know where a 
message was completely delivered.


      I can think of an alternate approach where kannel holds hitting the 
dlr-url until all parts have arrived, but since there's so many possible 
intermediate statuses (that could happen on each separate parta at the same 
time) and the process itself it's asynchronous by nature... I don't see it like 
a viable solution.


      Opinions?


      Alejandro




      On Fri, Jun 12, 2009 at 7:28 AM, Iain Dooley 
<[email protected]> wrote:

        hi all, i received some clarification back from the carrier: it was 
only the first of a multipart message that got registered_delivery = 1, then 
any subsequent parts of the multipart message had registered_delivery = 0. this 
seems pretty sensible seeing as, from my perspective, a concatenated message is 
really only 1 message.

        cheers
        iain





Reply via email to