--- gateway/gw/dlr.c	2002-09-06 00:10:02.000000000 +0300
+++ gateway/gw/dlr.c	2002-09-06 00:09:08.000000000 +0300
@@ -621,7 +623,7 @@
         msg->sms.smsc_id = octstr_create(smsc);
     	msg->sms.sender = octstr_create(dst);
         msg->sms.receiver = octstr_create("000");
-        msg->sms.msgdata = octstr_duplicate(dlr_url);
+        msg->sms.dlr_url = octstr_duplicate(dlr_url);
         time(&msg->sms.time);
         debug("dlr.dlr", 0, "created DLR message: %s", octstr_get_cstr(msg->sms.msgdata));
     } else {
@@ -741,7 +745,7 @@
         msg->sms.smsc_id = octstr_create(smsc);
     	msg->sms.sender = octstr_create(dst);
         msg->sms.receiver = octstr_create("000");
-        msg->sms.msgdata = octstr_duplicate(dlr_url);
+        msg->sms.dlr_url = octstr_duplicate(dlr_url);
         time(&msg->sms.time);
         debug("dlr.dlr", 0, "created DLR message: %s", octstr_get_cstr(msg->sms.msgdata));
     } else {
--- gateway/gw/smsc/smsc_smpp.c	2002-09-04 20:42:57.000000000 +0300
+++ gateway/gw/smsc/smsc_smpp.c	2002-09-06 00:16:24.000000000 +0300
@@ -778,13 +800,10 @@
                     dlrmsg->sms.smsc_id = octstr_duplicate(smpp->conn->id); 
                     dlrmsg->sms.sender = octstr_duplicate(msg->sms.receiver); 
                     dlrmsg->sms.receiver = octstr_create("000"); 
-                    dlrmsg->sms.msgdata = octstr_duplicate(msg->sms.dlr_url); 
+                    dlrmsg->sms.dlr_url = octstr_duplicate(msg->sms.dlr_url);
+                    dlrmsg->sms.msgdata = reply;
                     time(&msg->sms.time); 
  			 
-                    octstr_append_char(reply, '/'); 
-                    octstr_insert(dlrmsg->sms.msgdata, reply, 0); 
-                    octstr_destroy(reply); 
- 			 
                     info(0,"SMPP[%s]: DLR = %s", octstr_get_cstr(smpp->conn->id),
                          octstr_get_cstr(dlrmsg->sms.msgdata)); 
                     bb_smscconn_receive(smpp->conn, dlrmsg); 
@@ -826,9 +845,7 @@
                                       (DLR_SMSC_SUCCESS|((msg->sms.dlr_mask & (DLR_SUCCESS|DLR_FAIL)) ? DLR_BUFFERED : 0))); 
  			 
                     if (dlrmsg != NULL) { 
-                        octstr_append_char(reply, '/'); 
-                        dlrmsg->sms.msgdata = octstr_duplicate(reply);
-                        octstr_destroy(reply); 
+                        dlrmsg->sms.msgdata = reply;
                         bb_smscconn_receive(smpp->conn, dlrmsg); 
                     } else 
                         error(0,"SMPP[%s]: Got SMSC_ACK but could not find message",
--- gateway/gw/smsc/smsc_at2.c	2002-09-04 20:42:56.000000000 +0300
+++ gateway/gw/smsc/smsc_at2.c	2002-09-05 23:37:06.000000000 +0300
@@ -1659,8 +1664,8 @@
                 dlrmsg->sms.smsc_id = octstr_duplicate(privdata->conn->id);
                 dlrmsg->sms.sender = octstr_duplicate(msg->sms.receiver);
                 dlrmsg->sms.receiver = octstr_duplicate(msg->sms.sender);
-                dlrmsg->sms.msgdata = octstr_create("ACK/");
-                octstr_append(dlrmsg->sms.msgdata,msg->sms.dlr_url);
+                dlrmsg->sms.msgdata = octstr_create("ACK");
+                dlrmsg->sms.dlr_url = octstr_duplicate(msg->sms.dlr_url);
                 time(&dlrmsg->sms.time);
 
 		debug("bb.smsc.at2",0,"AT2[%s]: sending DLR type ACK", octstr_get_cstr(privdata->name));
@@ -1704,8 +1709,8 @@
                 dlrmsg->sms.smsc_id = octstr_duplicate(privdata->conn->id);
                 dlrmsg->sms.sender = octstr_duplicate(msg->sms.receiver);
                 dlrmsg->sms.receiver = octstr_duplicate(msg->sms.sender);
-                dlrmsg->sms.msgdata = octstr_create("NACK/");
-                octstr_append(dlrmsg->sms.msgdata,msg->sms.dlr_url);
+                dlrmsg->sms.msgdata = octstr_create("NACK");
+                dlrmsg->sms.dlr_url = octstr_duplicate(msg->sms.dlr_url);
                 time(&dlrmsg->sms.time);
 
 		debug("bb.smsc.at2",0,"AT2[%s]: sending DLR type NACK", octstr_get_cstr(privdata->name));
