Just as a short comment to this DLR thread and possibly to give ideas;

as I have been tweaking with Kannel for a while (including some drastic
changes that were rejected on the list :) as one operation I planned one
way to implement delivery reports in Kannel

It is divided into following parts:
 - sms-service or sendsms has 'delivery-reports' set to true
 - when SMS is delivered to SMSC, delivery report is asked for,
   and before even ACK from original delivery is written to
   bb_store (thus eliminating original message) the sent message
   is also written to separate report-file along with delivery report
   'receipt' given by the SMSC
 - whenever delivery report is returned from SMSC, that is written
   to that same report-file

..any logic to match original message to received report is handled by
external program that reads that report-file. Kannel simply writes to it.
That external program can then re-send message if no report has been
issued (after a long time), or send a notification to other program or
whatever. Or it can be simply a small perl-script to extract delivered
messages so that they can be billed. Whatever is suitable.

Thus, the system would mean:
  a) Kannel does not need to store any messages after they have been
     successfully delivered to SMSC (complete original messages are only
         stored in file, and disk is cheap..)
  b) Kannel does not have any built-in logic to handle expiring reports
     etc. (NOTE: however, I was thinking about a separate function to read
      that report-file upon (HTTP) request and re-send messages that has
      not received delivery report..)
  c) (3rd party) applications only interested to get the message delivered
     does not need to store any information; that external program will
     handle re-send and/or only bill delivered messages

My original idea has delivery reports to be written into store-file
(bb_store) but then it would result in expanding file - now it keeps empty
as long as nothing goes wrong

-- 
        &Kalle  ||  http://iki.fi/rpr/


Reply via email to