Index: doc/userguide/userguide.xml
===================================================================
RCS file: /home/cvs/gateway/doc/userguide/userguide.xml,v
retrieving revision 1.331
diff -r1.331 userguide.xml
2425a2426,2436
>    <row><entry><literal>dlr-group-id</literal></entry>
>      <entry><literal>string</literal></entry>
>      <entry valign="bottom">
>         An optional name or id for grouping more than one SMSC together for the purposes
>         of Delivery Reports.  e.g. if you have multiple SMSC connections to the same provider
>         and there is the possibility that you can receive the DLR on a different connection to 
>         the one you sent the message on, then you should group the SMSCs together. This allows
>         you to have different <literal>smsc-id</literal> specified for each SMSC whilst mainting
>         functional DLRs.
>      </entry></row>
> 
Index: gw/smscconn.c
===================================================================
RCS file: /home/cvs/gateway/gw/smscconn.c,v
retrieving revision 1.57
diff -r1.57 smscconn.c
186a187,190
>     GET_OPTIONAL_VAL(conn->dlr_group_id, "dlr-group-id");
>     if (conn->dlr_group_id == NULL)
>      conn->dlr_group_id = octstr_duplicate(conn->id);
>      
332a337
>     octstr_destroy(conn->dlr_group_id);
Index: gw/smscconn_p.h
===================================================================
RCS file: /home/cvs/gateway/gw/smscconn_p.h,v
retrieving revision 1.51
diff -r1.51 smscconn_p.h
170a171
>     Octstr *dlr_group_id;  /* ID used for DLRs specified in configuration */
Index: gw/smsc/smsc_at.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_at.c,v
retrieving revision 1.46
diff -r1.46 smsc_at.c
1916c1916
<     if ((dlrmsg = dlr_find(privdata->conn->id, msg_id, receiver, type)) == NULL) {
---
>     if ((dlrmsg = dlr_find(privdata->conn->dlr_group_id, msg_id, receiver, type)) == NULL) {
2111c2111
<                         dlr_add(privdata->conn->id, dlrmsgid, msg);
---
>                         dlr_add(privdata->conn->dlr_group_id, dlrmsgid, msg);
Index: gw/smsc/smsc_cgw.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_cgw.c,v
retrieving revision 1.16
diff -r1.16 smsc_cgw.c
1137c1137
<                 dlrmsg = dlr_find(conn->id,
---
>                 dlrmsg = dlr_find(conn->dlr_group_id,
1143c1143
<                 dlrmsg = dlr_find(conn->id,
---
>                 dlrmsg = dlr_find(conn->dlr_group_id,
1149c1149
<                 dlrmsg = dlr_find(conn->id,
---
>                 dlrmsg = dlr_find(conn->dlr_group_id,
1184c1184
<             dlr_add(conn->id, ts, msg);
---
>             dlr_add(conn->dlr_group_id, ts, msg);
Index: gw/smsc/smsc_cimd2.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_cimd2.c,v
retrieving revision 1.33
diff -r1.33 smsc_cimd2.c
1979c1979
<         dlr_add(conn->name, ts, msg);
---
>         dlr_add(conn->dlr_group_id, ts, msg);
2117c2117
<     	msg = dlr_find(conn->name, timestamp, destination, code);
---
>     	msg = dlr_find(conn->dlr_group_id, timestamp, destination, code);
Index: gw/smsc/smsc_emi.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_emi.c,v
retrieving revision 1.20
diff -r1.20 smsc_emi.c
842c842
< 		msg = dlr_find((conn->id ? conn->id : privdata->name),
---
> 		msg = dlr_find((conn->dlr_group_id ? conn->dlr_group_id : privdata->name),
848c848
< 		msg = dlr_find((conn->id ? conn->id : privdata->name),
---
> 		msg = dlr_find((conn->dlr_group_id ? conn->dlr_group_id : privdata->name),
854c854
< 		msg = dlr_find((conn->id ? conn->id : privdata->name),
---
> 		msg = dlr_find((conn->dlr_group_id ? conn->dlr_group_id : privdata->name),
1107c1107
< 				    dlr_add((conn->id ? conn->id : privdata->name), ts, m);
---
> 				    dlr_add((conn->dlr_group_id ? conn->dlr_group_id : privdata->name), ts, m);
Index: gw/smsc/smsc_fake.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_fake.c,v
retrieving revision 1.21
diff -r1.21 smsc_fake.c
291c291
<                     dlrmsg = dlr_find(conn->id,
---
>                     dlrmsg = dlr_find(conn->dlr_group_id,
449c449
<         dlr_add(conn->id, tmp, sms);
---
>         dlr_add(conn->dlr_group_id, tmp, sms);
Index: gw/smsc/smsc_http.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_http.c,v
retrieving revision 1.55
diff -r1.55 smsc_http.c
493c493
<             dlr_add(conn->id, mid, msg);
---
>             dlr_add(conn->dlr_group_id, mid, msg);
572c572
<         dlrmsg = dlr_find(conn->id,
---
>         dlrmsg = dlr_find(conn->dlr_group_id,
751c751
<                 dlr_add(conn->id, msgid, msg);
---
>                 dlr_add(conn->dlr_group_id, msgid, msg);
850c850
<         dlrmsg = dlr_find(conn->id,
---
>         dlrmsg = dlr_find(conn->dlr_group_id,
1255c1255
<                 dlr_add(conn->id, mid, msg);
---
>                 dlr_add(conn->dlr_group_id, mid, msg);
1329c1329
<         dlrmsg = dlr_find(conn->id,
---
>         dlrmsg = dlr_find(conn->dlr_group_id,
Index: gw/smsc/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_smpp.c,v
retrieving revision 1.102
diff -r1.102 smsc_smpp.c
1276c1276
<         dlrmsg = dlr_find(smpp->conn->id,
---
>         dlrmsg = dlr_find(smpp->conn->dlr_group_id,
1504c1504
<                     dlr_add(smpp->conn->id, tmp, msg);
---
>                     dlr_add(smpp->conn->dlr_group_id, tmp, msg);
Index: gw/smsc/smsc_soap.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_soap.c,v
retrieving revision 1.20
diff -r1.20 smsc_soap.c
1177c1177
<         dlr_add(conn->id, octstr_imm(tmpid), msg);
---
>         dlr_add(conn->dlr_group_id, octstr_imm(tmpid), msg);
1619c1619
<     dlrmsg = dlr_find(conn->id, octstr_imm(msgid), octstr_imm("receiver"), /* destination */
---
>     dlrmsg = dlr_find(conn->dlr_group_id, octstr_imm(msgid), octstr_imm("receiver"), /* destination */
Index: gwlib/cfg.def
===================================================================
RCS file: /home/cvs/gateway/gwlib/cfg.def,v
retrieving revision 1.131
diff -r1.131 cfg.def
295a296
>     OCTSTR(dlr-group-id)
