Hi Alex,

yet another workaround :)
please try attached patch against current cvs ...

On Monday 03 November 2003 20:53, Alex Kinch wrote:
> 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

-- 
Best regards / Mit besten Grüßen aus Düsseldorf

Dipl.-Ing.
Alexander Malysh
___________________________________

Centrium GmbH
Vogelsanger Weg 80
40470 Düsseldorf

Fon: +49 (0211) 74 84 51 80
Fax: +49 (0211) 277 49 109

email: a.malysh at centrium.de
web: http://www.centrium.de
msn: olek2002 at hotmail.com
icq: 98063111
___________________________________________

Please avoid sending me Word, Excel or PowerPoint attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html
Index: gw/smsc/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_smpp.c,v
retrieving revision 1.53
diff -a -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 20:47:21 -0000
@@ -943,7 +943,8 @@
                     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("ACCEPTD")) == 0))
+                             octstr_compare(stat, octstr_imm("ACCEPTD")) == 0 ||
+                             octstr_compare(stat, octstr_imm("BUFFRED")) == 0))
                     dlrstat = DLR_BUFFERED;
                 else
                     dlrstat = DLR_FAIL;

Attachment: pgp00000.pgp
Description: signature

Reply via email to