Re: Kannel deleting DLRs with "BUFFRED" status

"Alex Kinch" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <001001c3a244$236037d0$0501a8c0@alex>
Just reading the SMPP specs, and BUFFRED doesn't technically exist as a DLR status. I'm not a C hacker at all, but would the attached do the trick?

Alex

  ----- Original Message ----- 
  From: Alex Kinch 
  To: [email protected] 
  Sent: Monday, November 03, 2003 7:26 PM
  Subject: Kannel deleting DLRs with "BUFFRED" status


  Hi,

  Noticed something interesting. Kannel seems to be deleting messages from the DLR db with a status of "BUFFRED". I would imagine it should be updating them to status = 4. By the way my dlr-mask is 31, and the messages are being sent via http using sendsms on Kannel.

  Heres a DLR message:

  2003-11-03 17:14:39 [34] DEBUG:      data: 69 64 3a 32 38 32 32 36 37 37 20 73 75 62 3a 30   id:2822677 sub:0
  2003-11-03 17:14:39 [34] DEBUG:      data: 30 31 20 64 6c 76 72 64 3a 30 30 31 20 73 75 62   01 dlvrd:001 sub
  2003-11-03 17:14:39 [34] DEBUG:      data: 6d 69 74 20 64 61 74 65 3a 30 33 31 31 30 33 31   mit date:0311031
  2003-11-03 17:14:39 [34] DEBUG:      data: 37 31 34 20 64 6f 6e 65 20 64 61 74 65 3a 30 33   714 done date:03
  2003-11-03 17:14:39 [34] DEBUG:      data: 31 31 30 33 31 37 31 34 20 73 74 61 74 3a 42 55   11031714 stat:BU
  2003-11-03 17:14:39 [34] DEBUG:      data: 46 46 52 45 44 20 65 72 72 3a 30 30 34 20 74 65   FFRED err:004 te
  2003-11-03 17:14:39 [34] DEBUG:      data: 78 74 3a 20 00                                    xt: .

  and here's what Kannel does with it:

  2003-11-03 17:14:39 [34] DEBUG: sql: DELETE FROM dlr WHERE smsc='xxxx' AND ts='2822677' LIMIT 1;

  So when we later get:

  2003-11-03 18:30:41 [34] DEBUG:      data: 69 64 3a 32 38 32 32 36 37 37 20 73 75 62 3a 30   id:2822677 sub:0
  2003-11-03 18:30:41 [34] DEBUG:      data: 30 31 20 64 6c 76 72 64 3a 30 30 31 20 73 75 62   01 dlvrd:001 sub
  2003-11-03 18:30:41 [34] DEBUG:      data: 6d 69 74 20 64 61 74 65 3a 30 33 31 31 30 33 31   mit date:0311031
  2003-11-03 18:30:41 [34] DEBUG:      data: 38 33 30 20 64 6f 6e 65 20 64 61 74 65 3a 30 33   830 done date:03
  2003-11-03 18:30:41 [34] DEBUG:      data: 31 31 30 33 31 38 33 30 20 73 74 61 74 3a 44 45   11031830 stat:DE
  2003-11-03 18:30:41 [34] DEBUG:      data: 4c 49 56 52 44 20 65 72 72 3a 30 30 30 20 74 65   LIVRD err:000 te
  2003-11-03 18:30:41 [34] DEBUG:      data: 78 74 3a 20 00                                    xt: .

  Kannel can't find it, as it's already deleted it from the DLR db.

  2003-11-03 18:30:41 [34] ERROR: SMPP[xxxx]: got DLR but could not find message or was not interested in
  it


  Any thoughts?

  Alex
smsc_smpp.c-add-buffred-status.diff.txt (text/plain, 776 B)
Index: gw/smsc/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_smpp.c,v
retrieving revision 1.53
diff -u -r1.53 smsc_smpp.c
--- gw/smsc/smsc_smpp.c 17 Oct 2003 22:57:50 -0000      1.53
+++ gw/smsc/smsc_smpp.c 3 Nov 2003 19:50:50 -0000
@@ -943,6 +943,7 @@
                     dlrstat = DLR_SUCCESS;
                 else if (stat != NULL && (octstr_compare(stat, octstr_imm("ACKED")) == 0 ||
                              octstr_compare(stat, octstr_imm("ENROUTE")) == 0 ||
+                            octstr_compare(stat, octstr_imm("BUFFRED")) == 0 ||
                              octstr_compare(stat, octstr_imm("ACCEPTD")) == 0))
                     dlrstat = DLR_BUFFERED;
                 else
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.