why not ? I think it would make more sense to have all the DLR processing in the same place, otherwise - how do I generate a DLR for SMSC_SUCCESS or SMSC_FAIL w/o calling dlr_find ? and if I call dlr_find - it will delete the DLR status so it will not find it when I get another status report for that message (for example, after sending back DLR_SMSC_SUCCESS, I want to send DLR_SUCCESS or DLR_FAIL).
Oded Arbel m-Wise Inc. [EMAIL PROTECTED] -- And remember kids, Cheese is Murder! > -----Original Message----- > From: Andreas Fink [mailto:[EMAIL PROTECTED]] > > The issue here is that the code in dlr.c does NOT deal with SMSC_* > type of DLRs. They are done directly in the driver. dlr.c does only > handle messages which need to be stored a refrence ID temporarely. > > Example: > > - you send a message with full dlr enabled over EMI. > - EMI code sends message to SMSC and generates SMSC_SUCCESS if SMSC > sends ACK or SMSC_FAIL if SMSC sends NACK. > - if it was ACK, it wil then call dlr.c functions to add the SMSC > message ID to the databse. When the SMSC comes back with delivered or > failed (note: this is not accepted or rejected but delivered to the > phone or rejected due to wrong number, not reachable and expired or > similar), the dlr.c code gets called again to get the corresponding > URL back to be called by passing the reference number originally > received in the ACK.